summaryrefslogtreecommitdiffstats
path: root/sandbox/event/modules/implementation-java-xml/src/main/java/org/apache/tuscany/sca/implementation/java/xml/JavaImplementationProcessor.java
diff options
context:
space:
mode:
Diffstat (limited to 'sandbox/event/modules/implementation-java-xml/src/main/java/org/apache/tuscany/sca/implementation/java/xml/JavaImplementationProcessor.java')
-rw-r--r--sandbox/event/modules/implementation-java-xml/src/main/java/org/apache/tuscany/sca/implementation/java/xml/JavaImplementationProcessor.java22
1 files changed, 22 insertions, 0 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()) {