[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();