[WIP] Upgrade ONOS to karaf version 4.2.1

Change-Id: I7cd40c995bdf1c80f94b1895fb3344e32404c7fa
diff --git a/apps/influxdbmetrics/src/main/java/org/onosproject/influxdbmetrics/DefaultInfluxDbMetricsReporter.java b/apps/influxdbmetrics/src/main/java/org/onosproject/influxdbmetrics/DefaultInfluxDbMetricsReporter.java
index 1425f79..a3bb6ef 100644
--- a/apps/influxdbmetrics/src/main/java/org/onosproject/influxdbmetrics/DefaultInfluxDbMetricsReporter.java
+++ b/apps/influxdbmetrics/src/main/java/org/onosproject/influxdbmetrics/DefaultInfluxDbMetricsReporter.java
@@ -19,14 +19,6 @@
 import com.izettle.metrics.influxdb.InfluxDbHttpSender;
 import com.izettle.metrics.influxdb.InfluxDbReporter;
 import org.apache.commons.lang.StringUtils;
-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.metrics.MetricsService;
 import org.onlab.util.Tools;
 import org.onosproject.cfg.ComponentConfigService;
@@ -34,6 +26,12 @@
 import org.onosproject.cluster.ControllerNode;
 import org.onosproject.core.CoreService;
 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.Dictionary;
@@ -44,8 +42,7 @@
 /**
  * A Metric reporter that reports all metrics value to influxDB server.
  */
-@Component(immediate = true)
-@Service
+@Component(immediate = true, service = InfluxDbMetricsReporter.class)
 public class DefaultInfluxDbMetricsReporter implements InfluxDbMetricsReporter {
     private final Logger log = getLogger(getClass());
 
@@ -58,26 +55,26 @@
     private static final int DEFAULT_CONN_TIMEOUT = 1000;
     private static final int DEFAULT_READ_TIMEOUT = 1000;
 
-    @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
+    @Reference(cardinality = ReferenceCardinality.MANDATORY)
     protected CoreService coreService;
 
-    @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
+    @Reference(cardinality = ReferenceCardinality.MANDATORY)
     protected MetricsService metricsService;
 
-    @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
+    @Reference(cardinality = ReferenceCardinality.MANDATORY)
     protected ComponentConfigService cfgService;
 
-    @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
+    @Reference(cardinality = ReferenceCardinality.MANDATORY)
     protected ClusterService clusterService;
 
-    @Property(name = "monitorAll", boolValue = true,
-            label = "Enable to monitor all of metrics stored in metric registry " +
-                    "default is true")
+    //@Property(name = "monitorAll", boolValue = true,
+    //        label = "Enable to monitor all of metrics stored in metric registry " +
+    //                "default is true")
     protected boolean monitorAll = true;
 
-    @Property(name = "metricNames", value = DEFAULT_METRIC_NAMES,
-            label = "Names of metric to be monitored in third party monitoring " +
-                    "server; default metric names are 'default'")
+    //@Property(name = "metricNames", value = DEFAULT_METRIC_NAMES,
+    //        label = "Names of metric to be monitored in third party monitoring " +
+    //                "server; default metric names are 'default'")
     protected String metricNames = DEFAULT_METRIC_NAMES;
 
     protected String address;
diff --git a/apps/influxdbmetrics/src/main/java/org/onosproject/influxdbmetrics/DefaultInfluxDbMetricsRetriever.java b/apps/influxdbmetrics/src/main/java/org/onosproject/influxdbmetrics/DefaultInfluxDbMetricsRetriever.java
index a174925..1871b5a 100644
--- a/apps/influxdbmetrics/src/main/java/org/onosproject/influxdbmetrics/DefaultInfluxDbMetricsRetriever.java
+++ b/apps/influxdbmetrics/src/main/java/org/onosproject/influxdbmetrics/DefaultInfluxDbMetricsRetriever.java
@@ -21,18 +21,17 @@
 import com.google.common.collect.Maps;
 import com.google.common.collect.Sets;
 import org.apache.commons.lang.StringUtils;
-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.influxdb.InfluxDB;
 import org.influxdb.InfluxDBFactory;
 import org.influxdb.dto.Query;
 import org.influxdb.dto.QueryResult;
 import org.onosproject.cluster.NodeId;
 import org.onosproject.core.CoreService;
+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.List;
@@ -45,8 +44,7 @@
 /**
  * A Metric retriever implementation for querying metrics from influxDB server.
  */
-@Component(immediate = true)
-@Service
+@Component(immediate = true, service = InfluxDbMetricsRetriever.class)
 public class DefaultInfluxDbMetricsRetriever implements InfluxDbMetricsRetriever {
 
     private final Logger log = getLogger(getClass());
@@ -72,7 +70,7 @@
         TIME_UNIT_MAP.put(TimeUnit.SECONDS, "s");
     }
 
-    @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
+    @Reference(cardinality = ReferenceCardinality.MANDATORY)
     protected CoreService coreService;
 
     protected String database;
diff --git a/apps/influxdbmetrics/src/main/java/org/onosproject/influxdbmetrics/InfluxDbMetricsConfig.java b/apps/influxdbmetrics/src/main/java/org/onosproject/influxdbmetrics/InfluxDbMetricsConfig.java
index 499e4b9..c5301df 100644
--- a/apps/influxdbmetrics/src/main/java/org/onosproject/influxdbmetrics/InfluxDbMetricsConfig.java
+++ b/apps/influxdbmetrics/src/main/java/org/onosproject/influxdbmetrics/InfluxDbMetricsConfig.java
@@ -15,17 +15,16 @@
  */
 package org.onosproject.influxdbmetrics;
 
-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.onlab.util.Tools;
 import org.onosproject.cfg.ComponentConfigService;
 import org.onosproject.core.CoreService;
 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.Dictionary;
@@ -47,36 +46,36 @@
     private static final String DEFAULT_USERNAME = "onos";
     private static final String DEFAULT_PASSWORD = "onos.password";
 
-    @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
+    @Reference(cardinality = ReferenceCardinality.MANDATORY)
     protected CoreService coreService;
 
-    @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
+    @Reference(cardinality = ReferenceCardinality.MANDATORY)
     protected InfluxDbMetricsReporter influxDbMetricsReporter;
 
-    @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
+    @Reference(cardinality = ReferenceCardinality.MANDATORY)
     protected InfluxDbMetricsRetriever influxDbMetricsRetriever;
 
-    @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
+    @Reference(cardinality = ReferenceCardinality.MANDATORY)
     protected ComponentConfigService cfgService;
 
-    @Property(name = "address", value = DEFAULT_ADDRESS,
-            label = "IP address of influxDB server; default is localhost")
+    //@Property(name = "address", value = DEFAULT_ADDRESS,
+    //        label = "IP address of influxDB server; default is localhost")
     protected String address = DEFAULT_ADDRESS;
 
-    @Property(name = "port", intValue = DEFAULT_PORT,
-            label = "Port number of influxDB server; default is 8086")
+    //@Property(name = "port", intValue = DEFAULT_PORT,
+    //        label = "Port number of influxDB server; default is 8086")
     protected int port = DEFAULT_PORT;
 
-    @Property(name = "database", value = DEFAULT_DATABASE,
-            label = "Database name of influxDB server; default is onos")
+    //@Property(name = "database", value = DEFAULT_DATABASE,
+    //        label = "Database name of influxDB server; default is onos")
     protected String database = DEFAULT_DATABASE;
 
-    @Property(name = "username", value = DEFAULT_USERNAME,
-            label = "Username of influxDB server; default is onos")
+    //@Property(name = "username", value = DEFAULT_USERNAME,
+    //        label = "Username of influxDB server; default is onos")
     protected String username = DEFAULT_USERNAME;
 
-    @Property(name = "password", value = DEFAULT_PASSWORD,
-            label = "Password of influxDB server; default is onos.password")
+    //@Property(name = "password", value = DEFAULT_PASSWORD,
+    //        label = "Password of influxDB server; default is onos.password")
     protected String password = DEFAULT_PASSWORD;
 
     @Activate