Refactor: remove code duplication for openstacktelemetry app
Change-Id: I3a97bc22e8a49ef6184876875351ebba8111e25c
(cherry picked from commit 3ed7f30db31afa7ec829a2a097e4c27ba52d8228)
diff --git a/apps/openstacktelemetry/app/src/main/java/org/onosproject/openstacktelemetry/impl/GrpcTelemetryConfigManager.java b/apps/openstacktelemetry/app/src/main/java/org/onosproject/openstacktelemetry/impl/GrpcTelemetryConfigManager.java
index 0ab2b5e..60e851e 100644
--- a/apps/openstacktelemetry/app/src/main/java/org/onosproject/openstacktelemetry/impl/GrpcTelemetryConfigManager.java
+++ b/apps/openstacktelemetry/app/src/main/java/org/onosproject/openstacktelemetry/impl/GrpcTelemetryConfigManager.java
@@ -43,6 +43,7 @@
import static org.onosproject.openstacktelemetry.api.Constants.DEFAULT_GRPC_SERVER_PORT;
import static org.onosproject.openstacktelemetry.api.Constants.DEFAULT_GRPC_USE_PLAINTEXT;
import static org.onosproject.openstacktelemetry.util.OpenstackTelemetryUtil.getBooleanProperty;
+import static org.onosproject.openstacktelemetry.util.OpenstackTelemetryUtil.initTelemetryService;
/**
* gRPC server configuration manager for publishing openstack telemetry.
@@ -108,18 +109,7 @@
@Modified
private void modified(ComponentContext context) {
readComponentConfiguration(context);
-
- if (enableService) {
- if (grpcTelemetryAdminService.isRunning()) {
- grpcTelemetryAdminService.restart(getConfig());
- } else {
- grpcTelemetryAdminService.start(getConfig());
- }
- } else {
- if (grpcTelemetryAdminService.isRunning()) {
- grpcTelemetryAdminService.stop();
- }
- }
+ initTelemetryService(grpcTelemetryAdminService, getConfig(), enableService);
log.info("Modified");
}
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 4ce3e52..52eac35 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
@@ -44,6 +44,7 @@
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.util.OpenstackTelemetryUtil.getBooleanProperty;
+import static org.onosproject.openstacktelemetry.util.OpenstackTelemetryUtil.initTelemetryService;
/**
* InfluxDB server configuration manager for publishing openstack telemetry.
@@ -124,18 +125,7 @@
@Modified
private void modified(ComponentContext context) {
readComponentConfiguration(context);
-
- if (enableService) {
- if (influxDbTelemetryAdminService.isRunning()) {
- influxDbTelemetryAdminService.restart(getConfig());
- } else {
- influxDbTelemetryAdminService.start(getConfig());
- }
- } else {
- if (influxDbTelemetryAdminService.isRunning()) {
- influxDbTelemetryAdminService.stop();
- }
- }
+ initTelemetryService(influxDbTelemetryAdminService, getConfig(), enableService);
log.info("Modified");
}
diff --git a/apps/openstacktelemetry/app/src/main/java/org/onosproject/openstacktelemetry/impl/KafkaTelemetryConfigManager.java b/apps/openstacktelemetry/app/src/main/java/org/onosproject/openstacktelemetry/impl/KafkaTelemetryConfigManager.java
index 9309c75..956e275 100644
--- a/apps/openstacktelemetry/app/src/main/java/org/onosproject/openstacktelemetry/impl/KafkaTelemetryConfigManager.java
+++ b/apps/openstacktelemetry/app/src/main/java/org/onosproject/openstacktelemetry/impl/KafkaTelemetryConfigManager.java
@@ -46,6 +46,7 @@
import static org.onosproject.openstacktelemetry.api.Constants.DEFAULT_KAFKA_SERVER_PORT;
import static org.onosproject.openstacktelemetry.api.Constants.DEFAULT_KAFKA_VALUE_SERIALIZER;
import static org.onosproject.openstacktelemetry.util.OpenstackTelemetryUtil.getBooleanProperty;
+import static org.onosproject.openstacktelemetry.util.OpenstackTelemetryUtil.initTelemetryService;
/**
* Kafka server configuration manager for publishing openstack telemetry.
@@ -137,18 +138,7 @@
@Modified
private void modified(ComponentContext context) {
readComponentConfiguration(context);
-
- if (enableService) {
- if (kafkaTelemetryAdminService.isRunning()) {
- kafkaTelemetryAdminService.restart(getConfig());
- } else {
- kafkaTelemetryAdminService.start(getConfig());
- }
- } else {
- if (kafkaTelemetryAdminService.isRunning()) {
- kafkaTelemetryAdminService.stop();
- }
- }
+ initTelemetryService(kafkaTelemetryAdminService, getConfig(), enableService);
log.info("Modified");
}
diff --git a/apps/openstacktelemetry/app/src/main/java/org/onosproject/openstacktelemetry/impl/RestTelemetryConfigManager.java b/apps/openstacktelemetry/app/src/main/java/org/onosproject/openstacktelemetry/impl/RestTelemetryConfigManager.java
index 455de34..25c7afe 100644
--- a/apps/openstacktelemetry/app/src/main/java/org/onosproject/openstacktelemetry/impl/RestTelemetryConfigManager.java
+++ b/apps/openstacktelemetry/app/src/main/java/org/onosproject/openstacktelemetry/impl/RestTelemetryConfigManager.java
@@ -43,6 +43,7 @@
import static org.onosproject.openstacktelemetry.api.Constants.DEFAULT_REST_SERVER_IP;
import static org.onosproject.openstacktelemetry.api.Constants.DEFAULT_REST_SERVER_PORT;
import static org.onosproject.openstacktelemetry.util.OpenstackTelemetryUtil.getBooleanProperty;
+import static org.onosproject.openstacktelemetry.util.OpenstackTelemetryUtil.initTelemetryService;
/**
* REST server configuration manager for publishing openstack telemetry.
@@ -118,18 +119,7 @@
@Modified
private void modified(ComponentContext context) {
readComponentConfiguration(context);
-
- if (enableService) {
- if (restTelemetryAdminService.isRunning()) {
- restTelemetryAdminService.restart(getConfig());
- } else {
- restTelemetryAdminService.start(getConfig());
- }
- } else {
- if (restTelemetryAdminService.isRunning()) {
- restTelemetryAdminService.stop();
- }
- }
+ initTelemetryService(restTelemetryAdminService, getConfig(), enableService);
log.info("Modified");
}
diff --git a/apps/openstacktelemetry/app/src/main/java/org/onosproject/openstacktelemetry/util/OpenstackTelemetryUtil.java b/apps/openstacktelemetry/app/src/main/java/org/onosproject/openstacktelemetry/util/OpenstackTelemetryUtil.java
index abc4e97..a957369 100644
--- a/apps/openstacktelemetry/app/src/main/java/org/onosproject/openstacktelemetry/util/OpenstackTelemetryUtil.java
+++ b/apps/openstacktelemetry/app/src/main/java/org/onosproject/openstacktelemetry/util/OpenstackTelemetryUtil.java
@@ -17,6 +17,8 @@
import com.google.common.base.Strings;
import org.onosproject.cfg.ConfigProperty;
+import org.onosproject.openstacktelemetry.api.TelemetryAdminService;
+import org.onosproject.openstacktelemetry.api.config.TelemetryConfig;
import java.util.Dictionary;
import java.util.Optional;
@@ -68,4 +70,27 @@
return property.map(ConfigProperty::asBoolean).orElse(false);
}
+
+ /**
+ * Initializes the telemetry service due tue configuration changes.
+ *
+ *
+ * @param adminService telemetry admin service
+ * @param config telemetry configuration
+ * @param enable service enable flag
+ */
+ public static void initTelemetryService(TelemetryAdminService adminService,
+ TelemetryConfig config, boolean enable) {
+ if (enable) {
+ if (adminService.isRunning()) {
+ adminService.restart(config);
+ } else {
+ adminService.start(config);
+ }
+ } else {
+ if (adminService.isRunning()) {
+ adminService.stop();
+ }
+ }
+ }
}