You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by sl...@apache.org on 2009/08/27 19:53:51 UTC
svn commit: r808553 -
/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/CompositeImpl.java
Author: slaws
Date: Thu Aug 27 17:53:50 2009
New Revision: 808553
URL: http://svn.apache.org/viewvc?rev=808553&view=rev
Log:
Move the reference/service resetting outside the loop as they don't need to be there.
Modified:
tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/CompositeImpl.java
Modified: tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/CompositeImpl.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/CompositeImpl.java?rev=808553&r1=808552&r2=808553&view=diff
==============================================================================
--- tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/CompositeImpl.java (original)
+++ tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/CompositeImpl.java Thu Aug 27 17:53:50 2009
@@ -58,29 +58,33 @@
public Object clone() throws CloneNotSupportedException {
CompositeImpl clone = (CompositeImpl)super.clone();
+ // clone the child components
clone.components = new ArrayList<Component>();
for (Component component : getComponents()) {
Component clonedComponent = (Component)component.clone();
- for (Service service : clone.getServices()) {
- CompositeService compositeService = (CompositeService)service;
- // Force the promoted component/service to be rebuilt against the clone
- if (compositeService.getPromotedComponent() != null) {
- compositeService.getPromotedComponent().setUnresolved(true);
- }
- if (compositeService.getPromotedService() != null) {
- compositeService.getPromotedService().setUnresolved(true);
- }
+ clone.components.add(clonedComponent);
+ }
+
+ // reset the references and services so the get re-resolved
+ for (Service service : clone.getServices()) {
+ CompositeService compositeService = (CompositeService)service;
+ // Force the promoted component/service to be rebuilt against the clone
+ if (compositeService.getPromotedComponent() != null) {
+ compositeService.getPromotedComponent().setUnresolved(true);
}
- for (Reference reference : clone.getReferences()) {
- CompositeReference compositeReference = (CompositeReference)reference;
- for (ComponentReference ref : compositeReference.getPromotedReferences()) {
- // Force the promoted reference to be rebuilt against the clone
- ref.setUnresolved(true);
- }
+ if (compositeService.getPromotedService() != null) {
+ compositeService.getPromotedService().setUnresolved(true);
+ }
+ }
+ for (Reference reference : clone.getReferences()) {
+ CompositeReference compositeReference = (CompositeReference)reference;
+ for (ComponentReference ref : compositeReference.getPromotedReferences()) {
+ // Force the promoted reference to be rebuilt against the clone
+ ref.setUnresolved(true);
}
-
- clone.components.add(clonedComponent);
}
+
+ // clone the wires
clone.wires = new ArrayList<Wire>();
for (Wire wire : getWires()) {
clone.wires.add((Wire)wire.clone());