Fix: resolve CLI auto-completion issue of openstack apps
Change-Id: I0dc973628910cae3588f25e066e81a87a4264f06
diff --git a/apps/openstackvtap/app/src/main/java/org/onosproject/openstackvtap/cli/OpenstackVtapAddCommand.java b/apps/openstackvtap/app/src/main/java/org/onosproject/openstackvtap/cli/OpenstackVtapAddCommand.java
index 9480346..013ac89 100644
--- a/apps/openstackvtap/app/src/main/java/org/onosproject/openstackvtap/cli/OpenstackVtapAddCommand.java
+++ b/apps/openstackvtap/app/src/main/java/org/onosproject/openstackvtap/cli/OpenstackVtapAddCommand.java
@@ -17,6 +17,7 @@
import org.apache.karaf.shell.api.action.Argument;
import org.apache.karaf.shell.api.action.Command;
+import org.apache.karaf.shell.api.action.Completion;
import org.apache.karaf.shell.api.action.lifecycle.Service;
import org.onlab.packet.IpPrefix;
import org.onlab.packet.TpPort;
@@ -42,16 +43,19 @@
@Argument(index = 0, name = "srcIp",
description = "source IP address CIDR (e.g., \"10.1.0.2/32\")",
required = true, multiValued = false)
+ @Completion(VmIpCompleter.class)
String srcIp = "";
@Argument(index = 1, name = "dstIp",
description = "destination IP address CIDR (e.g., \"10.1.0.3/32\")",
required = true, multiValued = false)
+ @Completion(VmIpCompleter.class)
String dstIp = "";
@Argument(index = 2, name = "ipProto",
description = "IP protocol [any|tcp|udp|icmp]",
required = false, multiValued = false)
+ @Completion(ProtocolTypeCompleter.class)
String ipProto = "any";
@Argument(index = 3, name = "srcTpPort",
@@ -67,6 +71,7 @@
@Argument(index = 5, name = "type",
description = "vtap type [all|rx|tx]",
required = false, multiValued = false)
+ @Completion(VtapTypeCompleter.class)
String vtapTypeStr = "all";
@Override
diff --git a/apps/openstackvtap/app/src/main/java/org/onosproject/openstackvtap/cli/OpenstackVtapDeleteCommand.java b/apps/openstackvtap/app/src/main/java/org/onosproject/openstackvtap/cli/OpenstackVtapDeleteCommand.java
index e2d37f7..17db27c 100644
--- a/apps/openstackvtap/app/src/main/java/org/onosproject/openstackvtap/cli/OpenstackVtapDeleteCommand.java
+++ b/apps/openstackvtap/app/src/main/java/org/onosproject/openstackvtap/cli/OpenstackVtapDeleteCommand.java
@@ -15,6 +15,7 @@
*/
package org.onosproject.openstackvtap.cli;
import org.apache.karaf.shell.api.action.Command;
+import org.apache.karaf.shell.api.action.Completion;
import org.apache.karaf.shell.api.action.lifecycle.Service;
import org.onosproject.cli.AbstractShellCommand;
import org.apache.karaf.shell.api.action.Argument;
@@ -34,6 +35,7 @@
@Argument(index = 0, name = "id", description = "vtap ID",
required = true, multiValued = false)
+ @Completion(VtapIdCompleter.class)
String vtapId = "";
@Override
diff --git a/apps/openstackvtap/app/src/main/java/org/onosproject/openstackvtap/cli/OpenstackVtapListCommand.java b/apps/openstackvtap/app/src/main/java/org/onosproject/openstackvtap/cli/OpenstackVtapListCommand.java
index 089f850..8826952 100644
--- a/apps/openstackvtap/app/src/main/java/org/onosproject/openstackvtap/cli/OpenstackVtapListCommand.java
+++ b/apps/openstackvtap/app/src/main/java/org/onosproject/openstackvtap/cli/OpenstackVtapListCommand.java
@@ -18,6 +18,7 @@
import com.google.common.collect.ImmutableSet;
import org.apache.karaf.shell.api.action.Argument;
import org.apache.karaf.shell.api.action.Command;
+import org.apache.karaf.shell.api.action.Completion;
import org.apache.karaf.shell.api.action.lifecycle.Service;
import org.onosproject.cli.AbstractShellCommand;
import org.onosproject.net.DeviceId;
@@ -46,6 +47,7 @@
@Argument(index = 0, name = "type",
description = "vtap type [any|all|rx|tx]",
required = false, multiValued = false)
+ @Completion(VtapTypeCompleter.class)
String vtapType = "any";
private static final String FORMAT = "ID { %s }: type [%s], srcIP [%s], dstIP [%s]";