diff options
author | vamsic007 <vamsic007@13f79535-47bb-0310-9956-ffa450edef68> | 2009-11-05 06:08:47 +0000 |
---|---|---|
committer | vamsic007 <vamsic007@13f79535-47bb-0310-9956-ffa450edef68> | 2009-11-05 06:08:47 +0000 |
commit | 73f83aa2af6c25757ca8eee53d6d5ecb6fd7d6df (patch) | |
tree | d1f1bfb87bcb4801d295ad04e69fbf23ce3d2d79 /branches/sca-java-1.x/modules/implementation-ejb/src/main/java/org/apache/tuscany/sca/implementation/ejb/xml/EJBImplementationProcessor.java | |
parent | 4d7463b06ae6fc6760d2bbbd0b448b1904ea9b3e (diff) |
Obtain the injection points for ejb component from implementation.web
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@833009 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to '')
-rw-r--r-- | branches/sca-java-1.x/modules/implementation-ejb/src/main/java/org/apache/tuscany/sca/implementation/ejb/xml/EJBImplementationProcessor.java | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/branches/sca-java-1.x/modules/implementation-ejb/src/main/java/org/apache/tuscany/sca/implementation/ejb/xml/EJBImplementationProcessor.java b/branches/sca-java-1.x/modules/implementation-ejb/src/main/java/org/apache/tuscany/sca/implementation/ejb/xml/EJBImplementationProcessor.java index cfbad6c0f2..30c42f47a8 100644 --- a/branches/sca-java-1.x/modules/implementation-ejb/src/main/java/org/apache/tuscany/sca/implementation/ejb/xml/EJBImplementationProcessor.java +++ b/branches/sca-java-1.x/modules/implementation-ejb/src/main/java/org/apache/tuscany/sca/implementation/ejb/xml/EJBImplementationProcessor.java @@ -21,6 +21,10 @@ package org.apache.tuscany.sca.implementation.ejb.xml; import static javax.xml.stream.XMLStreamConstants.END_ELEMENT; import java.net.URI; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; +import java.util.Map; import java.util.logging.Logger; import javax.xml.namespace.QName; @@ -30,10 +34,13 @@ import javax.xml.stream.XMLStreamWriter; import org.apache.tuscany.sca.assembly.AssemblyFactory; import org.apache.tuscany.sca.assembly.ComponentType; +import org.apache.tuscany.sca.assembly.Property; import org.apache.tuscany.sca.assembly.xml.Constants; import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint; import org.apache.tuscany.sca.contribution.jee.EjbInfo; import org.apache.tuscany.sca.contribution.jee.EjbModuleInfo; +import org.apache.tuscany.sca.contribution.jee.EjbReferenceInfo; +import org.apache.tuscany.sca.contribution.jee.EnvEntryInfo; import org.apache.tuscany.sca.contribution.jee.JavaEEExtension; import org.apache.tuscany.sca.contribution.jee.JavaEEOptionalExtension; import org.apache.tuscany.sca.contribution.jee.impl.EjbModuleInfoImpl; @@ -49,6 +56,8 @@ import org.apache.tuscany.sca.implementation.java.DefaultJavaImplementationFacto import org.apache.tuscany.sca.implementation.java.IntrospectionException; import org.apache.tuscany.sca.implementation.java.JavaImplementation; import org.apache.tuscany.sca.implementation.java.JavaImplementationFactory; +import org.apache.tuscany.sca.implementation.java.impl.JavaElementImpl; +import org.apache.tuscany.sca.implementation.java.impl.JavaResourceImpl; import org.apache.tuscany.sca.implementation.java.introspect.impl.PropertyProcessor; import org.apache.tuscany.sca.implementation.java.introspect.impl.ReferenceProcessor; import org.apache.tuscany.sca.implementation.java.introspect.impl.ServiceProcessor; @@ -175,6 +184,23 @@ public class EJBImplementationProcessor extends BaseStAXArtifactProcessor implem if (ct != null){ implementation.getReferences().addAll(ct.getReferences()); implementation.getProperties().addAll(ct.getProperties()); + + // Injection points + List<String> propertyNames = new ArrayList<String>(); + for(Property prop : ct.getProperties()) { + propertyNames.add(prop.getName()); + } + EjbInfo ejbInfo = ejbModuleInfo.getEjbInfo(uri); + for(Map.Entry<String, EjbReferenceInfo> entry : ejbInfo.ejbReferences.entrySet()) { + EjbReferenceInfo ejbRef = entry.getValue(); + implementation.getOptExtensionReferenceInjectionPoints().put(ejbRef.injectionTarget, ejbRef.businessInterface); + } + for(Map.Entry<String, EnvEntryInfo> entry : ejbInfo.envEntries.entrySet()) { + EnvEntryInfo envEntry = entry.getValue(); + if(propertyNames.contains(envEntry.name.replace("/", "_"))) { + implementation.getOptExtensionPropertyInjectionPoints().put(envEntry.name, envEntry.type); + } + } } } @@ -191,6 +217,18 @@ public class EJBImplementationProcessor extends BaseStAXArtifactProcessor implem implementation.getReferences().addAll(ji.getReferences()); implementation.getProperties().addAll(ji.getProperties()); implementation.getServices().addAll(ji.getServices()); + for(Map.Entry<String, JavaElementImpl> entry : ji.getReferenceMembers().entrySet()) { + implementation.getReferenceInjectionPoints().put(entry.getKey(), entry.getValue()); + } + for(Map.Entry<String, JavaElementImpl> entry : ji.getPropertyMembers().entrySet()) { + implementation.getPropertyInjectionPoints().put(entry.getKey(), entry.getValue()); + } + for(Map.Entry<String, JavaResourceImpl> entry : ji.getResources().entrySet()) { + implementation.getResourceInjectionPoints().put(entry.getKey(), entry.getValue()); + } + for(Map.Entry<String, Collection<JavaElementImpl>> entry : ji.getCallbackMembers().entrySet()) { + implementation.getCallbackInjectionPoints().put(entry.getKey(), entry.getValue()); + } } catch (IntrospectionException e) { // TODO Auto-generated catch block e.printStackTrace(); |