Author: antelder
Date: Fri Jun 17 15:04:06 2011
New Revision: 1136907
URL: http://svn.apache.org/viewvc?rev=1136907&view=rev
Log:
Add a method to stop a running composite and then uninstall any contributions
that were used by the composite and are unused now that the composite is stopped
Modified:
tuscany/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/Node.java
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/Node.java
URL:
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/Node.java?rev=1136907&r1=1136906&r2=1136907&view=diff
==============================================================================
---
tuscany/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/Node.java
(original)
+++
tuscany/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/Node.java
Fri Jun 17 15:04:06 2011
@@ -156,6 +156,8 @@ public interface Node {
void startComposite(String contributionURI, String compositeURI) throws
ActivationException, ValidationException, ContributionReadException;
void startComposite(String contributionURI, String compositeURI, String
nodeName) throws ActivationException;
+ void stopCompositeAndUninstallUnused(String contributionURI, String
compositeURI) throws ActivationException;
+
/**
* 4687 10.7.2 remove From Domain-Level Composite
* 4688 Removes from the Domain Level composite the elements corresponding
to the composite identified by a
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=1136907&r1=1136906&r2=1136907&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 15:04:06 2011
@@ -265,8 +265,6 @@ public class NodeImpl implements Node {
}
}
-
-
public void stopComposite(String contributionURI, String compositeURI)
throws ActivationException {
String key = contributionURI+"/"+compositeURI;
DeployedComposite dc = startedComposites.remove(key);
@@ -286,6 +284,24 @@ public class NodeImpl implements Node {
}
}
+ public void stopCompositeAndUninstallUnused(String contributionURI, String
compositeURI) throws ActivationException {
+ String key = contributionURI+"/"+compositeURI;
+ DeployedComposite dc = startedComposites.remove(key);
+ if (dc == null) {
+ throw new IllegalArgumentException("No startd composite found: " +
key);
+ }
+ dc.stop();
+
+ loop: for (String curi : dc.getContributionURIs()) {
+ for (DeployedComposite started : startedComposites.values()) {
+ if (started.getContributionURIs().contains(curi)) {
+ continue loop;
+ }
+ }
+ uninstallContribution(curi);
+ }
+ }
+
public String getDomainName() {
return domainRegistry.getDomainName();
}