diff options
Diffstat (limited to '')
4 files changed, 38 insertions, 1 deletions
diff --git a/sandbox/event/modules/implementation-java-xml/src/main/java/org/apache/tuscany/sca/implementation/java/xml/JavaImplementationProcessor.java b/sandbox/event/modules/implementation-java-xml/src/main/java/org/apache/tuscany/sca/implementation/java/xml/JavaImplementationProcessor.java index 11934ec6bb..74a0e2a902 100644 --- a/sandbox/event/modules/implementation-java-xml/src/main/java/org/apache/tuscany/sca/implementation/java/xml/JavaImplementationProcessor.java +++ b/sandbox/event/modules/implementation-java-xml/src/main/java/org/apache/tuscany/sca/implementation/java/xml/JavaImplementationProcessor.java @@ -36,7 +36,9 @@ 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.ConfiguredOperation; +import org.apache.tuscany.sca.assembly.Consumer; import org.apache.tuscany.sca.assembly.OperationsConfigurator; +import org.apache.tuscany.sca.assembly.Producer; import org.apache.tuscany.sca.assembly.Property; import org.apache.tuscany.sca.assembly.Reference; import org.apache.tuscany.sca.assembly.Service; @@ -274,6 +276,26 @@ public class JavaImplementationProcessor implements StAXArtifactProcessor<JavaIm } impl.getServices().clear(); impl.getServices().addAll(serviceMap.values()); + + Map<String, Producer> producerMap = new HashMap<String, Producer>(); + for (Producer producer : impl.getProducers()) { + producerMap.put(producer.getName(), producer); + } + for (Producer producer : componentType.getProducers()) { + producerMap.put(producer.getName(), producer); + } + impl.getProducers().clear(); + impl.getProducers().addAll(producerMap.values()); + + Map<String, Consumer> consumerMap = new HashMap<String, Consumer>(); + for (Consumer consumer : impl.getConsumers()) { + consumerMap.put(consumer.getName(), consumer); + } + for (Consumer consumer : componentType.getConsumers()) { + consumerMap.put(consumer.getName(), consumer); + } + impl.getConsumers().clear(); + impl.getConsumers().addAll(consumerMap.values()); Map<String, Property> propMap = new HashMap<String, Property>(); for (Property prop : impl.getProperties()) { diff --git a/sandbox/event/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/JavaImplementation.java b/sandbox/event/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/JavaImplementation.java index 2ad7edbd6f..e30be51aab 100644 --- a/sandbox/event/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/JavaImplementation.java +++ b/sandbox/event/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/JavaImplementation.java @@ -155,6 +155,7 @@ public interface JavaImplementation extends BaseJavaImplementation { */ Map<String, JavaElementImpl> getReferenceMembers(); + /** * @return the scope */ diff --git a/sandbox/event/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/impl/JavaImplementationActivator.java b/sandbox/event/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/impl/JavaImplementationActivator.java index 46594e0f50..5baea3999a 100644 --- a/sandbox/event/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/impl/JavaImplementationActivator.java +++ b/sandbox/event/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/impl/JavaImplementationActivator.java @@ -29,6 +29,7 @@ import org.apache.tuscany.sca.implementation.java.introspect.impl.AllowsPassByRe import org.apache.tuscany.sca.implementation.java.introspect.impl.BaseJavaClassVisitor; import org.apache.tuscany.sca.implementation.java.introspect.impl.ComponentNameProcessor; import org.apache.tuscany.sca.implementation.java.introspect.impl.ConstructorProcessor; +import org.apache.tuscany.sca.implementation.java.introspect.impl.ConsumerProcessor; import org.apache.tuscany.sca.implementation.java.introspect.impl.ContextProcessor; import org.apache.tuscany.sca.implementation.java.introspect.impl.ConversationIDProcessor; import org.apache.tuscany.sca.implementation.java.introspect.impl.ConversationProcessor; @@ -37,6 +38,7 @@ import org.apache.tuscany.sca.implementation.java.introspect.impl.EagerInitProce import org.apache.tuscany.sca.implementation.java.introspect.impl.HeuristicPojoProcessor; import org.apache.tuscany.sca.implementation.java.introspect.impl.InitProcessor; import org.apache.tuscany.sca.implementation.java.introspect.impl.PolicyProcessor; +import org.apache.tuscany.sca.implementation.java.introspect.impl.ProducerProcessor; 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.ResourceProcessor; @@ -70,6 +72,8 @@ public class JavaImplementationActivator implements ModuleActivator { new ReferenceProcessor(assemblyFactory, javaFactory), new ResourceProcessor(assemblyFactory), new ScopeProcessor(assemblyFactory), new ServiceProcessor(assemblyFactory, javaFactory), + new ProducerProcessor(assemblyFactory, javaFactory), + new ConsumerProcessor(assemblyFactory, javaFactory), new HeuristicPojoProcessor(assemblyFactory, javaFactory), new PolicyProcessor(assemblyFactory, policyFactory)}; diff --git a/sandbox/event/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/impl/JavaImplementationImpl.java b/sandbox/event/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/impl/JavaImplementationImpl.java index 375896cf26..bb95fd78ac 100644 --- a/sandbox/event/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/impl/JavaImplementationImpl.java +++ b/sandbox/event/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/impl/JavaImplementationImpl.java @@ -44,6 +44,8 @@ public class JavaImplementationImpl extends BaseJavaImplementationImpl implement private final Map<String, JavaElementImpl> propertyMembers = new HashMap<String, JavaElementImpl>(); private final Map<String, JavaElementImpl> referenceMembers = new HashMap<String, JavaElementImpl>(); private final Map<String, Collection<JavaElementImpl>> callbackMembers = new HashMap<String, Collection<JavaElementImpl>>(); + private final Map<String, Collection<JavaElementImpl>> consumerMembers = new HashMap<String, Collection<JavaElementImpl>>(); + private final Map<String, JavaElementImpl> producerMembers = new HashMap<String, JavaElementImpl>(); private List<Member> conversationIDMember = new ArrayList<Member>(); private boolean eagerInit; private boolean allowsPassByReference; @@ -133,7 +135,15 @@ public class JavaImplementationImpl extends BaseJavaImplementationImpl implement return referenceMembers; } - public JavaScopeImpl getJavaScope() { + public Map<String, Collection<JavaElementImpl>> getConsumerMembers() { + return consumerMembers; + } + + public Map<String, JavaElementImpl> getProducerMembers() { + return producerMembers; + } + + public JavaScopeImpl getJavaScope() { return scope; } |