VPLS app changes for karaf 4.2.1 CLI
Change-Id: If92b8f8ba5f76a328908977d4c5208bfecd3a5c7
diff --git a/apps/vpls/BUILD b/apps/vpls/BUILD
index 5e90e5b..07a23df 100644
--- a/apps/vpls/BUILD
+++ b/apps/vpls/BUILD
@@ -6,6 +6,10 @@
osgi_jar_with_tests(
exclude_tests = ["org.onosproject.vpls.VplsTest"],
+ karaf_command_packages = [
+ "org.onosproject.vpls.cli",
+ "org.onosproject.vpls.cli.completer",
+ ],
test_deps = TEST_ADAPTERS,
deps = COMPILE_DEPS,
)
diff --git a/apps/vpls/src/main/java/org/onosproject/vpls/cli/VplsCommand.java b/apps/vpls/src/main/java/org/onosproject/vpls/cli/VplsCommand.java
index 1f64422..0e060c5 100644
--- a/apps/vpls/src/main/java/org/onosproject/vpls/cli/VplsCommand.java
+++ b/apps/vpls/src/main/java/org/onosproject/vpls/cli/VplsCommand.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.intf.Interface;
@@ -26,6 +27,9 @@
import org.onosproject.vpls.api.VplsData;
import org.onosproject.vpls.api.Vpls;
import org.onosproject.vpls.api.VplsData.VplsState;
+import org.onosproject.vpls.cli.completer.VplsCommandCompleter;
+import org.onosproject.vpls.cli.completer.VplsNameCompleter;
+import org.onosproject.vpls.cli.completer.VplsOptArgCompleter;
import java.util.Collection;
import java.util.Collections;
@@ -109,15 +113,18 @@
@Argument(index = 0, name = "command", description = "Command name (add-if|" +
"create|delete|list|rem-if|set-encap|show)",
required = true, multiValued = false)
+ @Completion(VplsCommandCompleter.class)
String command = null;
@Argument(index = 1, name = "vplsName", description = "The name of the VPLS",
required = false, multiValued = false)
+ @Completion(VplsNameCompleter.class)
String vplsName = null;
@Argument(index = 2, name = "optArg", description = "The interface name or" +
" the encapsulation type for set-encap",
required = false, multiValued = false)
+ @Completion(VplsOptArgCompleter.class)
String optArg = null;
@Override
diff --git a/apps/vpls/src/main/java/org/onosproject/vpls/cli/completer/VplsCommandCompleter.java b/apps/vpls/src/main/java/org/onosproject/vpls/cli/completer/VplsCommandCompleter.java
index 7e3cb65..4ab8e93 100644
--- a/apps/vpls/src/main/java/org/onosproject/vpls/cli/completer/VplsCommandCompleter.java
+++ b/apps/vpls/src/main/java/org/onosproject/vpls/cli/completer/VplsCommandCompleter.java
@@ -16,6 +16,7 @@
package org.onosproject.vpls.cli.completer;
import com.google.common.collect.Lists;
+import org.apache.karaf.shell.api.action.lifecycle.Service;
import org.onosproject.cli.AbstractChoicesCompleter;
import org.onosproject.vpls.cli.VplsCommandEnum;
@@ -25,6 +26,7 @@
/**
* VPLS command completer.
*/
+@Service
public class VplsCommandCompleter extends AbstractChoicesCompleter {
@Override
diff --git a/apps/vpls/src/main/java/org/onosproject/vpls/cli/completer/VplsNameCompleter.java b/apps/vpls/src/main/java/org/onosproject/vpls/cli/completer/VplsNameCompleter.java
index d3ffb33..83f06e4 100644
--- a/apps/vpls/src/main/java/org/onosproject/vpls/cli/completer/VplsNameCompleter.java
+++ b/apps/vpls/src/main/java/org/onosproject/vpls/cli/completer/VplsNameCompleter.java
@@ -15,6 +15,7 @@
*/
package org.onosproject.vpls.cli.completer;
+import org.apache.karaf.shell.api.action.lifecycle.Service;
import org.onosproject.cli.AbstractChoicesCompleter;
import org.onosproject.vpls.api.Vpls;
import org.onosproject.vpls.api.VplsData;
@@ -28,6 +29,7 @@
/**
* VPLS name completer.
*/
+@Service
public class VplsNameCompleter extends AbstractChoicesCompleter {
protected Vpls vpls;