diff options
Diffstat (limited to 'sca-java-2.x/trunk/modules')
-rw-r--r-- | sca-java-2.x/trunk/modules/shell/src/main/java/org/apache/tuscany/sca/shell/JLine.java | 8 | ||||
-rw-r--r-- | sca-java-2.x/trunk/modules/shell/src/main/java/org/apache/tuscany/sca/shell/Shell.java | 26 |
2 files changed, 26 insertions, 8 deletions
diff --git a/sca-java-2.x/trunk/modules/shell/src/main/java/org/apache/tuscany/sca/shell/JLine.java b/sca-java-2.x/trunk/modules/shell/src/main/java/org/apache/tuscany/sca/shell/JLine.java index 88a0e7ca51..d09a72f84f 100644 --- a/sca-java-2.x/trunk/modules/shell/src/main/java/org/apache/tuscany/sca/shell/JLine.java +++ b/sca-java-2.x/trunk/modules/shell/src/main/java/org/apache/tuscany/sca/shell/JLine.java @@ -32,6 +32,8 @@ import jline.ConsoleReader; import jline.FileNameCompletor; import jline.SimpleCompletor; +import org.apache.tuscany.sca.runtime.ActivationException; + /** * Keep all the JLine specific code out of the Shell class so that it runs ok * when jline isn't on the classpath. @@ -48,7 +50,11 @@ public class JLine { // Add a Ctrl-c listener reader.addTriggeredAction((char)3, new ActionListener() { public void actionPerformed(ActionEvent e) { - shell.stop(); + try { + shell.stop(null); + } catch (ActivationException e1) { + e1.printStackTrace(); + } System.exit(0); } }); diff --git a/sca-java-2.x/trunk/modules/shell/src/main/java/org/apache/tuscany/sca/shell/Shell.java b/sca-java-2.x/trunk/modules/shell/src/main/java/org/apache/tuscany/sca/shell/Shell.java index a8ed16c5ff..75b7a5c4ba 100644 --- a/sca-java-2.x/trunk/modules/shell/src/main/java/org/apache/tuscany/sca/shell/Shell.java +++ b/sca-java-2.x/trunk/modules/shell/src/main/java/org/apache/tuscany/sca/shell/Shell.java @@ -180,14 +180,26 @@ public class Shell { out.println(" listInstalledContributions");
out.println(" printDomainLevelComposite");
out.println(" status [<curi> <compositeUri>]");
- out.println(" stop");
+ out.println(" stop [<curi> <compositeUri>]");
out.println();
return true;
}
- boolean stop() {
- node.stop();
- return false;
+ boolean stop(List<String> toks) throws ActivationException {
+ if (toks == null || toks.size() < 2) {
+ node.stop();
+ return false;
+ }
+ String curi = toks.get(1);
+ if (toks.size() > 2) {
+ node.removeFromDomainLevelComposite(curi + "/" + toks.get(2));
+ } else {
+ for (String compositeURI : node.getDeployedCompostes(curi)) {
+ node.removeFromDomainLevelComposite(curi + "/" + compositeURI);
+ }
+ }
+
+ return true;
}
boolean status(final List<String> toks) {
@@ -211,7 +223,7 @@ public class Shell { }
for (String compositeUri : dcs) {
for (Artifact a : c.getArtifacts()) {
- if (compositeUri.equals(curi + "/" + a.getURI())) {
+ if (compositeUri.equals(a.getURI())) {
out.println(" " + curi + " " + c.getLocation() + " " + compositeUri + " " + ((Composite)a.getModel()).getName());
}
}
@@ -272,8 +284,8 @@ public class Shell { if (op.equals("help")) return new Callable<Boolean>() { public Boolean call() {
return help();
}};
- if (op.equals("stop")) return new Callable<Boolean>() { public Boolean call() {
- return stop();
+ if (op.equals("stop")) return new Callable<Boolean>() { public Boolean call() throws Exception {
+ return stop(toks);
}};
if (op.equals("status")) return new Callable<Boolean>() { public Boolean call() {
return status(toks);
|