From dbd04b3daff024d841bc6ab74be964f0510c10fb Mon Sep 17 00:00:00 2001 From: antelder Date: Fri, 17 Jun 2011 14:44:07 +0000 Subject: When uninstalling a contribution also remove any stopped DeployedComposites so that they get correctly rebuilt afresh on a re-start git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1136894 13f79535-47bb-0310-9956-ffa450edef68 --- .../src/main/java/org/apache/tuscany/sca/impl/NodeImpl.java | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'sca-java-2.x/trunk') 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 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 { -- cgit v1.2.3