diff --git a/src/main/java/org/etsi/osl/metrico/mapper/JobMapper.java b/src/main/java/org/etsi/osl/metrico/mapper/JobMapper.java index b42468db1341c087c7c33fad4885b6bdac6c9e4f..13083ede4f345ad6f03595e8e68ca0fa827c394d 100644 --- a/src/main/java/org/etsi/osl/metrico/mapper/JobMapper.java +++ b/src/main/java/org/etsi/osl/metrico/mapper/JobMapper.java @@ -8,6 +8,8 @@ import org.etsi.osl.tmf.pm628.model.MeasurementCollectionJob; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.time.OffsetDateTime; +import java.time.ZoneOffset; import java.util.UUID; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -61,6 +63,20 @@ public class JobMapper { job.setEndDateTime(measurementCollectionJob.getScheduleDefinition().get(0).getScheduleDefinitionEndTime()); } + if (job.getStartDateTime() == null) { + job.setStartDateTime(OffsetDateTime.now()); + } else if (job.getEndDateTime().getOffset() != ZoneOffset.UTC) { + OffsetDateTime startDateTimeUTC = job.getStartDateTime().withOffsetSameInstant(ZoneOffset.UTC); + job.setStartDateTime(startDateTimeUTC); + } + + if (job.getEndDateTime() == null) { + job.setEndDateTime(job.getStartDateTime().plusHours(1)); + } else if (job.getEndDateTime().getOffset() != ZoneOffset.UTC) { + OffsetDateTime endDateTimeUTC = job.getEndDateTime().withOffsetSameInstant(ZoneOffset.UTC); + job.setEndDateTime(endDateTimeUTC); + } + if (measurementCollectionJob.getGranularity() != null){ Granularity granularity = measurementCollectionJob.getGranularity(); diff --git a/src/main/java/org/etsi/osl/metrico/prometheus/PrometheusQueries.java b/src/main/java/org/etsi/osl/metrico/prometheus/PrometheusQueries.java index 71c9a6c4b2e48ad046cb6395ef3b59e786328a80..95491d7d8041e7060548353669bc8f13b4ca7673 100644 --- a/src/main/java/org/etsi/osl/metrico/prometheus/PrometheusQueries.java +++ b/src/main/java/org/etsi/osl/metrico/prometheus/PrometheusQueries.java @@ -19,6 +19,7 @@ import reactor.core.publisher.Mono; import java.time.Duration; import java.time.OffsetDateTime; +import java.time.ZoneOffset; import java.util.concurrent.TimeUnit; @Component @@ -90,12 +91,8 @@ public class PrometheusQueries { public Job startPeriodicQuery(String prometheusUrl, String query, final Job ajob, MeasurementCollectionJob mcj) { Job job = ajob; - if (job.getStartDateTime() == null) { - job.setStartDateTime(OffsetDateTime.now()); - } - if (job.getEndDateTime() == null) { - job.setEndDateTime(job.getStartDateTime().plusHours(1)); - } + + if (job.getExecutionInterval() == null) { job.setExecutionInterval(180); } diff --git a/src/test/java/org/etsi/osl/metrico/prometheus/PrometheusQueriesTest.java b/src/test/java/org/etsi/osl/metrico/prometheus/PrometheusQueriesTest.java index 1d0677e15e104b0a3a6379e3d558fbdd81a7381d..066e18c797f44a1a7911d2339d62dd22e29b70f3 100644 --- a/src/test/java/org/etsi/osl/metrico/prometheus/PrometheusQueriesTest.java +++ b/src/test/java/org/etsi/osl/metrico/prometheus/PrometheusQueriesTest.java @@ -45,8 +45,6 @@ class PrometheusQueriesTest { @Test void testStartPeriodicQuery_SetsDefaultsAndSchedulesJob() { Job job = new Job(); - job.setStartDateTime(null); - job.setEndDateTime(null); job.setExecutionInterval(null); MeasurementCollectionJob mcj = new MeasurementCollectionJob(); @@ -58,8 +56,6 @@ class PrometheusQueriesTest { Job result = prometheusQueries.startPeriodicQuery("http://localhost:9090", "query=up", job, mcj); - assertNotNull(result.getStartDateTime()); - assertNotNull(result.getEndDateTime()); assertNotNull(result.getExecutionInterval()); assertEquals(ExecutionStateType.INPROGRESS, result.getState()); }