From 67ffccaf14c50d6598b87d0fca6ea6fd657cfbca Mon Sep 17 00:00:00 2001 From: Christos Tranoris <tranoris@ece.upatras.gr> Date: Sat, 11 Jan 2025 18:43:19 +0200 Subject: [PATCH] fixes for metrico events --- .../etsi/osl/metrico/services/MetricoService.java | 12 ++++++++++-- .../metrico/services/MetricoServiceRouteBuilder.java | 11 ++++------- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/src/main/java/org/etsi/osl/metrico/services/MetricoService.java b/src/main/java/org/etsi/osl/metrico/services/MetricoService.java index 00393c3..f4c3527 100644 --- a/src/main/java/org/etsi/osl/metrico/services/MetricoService.java +++ b/src/main/java/org/etsi/osl/metrico/services/MetricoService.java @@ -117,8 +117,8 @@ public class MetricoService extends RouteBuilder { rsc.addResourceSpecificationCharacteristicItemShort( "_MT_SERVICEUUID", "", EValueType.TEXT.getValue(), "Used for providing the id of the service to update", false); rsc.addResourceSpecificationCharacteristicItemShort( "_MT_END_TIME", "", EValueType.TEXT.getValue(), "Used for providing the end time", false); rsc.addResourceSpecificationCharacteristicItemShort( "_MT_START_TIME", "", EValueType.TEXT.getValue(), "Used for providing start time", false); - rsc.addResourceSpecificationCharacteristicItemShort( "_MT_RECURRING_INTERVAL", "", EValueType.TEXT.getValue(), "Used for providing the polling interval of prometheus", false); - rsc.addResourceSpecificationCharacteristicItemShort( "_MT_TYPE", "", EValueType.TEXT.getValue(), "Used for providing ", false); + rsc.addResourceSpecificationCharacteristicItemShort( "_MT_RECURRING_INTERVAL", "G_1MN", EValueType.TEXT.getValue(), "Used for providing the polling interval of prometheus", false); + rsc.addResourceSpecificationCharacteristicItemShort( "_MT_TYPE", "PROMETHEUS", EValueType.TEXT.getValue(), "Used for providing ", false); rsc.addResourceSpecificationCharacteristicItemShort( "_MT_QUERY", "", EValueType.TEXT.getValue(), "Used for providing the query towards prometheus", false); rsc.addResourceSpecificationCharacteristicItemShort( "_MT_URL", "", EValueType.TEXT.getValue(), "Used for providing the prometheus URL", false); @@ -189,6 +189,14 @@ public class MetricoService extends RouteBuilder { startPeriodicQueryToPrometheus(givenMCJ); } + + + public void startPeriodicQueryToPrometheusEvent(@NotNull MeasurementCollectionJobCreateEvent mcjevent){ + + MeasurementCollectionJob givenMCJ = retrieveMeasurementCollectionJob( mcjevent.getEvent().getMeasurementCollectionJob().getId() ); + + startPeriodicQueryToPrometheus(givenMCJ); + } public MeasurementCollectionJob retrieveMeasurementCollectionJob(String mcjId) { diff --git a/src/main/java/org/etsi/osl/metrico/services/MetricoServiceRouteBuilder.java b/src/main/java/org/etsi/osl/metrico/services/MetricoServiceRouteBuilder.java index ecd184b..9a62a49 100644 --- a/src/main/java/org/etsi/osl/metrico/services/MetricoServiceRouteBuilder.java +++ b/src/main/java/org/etsi/osl/metrico/services/MetricoServiceRouteBuilder.java @@ -8,6 +8,7 @@ import org.apache.commons.logging.LogFactory; import org.etsi.osl.tmf.pm628.model.MeasurementCollectionJob; import org.etsi.osl.tmf.pm628.model.MeasurementCollectionJobCreateEvent; import org.etsi.osl.tmf.pm628.model.MeasurementCollectionJobRef; +import org.etsi.osl.tmf.ri639.model.ResourceCreateNotification; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Configuration; @@ -36,13 +37,9 @@ public class MetricoServiceRouteBuilder extends RouteBuilder { from(EVENT_MEASUREMENT_COLLECTION_JOB_CREATE) .log(LoggingLevel.INFO, log, EVENT_MEASUREMENT_COLLECTION_JOB_CREATE + " message received!") .to("log:DEBUG?showBody=true&showHeaders=true") - .unmarshal().json(JsonLibrary.Jackson, MeasurementCollectionJobCreateEvent.class, true) - .process(exchange -> { - MeasurementCollectionJobCreateEvent event = exchange.getIn().getBody(MeasurementCollectionJobCreateEvent.class); - MeasurementCollectionJobRef jobRef = event.getEvent().getMeasurementCollectionJob(); - exchange.getIn().setBody(jobRef); - }) - .bean(metricoService, "startPeriodicQueryToPrometheusRef(${body})"); + .unmarshal() + .json(JsonLibrary.Jackson, MeasurementCollectionJobCreateEvent.class, true) + .bean(metricoService, "startPeriodicQueryToPrometheusEvent(${body})"); } -- GitLab