[ONOS-7683] Initial implementation of openstack telemetry service
Change-Id: I621bed9cff108af194998b7a1e8269a9a6ffd32c
diff --git a/apps/openstacktelemetry/app/src/main/java/org/onosproject/openstacktelemetry/impl/RestTelemetryManager.java b/apps/openstacktelemetry/app/src/main/java/org/onosproject/openstacktelemetry/impl/RestTelemetryManager.java
index 6f5710b..78dd101 100644
--- a/apps/openstacktelemetry/app/src/main/java/org/onosproject/openstacktelemetry/impl/RestTelemetryManager.java
+++ b/apps/openstacktelemetry/app/src/main/java/org/onosproject/openstacktelemetry/impl/RestTelemetryManager.java
@@ -18,7 +18,10 @@
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.openstacktelemetry.api.OpenstackTelemetryService;
import org.onosproject.openstacktelemetry.api.RestTelemetryAdminService;
import org.onosproject.openstacktelemetry.api.config.RestTelemetryConfig;
import org.onosproject.openstacktelemetry.api.config.TelemetryConfig;
@@ -44,17 +47,26 @@
private static final String POST_METHOD = "POST";
private static final String GET_METHOD = "GET";
+ @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
+ protected OpenstackTelemetryService openstackTelemetryService;
+
private WebTarget target = null;
private RestTelemetryConfig restConfig = null;
@Activate
protected void activate() {
+
+ openstackTelemetryService.addTelemetryService(this);
+
log.info("Started");
}
@Deactivate
protected void deactivate() {
stop();
+
+ openstackTelemetryService.removeTelemetryService(this);
+
log.info("Stopped");
}
@@ -119,6 +131,12 @@
@Override
public Response publish(String record) {
+
+ if (target == null) {
+ log.warn("REST telemetry service has not been enabled!");
+ return null;
+ }
+
switch (restConfig.method()) {
case POST_METHOD:
return target.request(restConfig.requestMediaType())
@@ -129,4 +147,9 @@
return null;
}
}
+
+ @Override
+ public boolean isRunning() {
+ return target != null;
+ }
}