You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@accumulo.apache.org by el...@apache.org on 2014/01/08 22:06:55 UTC

[2/3] git commit: ACCUMULO-2022 Add a -all flag to listiter.

ACCUMULO-2022 Add a -all flag to listiter.


Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/43b3533f
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/43b3533f
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/43b3533f

Branch: refs/heads/master
Commit: 43b3533f4e85781184f95a1d84929308a69327ce
Parents: 443cba7
Author: Josh Elser <el...@apache.org>
Authored: Wed Jan 8 16:05:34 2014 -0500
Committer: Josh Elser <el...@apache.org>
Committed: Wed Jan 8 16:06:34 2014 -0500

----------------------------------------------------------------------
 .../core/util/shell/commands/ListIterCommand.java | 18 ++++++++++++------
 1 file changed, 12 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/43b3533f/core/src/main/java/org/apache/accumulo/core/util/shell/commands/ListIterCommand.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/util/shell/commands/ListIterCommand.java b/core/src/main/java/org/apache/accumulo/core/util/shell/commands/ListIterCommand.java
index e29c5e6..6c93e76 100644
--- a/core/src/main/java/org/apache/accumulo/core/util/shell/commands/ListIterCommand.java
+++ b/core/src/main/java/org/apache/accumulo/core/util/shell/commands/ListIterCommand.java
@@ -18,8 +18,10 @@ package org.apache.accumulo.core.util.shell.commands;
 
 import java.util.EnumMap;
 import java.util.EnumSet;
+import java.util.HashSet;
 import java.util.Map;
 import java.util.Map.Entry;
+import java.util.Set;
 
 import org.apache.accumulo.core.client.IteratorSetting;
 import org.apache.accumulo.core.iterators.IteratorUtil.IteratorScope;
@@ -31,7 +33,7 @@ import org.apache.commons.cli.OptionGroup;
 import org.apache.commons.cli.Options;
 
 public class ListIterCommand extends Command {
-  private Option nameOpt;
+  private Option nameOpt, allScopesOpt;
   private Map<IteratorScope,Option> scopeOpts;
 
   @Override
@@ -60,18 +62,19 @@ public class ListIterCommand extends Command {
       iterators.put(name, scopes);
     }
 
-    boolean hasScope = false;
+    final boolean allScopes = cl.hasOption(allScopesOpt.getOpt());
+    Set<IteratorScope> desiredScopes = new HashSet<IteratorScope>();
     for (IteratorScope scope : IteratorScope.values()) {
-      if (cl.hasOption(scopeOpts.get(scope).getOpt()))
-        hasScope = true;
+      if (allScopes || cl.hasOption(scopeOpts.get(scope).getOpt()))
+        desiredScopes.add(scope);
     }
-    if (!hasScope) {
+    if (desiredScopes.isEmpty()) {
       throw new IllegalArgumentException("You must select at least one scope to configure");
     }
     final StringBuilder sb = new StringBuilder("-\n");
     for (String name : iterators.keySet()) {
       for (IteratorScope scope : iterators.get(name)) {
-        if (cl.hasOption(scopeOpts.get(scope).getOpt())) {
+        if (desiredScopes.contains(scope)) {
           IteratorSetting setting;
           if (namespaces) {
             setting = shellState.getConnector().namespaceOperations().getIteratorSetting(OptUtil.getNamespaceOpt(cl, shellState), name, scope);
@@ -112,6 +115,9 @@ public class ListIterCommand extends Command {
     nameOpt = new Option("n", "name", true, "iterator to list");
     nameOpt.setArgName("itername");
 
+    allScopesOpt = new Option("all", "all-scopes", false, "list from all scopes");
+    o.addOption(allScopesOpt);
+    
     scopeOpts = new EnumMap<IteratorScope,Option>(IteratorScope.class);
     scopeOpts.put(IteratorScope.minc, new Option(IteratorScope.minc.name(), "minor-compaction", false, "list iterator for minor compaction scope"));
     scopeOpts.put(IteratorScope.majc, new Option(IteratorScope.majc.name(), "major-compaction", false, "list iterator for major compaction scope"));