openstack and routing app OSGi property migration

Change-Id: I855020959456f059911284bb7d8ade376cbc20c5
diff --git a/apps/openstacktelemetry/app/src/main/java/org/onosproject/openstacktelemetry/impl/InfluxDbTelemetryConfigManager.java b/apps/openstacktelemetry/app/src/main/java/org/onosproject/openstacktelemetry/impl/InfluxDbTelemetryConfigManager.java
index e3db947..d9107ca 100644
--- a/apps/openstacktelemetry/app/src/main/java/org/onosproject/openstacktelemetry/impl/InfluxDbTelemetryConfigManager.java
+++ b/apps/openstacktelemetry/app/src/main/java/org/onosproject/openstacktelemetry/impl/InfluxDbTelemetryConfigManager.java
@@ -33,71 +33,75 @@
 
 import java.util.Dictionary;
 
-import static org.onosproject.openstacktelemetry.api.Constants.DEFAULT_DISABLE;
-import static org.onosproject.openstacktelemetry.api.Constants.DEFAULT_INFLUXDB_DATABASE;
-import static org.onosproject.openstacktelemetry.api.Constants.DEFAULT_INFLUXDB_ENABLE_BATCH;
-import static org.onosproject.openstacktelemetry.api.Constants.DEFAULT_INFLUXDB_MEASUREMENT;
-import static org.onosproject.openstacktelemetry.api.Constants.DEFAULT_INFLUXDB_PASSWORD;
-import static org.onosproject.openstacktelemetry.api.Constants.DEFAULT_INFLUXDB_SERVER_IP;
-import static org.onosproject.openstacktelemetry.api.Constants.DEFAULT_INFLUXDB_SERVER_PORT;
-import static org.onosproject.openstacktelemetry.api.Constants.DEFAULT_INFLUXDB_USERNAME;
+import static org.onosproject.openstacktelemetry.impl.OsgiPropertyConstants.PROP_INFLUXDB_DATABASE;
+import static org.onosproject.openstacktelemetry.impl.OsgiPropertyConstants.PROP_INFLUXDB_DATABASE_DEFAULT;
+import static org.onosproject.openstacktelemetry.impl.OsgiPropertyConstants.PROP_INFLUXDB_ENABLE_BATCH;
+import static org.onosproject.openstacktelemetry.impl.OsgiPropertyConstants.PROP_INFLUXDB_ENABLE_BATCH_DEFAULT;
+import static org.onosproject.openstacktelemetry.impl.OsgiPropertyConstants.PROP_INFLUXDB_ENABLE_SERVICE;
+import static org.onosproject.openstacktelemetry.impl.OsgiPropertyConstants.PROP_INFLUXDB_ENABLE_SERVICE_DEFAULT;
+import static org.onosproject.openstacktelemetry.impl.OsgiPropertyConstants.PROP_INFLUXDB_MEASUREMENT;
+import static org.onosproject.openstacktelemetry.impl.OsgiPropertyConstants.PROP_INFLUXDB_MEASUREMENT_DEFAULT;
+import static org.onosproject.openstacktelemetry.impl.OsgiPropertyConstants.PROP_INFLUXDB_PASSWORD;
+import static org.onosproject.openstacktelemetry.impl.OsgiPropertyConstants.PROP_INFLUXDB_PASSWORD_DEFAULT;
+import static org.onosproject.openstacktelemetry.impl.OsgiPropertyConstants.PROP_INFLUXDB_SERVER_ADDRESS;
+import static org.onosproject.openstacktelemetry.impl.OsgiPropertyConstants.PROP_INFLUXDB_SERVER_ADDRESS_DEFAULT;
+import static org.onosproject.openstacktelemetry.impl.OsgiPropertyConstants.PROP_INFLUXDB_SERVER_PORT;
+import static org.onosproject.openstacktelemetry.impl.OsgiPropertyConstants.PROP_INFLUXDB_SERVER_PORT_DEFAULT;
+import static org.onosproject.openstacktelemetry.impl.OsgiPropertyConstants.PROP_INFLUXDB_USERNAME;
+import static org.onosproject.openstacktelemetry.impl.OsgiPropertyConstants.PROP_INFLUXDB_USERNAME_DEFAULT;
 import static org.onosproject.openstacktelemetry.util.OpenstackTelemetryUtil.getBooleanProperty;
 import static org.onosproject.openstacktelemetry.util.OpenstackTelemetryUtil.initTelemetryService;
 
 /**
  * InfluxDB server configuration manager for publishing openstack telemetry.
  */
-@Component(immediate = true, service = InfluxDbTelemetryConfigService.class)
+@Component(
+    immediate = true,
+    service = InfluxDbTelemetryConfigService.class,
+    property = {
+        PROP_INFLUXDB_ENABLE_SERVICE + ":Boolean=" + PROP_INFLUXDB_ENABLE_SERVICE_DEFAULT,
+        PROP_INFLUXDB_SERVER_ADDRESS + "=" + PROP_INFLUXDB_SERVER_ADDRESS_DEFAULT,
+        PROP_INFLUXDB_SERVER_PORT + ":Integer=" + PROP_INFLUXDB_SERVER_PORT_DEFAULT,
+        PROP_INFLUXDB_USERNAME + "=" + PROP_INFLUXDB_USERNAME_DEFAULT,
+        PROP_INFLUXDB_PASSWORD + "=" + PROP_INFLUXDB_PASSWORD_DEFAULT,
+        PROP_INFLUXDB_DATABASE + "=" + PROP_INFLUXDB_DATABASE_DEFAULT,
+        PROP_INFLUXDB_MEASUREMENT + "=" + PROP_INFLUXDB_MEASUREMENT_DEFAULT,
+        PROP_INFLUXDB_ENABLE_BATCH + ":Boolean=" + PROP_INFLUXDB_ENABLE_BATCH_DEFAULT
+    }
+)
 public class InfluxDbTelemetryConfigManager implements InfluxDbTelemetryConfigService {
 
     private final Logger log = LoggerFactory.getLogger(getClass());
 
-    private static final String ENABLE_SERVICE = "enableService";
-    private static final String ADDRESS = "address";
-    private static final String PORT = "port";
-    private static final String USERNAME = "username";
-    private static final String PASSWORD = "password";
-    private static final String DATABASE = "database";
-    private static final String MEASUREMENT = "measurement";
-    private static final String ENABLE_BATCH = "enableBatch";
-
     @Reference(cardinality = ReferenceCardinality.MANDATORY)
     protected ComponentConfigService componentConfigService;
 
     @Reference(cardinality = ReferenceCardinality.MANDATORY)
     protected InfluxDbTelemetryAdminService influxDbTelemetryAdminService;
 
-    //@Property(name = ADDRESS, value = DEFAULT_INFLUXDB_SERVER_IP,
-    //        label = "Default IP address to establish initial connection to InfluxDB server")
-    protected String address = DEFAULT_INFLUXDB_SERVER_IP;
+    /** Default IP address to establish initial connection to InfluxDB server. */
+    protected String address = PROP_INFLUXDB_SERVER_ADDRESS_DEFAULT;
 
-    //@Property(name = PORT, intValue = DEFAULT_INFLUXDB_SERVER_PORT,
-    //        label = "Default port number to establish initial connection to InfluxDB server")
-    protected Integer port = DEFAULT_INFLUXDB_SERVER_PORT;
+    /** Default port number to establish initial connection to InfluxDB server. */
+    protected Integer port = PROP_INFLUXDB_SERVER_PORT_DEFAULT;
 
-    //@Property(name = USERNAME, value = DEFAULT_INFLUXDB_USERNAME,
-    //        label = "Username used for authenticating against InfluxDB server")
-    protected String username = DEFAULT_INFLUXDB_USERNAME;
+    /** Username used for authenticating against InfluxDB server. */
+    protected String username = PROP_INFLUXDB_USERNAME_DEFAULT;
 
-    //@Property(name = PASSWORD, value = DEFAULT_INFLUXDB_PASSWORD,
-    //        label = "Password used for authenticating against InfluxDB server")
-    protected String password = DEFAULT_INFLUXDB_PASSWORD;
+    /** Password used for authenticating against InfluxDB server. */
+    protected String password = PROP_INFLUXDB_PASSWORD_DEFAULT;
 
-    //@Property(name = DATABASE, value = DEFAULT_INFLUXDB_DATABASE,
-    //        label = "Database of InfluxDB server")
-    protected String database = DEFAULT_INFLUXDB_DATABASE;
+    /** Database of InfluxDB server. */
+    protected String database = PROP_INFLUXDB_DATABASE_DEFAULT;
 
-    //@Property(name = MEASUREMENT, value = DEFAULT_INFLUXDB_MEASUREMENT,
-    //        label = "Measurement of InfluxDB server")
-    protected String measurement = DEFAULT_INFLUXDB_MEASUREMENT;
+    /** Measurement of InfluxDB server. */
+    protected String measurement = PROP_INFLUXDB_MEASUREMENT_DEFAULT;
 
-    //@Property(name = ENABLE_BATCH, boolValue = DEFAULT_INFLUXDB_ENABLE_BATCH,
-    //        label = "Flag value of enabling batch mode of InfluxDB server")
-    protected Boolean enableBatch = DEFAULT_INFLUXDB_ENABLE_BATCH;
+    /** Flag value of enabling batch mode of InfluxDB server. */
+    protected Boolean enableBatch = PROP_INFLUXDB_ENABLE_SERVICE_DEFAULT;
 
-    //@Property(name = ENABLE_SERVICE, boolValue = DEFAULT_DISABLE,
-    //        label = "Specify the default behavior of telemetry service")
-    protected Boolean enableService = DEFAULT_DISABLE;
+    /** Specify the default behavior of telemetry service. */
+    protected Boolean enableService = PROP_INFLUXDB_ENABLE_SERVICE_DEFAULT;
 
     @Activate
     protected void activate(ComponentContext context) {
@@ -147,38 +151,38 @@
     private void readComponentConfiguration(ComponentContext context) {
         Dictionary<?, ?> properties = context.getProperties();
 
-        String addressStr = Tools.get(properties, ADDRESS);
-        address = addressStr != null ? addressStr : DEFAULT_INFLUXDB_SERVER_IP;
+        String addressStr = Tools.get(properties, PROP_INFLUXDB_SERVER_ADDRESS);
+        address = addressStr != null ? addressStr : PROP_INFLUXDB_SERVER_ADDRESS_DEFAULT;
         log.info("Configured. InfluxDB server address is {}", address);
 
-        Integer portConfigured = Tools.getIntegerProperty(properties, PORT);
+        Integer portConfigured = Tools.getIntegerProperty(properties, PROP_INFLUXDB_SERVER_PORT);
         if (portConfigured == null) {
-            port = DEFAULT_INFLUXDB_SERVER_PORT;
+            port = PROP_INFLUXDB_SERVER_PORT_DEFAULT;
             log.info("InfluxDB server port is NOT configured, default value is {}", port);
         } else {
             port = portConfigured;
             log.info("Configured. InfluxDB server port is {}", port);
         }
 
-        String usernameStr = Tools.get(properties, USERNAME);
-        username = usernameStr != null ? usernameStr : DEFAULT_INFLUXDB_USERNAME;
+        String usernameStr = Tools.get(properties, PROP_INFLUXDB_USERNAME);
+        username = usernameStr != null ? usernameStr : PROP_INFLUXDB_USERNAME_DEFAULT;
         log.info("Configured. InfluxDB server username is {}", username);
 
-        String passwordStr = Tools.get(properties, PASSWORD);
-        password = passwordStr != null ? passwordStr : DEFAULT_INFLUXDB_PASSWORD;
+        String passwordStr = Tools.get(properties, PROP_INFLUXDB_PASSWORD);
+        password = passwordStr != null ? passwordStr : PROP_INFLUXDB_PASSWORD_DEFAULT;
         log.info("Configured. InfluxDB server password is {}", password);
 
-        String databaseStr = Tools.get(properties, DATABASE);
-        database = databaseStr != null ? databaseStr : DEFAULT_INFLUXDB_DATABASE;
+        String databaseStr = Tools.get(properties, PROP_INFLUXDB_DATABASE);
+        database = databaseStr != null ? databaseStr : PROP_INFLUXDB_DATABASE_DEFAULT;
         log.info("Configured. InfluxDB server database is {}", database);
 
-        String measurementStr = Tools.get(properties, MEASUREMENT);
-        measurement = measurementStr != null ? measurementStr : DEFAULT_INFLUXDB_MEASUREMENT;
+        String measurementStr = Tools.get(properties, PROP_INFLUXDB_MEASUREMENT);
+        measurement = measurementStr != null ? measurementStr : PROP_INFLUXDB_MEASUREMENT_DEFAULT;
         log.info("Configured. InfluxDB server measurement is {}", measurement);
 
-        Boolean enableBatchConfigured = getBooleanProperty(properties, ENABLE_BATCH);
+        Boolean enableBatchConfigured = getBooleanProperty(properties, PROP_INFLUXDB_ENABLE_BATCH);
         if (enableBatchConfigured == null) {
-            enableBatch = DEFAULT_INFLUXDB_ENABLE_BATCH;
+            enableBatch = PROP_INFLUXDB_ENABLE_BATCH_DEFAULT;
             log.info("InfluxDB server enable batch flag is " +
                     "NOT configured, default value is {}", enableBatch);
         } else {
@@ -187,9 +191,9 @@
         }
 
         Boolean enableServiceConfigured =
-                getBooleanProperty(properties, ENABLE_SERVICE);
+                getBooleanProperty(properties, PROP_INFLUXDB_ENABLE_SERVICE);
         if (enableServiceConfigured == null) {
-            enableService = DEFAULT_DISABLE;
+            enableService = PROP_INFLUXDB_ENABLE_SERVICE_DEFAULT;
             log.info("InfluxDB service enable flag is NOT " +
                     "configured, default value is {}", enableService);
         } else {