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/19 14:37:33 UTC

svn commit: r1327927 - in /karaf/cellar/trunk: core/src/main/java/org/apache/karaf/cellar/core/control/ shell/src/main/java/org/apache/karaf/cellar/shell/group/

Author: jbonofre
Date: Thu Apr 19 12:37:32 2012
New Revision: 1327927

URL: http://svn.apache.org/viewvc?rev=1327927&view=rev
Log:
[KARAF-1308] Refactoring of the group-pick command

Modified:
    karaf/cellar/trunk/core/src/main/java/org/apache/karaf/cellar/core/control/ManageGroupCommand.java
    karaf/cellar/trunk/core/src/main/java/org/apache/karaf/cellar/core/control/ManageGroupCommandHandler.java
    karaf/cellar/trunk/shell/src/main/java/org/apache/karaf/cellar/shell/group/GroupDeleteCommand.java
    karaf/cellar/trunk/shell/src/main/java/org/apache/karaf/cellar/shell/group/GroupJoinCommand.java
    karaf/cellar/trunk/shell/src/main/java/org/apache/karaf/cellar/shell/group/GroupListCommand.java
    karaf/cellar/trunk/shell/src/main/java/org/apache/karaf/cellar/shell/group/GroupPickCommand.java
    karaf/cellar/trunk/shell/src/main/java/org/apache/karaf/cellar/shell/group/GroupQuitCommand.java
    karaf/cellar/trunk/shell/src/main/java/org/apache/karaf/cellar/shell/group/GroupSetCommand.java
    karaf/cellar/trunk/shell/src/main/java/org/apache/karaf/cellar/shell/group/GroupSupport.java

Modified: karaf/cellar/trunk/core/src/main/java/org/apache/karaf/cellar/core/control/ManageGroupCommand.java
URL: http://svn.apache.org/viewvc/karaf/cellar/trunk/core/src/main/java/org/apache/karaf/cellar/core/control/ManageGroupCommand.java?rev=1327927&r1=1327926&r2=1327927&view=diff
==============================================================================
--- karaf/cellar/trunk/core/src/main/java/org/apache/karaf/cellar/core/control/ManageGroupCommand.java (original)
+++ karaf/cellar/trunk/core/src/main/java/org/apache/karaf/cellar/core/control/ManageGroupCommand.java Thu Apr 19 12:37:32 2012
@@ -23,7 +23,6 @@ public class ManageGroupCommand extends 
     private ManageGroupAction action;
     private String groupName;
 
-
     public ManageGroupCommand(String id) {
         super(id);
     }

Modified: karaf/cellar/trunk/core/src/main/java/org/apache/karaf/cellar/core/control/ManageGroupCommandHandler.java
URL: http://svn.apache.org/viewvc/karaf/cellar/trunk/core/src/main/java/org/apache/karaf/cellar/core/control/ManageGroupCommandHandler.java?rev=1327927&r1=1327926&r2=1327927&view=diff
==============================================================================
--- karaf/cellar/trunk/core/src/main/java/org/apache/karaf/cellar/core/control/ManageGroupCommandHandler.java (original)
+++ karaf/cellar/trunk/core/src/main/java/org/apache/karaf/cellar/core/control/ManageGroupCommandHandler.java Thu Apr 19 12:37:32 2012
@@ -29,7 +29,6 @@ public class ManageGroupCommandHandler e
     public static final String SWITCH_ID = "org.apache.karaf.cellar.command.managegroup.switch";
     private final Switch commandSwitch = new BasicSwitch(SWITCH_ID);
 
-
     @Override
     public ManageGroupResult execute(ManageGroupCommand command) {
 
@@ -50,7 +49,7 @@ public class ManageGroupCommandHandler e
             purgeGroups();
             joinGroup(Configurations.DEFAULT_GROUP_NAME);
         } else if (ManageGroupAction.SET.equals(action)) {
-            purgeGroups();
+            quitGroup(command.getSourceGroup().getName());
             joinGroup(targetGroupName);
         }
 

Modified: karaf/cellar/trunk/shell/src/main/java/org/apache/karaf/cellar/shell/group/GroupDeleteCommand.java
URL: http://svn.apache.org/viewvc/karaf/cellar/trunk/shell/src/main/java/org/apache/karaf/cellar/shell/group/GroupDeleteCommand.java?rev=1327927&r1=1327926&r2=1327927&view=diff
==============================================================================
--- karaf/cellar/trunk/shell/src/main/java/org/apache/karaf/cellar/shell/group/GroupDeleteCommand.java (original)
+++ karaf/cellar/trunk/shell/src/main/java/org/apache/karaf/cellar/shell/group/GroupDeleteCommand.java Thu Apr 19 12:37:32 2012
@@ -44,7 +44,7 @@ public class GroupDeleteCommand extends 
                 for (Node n : g.getNodes()) {
                     nodes.add(n.getId());
                 }
-                doExecute(ManageGroupAction.QUIT, group, nodes);
+                doExecute(ManageGroupAction.QUIT, group, null, nodes);
             }
 
             groupManager.deleteGroup(group);

Modified: karaf/cellar/trunk/shell/src/main/java/org/apache/karaf/cellar/shell/group/GroupJoinCommand.java
URL: http://svn.apache.org/viewvc/karaf/cellar/trunk/shell/src/main/java/org/apache/karaf/cellar/shell/group/GroupJoinCommand.java?rev=1327927&r1=1327926&r2=1327927&view=diff
==============================================================================
--- karaf/cellar/trunk/shell/src/main/java/org/apache/karaf/cellar/shell/group/GroupJoinCommand.java (original)
+++ karaf/cellar/trunk/shell/src/main/java/org/apache/karaf/cellar/shell/group/GroupJoinCommand.java Thu Apr 19 12:37:32 2012
@@ -30,7 +30,7 @@ public class GroupJoinCommand extends Gr
 
     @Override
     protected Object doExecute() throws Exception {
-        return doExecute(ManageGroupAction.JOIN, group, nodes,false);
+        return doExecute(ManageGroupAction.JOIN, group, null, nodes,false);
     }
 
 }

Modified: karaf/cellar/trunk/shell/src/main/java/org/apache/karaf/cellar/shell/group/GroupListCommand.java
URL: http://svn.apache.org/viewvc/karaf/cellar/trunk/shell/src/main/java/org/apache/karaf/cellar/shell/group/GroupListCommand.java?rev=1327927&r1=1327926&r2=1327927&view=diff
==============================================================================
--- karaf/cellar/trunk/shell/src/main/java/org/apache/karaf/cellar/shell/group/GroupListCommand.java (original)
+++ karaf/cellar/trunk/shell/src/main/java/org/apache/karaf/cellar/shell/group/GroupListCommand.java Thu Apr 19 12:37:32 2012
@@ -27,7 +27,7 @@ public class GroupListCommand extends Gr
 
     @Override
     protected Object doExecute() throws Exception {
-        return doExecute(ManageGroupAction.LIST, null, nodes,false);
+        return doExecute(ManageGroupAction.LIST, null, null, nodes,false);
     }
 
 }

Modified: karaf/cellar/trunk/shell/src/main/java/org/apache/karaf/cellar/shell/group/GroupPickCommand.java
URL: http://svn.apache.org/viewvc/karaf/cellar/trunk/shell/src/main/java/org/apache/karaf/cellar/shell/group/GroupPickCommand.java?rev=1327927&r1=1327926&r2=1327927&view=diff
==============================================================================
--- karaf/cellar/trunk/shell/src/main/java/org/apache/karaf/cellar/shell/group/GroupPickCommand.java (original)
+++ karaf/cellar/trunk/shell/src/main/java/org/apache/karaf/cellar/shell/group/GroupPickCommand.java Thu Apr 19 12:37:32 2012
@@ -40,31 +40,15 @@ public class GroupPickCommand extends Gr
     protected Object doExecute() throws Exception {
         Group sourceGroup = groupManager.findGroupByName(sourceGroupName);
         if (sourceGroup != null) {
-            List<String> eligibleMembers = new LinkedList<String>();
             Set<Node> groupMembers = sourceGroup.getNodes();
 
             for (Node node : groupMembers) {
-                Set<Group> nodeGroups = groupManager.listGroups(node);
-                //If the node only belongs to the source group then it is eligible.
-                if (nodeGroups != null && nodeGroups.size() == 1) {
-                    eligibleMembers.add(node.getId());
-                }
+                List<String> recipients = new LinkedList<String>();
+                recipients.add(node.getId());
+                doExecute(ManageGroupAction.SET, targetGroupName, sourceGroup, recipients);
             }
 
-            if (eligibleMembers.size() == 0) {
-                System.out.println("Could not find eligible members from transfer in group:" + sourceGroupName);
-            } else if (eligibleMembers.size() < count) {
-                System.out.println("There are fewer(" + eligibleMembers.size() + ") eligible members for transfer in group:" + sourceGroupName);
-            }
-
-            //TODO: The loop should not be necessary since the method already accepts a list. However this is breaks for some reason.
-            for (String eligible : eligibleMembers) {
-                List<String> recipient = new LinkedList<String>();
-                recipient.add(eligible);
-                doExecute(ManageGroupAction.SET, targetGroupName, recipient);
-            }
-
-            doExecute(ManageGroupAction.LIST, null, new ArrayList(), false);
+            doExecute(ManageGroupAction.LIST, null, null, new ArrayList(), false);
 
         } else System.err.println("Cannot find source group with name: " + sourceGroupName);
         return null;

Modified: karaf/cellar/trunk/shell/src/main/java/org/apache/karaf/cellar/shell/group/GroupQuitCommand.java
URL: http://svn.apache.org/viewvc/karaf/cellar/trunk/shell/src/main/java/org/apache/karaf/cellar/shell/group/GroupQuitCommand.java?rev=1327927&r1=1327926&r2=1327927&view=diff
==============================================================================
--- karaf/cellar/trunk/shell/src/main/java/org/apache/karaf/cellar/shell/group/GroupQuitCommand.java (original)
+++ karaf/cellar/trunk/shell/src/main/java/org/apache/karaf/cellar/shell/group/GroupQuitCommand.java Thu Apr 19 12:37:32 2012
@@ -30,7 +30,7 @@ public class GroupQuitCommand extends Gr
 
     @Override
     protected Object doExecute() throws Exception {
-        return doExecute(ManageGroupAction.QUIT, group, nodes,false);
+        return doExecute(ManageGroupAction.QUIT, group, null, nodes, false);
     }
 
 }

Modified: karaf/cellar/trunk/shell/src/main/java/org/apache/karaf/cellar/shell/group/GroupSetCommand.java
URL: http://svn.apache.org/viewvc/karaf/cellar/trunk/shell/src/main/java/org/apache/karaf/cellar/shell/group/GroupSetCommand.java?rev=1327927&r1=1327926&r2=1327927&view=diff
==============================================================================
--- karaf/cellar/trunk/shell/src/main/java/org/apache/karaf/cellar/shell/group/GroupSetCommand.java (original)
+++ karaf/cellar/trunk/shell/src/main/java/org/apache/karaf/cellar/shell/group/GroupSetCommand.java Thu Apr 19 12:37:32 2012
@@ -30,7 +30,7 @@ public class GroupSetCommand extends Gro
 
     @Override
     protected Object doExecute() throws Exception {
-        return doExecute(ManageGroupAction.SET, group, nodes,false);
+        return doExecute(ManageGroupAction.SET, group, null, nodes, false);
     }
 
 }

Modified: karaf/cellar/trunk/shell/src/main/java/org/apache/karaf/cellar/shell/group/GroupSupport.java
URL: http://svn.apache.org/viewvc/karaf/cellar/trunk/shell/src/main/java/org/apache/karaf/cellar/shell/group/GroupSupport.java?rev=1327927&r1=1327926&r2=1327927&view=diff
==============================================================================
--- karaf/cellar/trunk/shell/src/main/java/org/apache/karaf/cellar/shell/group/GroupSupport.java (original)
+++ karaf/cellar/trunk/shell/src/main/java/org/apache/karaf/cellar/shell/group/GroupSupport.java Thu Apr 19 12:37:32 2012
@@ -29,11 +29,11 @@ public abstract class GroupSupport exten
 
     protected static final String OUTPUT_FORMAT = "%1s %-20s %s";
 
-    protected Object doExecute(ManageGroupAction action, String group, Collection<String> nodes) throws Exception {
-     return doExecute(action,group,nodes,true);
+    protected Object doExecute(ManageGroupAction action, String group, Group source, Collection<String> nodes) throws Exception {
+     return doExecute(action, group, source, nodes, true);
     }
 
-    protected Object doExecute(ManageGroupAction action, String group, Collection<String> nodes,Boolean supressOutput) throws Exception {
+    protected Object doExecute(ManageGroupAction action, String group, Group source, Collection<String> nodes,Boolean supressOutput) throws Exception {
         ManageGroupCommand command = new ManageGroupCommand(clusterManager.generateId());
         Set<Node> recipientList = clusterManager.listNodes(nodes);
 
@@ -52,6 +52,10 @@ public abstract class GroupSupport exten
             command.setGroupName(group);
         }
 
+        if (source != null) {
+            command.setSourceGroup(source);
+        }
+
         Map<Node, ManageGroupResult> results = executionContext.execute(command);
         if(!supressOutput) {
         if (results == null || results.isEmpty()) {