diff options
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; } |