[WIP] Upgrade ONOS to karaf version 4.2.1

Change-Id: I7cd40c995bdf1c80f94b1895fb3344e32404c7fa
diff --git a/core/store/dist/src/main/java/org/onosproject/store/pi/impl/AbstractDistributedPiTranslationStore.java b/core/store/dist/src/main/java/org/onosproject/store/pi/impl/AbstractDistributedPiTranslationStore.java
index 9df6a86..59596fd 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/pi/impl/AbstractDistributedPiTranslationStore.java
+++ b/core/store/dist/src/main/java/org/onosproject/store/pi/impl/AbstractDistributedPiTranslationStore.java
@@ -16,11 +16,11 @@
 
 package org.onosproject.store.pi.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.onosproject.net.pi.runtime.PiEntity;
 import org.onosproject.net.pi.runtime.PiHandle;
 import org.onosproject.net.pi.service.PiTranslatable;
@@ -45,7 +45,6 @@
 /**
  * Distributed implementation of PiTranslationStore.
  */
-@Component(immediate = true)
 public abstract class AbstractDistributedPiTranslationStore
         <T extends PiTranslatable, E extends PiEntity>
         extends AbstractStore<PiTranslationEvent<T, E>, PiTranslationStoreDelegate<T, E>>
@@ -55,7 +54,7 @@
 
     private final Logger log = getLogger(getClass());
 
-    @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
+    @Reference(cardinality = ReferenceCardinality.MANDATORY)
     protected StorageService storageService;
 
     private EventuallyConsistentMap<PiHandle<E>, PiTranslatedEntity<T, E>>
diff --git a/core/store/dist/src/main/java/org/onosproject/store/pi/impl/DistributedDevicePipeconfMappingStore.java b/core/store/dist/src/main/java/org/onosproject/store/pi/impl/DistributedDevicePipeconfMappingStore.java
index 092b8eb..a732cad 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/pi/impl/DistributedDevicePipeconfMappingStore.java
+++ b/core/store/dist/src/main/java/org/onosproject/store/pi/impl/DistributedDevicePipeconfMappingStore.java
@@ -20,12 +20,6 @@
 import com.google.common.collect.ImmutableSet;
 import com.google.common.collect.Multimaps;
 import com.google.common.collect.SetMultimap;
-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.net.DeviceId;
 import org.onosproject.net.pi.model.PiPipeconfId;
 import org.onosproject.net.pi.service.PiPipeconfDeviceMappingEvent;
@@ -38,6 +32,11 @@
 import org.onosproject.store.service.MapEventListener;
 import org.onosproject.store.service.Serializer;
 import org.onosproject.store.service.StorageService;
+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 java.util.Set;
@@ -47,15 +46,14 @@
 /**
  * Manages information of pipeconf to device binding.
  */
-@Component(immediate = true)
-@Service
+@Component(immediate = true, service = PiPipeconfMappingStore.class)
 public class DistributedDevicePipeconfMappingStore
         extends AbstractStore<PiPipeconfDeviceMappingEvent, PiPipeconfMappingStoreDelegate>
         implements PiPipeconfMappingStore {
 
     private final Logger log = getLogger(getClass());
 
-    @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
+    @Reference(cardinality = ReferenceCardinality.MANDATORY)
     protected StorageService storageService;
 
     protected ConsistentMap<DeviceId, PiPipeconfId> deviceToPipeconf;
diff --git a/core/store/dist/src/main/java/org/onosproject/store/pi/impl/DistributedPiFlowRuleTranslationStore.java b/core/store/dist/src/main/java/org/onosproject/store/pi/impl/DistributedPiFlowRuleTranslationStore.java
index c123ec5..ecad89d 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/pi/impl/DistributedPiFlowRuleTranslationStore.java
+++ b/core/store/dist/src/main/java/org/onosproject/store/pi/impl/DistributedPiFlowRuleTranslationStore.java
@@ -16,17 +16,15 @@
 
 package org.onosproject.store.pi.impl;
 
-import org.apache.felix.scr.annotations.Component;
-import org.apache.felix.scr.annotations.Service;
 import org.onosproject.net.flow.FlowRule;
 import org.onosproject.net.pi.runtime.PiTableEntry;
 import org.onosproject.net.pi.service.PiFlowRuleTranslationStore;
+import org.osgi.service.component.annotations.Component;
 
 /**
  * Distributed implementation of a PI translation store for flow rules.
  */
-@Component(immediate = true)
-@Service
+@Component(immediate = true, service = PiFlowRuleTranslationStore.class)
 public class DistributedPiFlowRuleTranslationStore
         extends AbstractDistributedPiTranslationStore<FlowRule, PiTableEntry>
         implements PiFlowRuleTranslationStore {
diff --git a/core/store/dist/src/main/java/org/onosproject/store/pi/impl/DistributedPiGroupTranslationStore.java b/core/store/dist/src/main/java/org/onosproject/store/pi/impl/DistributedPiGroupTranslationStore.java
index fa62ef1..d2cedd8 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/pi/impl/DistributedPiGroupTranslationStore.java
+++ b/core/store/dist/src/main/java/org/onosproject/store/pi/impl/DistributedPiGroupTranslationStore.java
@@ -16,17 +16,15 @@
 
 package org.onosproject.store.pi.impl;
 
-import org.apache.felix.scr.annotations.Component;
-import org.apache.felix.scr.annotations.Service;
 import org.onosproject.net.group.Group;
 import org.onosproject.net.pi.runtime.PiActionGroup;
 import org.onosproject.net.pi.service.PiGroupTranslationStore;
+import org.osgi.service.component.annotations.Component;
 
 /**
  * Distributed implementation of a PI translation store for groups.
  */
-@Component(immediate = true)
-@Service
+@Component(immediate = true, service = PiGroupTranslationStore.class)
 public class DistributedPiGroupTranslationStore
         extends AbstractDistributedPiTranslationStore<Group, PiActionGroup>
         implements PiGroupTranslationStore {
diff --git a/core/store/dist/src/main/java/org/onosproject/store/pi/impl/DistributedPiMeterTranslationStore.java b/core/store/dist/src/main/java/org/onosproject/store/pi/impl/DistributedPiMeterTranslationStore.java
index ef7e9f1..2ed5038 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/pi/impl/DistributedPiMeterTranslationStore.java
+++ b/core/store/dist/src/main/java/org/onosproject/store/pi/impl/DistributedPiMeterTranslationStore.java
@@ -16,17 +16,15 @@
 
 package org.onosproject.store.pi.impl;
 
-import org.apache.felix.scr.annotations.Component;
-import org.apache.felix.scr.annotations.Service;
 import org.onosproject.net.meter.Meter;
 import org.onosproject.net.pi.runtime.PiMeterCellConfig;
 import org.onosproject.net.pi.service.PiMeterTranslationStore;
+import org.osgi.service.component.annotations.Component;
 
 /**
  * Distributed implementation of a PI translation store for meters.
  */
-@Component(immediate = true)
-@Service
+@Component(immediate = true, service = PiMeterTranslationStore.class)
 public class DistributedPiMeterTranslationStore
         extends AbstractDistributedPiTranslationStore<Meter, PiMeterCellConfig>
         implements PiMeterTranslationStore {
diff --git a/core/store/dist/src/main/java/org/onosproject/store/pi/impl/DistributedPiMulticastGroupTranslationStore.java b/core/store/dist/src/main/java/org/onosproject/store/pi/impl/DistributedPiMulticastGroupTranslationStore.java
index c95b185..dfa6652 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/pi/impl/DistributedPiMulticastGroupTranslationStore.java
+++ b/core/store/dist/src/main/java/org/onosproject/store/pi/impl/DistributedPiMulticastGroupTranslationStore.java
@@ -16,8 +16,7 @@
 
 package org.onosproject.store.pi.impl;
 
-import org.apache.felix.scr.annotations.Component;
-import org.apache.felix.scr.annotations.Service;
+import org.osgi.service.component.annotations.Component;
 import org.onosproject.net.group.Group;
 import org.onosproject.net.pi.runtime.PiMulticastGroupEntry;
 import org.onosproject.net.pi.service.PiMulticastGroupTranslationStore;
@@ -25,8 +24,7 @@
 /**
  * Distributed implementation of a PI translation store for multicast groups.
  */
-@Component(immediate = true)
-@Service
+@Component(immediate = true, service = PiMulticastGroupTranslationStore.class)
 public class DistributedPiMulticastGroupTranslationStore
         extends AbstractDistributedPiTranslationStore<Group, PiMulticastGroupEntry>
         implements PiMulticastGroupTranslationStore {