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/05/04 09:44:04 UTC

svn commit: r1333792 - in /karaf/cellar/branches/cellar-2.2.x/shell/src/main/java/org/apache/karaf/cellar/shell: consumer/ConsumerSupport.java handler/HandlersSupport.java

Author: jbonofre
Date: Fri May  4 07:44:04 2012
New Revision: 1333792

URL: http://svn.apache.org/viewvc?rev=1333792&view=rev
Log:
[KARAF-1316] Check if nodes exists in the cluster:handler-* commands

Modified:
    karaf/cellar/branches/cellar-2.2.x/shell/src/main/java/org/apache/karaf/cellar/shell/consumer/ConsumerSupport.java
    karaf/cellar/branches/cellar-2.2.x/shell/src/main/java/org/apache/karaf/cellar/shell/handler/HandlersSupport.java

Modified: karaf/cellar/branches/cellar-2.2.x/shell/src/main/java/org/apache/karaf/cellar/shell/consumer/ConsumerSupport.java
URL: http://svn.apache.org/viewvc/karaf/cellar/branches/cellar-2.2.x/shell/src/main/java/org/apache/karaf/cellar/shell/consumer/ConsumerSupport.java?rev=1333792&r1=1333791&r2=1333792&view=diff
==============================================================================
--- karaf/cellar/branches/cellar-2.2.x/shell/src/main/java/org/apache/karaf/cellar/shell/consumer/ConsumerSupport.java (original)
+++ karaf/cellar/branches/cellar-2.2.x/shell/src/main/java/org/apache/karaf/cellar/shell/consumer/ConsumerSupport.java Fri May  4 07:44:04 2012
@@ -53,7 +53,6 @@ public abstract class ConsumerSupport ex
             return null;
         }
 
-
         command.setDestination(recipientList);
         command.setStatus(status);
 

Modified: karaf/cellar/branches/cellar-2.2.x/shell/src/main/java/org/apache/karaf/cellar/shell/handler/HandlersSupport.java
URL: http://svn.apache.org/viewvc/karaf/cellar/branches/cellar-2.2.x/shell/src/main/java/org/apache/karaf/cellar/shell/handler/HandlersSupport.java?rev=1333792&r1=1333791&r2=1333792&view=diff
==============================================================================
--- karaf/cellar/branches/cellar-2.2.x/shell/src/main/java/org/apache/karaf/cellar/shell/handler/HandlersSupport.java (original)
+++ karaf/cellar/branches/cellar-2.2.x/shell/src/main/java/org/apache/karaf/cellar/shell/handler/HandlersSupport.java Fri May  4 07:44:04 2012
@@ -18,28 +18,38 @@ import org.apache.karaf.cellar.core.cont
 import org.apache.karaf.cellar.core.control.ManageHandlersResult;
 import org.apache.karaf.cellar.shell.ClusterCommandSupport;
 
+import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
 public abstract class HandlersSupport extends ClusterCommandSupport {
 
-    protected static final String OUTPUT_FORMAT = "%-20s %-7s %s";
+    protected static final String HEADER_FORMAT = " %-30s   %-5s   %-40s";
+    protected static final String OUTPUT_FORMAT = "[%-30s] [%-5s] [%-40s]";
+
+    protected Object doExecute(String handlerName, List<String> nodeIds, Boolean status) throws Exception {
 
-    /**
-     * Executes the command.
-     *
-     * @return
-     * @throws Exception
-     */
-    protected Object doExecute(String handlerName, List<String> nodes, Boolean status) throws Exception {
         ManageHandlersCommand command = new ManageHandlersCommand(clusterManager.generateId());
 
+        // looking for nodes and check if exist
         Set<Node> recipientList;
-        if (nodes == null || nodes.isEmpty()) {
-            recipientList = clusterManager.listNodes();
+        if (nodeIds != null && !nodeIds.isEmpty()) {
+            recipientList = new HashSet<Node>();
+            for (String nodeId : nodeIds) {
+                Node node = clusterManager.findNodeById(nodeId);
+                if (node == null) {
+                    System.err.println("Cluster node " + nodeId + " doesn't exist");
+                } else {
+                    recipientList.add(node);
+                }
+            }
         } else {
-            recipientList = clusterManager.listNodes(nodes);
+            recipientList = clusterManager.listNodes();
+        }
+
+        if (recipientList.size() < 1) {
+            return null;
         }
 
         command.setDestination(recipientList);
@@ -50,7 +60,7 @@ public abstract class HandlersSupport ex
         if (results == null || results.isEmpty()) {
             System.out.println("No result received within given timeout");
         } else {
-            System.out.println(String.format(OUTPUT_FORMAT, "Node", "Status", "Event Handler"));
+            System.out.println(String.format(HEADER_FORMAT, "Node", "Status", "Event Handler"));
             for (Map.Entry<Node,ManageHandlersResult> handlersResultEntry : results.entrySet()) {
                 Node node = handlersResultEntry.getKey();
                 ManageHandlersResult result = handlersResultEntry.getValue();