You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by gn...@apache.org on 2014/02/14 13:44:15 UTC

[05/15] git commit: [KARAF-2756] Use @Completer for instance commands

[KARAF-2756] Use @Completer for instance commands


Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/2a12fbb6
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/2a12fbb6
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/2a12fbb6

Branch: refs/heads/master
Commit: 2a12fbb6ac05f05185cbd64716df37617e0906df
Parents: a7c642c
Author: Guillaume Nodet <gn...@gmail.com>
Authored: Wed Feb 12 22:55:33 2014 +0100
Committer: Guillaume Nodet <gn...@gmail.com>
Committed: Fri Feb 14 13:43:57 2014 +0100

----------------------------------------------------------------------
 .../instance/command/ChangeOptsCommand.java     |  3 +
 .../command/ChangeRmiRegistryPortCommand.java   |  3 +
 .../command/ChangeRmiServerPortCommand.java     |  3 +
 .../instance/command/ChangeSshPortCommand.java  |  3 +
 .../karaf/instance/command/CloneCommand.java    |  3 +
 .../karaf/instance/command/ConnectCommand.java  |  3 +
 .../karaf/instance/command/CreateCommand.java   |  5 ++
 .../karaf/instance/command/DestroyCommand.java  |  3 +
 .../karaf/instance/command/RenameCommand.java   |  3 +
 .../karaf/instance/command/StartCommand.java    |  3 +
 .../karaf/instance/command/StatusCommand.java   |  3 +
 .../karaf/instance/command/StopCommand.java     |  3 +
 .../OSGI-INF/blueprint/instance-command.xml     | 62 ++------------------
 13 files changed, 43 insertions(+), 57 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/karaf/blob/2a12fbb6/instance/command/src/main/java/org/apache/karaf/instance/command/ChangeOptsCommand.java
----------------------------------------------------------------------
diff --git a/instance/command/src/main/java/org/apache/karaf/instance/command/ChangeOptsCommand.java b/instance/command/src/main/java/org/apache/karaf/instance/command/ChangeOptsCommand.java
index 7b443fd..3db7cec 100644
--- a/instance/command/src/main/java/org/apache/karaf/instance/command/ChangeOptsCommand.java
+++ b/instance/command/src/main/java/org/apache/karaf/instance/command/ChangeOptsCommand.java
@@ -16,13 +16,16 @@
  */
 package org.apache.karaf.instance.command;
 
+import org.apache.karaf.instance.command.completers.InstanceCompleter;
 import org.apache.karaf.shell.commands.Argument;
 import org.apache.karaf.shell.commands.Command;
+import org.apache.karaf.shell.commands.Completer;
 
 @Command(scope = "instance", name = "opts-change", description = "Changes the Java options of an existing container instance.")
 public class ChangeOptsCommand extends InstanceCommandSupport {
 
     @Argument(index = 0, name = "name", description="The name of the container instance", required = true, multiValued = false)
+    @Completer(InstanceCompleter.class)
     private String instance = null;
 
     @Argument(index = 1, name = "javaOpts", description = "The new Java options to set", required = true, multiValued = false)

http://git-wip-us.apache.org/repos/asf/karaf/blob/2a12fbb6/instance/command/src/main/java/org/apache/karaf/instance/command/ChangeRmiRegistryPortCommand.java
----------------------------------------------------------------------
diff --git a/instance/command/src/main/java/org/apache/karaf/instance/command/ChangeRmiRegistryPortCommand.java b/instance/command/src/main/java/org/apache/karaf/instance/command/ChangeRmiRegistryPortCommand.java
index a35c153..d889fa2 100644
--- a/instance/command/src/main/java/org/apache/karaf/instance/command/ChangeRmiRegistryPortCommand.java
+++ b/instance/command/src/main/java/org/apache/karaf/instance/command/ChangeRmiRegistryPortCommand.java
@@ -16,13 +16,16 @@
  */
 package org.apache.karaf.instance.command;
 
+import org.apache.karaf.instance.command.completers.InstanceCompleter;
 import org.apache.karaf.shell.commands.Argument;
 import org.apache.karaf.shell.commands.Command;
+import org.apache.karaf.shell.commands.Completer;
 
 @Command(scope = "instance", name = "rmi-registry-port-change", description = "Changes the RMI registry port (used by management layer) of an existing container instance.")
 public class ChangeRmiRegistryPortCommand extends InstanceCommandSupport {
 
     @Argument(index = 0, name = "name", description = "The name of the container instance", required = true, multiValued = false)
+    @Completer(InstanceCompleter.class)
     private String instance = null;
 
     @Argument(index = 1, name = "port", description = "The new RMI registry port to set", required = true, multiValued = false)

http://git-wip-us.apache.org/repos/asf/karaf/blob/2a12fbb6/instance/command/src/main/java/org/apache/karaf/instance/command/ChangeRmiServerPortCommand.java
----------------------------------------------------------------------
diff --git a/instance/command/src/main/java/org/apache/karaf/instance/command/ChangeRmiServerPortCommand.java b/instance/command/src/main/java/org/apache/karaf/instance/command/ChangeRmiServerPortCommand.java
index 60f75b2..1bef267 100644
--- a/instance/command/src/main/java/org/apache/karaf/instance/command/ChangeRmiServerPortCommand.java
+++ b/instance/command/src/main/java/org/apache/karaf/instance/command/ChangeRmiServerPortCommand.java
@@ -16,13 +16,16 @@
  */
 package org.apache.karaf.instance.command;
 
+import org.apache.karaf.instance.command.completers.InstanceCompleter;
 import org.apache.karaf.shell.commands.Argument;
 import org.apache.karaf.shell.commands.Command;
+import org.apache.karaf.shell.commands.Completer;
 
 @Command(scope = "instance", name = "rmi-server-port-change", description = "Changes the RMI server port (used by management layer) of an existing instance.")
 public class ChangeRmiServerPortCommand extends InstanceCommandSupport {
 
     @Argument(index = 0, name = "name", description = "The name of the container instance", required = true, multiValued = false)
+    @Completer(InstanceCompleter.class)
     private String instance = null;
 
     @Argument(index = 1, name = "port", description = "The new RMI server port to set", required = true, multiValued = false)

http://git-wip-us.apache.org/repos/asf/karaf/blob/2a12fbb6/instance/command/src/main/java/org/apache/karaf/instance/command/ChangeSshPortCommand.java
----------------------------------------------------------------------
diff --git a/instance/command/src/main/java/org/apache/karaf/instance/command/ChangeSshPortCommand.java b/instance/command/src/main/java/org/apache/karaf/instance/command/ChangeSshPortCommand.java
index 91c8281..9977971 100644
--- a/instance/command/src/main/java/org/apache/karaf/instance/command/ChangeSshPortCommand.java
+++ b/instance/command/src/main/java/org/apache/karaf/instance/command/ChangeSshPortCommand.java
@@ -16,13 +16,16 @@
  */
 package org.apache.karaf.instance.command;
 
+import org.apache.karaf.instance.command.completers.InstanceCompleter;
 import org.apache.karaf.shell.commands.Argument;
 import org.apache.karaf.shell.commands.Command;
+import org.apache.karaf.shell.commands.Completer;
 
 @Command(scope = "instance", name = "ssh-port-change", description = "Changes the secure shell port of an existing container instance.")
 public class ChangeSshPortCommand extends InstanceCommandSupport {
 
     @Argument(index = 0, name = "name", description="The name of the container instance", required = true, multiValued = false)
+    @Completer(InstanceCompleter.class)
     private String instance = null;
 
     @Argument(index = 1, name = "port", description = "The new secure shell port to set", required = true, multiValued = false)

http://git-wip-us.apache.org/repos/asf/karaf/blob/2a12fbb6/instance/command/src/main/java/org/apache/karaf/instance/command/CloneCommand.java
----------------------------------------------------------------------
diff --git a/instance/command/src/main/java/org/apache/karaf/instance/command/CloneCommand.java b/instance/command/src/main/java/org/apache/karaf/instance/command/CloneCommand.java
index fcde463..5e6b2b4 100644
--- a/instance/command/src/main/java/org/apache/karaf/instance/command/CloneCommand.java
+++ b/instance/command/src/main/java/org/apache/karaf/instance/command/CloneCommand.java
@@ -16,8 +16,10 @@
  */
 package org.apache.karaf.instance.command;
 
+import org.apache.karaf.instance.command.completers.InstanceCompleter;
 import org.apache.karaf.shell.commands.Argument;
 import org.apache.karaf.shell.commands.Command;
+import org.apache.karaf.shell.commands.Completer;
 import org.apache.karaf.shell.commands.Option;
 import org.apache.karaf.instance.core.InstanceSettings;
 
@@ -46,6 +48,7 @@ public class CloneCommand extends InstanceCommandSupport {
     boolean verbose = false;
 
     @Argument(index = 0, name = "name", description = "The name of the source container instance", required = true, multiValued = false)
+    @Completer(InstanceCompleter.class)
     String name;
 
     @Argument(index = 1, name = "cloneName", description = "The name of the cloned container instance", required = true, multiValued = false)

http://git-wip-us.apache.org/repos/asf/karaf/blob/2a12fbb6/instance/command/src/main/java/org/apache/karaf/instance/command/ConnectCommand.java
----------------------------------------------------------------------
diff --git a/instance/command/src/main/java/org/apache/karaf/instance/command/ConnectCommand.java b/instance/command/src/main/java/org/apache/karaf/instance/command/ConnectCommand.java
index a2a542a..6c909e9 100644
--- a/instance/command/src/main/java/org/apache/karaf/instance/command/ConnectCommand.java
+++ b/instance/command/src/main/java/org/apache/karaf/instance/command/ConnectCommand.java
@@ -20,6 +20,8 @@ package org.apache.karaf.instance.command;
 
 import java.util.List;
 
+import org.apache.karaf.instance.command.completers.InstanceCompleter;
+import org.apache.karaf.shell.commands.Completer;
 import org.apache.karaf.shell.commands.Option;
 import org.apache.karaf.shell.commands.Argument;
 import org.apache.karaf.shell.commands.Command;
@@ -34,6 +36,7 @@ public class ConnectCommand extends InstanceCommandSupport {
     private String password;
 
     @Argument(index = 0, name="name", description="The name of the container instance", required = true, multiValued = false)
+    @Completer(InstanceCompleter.class)
     private String instance = null;
 
     @Argument(index = 1, name = "command", description = "Optional command to execute", required = false, multiValued = true)

http://git-wip-us.apache.org/repos/asf/karaf/blob/2a12fbb6/instance/command/src/main/java/org/apache/karaf/instance/command/CreateCommand.java
----------------------------------------------------------------------
diff --git a/instance/command/src/main/java/org/apache/karaf/instance/command/CreateCommand.java b/instance/command/src/main/java/org/apache/karaf/instance/command/CreateCommand.java
index 219690d..a3c8595 100644
--- a/instance/command/src/main/java/org/apache/karaf/instance/command/CreateCommand.java
+++ b/instance/command/src/main/java/org/apache/karaf/instance/command/CreateCommand.java
@@ -18,8 +18,11 @@ package org.apache.karaf.instance.command;
 
 import java.util.List;
 
+import org.apache.karaf.features.command.completers.AllFeatureCompleter;
+import org.apache.karaf.features.command.completers.InstalledRepoUriCompleter;
 import org.apache.karaf.shell.commands.Argument;
 import org.apache.karaf.shell.commands.Command;
+import org.apache.karaf.shell.commands.Completer;
 import org.apache.karaf.shell.commands.Option;
 import org.apache.karaf.instance.core.InstanceSettings;
 
@@ -46,10 +49,12 @@ public class CreateCommand extends InstanceCommandSupport
     
     @Option(name = "-f", aliases = {"--feature"},
             description = "Initial features. This option can be specified multiple times to enable multiple initial features", required = false, multiValued = true)
+    @Completer(AllFeatureCompleter.class)
     List<String> features;
     
     @Option(name = "-furl", aliases = {"--featureURL"}, 
             description = "Additional feature descriptor URLs. This option can be specified multiple times to add multiple URLs", required = false, multiValued = true)
+    @Completer(InstalledRepoUriCompleter.class)
     List<String> featureURLs;
 
     @Option(name = "-v", aliases = {"--verbose"}, description = "Display actions performed by the command (disabled by default)", required = false, multiValued = false)

http://git-wip-us.apache.org/repos/asf/karaf/blob/2a12fbb6/instance/command/src/main/java/org/apache/karaf/instance/command/DestroyCommand.java
----------------------------------------------------------------------
diff --git a/instance/command/src/main/java/org/apache/karaf/instance/command/DestroyCommand.java b/instance/command/src/main/java/org/apache/karaf/instance/command/DestroyCommand.java
index b2162da..3e41be0 100644
--- a/instance/command/src/main/java/org/apache/karaf/instance/command/DestroyCommand.java
+++ b/instance/command/src/main/java/org/apache/karaf/instance/command/DestroyCommand.java
@@ -16,8 +16,10 @@
  */
 package org.apache.karaf.instance.command;
 
+import org.apache.karaf.instance.command.completers.InstanceCompleter;
 import org.apache.karaf.shell.commands.Argument;
 import org.apache.karaf.shell.commands.Command;
+import org.apache.karaf.shell.commands.Completer;
 
 /**
  * Destroy an existing instance.
@@ -26,6 +28,7 @@ import org.apache.karaf.shell.commands.Command;
 public class DestroyCommand extends InstanceCommandSupport
 {
     @Argument(index = 0, name = "name", description= "The name of the container instance to destroy", required = true, multiValued = false)
+    @Completer(InstanceCompleter.class)
     private String instance = null;
 
     protected Object doExecute() throws Exception {

http://git-wip-us.apache.org/repos/asf/karaf/blob/2a12fbb6/instance/command/src/main/java/org/apache/karaf/instance/command/RenameCommand.java
----------------------------------------------------------------------
diff --git a/instance/command/src/main/java/org/apache/karaf/instance/command/RenameCommand.java b/instance/command/src/main/java/org/apache/karaf/instance/command/RenameCommand.java
index bb0067b..5b57774 100644
--- a/instance/command/src/main/java/org/apache/karaf/instance/command/RenameCommand.java
+++ b/instance/command/src/main/java/org/apache/karaf/instance/command/RenameCommand.java
@@ -16,8 +16,10 @@
  */
 package org.apache.karaf.instance.command;
 
+import org.apache.karaf.instance.command.completers.InstanceCompleter;
 import org.apache.karaf.shell.commands.Argument;
 import org.apache.karaf.shell.commands.Command;
+import org.apache.karaf.shell.commands.Completer;
 import org.apache.karaf.shell.commands.Option;
 
 @Command(scope = "instance", name = "rename", description = "Rename an existing container instance.")
@@ -27,6 +29,7 @@ public class RenameCommand extends InstanceCommandSupport {
     boolean verbose = false;
 
     @Argument(index = 0, name = "name", description = "The name of the container instance to rename", required = true, multiValued = false)
+    @Completer(InstanceCompleter.class)
     String instance = null;
 
     @Argument(index = 1, name = "new-name", description = "The new name of the container instance", required = true, multiValued = false)

http://git-wip-us.apache.org/repos/asf/karaf/blob/2a12fbb6/instance/command/src/main/java/org/apache/karaf/instance/command/StartCommand.java
----------------------------------------------------------------------
diff --git a/instance/command/src/main/java/org/apache/karaf/instance/command/StartCommand.java b/instance/command/src/main/java/org/apache/karaf/instance/command/StartCommand.java
index 82807be..1f3c13b 100644
--- a/instance/command/src/main/java/org/apache/karaf/instance/command/StartCommand.java
+++ b/instance/command/src/main/java/org/apache/karaf/instance/command/StartCommand.java
@@ -16,8 +16,10 @@
  */
 package org.apache.karaf.instance.command;
 
+import org.apache.karaf.instance.command.completers.InstanceCompleter;
 import org.apache.karaf.shell.commands.Argument;
 import org.apache.karaf.shell.commands.Command;
+import org.apache.karaf.shell.commands.Completer;
 import org.apache.karaf.shell.commands.Option;
 import org.apache.karaf.instance.core.Instance;
 
@@ -34,6 +36,7 @@ public class StartCommand extends InstanceCommandSupport {
     private boolean wait;
 
     @Argument(index = 0, name = "name", description = "The name of the container instance", required = true, multiValued = false)
+    @Completer(InstanceCompleter.class)
     private String instance = null;
 
     static final String DEBUG_OPTS = " -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005";

http://git-wip-us.apache.org/repos/asf/karaf/blob/2a12fbb6/instance/command/src/main/java/org/apache/karaf/instance/command/StatusCommand.java
----------------------------------------------------------------------
diff --git a/instance/command/src/main/java/org/apache/karaf/instance/command/StatusCommand.java b/instance/command/src/main/java/org/apache/karaf/instance/command/StatusCommand.java
index d66580e..fce8d5f 100644
--- a/instance/command/src/main/java/org/apache/karaf/instance/command/StatusCommand.java
+++ b/instance/command/src/main/java/org/apache/karaf/instance/command/StatusCommand.java
@@ -16,15 +16,18 @@
  */
 package org.apache.karaf.instance.command;
 
+import org.apache.karaf.instance.command.completers.InstanceCompleter;
 import org.apache.karaf.instance.core.Instance;
 import org.apache.karaf.shell.commands.Argument;
 import org.apache.karaf.shell.commands.Command;
+import org.apache.karaf.shell.commands.Completer;
 import org.apache.karaf.shell.commands.Option;
 
 @Command(scope = "instance", name = "status", description = "Check the current status of an instance.")
 public class StatusCommand extends InstanceCommandSupport {
 
     @Argument(index = 0, name = "name", description = "The name of the instance", required = true, multiValued = false)
+    @Completer(InstanceCompleter.class)
     private String name;
 
     protected Object doExecute() throws Exception {

http://git-wip-us.apache.org/repos/asf/karaf/blob/2a12fbb6/instance/command/src/main/java/org/apache/karaf/instance/command/StopCommand.java
----------------------------------------------------------------------
diff --git a/instance/command/src/main/java/org/apache/karaf/instance/command/StopCommand.java b/instance/command/src/main/java/org/apache/karaf/instance/command/StopCommand.java
index b2c35fd..ad4cce5 100644
--- a/instance/command/src/main/java/org/apache/karaf/instance/command/StopCommand.java
+++ b/instance/command/src/main/java/org/apache/karaf/instance/command/StopCommand.java
@@ -16,13 +16,16 @@
  */
 package org.apache.karaf.instance.command;
 
+import org.apache.karaf.instance.command.completers.InstanceCompleter;
 import org.apache.karaf.shell.commands.Argument;
 import org.apache.karaf.shell.commands.Command;
+import org.apache.karaf.shell.commands.Completer;
 
 @Command(scope = "instance", name = "stop", description = "Stop an existing container instance.")
 public class StopCommand extends InstanceCommandSupport {
 
     @Argument(index = 0, name = "name", description = "The name of the container instance", required = true, multiValued = false)
+    @Completer(InstanceCompleter.class)
     private String instance = null;
 
     protected Object doExecute() throws Exception {

http://git-wip-us.apache.org/repos/asf/karaf/blob/2a12fbb6/instance/command/src/main/resources/OSGI-INF/blueprint/instance-command.xml
----------------------------------------------------------------------
diff --git a/instance/command/src/main/resources/OSGI-INF/blueprint/instance-command.xml b/instance/command/src/main/resources/OSGI-INF/blueprint/instance-command.xml
index d23b5b2..1db1a0e 100644
--- a/instance/command/src/main/resources/OSGI-INF/blueprint/instance-command.xml
+++ b/instance/command/src/main/resources/OSGI-INF/blueprint/instance-command.xml
@@ -25,19 +25,11 @@
             <action class="org.apache.karaf.instance.command.CreateCommand">
                 <property name="instanceService" ref="instanceService" />
             </action>
-            <optional-completers>
-                   <entry key="-f" value-ref="allFeatureCompleter"/>
-                   <entry key="-furl" value-ref="featureUrlCompleter"/>
-            </optional-completers>
         </command>
         <command>
             <action class="org.apache.karaf.instance.command.ConnectCommand">
                 <property name="instanceService" ref="instanceService" />
             </action>
-            <completers>
-                <ref component-id="instanceCompleter" />
-                <null/>
-            </completers>
         </command>
         <command>
             <action class="org.apache.karaf.instance.command.ListCommand">
@@ -48,107 +40,63 @@
             <action class="org.apache.karaf.instance.command.StartCommand">
                 <property name="instanceService" ref="instanceService" />
             </action>
-            <completers>
-                <ref component-id="instanceCompleter" />
-                <null/>
-            </completers>
         </command>
         <command>
             <action class="org.apache.karaf.instance.command.StopCommand">
                 <property name="instanceService" ref="instanceService" />
             </action>
-            <completers>
-                <ref component-id="instanceCompleter" />
-                <null/>
-            </completers>
         </command>
         <command>
             <action class="org.apache.karaf.instance.command.DestroyCommand">
                 <property name="instanceService" ref="instanceService" />
             </action>
-            <completers>
-                <ref component-id="instanceCompleter" />
-                <null/>
-            </completers>
         </command>
         <command>
             <action class="org.apache.karaf.instance.command.RenameCommand">
                 <property name="instanceService" ref="instanceService" />
             </action>
-            <completers>
-                <ref component-id="instanceCompleter" />
-                <null />
-            </completers>
         </command>
         <command>
             <action class="org.apache.karaf.instance.command.CloneCommand">
                 <property name="instanceService" ref="instanceService" />
             </action>
-            <completers>
-                <ref component-id="instanceCompleter" />
-                <null />
-            </completers>
         </command>
         <command>
             <action class="org.apache.karaf.instance.command.ChangeSshPortCommand">
                 <property name="instanceService" ref="instanceService" />
             </action>
-            <completers>
-                <ref component-id="instanceCompleter" />
-                <null/>
-            </completers>
         </command>
         <command>
             <action class="org.apache.karaf.instance.command.ChangeRmiRegistryPortCommand">
                 <property name="instanceService" ref="instanceService" />
             </action>
-            <completers>
-                <ref component-id="instanceCompleter" />
-                <null />
-            </completers>
         </command>
         <command>
             <action class="org.apache.karaf.instance.command.ChangeRmiServerPortCommand">
                 <property name="instanceService" ref="instanceService" />
             </action>
-            <completers>
-                <ref component-id="instanceCompleter" />
-                <null />
-            </completers>
         </command>
         <command>
             <action class="org.apache.karaf.instance.command.ChangeOptsCommand">
                 <property name="instanceService" ref="instanceService" />
             </action>
-            <completers>
-                <ref component-id="instanceCompleter" />
-                <null/>
-            </completers>
         </command>
         <command>
             <action class="org.apache.karaf.instance.command.StatusCommand">
                 <property name="instanceService" ref="instanceService" />
             </action>
-            <completers>
-                <ref component-id="instanceCompleter" />
-                <null/>
-            </completers>
         </command>
     </command-bundle>
 
+    <!-- Services -->
+
     <reference id="instanceService" interface="org.apache.karaf.instance.core.InstanceService" />
-    <reference id="featuresService" interface="org.apache.karaf.features.FeaturesService" />
+
+    <!-- Completers -->
 
     <bean id="instanceCompleter" class="org.apache.karaf.instance.command.completers.InstanceCompleter">
         <property name="instanceService" ref="instanceService" />
     </bean>
-
-    <bean id="allFeatureCompleter" class="org.apache.karaf.features.command.completers.AllFeatureCompleter">
-        <property name="featuresService" ref="featuresService" />
-    </bean>
-
-    <bean id="featureUrlCompleter" class="org.apache.karaf.features.command.completers.InstalledRepoUriCompleter">
-        <property name="featuresService" ref="featuresService" />
-    </bean>
+    <service ref="instanceCompleter" auto-export="all-classes"/>
 
 </blueprint>