diff options
Diffstat (limited to 'sca-java-2.x/trunk/modules/domain-node/src/main')
-rw-r--r-- | sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/impl/NodeImpl.java | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/impl/NodeImpl.java b/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/impl/NodeImpl.java index 2abc441728..68d8191d91 100644 --- a/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/impl/NodeImpl.java +++ b/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/impl/NodeImpl.java @@ -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 { |