flow cmd has state selector

Change-Id: Id778277979d538e4addf8ed0052066a6d2e67ac6
diff --git a/cli/src/main/java/org/onlab/onos/cli/net/FlowRuleStatusCompleter.java b/cli/src/main/java/org/onlab/onos/cli/net/FlowRuleStatusCompleter.java
new file mode 100644
index 0000000..134d995
--- /dev/null
+++ b/cli/src/main/java/org/onlab/onos/cli/net/FlowRuleStatusCompleter.java
@@ -0,0 +1,30 @@
+package org.onlab.onos.cli.net;
+
+import java.util.List;
+import java.util.SortedSet;
+
+import org.apache.karaf.shell.console.Completer;
+import org.apache.karaf.shell.console.completer.StringsCompleter;
+import org.onlab.onos.net.flow.FlowRule.FlowRuleState;
+
+/**
+ * Device ID completer.
+ */
+public class FlowRuleStatusCompleter implements Completer {
+    @Override
+    public int complete(String buffer, int cursor, List<String> candidates) {
+        // Delegate string completer
+        StringsCompleter delegate = new StringsCompleter();
+
+        FlowRuleState[] states = FlowRuleState.values();
+        SortedSet<String> strings = delegate.getStrings();
+        for (int i = 0; i < states.length; i++) {
+            strings.add(states[i].toString().toLowerCase());
+        }
+        strings.add(FlowsListCommand.ANY);
+
+        // Now let the completer do the work for figuring out what to offer.
+        return delegate.complete(buffer, cursor, candidates);
+    }
+
+}