summaryrefslogtreecommitdiffstats
path: root/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/impl/InstalledContribution.java
diff options
context:
space:
mode:
authorantelder <antelder@13f79535-47bb-0310-9956-ffa450edef68>2011-03-04 11:30:48 +0000
committerantelder <antelder@13f79535-47bb-0310-9956-ffa450edef68>2011-03-04 11:30:48 +0000
commitcbb91a3596055348cc68dd387b01fc1b879672af (patch)
treeb6579b2001dde25fdd49242be54f1d54615e6347 /sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/impl/InstalledContribution.java
parentc1f0a4b1cf1395f63e7f38be4ae1851e007b6ced (diff)
Do some clean up, simplify dependencies, remove unused classes and folders, update to restart stopped composites
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1077885 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/impl/InstalledContribution.java')
-rw-r--r--sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/impl/InstalledContribution.java32
1 files changed, 30 insertions, 2 deletions
diff --git a/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/impl/InstalledContribution.java b/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/impl/InstalledContribution.java
index 5137605067..750a13f81a 100644
--- a/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/impl/InstalledContribution.java
+++ b/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/impl/InstalledContribution.java
@@ -20,10 +20,13 @@
package org.apache.tuscany.sca.impl;
import java.util.ArrayList;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
import org.apache.tuscany.sca.assembly.Composite;
import org.apache.tuscany.sca.contribution.Contribution;
+import org.apache.tuscany.sca.runtime.ActivationException;
public class InstalledContribution {
@@ -31,7 +34,8 @@ public class InstalledContribution {
private String url;
private Contribution contribution;
private List<Composite> defaultDeployables = new ArrayList<Composite>();
- private List<DeployedComposite> deployedComposites = new ArrayList<DeployedComposite>();
+ private List<DeployedComposite> startededComposites = new ArrayList<DeployedComposite>();
+ private Map<String, DeployedComposite> stoppedComposites = new HashMap<String, DeployedComposite>();
private List<String> dependentContributionURIs;
public InstalledContribution(String uri, String url, Contribution contribution, List<String> dependentContributionURIs) {
@@ -57,9 +61,33 @@ public class InstalledContribution {
return defaultDeployables;
}
public List<DeployedComposite> getDeployedComposites() {
- return deployedComposites;
+ return startededComposites;
}
public List<String> getDependentContributionURIs() {
return dependentContributionURIs;
}
+ public void stop(String compositeURI) throws ActivationException {
+ for (DeployedComposite dc : getDeployedComposites()) {
+ if (compositeURI.equals(dc.getURI())) {
+ getDeployedComposites().remove(dc);
+ dc.stop();
+ stoppedComposites.put(compositeURI, dc);
+ return;
+ }
+ }
+ throw new IllegalStateException("composite not deployed: " + compositeURI);
+ }
+
+ public void start(DeployedComposite composite) {
+ startededComposites.add(composite);
+ }
+
+ public boolean restart(String compositeURI) throws ActivationException {
+ DeployedComposite dc = stoppedComposites.remove(compositeURI);
+ if (dc != null) {
+ dc.start();
+ startededComposites.add(dc);
+ }
+ return dc != null;
+ }
}