Refactor: remove code duplication for openstacktelemetry app
Change-Id: I3a97bc22e8a49ef6184876875351ebba8111e25c
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();
+ }
+ }
+ }
}