Author: antelder
Date: Fri Jun 17 14:44:07 2011
New Revision: 1136894

URL: http://svn.apache.org/viewvc?rev=1136894&view=rev
Log:
When uninstalling a contribution also remove any stopped DeployedComposites so 
that they get correctly rebuilt afresh on a re-start

Modified:
    
tuscany/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/impl/NodeImpl.java

Modified: 
tuscany/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/impl/NodeImpl.java
URL: 
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/impl/NodeImpl.java?rev=1136894&r1=1136893&r2=1136894&view=diff
==============================================================================
--- 
tuscany/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/impl/NodeImpl.java
 (original)
+++ 
tuscany/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/impl/NodeImpl.java
 Fri Jun 17 14:44:07 2011
@@ -24,6 +24,7 @@ import java.io.StringReader;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.HashMap;
+import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
@@ -132,6 +133,15 @@ public class NodeImpl implements Node {
     
     public void uninstallContribution(String contributionURI) {
         domainRegistry.uninstallContribution(contributionURI);
+        
+        // remove any stopped composite that used the contribution
+        Iterator<String> i = stoppedComposites.keySet().iterator();
+        while (i.hasNext()) {
+            DeployedComposite dc = stoppedComposites.get(i.next());
+            if (dc.getContributionURIs().contains(contributionURI)) {
+                i.remove();
+            }
+        }
     }
     
     protected void mergeContributionMetaData(String metaDataURL, Contribution 
contribution) throws ValidationException {


Reply via email to