You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by jb...@apache.org on 2012/04/25 19:34:26 UTC

svn commit: r1330432 - in /karaf/cellar/branches/cellar-2.2.x: bundle/src/main/java/org/apache/karaf/cellar/bundle/shell/ config/src/main/java/org/apache/karaf/cellar/config/shell/ config/src/main/resources/OSGI-INF/blueprint/ features/src/main/java/or...

Author: jbonofre
Date: Wed Apr 25 17:34:25 2012
New Revision: 1330432

URL: http://svn.apache.org/viewvc?rev=1330432&view=rev
Log:
[KARAF-1397] Cellar commands now check if a cluster group exists.

Modified:
    karaf/cellar/branches/cellar-2.2.x/bundle/src/main/java/org/apache/karaf/cellar/bundle/shell/InstallBundleCommand.java
    karaf/cellar/branches/cellar-2.2.x/bundle/src/main/java/org/apache/karaf/cellar/bundle/shell/ListBundleCommand.java
    karaf/cellar/branches/cellar-2.2.x/bundle/src/main/java/org/apache/karaf/cellar/bundle/shell/StartBundleCommand.java
    karaf/cellar/branches/cellar-2.2.x/bundle/src/main/java/org/apache/karaf/cellar/bundle/shell/StopBundleCommand.java
    karaf/cellar/branches/cellar-2.2.x/bundle/src/main/java/org/apache/karaf/cellar/bundle/shell/UninstallBundleCommand.java
    karaf/cellar/branches/cellar-2.2.x/config/src/main/java/org/apache/karaf/cellar/config/shell/ListCommand.java
    karaf/cellar/branches/cellar-2.2.x/config/src/main/java/org/apache/karaf/cellar/config/shell/PropListCommand.java
    karaf/cellar/branches/cellar-2.2.x/config/src/main/java/org/apache/karaf/cellar/config/shell/PropSetCommand.java
    karaf/cellar/branches/cellar-2.2.x/config/src/main/resources/OSGI-INF/blueprint/shell-config.xml
    karaf/cellar/branches/cellar-2.2.x/features/src/main/java/org/apache/karaf/cellar/features/shell/InstallFeatureCommand.java
    karaf/cellar/branches/cellar-2.2.x/features/src/main/java/org/apache/karaf/cellar/features/shell/ListGroupFeatures.java
    karaf/cellar/branches/cellar-2.2.x/features/src/main/java/org/apache/karaf/cellar/features/shell/UninstallFeatureCommand.java
    karaf/cellar/branches/cellar-2.2.x/features/src/main/resources/OSGI-INF/blueprint/shell-features.xml
    karaf/cellar/branches/cellar-2.2.x/obr/src/main/java/org/apache/karaf/cellar/obr/shell/ObrAddUrlCommand.java
    karaf/cellar/branches/cellar-2.2.x/obr/src/main/java/org/apache/karaf/cellar/obr/shell/ObrDeployCommand.java
    karaf/cellar/branches/cellar-2.2.x/obr/src/main/java/org/apache/karaf/cellar/obr/shell/ObrListCommand.java
    karaf/cellar/branches/cellar-2.2.x/obr/src/main/java/org/apache/karaf/cellar/obr/shell/ObrListUrlCommand.java
    karaf/cellar/branches/cellar-2.2.x/obr/src/main/java/org/apache/karaf/cellar/obr/shell/ObrRemoveUrlCommand.java
    karaf/cellar/branches/cellar-2.2.x/shell/src/main/java/org/apache/karaf/cellar/shell/group/GroupDeleteCommand.java
    karaf/cellar/branches/cellar-2.2.x/shell/src/main/java/org/apache/karaf/cellar/shell/group/GroupJoinCommand.java
    karaf/cellar/branches/cellar-2.2.x/shell/src/main/java/org/apache/karaf/cellar/shell/group/GroupPickCommand.java
    karaf/cellar/branches/cellar-2.2.x/shell/src/main/java/org/apache/karaf/cellar/shell/group/GroupQuitCommand.java
    karaf/cellar/branches/cellar-2.2.x/shell/src/main/java/org/apache/karaf/cellar/shell/group/GroupSetCommand.java

Modified: karaf/cellar/branches/cellar-2.2.x/bundle/src/main/java/org/apache/karaf/cellar/bundle/shell/InstallBundleCommand.java
URL: http://svn.apache.org/viewvc/karaf/cellar/branches/cellar-2.2.x/bundle/src/main/java/org/apache/karaf/cellar/bundle/shell/InstallBundleCommand.java?rev=1330432&r1=1330431&r2=1330432&view=diff
==============================================================================
--- karaf/cellar/branches/cellar-2.2.x/bundle/src/main/java/org/apache/karaf/cellar/bundle/shell/InstallBundleCommand.java (original)
+++ karaf/cellar/branches/cellar-2.2.x/bundle/src/main/java/org/apache/karaf/cellar/bundle/shell/InstallBundleCommand.java Wed Apr 25 17:34:25 2012
@@ -41,12 +41,11 @@ public class InstallBundleCommand extend
     @Override
     protected Object doExecute() throws Exception {
         Group group = groupManager.findGroupByName(groupName);
-        
         if (group == null) {
             System.err.println("Cluster group " + groupName + " does't exist");
             return null;
         }
-        
+
         // get the name and version in the location MANIFEST
         JarInputStream jarInputStream = new JarInputStream(new URL(location).openStream());
         Manifest manifest = jarInputStream.getManifest();

Modified: karaf/cellar/branches/cellar-2.2.x/bundle/src/main/java/org/apache/karaf/cellar/bundle/shell/ListBundleCommand.java
URL: http://svn.apache.org/viewvc/karaf/cellar/branches/cellar-2.2.x/bundle/src/main/java/org/apache/karaf/cellar/bundle/shell/ListBundleCommand.java?rev=1330432&r1=1330431&r2=1330432&view=diff
==============================================================================
--- karaf/cellar/branches/cellar-2.2.x/bundle/src/main/java/org/apache/karaf/cellar/bundle/shell/ListBundleCommand.java (original)
+++ karaf/cellar/branches/cellar-2.2.x/bundle/src/main/java/org/apache/karaf/cellar/bundle/shell/ListBundleCommand.java Wed Apr 25 17:34:25 2012
@@ -35,7 +35,6 @@ public class ListBundleCommand extends C
     @Override
     protected Object doExecute() throws Exception {
         Group group = groupManager.findGroupByName(groupName);
-
         if (group == null) {
             System.err.println("Cluster group " + groupName + " doesn't exist");
             return null;

Modified: karaf/cellar/branches/cellar-2.2.x/bundle/src/main/java/org/apache/karaf/cellar/bundle/shell/StartBundleCommand.java
URL: http://svn.apache.org/viewvc/karaf/cellar/branches/cellar-2.2.x/bundle/src/main/java/org/apache/karaf/cellar/bundle/shell/StartBundleCommand.java?rev=1330432&r1=1330431&r2=1330432&view=diff
==============================================================================
--- karaf/cellar/branches/cellar-2.2.x/bundle/src/main/java/org/apache/karaf/cellar/bundle/shell/StartBundleCommand.java (original)
+++ karaf/cellar/branches/cellar-2.2.x/bundle/src/main/java/org/apache/karaf/cellar/bundle/shell/StartBundleCommand.java Wed Apr 25 17:34:25 2012
@@ -41,7 +41,6 @@ public class StartBundleCommand extends 
     @Override
     protected Object doExecute() throws Exception {
         Group group = groupManager.findGroupByName(groupName);
-
         if (group == null) {
             System.err.println("Group " + groupName + " doesn't exist");
             return null;

Modified: karaf/cellar/branches/cellar-2.2.x/bundle/src/main/java/org/apache/karaf/cellar/bundle/shell/StopBundleCommand.java
URL: http://svn.apache.org/viewvc/karaf/cellar/branches/cellar-2.2.x/bundle/src/main/java/org/apache/karaf/cellar/bundle/shell/StopBundleCommand.java?rev=1330432&r1=1330431&r2=1330432&view=diff
==============================================================================
--- karaf/cellar/branches/cellar-2.2.x/bundle/src/main/java/org/apache/karaf/cellar/bundle/shell/StopBundleCommand.java (original)
+++ karaf/cellar/branches/cellar-2.2.x/bundle/src/main/java/org/apache/karaf/cellar/bundle/shell/StopBundleCommand.java Wed Apr 25 17:34:25 2012
@@ -41,7 +41,6 @@ public class StopBundleCommand extends C
     @Override
     protected Object doExecute() throws Exception {
         Group group = groupManager.findGroupByName(groupName);
-
         if (group == null) {
             System.err.println("Cluster group " + groupName + " doesn't exist");
             return null;

Modified: karaf/cellar/branches/cellar-2.2.x/bundle/src/main/java/org/apache/karaf/cellar/bundle/shell/UninstallBundleCommand.java
URL: http://svn.apache.org/viewvc/karaf/cellar/branches/cellar-2.2.x/bundle/src/main/java/org/apache/karaf/cellar/bundle/shell/UninstallBundleCommand.java?rev=1330432&r1=1330431&r2=1330432&view=diff
==============================================================================
--- karaf/cellar/branches/cellar-2.2.x/bundle/src/main/java/org/apache/karaf/cellar/bundle/shell/UninstallBundleCommand.java (original)
+++ karaf/cellar/branches/cellar-2.2.x/bundle/src/main/java/org/apache/karaf/cellar/bundle/shell/UninstallBundleCommand.java Wed Apr 25 17:34:25 2012
@@ -41,7 +41,6 @@ public class UninstallBundleCommand exte
     @Override
     protected Object doExecute() throws Exception {
         Group group = groupManager.findGroupByName(groupName);
-
         if (group == null) {
             System.err.println("Cluster group " + groupName + " doesn't exist");
             return null;

Modified: karaf/cellar/branches/cellar-2.2.x/config/src/main/java/org/apache/karaf/cellar/config/shell/ListCommand.java
URL: http://svn.apache.org/viewvc/karaf/cellar/branches/cellar-2.2.x/config/src/main/java/org/apache/karaf/cellar/config/shell/ListCommand.java?rev=1330432&r1=1330431&r2=1330432&view=diff
==============================================================================
--- karaf/cellar/branches/cellar-2.2.x/config/src/main/java/org/apache/karaf/cellar/config/shell/ListCommand.java (original)
+++ karaf/cellar/branches/cellar-2.2.x/config/src/main/java/org/apache/karaf/cellar/config/shell/ListCommand.java Wed Apr 25 17:34:25 2012
@@ -17,6 +17,7 @@ import org.apache.karaf.cellar.config.Co
 import org.apache.karaf.cellar.core.Configurations;
 import org.apache.felix.gogo.commands.Argument;
 import org.apache.felix.gogo.commands.Command;
+import org.apache.karaf.cellar.core.Group;
 
 import java.util.Map;
 import java.util.Properties;
@@ -34,6 +35,11 @@ public class ListCommand extends ConfigC
 
     @Override
     protected Object doExecute() throws Exception {
+        Group group = groupManager.findGroupByName(groupName);
+        if (group == null) {
+            System.err.println("Cluster group " + groupName + " doesn't exist.");
+            return null;
+        }
         ClassLoader originalClassLoader = Thread.currentThread().getContextClassLoader();
         try {
             Thread.currentThread().setContextClassLoader(getClass().getClassLoader());

Modified: karaf/cellar/branches/cellar-2.2.x/config/src/main/java/org/apache/karaf/cellar/config/shell/PropListCommand.java
URL: http://svn.apache.org/viewvc/karaf/cellar/branches/cellar-2.2.x/config/src/main/java/org/apache/karaf/cellar/config/shell/PropListCommand.java?rev=1330432&r1=1330431&r2=1330432&view=diff
==============================================================================
--- karaf/cellar/branches/cellar-2.2.x/config/src/main/java/org/apache/karaf/cellar/config/shell/PropListCommand.java (original)
+++ karaf/cellar/branches/cellar-2.2.x/config/src/main/java/org/apache/karaf/cellar/config/shell/PropListCommand.java Wed Apr 25 17:34:25 2012
@@ -39,10 +39,9 @@ public class PropListCommand extends Cel
 
     @Override
     protected Object doExecute() throws Exception {
-        // check if the group exist
         Group group = groupManager.findGroupByName(groupName);
         if (group == null) {
-            System.err.println("Cluster group " + groupName + " doesn't exist");
+            System.err.println("Cluster group " + groupName + " doesn't exist.");
             return null;
         }
         ClassLoader originalClassLoader = Thread.currentThread().getContextClassLoader();

Modified: karaf/cellar/branches/cellar-2.2.x/config/src/main/java/org/apache/karaf/cellar/config/shell/PropSetCommand.java
URL: http://svn.apache.org/viewvc/karaf/cellar/branches/cellar-2.2.x/config/src/main/java/org/apache/karaf/cellar/config/shell/PropSetCommand.java?rev=1330432&r1=1330431&r2=1330432&view=diff
==============================================================================
--- karaf/cellar/branches/cellar-2.2.x/config/src/main/java/org/apache/karaf/cellar/config/shell/PropSetCommand.java (original)
+++ karaf/cellar/branches/cellar-2.2.x/config/src/main/java/org/apache/karaf/cellar/config/shell/PropSetCommand.java Wed Apr 25 17:34:25 2012
@@ -42,16 +42,21 @@ public class PropSetCommand extends Conf
 
     @Override
     protected Object doExecute() throws Exception {
-        Map<String, Properties> configurationTable = clusterManager.getMap(Constants.CONFIGURATION_MAP + Configurations.SEPARATOR + groupName);
-        if (configurationTable != null) {
-            Properties properties = configurationTable.get(pid);
+        Group group = groupManager.findGroupByName(groupName);
+        if (group == null) {
+            System.err.println("Cluster group " + groupName + " doesn't exist.");
+            return null;
+        }
+        Map<String, Properties> configurationMap = clusterManager.getMap(Constants.CONFIGURATION_MAP + Configurations.SEPARATOR + groupName);
+        if (configurationMap != null) {
+            Properties properties = configurationMap.get(pid);
             if (properties == null) {
                 properties = new Properties();
             }
             properties.put(key, value);
-            configurationTable.put(pid, properties);
+            configurationMap.put(pid, properties);
         } else {
-            System.out.println("Group " + groupName + " doesn't exist");
+            System.out.println("Configuration distributed map not found for cluster group " + groupName);
         }
         return null;
     }

Modified: karaf/cellar/branches/cellar-2.2.x/config/src/main/resources/OSGI-INF/blueprint/shell-config.xml
URL: http://svn.apache.org/viewvc/karaf/cellar/branches/cellar-2.2.x/config/src/main/resources/OSGI-INF/blueprint/shell-config.xml?rev=1330432&r1=1330431&r2=1330432&view=diff
==============================================================================
--- karaf/cellar/branches/cellar-2.2.x/config/src/main/resources/OSGI-INF/blueprint/shell-config.xml (original)
+++ karaf/cellar/branches/cellar-2.2.x/config/src/main/resources/OSGI-INF/blueprint/shell-config.xml Wed Apr 25 17:34:25 2012
@@ -20,6 +20,7 @@
         <command name="cluster/config-list">
             <action class="org.apache.karaf.cellar.config.shell.ListCommand">
                 <property name="clusterManager" ref="clusterManager"/>
+                <property name="groupManager" ref="groupManager"/>
             </action>
             <completers>
                 <ref component-id="allGroupCompleter"/>

Modified: karaf/cellar/branches/cellar-2.2.x/features/src/main/java/org/apache/karaf/cellar/features/shell/InstallFeatureCommand.java
URL: http://svn.apache.org/viewvc/karaf/cellar/branches/cellar-2.2.x/features/src/main/java/org/apache/karaf/cellar/features/shell/InstallFeatureCommand.java?rev=1330432&r1=1330431&r2=1330432&view=diff
==============================================================================
--- karaf/cellar/branches/cellar-2.2.x/features/src/main/java/org/apache/karaf/cellar/features/shell/InstallFeatureCommand.java (original)
+++ karaf/cellar/branches/cellar-2.2.x/features/src/main/java/org/apache/karaf/cellar/features/shell/InstallFeatureCommand.java Wed Apr 25 17:34:25 2012
@@ -35,6 +35,10 @@ public class InstallFeatureCommand exten
     @Override
     protected Object doExecute() throws Exception {
         Group group = groupManager.findGroupByName(groupName);
+        if (group == null) {
+            System.err.println("Cluster group " + groupName + " doesn't exist.");
+            return null;
+        }
         EventProducer producer = eventTransportFactory.getEventProducer(groupName, true);
         RemoteFeaturesEvent event = new RemoteFeaturesEvent(feature, version, FeatureEvent.EventType.FeatureInstalled);
         event.setForce(true);

Modified: karaf/cellar/branches/cellar-2.2.x/features/src/main/java/org/apache/karaf/cellar/features/shell/ListGroupFeatures.java
URL: http://svn.apache.org/viewvc/karaf/cellar/branches/cellar-2.2.x/features/src/main/java/org/apache/karaf/cellar/features/shell/ListGroupFeatures.java?rev=1330432&r1=1330431&r2=1330432&view=diff
==============================================================================
--- karaf/cellar/branches/cellar-2.2.x/features/src/main/java/org/apache/karaf/cellar/features/shell/ListGroupFeatures.java (original)
+++ karaf/cellar/branches/cellar-2.2.x/features/src/main/java/org/apache/karaf/cellar/features/shell/ListGroupFeatures.java Wed Apr 25 17:34:25 2012
@@ -14,6 +14,7 @@
 package org.apache.karaf.cellar.features.shell;
 
 import org.apache.karaf.cellar.core.Configurations;
+import org.apache.karaf.cellar.core.Group;
 import org.apache.karaf.cellar.features.Constants;
 import org.apache.karaf.cellar.features.FeatureInfo;
 import org.apache.felix.gogo.commands.Argument;
@@ -31,6 +32,11 @@ public class ListGroupFeatures extends F
 
     @Override
     protected Object doExecute() throws Exception {
+        Group group = groupManager.findGroupByName(groupName);
+        if (group == null) {
+            System.err.println("Cluster group " + groupName + " doesn't exist.");
+            return null;
+        }
         ClassLoader originalClassLoader = Thread.currentThread().getContextClassLoader();
         try {
             Thread.currentThread().setContextClassLoader(getClass().getClassLoader());
@@ -47,7 +53,7 @@ public class ListGroupFeatures extends F
                         version = "";
                     System.out.println(String.format(OUTPUT_FORMAT, name, version, status));
                 }
-            } else System.err.print("No features found for group: " + groupName);
+            } else System.err.print("No features found for cluster group " + groupName);
         } finally {
             Thread.currentThread().setContextClassLoader(originalClassLoader);
         }

Modified: karaf/cellar/branches/cellar-2.2.x/features/src/main/java/org/apache/karaf/cellar/features/shell/UninstallFeatureCommand.java
URL: http://svn.apache.org/viewvc/karaf/cellar/branches/cellar-2.2.x/features/src/main/java/org/apache/karaf/cellar/features/shell/UninstallFeatureCommand.java?rev=1330432&r1=1330431&r2=1330432&view=diff
==============================================================================
--- karaf/cellar/branches/cellar-2.2.x/features/src/main/java/org/apache/karaf/cellar/features/shell/UninstallFeatureCommand.java (original)
+++ karaf/cellar/branches/cellar-2.2.x/features/src/main/java/org/apache/karaf/cellar/features/shell/UninstallFeatureCommand.java Wed Apr 25 17:34:25 2012
@@ -35,6 +35,10 @@ public class UninstallFeatureCommand ext
     @Override
     protected Object doExecute() throws Exception {
         Group group = groupManager.findGroupByName(groupName);
+        if (group == null) {
+            System.err.println("Cluster group " + groupName + " doesn't exist.");
+            return null;
+        }
         EventProducer producer = eventTransportFactory.getEventProducer(groupName, true);
         RemoteFeaturesEvent event = new RemoteFeaturesEvent(feature, version, FeatureEvent.EventType.FeatureUninstalled);
         event.setForce(true);

Modified: karaf/cellar/branches/cellar-2.2.x/features/src/main/resources/OSGI-INF/blueprint/shell-features.xml
URL: http://svn.apache.org/viewvc/karaf/cellar/branches/cellar-2.2.x/features/src/main/resources/OSGI-INF/blueprint/shell-features.xml?rev=1330432&r1=1330431&r2=1330432&view=diff
==============================================================================
--- karaf/cellar/branches/cellar-2.2.x/features/src/main/resources/OSGI-INF/blueprint/shell-features.xml (original)
+++ karaf/cellar/branches/cellar-2.2.x/features/src/main/resources/OSGI-INF/blueprint/shell-features.xml Wed Apr 25 17:34:25 2012
@@ -43,6 +43,7 @@
         <command name="cluster/feature-list">
             <action class="org.apache.karaf.cellar.features.shell.ListGroupFeatures">
                 <property name="clusterManager" ref="clusterManager"/>
+                <property name="groupManager" ref="groupManager"/>
                 <property name="featuresService" ref="featuresService"/>
             </action>
             <completers>

Modified: karaf/cellar/branches/cellar-2.2.x/obr/src/main/java/org/apache/karaf/cellar/obr/shell/ObrAddUrlCommand.java
URL: http://svn.apache.org/viewvc/karaf/cellar/branches/cellar-2.2.x/obr/src/main/java/org/apache/karaf/cellar/obr/shell/ObrAddUrlCommand.java?rev=1330432&r1=1330431&r2=1330432&view=diff
==============================================================================
--- karaf/cellar/branches/cellar-2.2.x/obr/src/main/java/org/apache/karaf/cellar/obr/shell/ObrAddUrlCommand.java (original)
+++ karaf/cellar/branches/cellar-2.2.x/obr/src/main/java/org/apache/karaf/cellar/obr/shell/ObrAddUrlCommand.java Wed Apr 25 17:34:25 2012
@@ -38,6 +38,10 @@ public class ObrAddUrlCommand extends Ob
     public Object doExecute() throws Exception {
         // find group for the given name
         Group group = groupManager.findGroupByName(groupName);
+        if (group == null) {
+            System.err.println("Cluster group " + groupName + " doesn't exist.");
+            return null;
+        }
         // create an event and produce it
         EventProducer producer = eventTransportFactory.getEventProducer(groupName, true);
         ObrUrlEvent event = new ObrUrlEvent(url, Constants.URL_ADD_EVENT_TYPE);

Modified: karaf/cellar/branches/cellar-2.2.x/obr/src/main/java/org/apache/karaf/cellar/obr/shell/ObrDeployCommand.java
URL: http://svn.apache.org/viewvc/karaf/cellar/branches/cellar-2.2.x/obr/src/main/java/org/apache/karaf/cellar/obr/shell/ObrDeployCommand.java?rev=1330432&r1=1330431&r2=1330432&view=diff
==============================================================================
--- karaf/cellar/branches/cellar-2.2.x/obr/src/main/java/org/apache/karaf/cellar/obr/shell/ObrDeployCommand.java (original)
+++ karaf/cellar/branches/cellar-2.2.x/obr/src/main/java/org/apache/karaf/cellar/obr/shell/ObrDeployCommand.java Wed Apr 25 17:34:25 2012
@@ -42,6 +42,10 @@ public class ObrDeployCommand extends Ce
     protected Object doExecute() throws Exception {
         // find the group for the given name
         Group group = groupManager.findGroupByName(groupName);
+        if (group == null) {
+            System.err.println("Cluster group " + groupName + " doesn't exist.");
+            return null;
+        }
         // create an event and produce it
         EventProducer producer = eventTransportFactory.getEventProducer(groupName, true);
         int type = 0;

Modified: karaf/cellar/branches/cellar-2.2.x/obr/src/main/java/org/apache/karaf/cellar/obr/shell/ObrListCommand.java
URL: http://svn.apache.org/viewvc/karaf/cellar/branches/cellar-2.2.x/obr/src/main/java/org/apache/karaf/cellar/obr/shell/ObrListCommand.java?rev=1330432&r1=1330431&r2=1330432&view=diff
==============================================================================
--- karaf/cellar/branches/cellar-2.2.x/obr/src/main/java/org/apache/karaf/cellar/obr/shell/ObrListCommand.java (original)
+++ karaf/cellar/branches/cellar-2.2.x/obr/src/main/java/org/apache/karaf/cellar/obr/shell/ObrListCommand.java Wed Apr 25 17:34:25 2012
@@ -16,6 +16,7 @@ package org.apache.karaf.cellar.obr.shel
 import org.apache.felix.gogo.commands.Argument;
 import org.apache.felix.gogo.commands.Command;
 import org.apache.karaf.cellar.core.Configurations;
+import org.apache.karaf.cellar.core.Group;
 import org.apache.karaf.cellar.core.shell.CellarCommandSupport;
 import org.apache.karaf.cellar.obr.Constants;
 import org.apache.karaf.cellar.obr.ObrBundleInfo;
@@ -32,8 +33,12 @@ public class ObrListCommand extends Cell
     String groupName;
 
     public Object doExecute() {
+        Group group = groupManager.findGroupByName(groupName);
+        if (group == null) {
+            System.err.println("Cluster group " + groupName + " doesn't exist.");
+            return null;
+        }
         ClassLoader originalClassLoader = Thread.currentThread().getContextClassLoader();
-
         try {
             Thread.currentThread().setContextClassLoader(getClass().getClassLoader());
 

Modified: karaf/cellar/branches/cellar-2.2.x/obr/src/main/java/org/apache/karaf/cellar/obr/shell/ObrListUrlCommand.java
URL: http://svn.apache.org/viewvc/karaf/cellar/branches/cellar-2.2.x/obr/src/main/java/org/apache/karaf/cellar/obr/shell/ObrListUrlCommand.java?rev=1330432&r1=1330431&r2=1330432&view=diff
==============================================================================
--- karaf/cellar/branches/cellar-2.2.x/obr/src/main/java/org/apache/karaf/cellar/obr/shell/ObrListUrlCommand.java (original)
+++ karaf/cellar/branches/cellar-2.2.x/obr/src/main/java/org/apache/karaf/cellar/obr/shell/ObrListUrlCommand.java Wed Apr 25 17:34:25 2012
@@ -16,8 +16,10 @@ package org.apache.karaf.cellar.obr.shel
 import org.apache.felix.gogo.commands.Argument;
 import org.apache.felix.gogo.commands.Command;
 import org.apache.karaf.cellar.core.Configurations;
+import org.apache.karaf.cellar.core.Group;
 import org.apache.karaf.cellar.core.shell.CellarCommandSupport;
 import org.apache.karaf.cellar.obr.Constants;
+import org.apache.karaf.jaas.modules.GroupPrincipal;
 
 import java.util.Set;
 
@@ -31,6 +33,11 @@ public class ObrListUrlCommand extends C
     String groupName;
 
     public Object doExecute() throws Exception {
+        Group group = groupManager.findGroupByName(groupName);
+        if (group == null) {
+            System.err.println("Cluster group " + groupName + " doesn't exist.");
+            return null;
+        }
         // get the URLs from the distribution set
         Set<String> urls = clusterManager.getSet(Constants.URLS_DISTRIBUTED_SET_NAME + Configurations.SEPARATOR + groupName);
         if (urls != null) {

Modified: karaf/cellar/branches/cellar-2.2.x/obr/src/main/java/org/apache/karaf/cellar/obr/shell/ObrRemoveUrlCommand.java
URL: http://svn.apache.org/viewvc/karaf/cellar/branches/cellar-2.2.x/obr/src/main/java/org/apache/karaf/cellar/obr/shell/ObrRemoveUrlCommand.java?rev=1330432&r1=1330431&r2=1330432&view=diff
==============================================================================
--- karaf/cellar/branches/cellar-2.2.x/obr/src/main/java/org/apache/karaf/cellar/obr/shell/ObrRemoveUrlCommand.java (original)
+++ karaf/cellar/branches/cellar-2.2.x/obr/src/main/java/org/apache/karaf/cellar/obr/shell/ObrRemoveUrlCommand.java Wed Apr 25 17:34:25 2012
@@ -38,6 +38,10 @@ public class ObrRemoveUrlCommand extends
     public Object doExecute() throws Exception {
         // find the group for the given name
         Group group = groupManager.findGroupByName(groupName);
+        if (group == null) {
+            System.err.println("Cluster group " + groupName + " doesn't exist.");
+            return null;
+        }
         // create an event and produce it
         EventProducer producer = eventTransportFactory.getEventProducer(groupName, true);
         ObrUrlEvent event = new ObrUrlEvent(url, Constants.URL_REMOVE_EVENT_TYPE);

Modified: karaf/cellar/branches/cellar-2.2.x/shell/src/main/java/org/apache/karaf/cellar/shell/group/GroupDeleteCommand.java
URL: http://svn.apache.org/viewvc/karaf/cellar/branches/cellar-2.2.x/shell/src/main/java/org/apache/karaf/cellar/shell/group/GroupDeleteCommand.java?rev=1330432&r1=1330431&r2=1330432&view=diff
==============================================================================
--- karaf/cellar/branches/cellar-2.2.x/shell/src/main/java/org/apache/karaf/cellar/shell/group/GroupDeleteCommand.java (original)
+++ karaf/cellar/branches/cellar-2.2.x/shell/src/main/java/org/apache/karaf/cellar/shell/group/GroupDeleteCommand.java Wed Apr 25 17:34:25 2012
@@ -25,29 +25,33 @@ import java.util.List;
 @Command(scope = "cluster", name = "group-delete", description = "Delete a cluster group.")
 public class GroupDeleteCommand extends GroupSupport {
 
-    @Argument(index = 0, name = "group", description = "The cluster group name.", required = false, multiValued = false)
-    String group;
+    @Argument(index = 0, name = "group", description = "The cluster group name.", required = true, multiValued = false)
+    String groupName;
 
     @Override
     protected Object doExecute() throws Exception {
+        Group group = groupManager.findGroupByName(groupName);
+        if (group == null) {
+            System.err.println("Cluster group " + groupName + " doesn't exist.");
+            return null;
+        }
         ClassLoader originalClassLoader = Thread.currentThread().getContextClassLoader();
         try {
             Thread.currentThread().setContextClassLoader(getClass().getClassLoader());
-            Group g = groupManager.findGroupByName(group);
-            if (g == null) {
-                System.out.println("Group " + group + " doesn't exist");
+            if (group == null) {
+                System.out.println("Group " + groupName + " doesn't exist");
                 return null;
             }
             List<String> nodes = new LinkedList<String>();
 
-            if (g.getNodes() != null && !g.getNodes().isEmpty()) {
-                for (Node n : g.getNodes()) {
+            if (group.getNodes() != null && !group.getNodes().isEmpty()) {
+                for (Node n : group.getNodes()) {
                     nodes.add(n.getId());
                 }
-                doExecute(ManageGroupAction.QUIT, group, null, nodes);
+                doExecute(ManageGroupAction.QUIT, groupName, null, nodes);
             }
 
-            groupManager.deleteGroup(group);
+            groupManager.deleteGroup(groupName);
         } finally {
             Thread.currentThread().setContextClassLoader(originalClassLoader);
         }

Modified: karaf/cellar/branches/cellar-2.2.x/shell/src/main/java/org/apache/karaf/cellar/shell/group/GroupJoinCommand.java
URL: http://svn.apache.org/viewvc/karaf/cellar/branches/cellar-2.2.x/shell/src/main/java/org/apache/karaf/cellar/shell/group/GroupJoinCommand.java?rev=1330432&r1=1330431&r2=1330432&view=diff
==============================================================================
--- karaf/cellar/branches/cellar-2.2.x/shell/src/main/java/org/apache/karaf/cellar/shell/group/GroupJoinCommand.java (original)
+++ karaf/cellar/branches/cellar-2.2.x/shell/src/main/java/org/apache/karaf/cellar/shell/group/GroupJoinCommand.java Wed Apr 25 17:34:25 2012
@@ -13,6 +13,7 @@
  */
 package org.apache.karaf.cellar.shell.group;
 
+import org.apache.karaf.cellar.core.Group;
 import org.apache.karaf.cellar.core.control.ManageGroupAction;
 import org.apache.felix.gogo.commands.Argument;
 import org.apache.felix.gogo.commands.Command;
@@ -22,15 +23,20 @@ import java.util.List;
 @Command(scope = "cluster", name = "group-join", description = "Join a cluster group.")
 public class GroupJoinCommand extends GroupSupport {
 
-    @Argument(index = 0, name = "group", description = "The cluster group name.", required = false, multiValued = false)
-    String group;
+    @Argument(index = 0, name = "group", description = "The cluster group name.", required = true, multiValued = false)
+    String groupName;
 
     @Argument(index = 1, name = "node", description = "The node(s) ID.", required = false, multiValued = true)
     List<String> nodes;
 
     @Override
     protected Object doExecute() throws Exception {
-        return doExecute(ManageGroupAction.JOIN, group, null, nodes,false);
+        Group group = groupManager.findGroupByName(groupName);
+        if (group == null) {
+            System.err.println("Cluster group " + groupName + " doesn't exist.");
+            return null;
+        }
+        return doExecute(ManageGroupAction.JOIN, groupName, null, nodes,false);
     }
 
 }

Modified: karaf/cellar/branches/cellar-2.2.x/shell/src/main/java/org/apache/karaf/cellar/shell/group/GroupPickCommand.java
URL: http://svn.apache.org/viewvc/karaf/cellar/branches/cellar-2.2.x/shell/src/main/java/org/apache/karaf/cellar/shell/group/GroupPickCommand.java?rev=1330432&r1=1330431&r2=1330432&view=diff
==============================================================================
--- karaf/cellar/branches/cellar-2.2.x/shell/src/main/java/org/apache/karaf/cellar/shell/group/GroupPickCommand.java (original)
+++ karaf/cellar/branches/cellar-2.2.x/shell/src/main/java/org/apache/karaf/cellar/shell/group/GroupPickCommand.java Wed Apr 25 17:34:25 2012
@@ -39,22 +39,30 @@ public class GroupPickCommand extends Gr
     @Override
     protected Object doExecute() throws Exception {
         Group sourceGroup = groupManager.findGroupByName(sourceGroupName);
-        if (sourceGroup != null) {
-            Set<Node> groupMembers = sourceGroup.getNodes();
+        if (sourceGroup == null) {
+            System.err.println("Source cluster group " + sourceGroupName + " doesn't exist.");
+            return null;
+        }
+        Group targetGroup = groupManager.findGroupByName(targetGroupName);
+        if (targetGroup == null) {
+            System.err.println("Target cluster group " + targetGroupName + " doesn't exist.");
+            return null;
+        }
 
-            int i = 0;
-            for (Node node : groupMembers) {
-                if (i >= count)
-                    break;
-                List<String> recipient = new LinkedList<String>();
-                recipient.add(node.getId());
-                doExecute(ManageGroupAction.SET, targetGroupName, sourceGroup, recipient);
-                i++;
-            }
+        Set<Node> groupMembers = sourceGroup.getNodes();
 
-            doExecute(ManageGroupAction.LIST, null, null, new ArrayList(), false);
+        int i = 0;
+        for (Node node : groupMembers) {
+            if (i >= count)
+                break;
+            List<String> recipient = new LinkedList<String>();
+            recipient.add(node.getId());
+            doExecute(ManageGroupAction.SET, targetGroupName, sourceGroup, recipient);
+            i++;
+        }
+
+        doExecute(ManageGroupAction.LIST, null, null, new ArrayList(), false);
 
-        } else System.err.println("Cannot find source group with name: " + sourceGroupName);
         return null;
     }
 

Modified: karaf/cellar/branches/cellar-2.2.x/shell/src/main/java/org/apache/karaf/cellar/shell/group/GroupQuitCommand.java
URL: http://svn.apache.org/viewvc/karaf/cellar/branches/cellar-2.2.x/shell/src/main/java/org/apache/karaf/cellar/shell/group/GroupQuitCommand.java?rev=1330432&r1=1330431&r2=1330432&view=diff
==============================================================================
--- karaf/cellar/branches/cellar-2.2.x/shell/src/main/java/org/apache/karaf/cellar/shell/group/GroupQuitCommand.java (original)
+++ karaf/cellar/branches/cellar-2.2.x/shell/src/main/java/org/apache/karaf/cellar/shell/group/GroupQuitCommand.java Wed Apr 25 17:34:25 2012
@@ -13,6 +13,7 @@
  */
 package org.apache.karaf.cellar.shell.group;
 
+import org.apache.karaf.cellar.core.Group;
 import org.apache.karaf.cellar.core.control.ManageGroupAction;
 import org.apache.felix.gogo.commands.Argument;
 import org.apache.felix.gogo.commands.Command;
@@ -23,14 +24,19 @@ import java.util.List;
 public class GroupQuitCommand extends GroupSupport {
 
     @Argument(index = 0, name = "group", description = "The cluster group name.", required = true, multiValued = false)
-    String group;
+    String groupName;
 
     @Argument(index = 1, name = "node", description = "The node(s) ID.", required = false, multiValued = true)
     List<String> nodes;
 
     @Override
     protected Object doExecute() throws Exception {
-        return doExecute(ManageGroupAction.QUIT, group, null, nodes, false);
+        Group group = groupManager.findGroupByName(groupName);
+        if (group == null) {
+            System.err.println("Cluster group " + groupName + " doesn't exist.");
+            return null;
+        }
+        return doExecute(ManageGroupAction.QUIT, groupName, null, nodes, false);
     }
 
 }

Modified: karaf/cellar/branches/cellar-2.2.x/shell/src/main/java/org/apache/karaf/cellar/shell/group/GroupSetCommand.java
URL: http://svn.apache.org/viewvc/karaf/cellar/branches/cellar-2.2.x/shell/src/main/java/org/apache/karaf/cellar/shell/group/GroupSetCommand.java?rev=1330432&r1=1330431&r2=1330432&view=diff
==============================================================================
--- karaf/cellar/branches/cellar-2.2.x/shell/src/main/java/org/apache/karaf/cellar/shell/group/GroupSetCommand.java (original)
+++ karaf/cellar/branches/cellar-2.2.x/shell/src/main/java/org/apache/karaf/cellar/shell/group/GroupSetCommand.java Wed Apr 25 17:34:25 2012
@@ -13,6 +13,7 @@
  */
 package org.apache.karaf.cellar.shell.group;
 
+import org.apache.karaf.cellar.core.Group;
 import org.apache.karaf.cellar.core.control.ManageGroupAction;
 import org.apache.felix.gogo.commands.Argument;
 import org.apache.felix.gogo.commands.Command;
@@ -22,15 +23,20 @@ import java.util.List;
 @Command(scope = "cluster", name = "group-set", description = "Set the target nodes for a specific cluster group.")
 public class GroupSetCommand extends GroupSupport {
 
-    @Argument(index = 0, name = "group", description = "The cluster group name.", required = false, multiValued = false)
-    String group;
+    @Argument(index = 0, name = "group", description = "The cluster group name.", required = true, multiValued = false)
+    String groupName;
 
     @Argument(index = 1, name = "node", description = "The node(s) ID.", required = false, multiValued = true)
     List<String> nodes;
 
     @Override
     protected Object doExecute() throws Exception {
-        return doExecute(ManageGroupAction.SET, group, null, nodes,false);
+        Group group = groupManager.findGroupByName(groupName);
+        if (group == null) {
+            System.err.println("Cluster group " + groupName + " doesn't exist.");
+            return null;
+        }
+        return doExecute(ManageGroupAction.SET, groupName, null, nodes,false);
     }
 
 }