[WIP] Upgrade ONOS to karaf version 4.2.1

Change-Id: I7cd40c995bdf1c80f94b1895fb3344e32404c7fa
diff --git a/core/store/dist/src/main/java/org/onosproject/store/intent/impl/ConsistentIntentSetMultimap.java b/core/store/dist/src/main/java/org/onosproject/store/intent/impl/ConsistentIntentSetMultimap.java
index ba0fed6..5e4ece3 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/intent/impl/ConsistentIntentSetMultimap.java
+++ b/core/store/dist/src/main/java/org/onosproject/store/intent/impl/ConsistentIntentSetMultimap.java
@@ -16,12 +16,6 @@
 package org.onosproject.store.intent.impl;
 
 import com.google.common.annotations.Beta;
-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.device.DeviceService;
 import org.onosproject.net.intent.IntentId;
 import org.onosproject.net.intent.IntentSetMultimap;
@@ -30,6 +24,11 @@
 import org.onosproject.store.service.Serializer;
 import org.onosproject.store.service.StorageService;
 import org.onosproject.store.service.Versioned;
+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.HashSet;
@@ -41,8 +40,7 @@
  * A collection that maps Intent IDs as keys to values as Intent IDs,
  * where each key may associated with multiple values without duplication.
  */
-@Component(immediate = true)
-@Service
+@Component(immediate = true, service = IntentSetMultimap.class)
 @Beta
 public class ConsistentIntentSetMultimap implements IntentSetMultimap {
     private final Logger log = getLogger(getClass());
@@ -53,10 +51,10 @@
 
     private ConsistentMap<IntentId, Set<IntentId>> intentMapping;
 
-    @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
+    @Reference(cardinality = ReferenceCardinality.MANDATORY)
     protected StorageService storageService;
 
-    @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
+    @Reference(cardinality = ReferenceCardinality.MANDATORY)
     protected DeviceService deviceService;
 
     @Activate
diff --git a/core/store/dist/src/main/java/org/onosproject/store/intent/impl/GossipIntentStore.java b/core/store/dist/src/main/java/org/onosproject/store/intent/impl/GossipIntentStore.java
index 69b16ed..f139f47 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/intent/impl/GossipIntentStore.java
+++ b/core/store/dist/src/main/java/org/onosproject/store/intent/impl/GossipIntentStore.java
@@ -17,14 +17,6 @@
 
 import com.google.common.collect.ImmutableList;
 import org.apache.commons.lang.math.RandomUtils;
-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.Modified;
-import org.apache.felix.scr.annotations.Property;
-import org.apache.felix.scr.annotations.Reference;
-import org.apache.felix.scr.annotations.ReferenceCardinality;
-import org.apache.felix.scr.annotations.Service;
 import org.onlab.util.Backtrace;
 import org.onlab.util.KryoNamespace;
 import org.onosproject.cfg.ComponentConfigService;
@@ -52,6 +44,12 @@
 import org.onosproject.store.service.StorageService;
 import org.onosproject.store.service.WallClockTimestamp;
 import org.osgi.service.component.ComponentContext;
+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.Modified;
+import org.osgi.service.component.annotations.Reference;
+import org.osgi.service.component.annotations.ReferenceCardinality;
 import org.slf4j.Logger;
 
 import java.util.Collection;
@@ -75,8 +73,7 @@
  */
 //FIXME we should listen for leadership changes. if the local instance has just
 // ...  become a leader, scan the pending map and process those
-@Component(immediate = true)
-@Service
+@Component(immediate = true, service = IntentStore.class)
 public class GossipIntentStore
         extends AbstractStore<IntentEvent, IntentStoreDelegate>
         implements IntentStore {
@@ -91,16 +88,16 @@
     // Map of intent key => pending intent operation
     private EventuallyConsistentMap<Key, IntentData> pendingMap;
 
-    @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
+    @Reference(cardinality = ReferenceCardinality.MANDATORY)
     protected ComponentConfigService configService;
 
-    @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
+    @Reference(cardinality = ReferenceCardinality.MANDATORY)
     protected ClusterService clusterService;
 
-    @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
+    @Reference(cardinality = ReferenceCardinality.MANDATORY)
     protected StorageService storageService;
 
-    @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
+    @Reference(cardinality = ReferenceCardinality.MANDATORY)
     protected WorkPartitionService partitionService;
 
     private final AtomicLong sequenceNumber = new AtomicLong(0);
@@ -118,8 +115,8 @@
     // evalutaion, enabling persistence with persist the intents but they will
     // not be reinstalled and network state will not be consistent with the
     // intents on cluster restart
-    @Property(name = "persistenceEnabled", boolValue = PERSIST,
-            label = "EXPERIMENTAL: Enable intent persistence")
+    //@Property(name = "persistenceEnabled", boolValue = PERSIST,
+    //        label = "EXPERIMENTAL: Enable intent persistence")
     private boolean persistenceEnabled;
 
 
diff --git a/core/store/dist/src/main/java/org/onosproject/store/intent/impl/WorkPartitionManager.java b/core/store/dist/src/main/java/org/onosproject/store/intent/impl/WorkPartitionManager.java
index b6e15cf..b06fe6b 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/intent/impl/WorkPartitionManager.java
+++ b/core/store/dist/src/main/java/org/onosproject/store/intent/impl/WorkPartitionManager.java
@@ -15,12 +15,6 @@
  */
 package org.onosproject.store.intent.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.apache.felix.scr.annotations.Service;
 import org.onosproject.cluster.ClusterService;
 import org.onosproject.cluster.Leadership;
 import org.onosproject.cluster.LeadershipEvent;
@@ -32,11 +26,14 @@
 import org.onosproject.net.intent.WorkPartitionEvent;
 import org.onosproject.net.intent.WorkPartitionEventListener;
 import org.onosproject.net.intent.WorkPartitionService;
+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 org.slf4j.LoggerFactory;
 
-import static org.onlab.util.Tools.groupedThreads;
-
 import java.util.List;
 import java.util.Objects;
 import java.util.concurrent.Executors;
@@ -47,22 +44,23 @@
 import java.util.stream.Collectors;
 import java.util.stream.IntStream;
 
+import static org.onlab.util.Tools.groupedThreads;
+
 /**
  * Manages the assignment of work partitions to instances.
  */
-@Component(immediate = true)
-@Service
+@Component(immediate = true, service = WorkPartitionService.class)
 public class WorkPartitionManager implements WorkPartitionService {
 
     private static final Logger log = LoggerFactory.getLogger(WorkPartitionManager.class);
 
-    @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
+    @Reference(cardinality = ReferenceCardinality.MANDATORY)
     protected LeadershipService leadershipService;
 
-    @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
+    @Reference(cardinality = ReferenceCardinality.MANDATORY)
     protected ClusterService clusterService;
 
-    @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
+    @Reference(cardinality = ReferenceCardinality.MANDATORY)
     protected EventDeliveryService eventDispatcher;
 
     protected final AtomicBoolean rebalanceScheduled = new AtomicBoolean(false);