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 00393c372f8a87b6b86cc8b1e4003c6260bc9778..f4c35278ce35abd1636c21dd40a39539c045ca0c 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 ecd184b2d8cea74dac3734cd5fb2d4ddd02bd915..9a62a499356766a8d218f18818e3e266955c1d0c 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})"); }