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();