[WIP] Upgrade ONOS to karaf version 4.2.1
Change-Id: I7cd40c995bdf1c80f94b1895fb3344e32404c7fa
diff --git a/cli/src/main/java/org/onosproject/cli/AbstractShellCommand.java b/cli/src/main/java/org/onosproject/cli/AbstractShellCommand.java
index 09e08fa..d6d044e 100644
--- a/cli/src/main/java/org/onosproject/cli/AbstractShellCommand.java
+++ b/cli/src/main/java/org/onosproject/cli/AbstractShellCommand.java
@@ -15,8 +15,8 @@
*/
package org.onosproject.cli;
-import org.apache.karaf.shell.commands.Option;
-import org.apache.karaf.shell.console.AbstractAction;
+import org.apache.karaf.shell.api.action.Option;
+import org.apache.karaf.shell.api.action.Action;
import org.onlab.osgi.DefaultServiceDirectory;
import org.onlab.osgi.ServiceNotFoundException;
import org.onosproject.codec.CodecContext;
@@ -29,6 +29,8 @@
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ObjectNode;
import org.onosproject.net.DefaultAnnotations;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import java.util.Set;
import java.util.TreeSet;
@@ -36,7 +38,8 @@
/**
* Base abstraction of Karaf shell commands.
*/
-public abstract class AbstractShellCommand extends AbstractAction implements CodecContext {
+public abstract class AbstractShellCommand implements Action, CodecContext {
+ protected final Logger log = LoggerFactory.getLogger(this.getClass());
@Option(name = "-j", aliases = "--json", description = "Output JSON",
required = false, multiValued = false)
@@ -136,11 +139,6 @@
}
/**
- * Executes this command.
- */
- protected abstract void execute();
-
- /**
* Indicates whether JSON format should be output.
*
* @return true if JSON is requested
@@ -150,16 +148,22 @@
}
@Override
- protected Object doExecute() throws Exception {
+ public Object execute() throws Exception {
try {
- execute();
+ doExecute();
} catch (ServiceNotFoundException e) {
error(e.getMessage());
}
return null;
}
-
+ protected void doExecute() throws Exception {
+ try {
+ execute();
+ } catch (ServiceNotFoundException e) {
+ error(e.getMessage());
+ }
+ }
private final ObjectMapper mapper = new ObjectMapper();