[WIP] Upgrade ONOS to karaf version 4.2.1

Change-Id: I7cd40c995bdf1c80f94b1895fb3344e32404c7fa
diff --git a/providers/isis/cfg/src/main/java/org/onosproject/provider/isis/cfg/impl/IsisAppConfig.java b/providers/isis/cfg/src/main/java/org/onosproject/provider/isis/cfg/impl/IsisAppConfig.java
index ca5b5bd..a880bd0 100644
--- a/providers/isis/cfg/src/main/java/org/onosproject/provider/isis/cfg/impl/IsisAppConfig.java
+++ b/providers/isis/cfg/src/main/java/org/onosproject/provider/isis/cfg/impl/IsisAppConfig.java
@@ -17,8 +17,8 @@
 package org.onosproject.provider.isis.cfg.impl;
 
 import com.fasterxml.jackson.databind.JsonNode;
-import org.apache.felix.scr.annotations.Reference;
-import org.apache.felix.scr.annotations.ReferenceCardinality;
+import org.osgi.service.component.annotations.Reference;
+import org.osgi.service.component.annotations.ReferenceCardinality;
 import org.onlab.osgi.DefaultServiceDirectory;
 import org.onosproject.core.ApplicationId;
 import org.onosproject.isis.controller.IsisController;
@@ -31,7 +31,7 @@
     public static final String METHOD = "method";
     public static final String PROCESSES = "processes";
 
-    @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
+    @Reference(cardinality = ReferenceCardinality.MANDATORY)
     IsisController isisController;
 
     /**
diff --git a/providers/isis/cfg/src/main/java/org/onosproject/provider/isis/cfg/impl/IsisCfgProvider.java b/providers/isis/cfg/src/main/java/org/onosproject/provider/isis/cfg/impl/IsisCfgProvider.java
index 45000e9..f25d00d 100644
--- a/providers/isis/cfg/src/main/java/org/onosproject/provider/isis/cfg/impl/IsisCfgProvider.java
+++ b/providers/isis/cfg/src/main/java/org/onosproject/provider/isis/cfg/impl/IsisCfgProvider.java
@@ -17,12 +17,6 @@
 package org.onosproject.provider.isis.cfg.impl;
 
 import com.fasterxml.jackson.databind.JsonNode;
-import org.apache.felix.scr.annotations.Activate;
-import org.apache.felix.scr.annotations.Component;
-import org.apache.felix.scr.annotations.Deactivate;
-import org.apache.felix.scr.annotations.Reference;
-import org.apache.felix.scr.annotations.ReferenceCardinality;
-import org.apache.felix.scr.annotations.Service;
 import org.onosproject.core.ApplicationId;
 import org.onosproject.core.CoreService;
 import org.onosproject.isis.controller.IsisController;
@@ -34,6 +28,11 @@
 import org.onosproject.net.config.basics.SubjectFactories;
 import org.onosproject.net.provider.AbstractProvider;
 import org.onosproject.net.provider.ProviderId;
+import org.osgi.service.component.annotations.Activate;
+import org.osgi.service.component.annotations.Component;
+import org.osgi.service.component.annotations.Deactivate;
+import org.osgi.service.component.annotations.Reference;
+import org.osgi.service.component.annotations.ReferenceCardinality;
 import org.slf4j.Logger;
 
 import static org.slf4j.LoggerFactory.getLogger;
@@ -41,8 +40,7 @@
 /**
  * ISIS config provider to validate and populate the configuration.
  */
-@Component(immediate = true)
-@Service
+@Component(immediate = true, service = IsisCfgProvider.class)
 public class IsisCfgProvider extends AbstractProvider {
 
     private static final String PROVIDER_ID = "org.onosproject.provider.isis.cfg";
@@ -55,13 +53,13 @@
                 }
             };
     private final NetworkConfigListener configListener = new InternalConfigListener();
-    @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
+    @Reference(cardinality = ReferenceCardinality.MANDATORY)
     protected IsisController isisController;
-    @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
+    @Reference(cardinality = ReferenceCardinality.MANDATORY)
     protected CoreService coreService;
-    @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
+    @Reference(cardinality = ReferenceCardinality.MANDATORY)
     protected NetworkConfigRegistry configRegistry;
-    @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
+    @Reference(cardinality = ReferenceCardinality.MANDATORY)
     protected NetworkConfigService configService;
     private ApplicationId appId;
 
diff --git a/providers/isis/cli/src/main/java/org/onosproject/isis/cli/ApplicationIsisCommand.java b/providers/isis/cli/src/main/java/org/onosproject/isis/cli/ApplicationIsisCommand.java
index f8566ac..b531b5f 100644
--- a/providers/isis/cli/src/main/java/org/onosproject/isis/cli/ApplicationIsisCommand.java
+++ b/providers/isis/cli/src/main/java/org/onosproject/isis/cli/ApplicationIsisCommand.java
@@ -15,8 +15,8 @@
  */
 package org.onosproject.isis.cli;
 
-import org.apache.felix.scr.annotations.Activate;
-import org.apache.felix.scr.annotations.Deactivate;
+import org.osgi.service.component.annotations.Activate;
+import org.osgi.service.component.annotations.Deactivate;
 import org.apache.karaf.shell.commands.Argument;
 import org.apache.karaf.shell.commands.Command;
 import org.onlab.packet.MacAddress;
diff --git a/providers/isis/topology/src/main/java/org/onosproject/provider/isis/topology/impl/IsisTopologyProvider.java b/providers/isis/topology/src/main/java/org/onosproject/provider/isis/topology/impl/IsisTopologyProvider.java
index 05f87bb..a8d3fc7 100644
--- a/providers/isis/topology/src/main/java/org/onosproject/provider/isis/topology/impl/IsisTopologyProvider.java
+++ b/providers/isis/topology/src/main/java/org/onosproject/provider/isis/topology/impl/IsisTopologyProvider.java
@@ -16,11 +16,11 @@
 
 package org.onosproject.provider.isis.topology.impl;
 
-import org.apache.felix.scr.annotations.Activate;
-import org.apache.felix.scr.annotations.Component;
-import org.apache.felix.scr.annotations.Deactivate;
-import org.apache.felix.scr.annotations.Reference;
-import org.apache.felix.scr.annotations.ReferenceCardinality;
+import org.osgi.service.component.annotations.Activate;
+import org.osgi.service.component.annotations.Component;
+import org.osgi.service.component.annotations.Deactivate;
+import org.osgi.service.component.annotations.Reference;
+import org.osgi.service.component.annotations.ReferenceCardinality;
 import org.onlab.packet.ChassisId;
 import org.onlab.util.Bandwidth;
 import org.onosproject.isis.controller.IsisController;
@@ -81,15 +81,15 @@
     // Default values for tunable parameters
     private static final String UNKNOWN = "unknown";
     final InternalTopologyProvider listener = new InternalTopologyProvider();
-    @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
+    @Reference(cardinality = ReferenceCardinality.MANDATORY)
     protected DeviceProviderRegistry deviceProviderRegistry;
-    @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
+    @Reference(cardinality = ReferenceCardinality.MANDATORY)
     protected LinkProviderRegistry linkProviderRegistry;
-    @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
+    @Reference(cardinality = ReferenceCardinality.MANDATORY)
     protected NetworkConfigService networkConfigService;
-    @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
+    @Reference(cardinality = ReferenceCardinality.MANDATORY)
     protected LinkService linkService;
-    @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
+    @Reference(cardinality = ReferenceCardinality.MANDATORY)
     protected IsisController controller;
     //This Interface that defines how this provider can interact with the core.
     private LinkProviderService linkProviderService;