Commit b74ae236 authored by Kostis Trantzas's avatar Kostis Trantzas
Browse files

Merge branch '12-_mt_start_time-and-_mt_end_time-can-use-local-timezone' into 'develop'

Resolve "_MT_START_TIME and _MT_END_TIME can use local timezone"

See merge request !9
parents 74d71160 7098c16e
Loading
Loading
Loading
Loading
Loading
+16 −0
Original line number Diff line number Diff line
@@ -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();
+3 −6
Original line number Diff line number Diff line
@@ -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);
        }
+0 −4
Original line number Diff line number Diff line
@@ -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());
    }