summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/CompositeReferenceImpl.java5
-rw-r--r--java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ReferenceImpl.java9
2 files changed, 7 insertions, 7 deletions
diff --git a/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/CompositeReferenceImpl.java b/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/CompositeReferenceImpl.java
index db88798cb5..d47ac9bd55 100644
--- a/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/CompositeReferenceImpl.java
+++ b/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/CompositeReferenceImpl.java
@@ -43,7 +43,10 @@ public class CompositeReferenceImpl extends ReferenceImpl implements CompositeRe
@Override
public Object clone() throws CloneNotSupportedException {
- return super.clone();
+ CompositeReferenceImpl copy = (CompositeReferenceImpl)super.clone();
+ copy.promotedComponents = new ArrayList<Component>(promotedComponents);
+ copy.promotedReferences = new ArrayList<ComponentReference>(promotedReferences);
+ return copy;
}
public List<ComponentReference> getPromotedReferences() {
diff --git a/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ReferenceImpl.java b/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ReferenceImpl.java
index 41d090c9d4..2d39bb84c7 100644
--- a/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ReferenceImpl.java
+++ b/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ReferenceImpl.java
@@ -51,12 +51,9 @@ public class ReferenceImpl extends AbstractReferenceImpl implements Reference, C
@Override
public Object clone() throws CloneNotSupportedException {
ReferenceImpl clone = (ReferenceImpl)super.clone();
- clone.bindings = new ArrayList<Binding>();
- clone.bindings.addAll(getBindings());
- clone.targets = new ArrayList<ComponentService>();
- clone.targets.addAll(getTargets());
- clone.endpointReferences = new ArrayList<EndpointReference2>();
- clone.endpointReferences.addAll(getEndpointReferences());
+ clone.bindings = new ArrayList<Binding>(bindings);
+ clone.targets = new ArrayList<ComponentService>(targets);
+ clone.endpointReferences = new ArrayList<EndpointReference2>(endpointReferences);
return clone;
}