Commit c6a2420c authored by Christos Tranoris's avatar Christos Tranoris
Browse files

Merge branch...

Merge branch '66-tmf628-return-unfinished-measurement-collection-jobs-and-expose-them-through-the-mq' into 'develop'

Resolve "TMF628: Return unfinished Measurement Collection Jobs and expose them through the MQ"

See merge request !62
parents d755feff 8495a6ce
Loading
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -41,6 +41,9 @@ public class MeasurementCollectionJobApiRouteBuilder extends RouteBuilder {
    @Value("${PM_MEASUREMENT_COLLECTION_JOB_UPDATE}")
    private String PM_UPDATE_MEASUREMENT_COLLECTION_JOB;

    @Value("${PM_MEASUREMENT_COLLECTION_JOB_GET_INPRORGESS_OR_PENDING}")
    private String PM_MEASUREMENT_COLLECTION_JOB_GET_INPRORGESS_OR_PENDING;

    @Autowired
    private ProducerTemplate template;

@@ -58,6 +61,7 @@ public class MeasurementCollectionJobApiRouteBuilder extends RouteBuilder {
            .bean(measurementCollectionJobService, "findAllMeasurementCollectionJobs")
            .convertBodyTo( String.class );


        from(PM_MEASUREMENT_COLLECTION_GET_JOB_BY_ID)
            .log(LoggingLevel.INFO, log, PM_MEASUREMENT_COLLECTION_GET_JOB_BY_ID + " message received!")
            .to("log:DEBUG?showBody=true&showHeaders=true")
@@ -80,6 +84,12 @@ public class MeasurementCollectionJobApiRouteBuilder extends RouteBuilder {
                .bean(measurementCollectionJobService, "updateMeasurementCollectionJob(${header.mcjid}, ${body})")
                .marshal().json( JsonLibrary.Jackson)
                .convertBodyTo( String.class );

        from(PM_MEASUREMENT_COLLECTION_JOB_GET_INPRORGESS_OR_PENDING)
                .log(LoggingLevel.INFO, log, PM_MEASUREMENT_COLLECTION_JOB_GET_INPRORGESS_OR_PENDING + " message received!")
                .to("log:DEBUG?showBody=true&showHeaders=true")
                .bean(measurementCollectionJobService, "findPendingOrInProgressMeasurementCollectionJobs")
                .convertBodyTo( String.class );
    }

    static String toJsonString(Object object) throws IOException {
+7 −0
Original line number Diff line number Diff line
@@ -456,4 +456,11 @@ public class MeasurementCollectionJobService {

        routeBuilderEvents.publishEvent(event, mcj.getUuid());
    }

    public List<MeasurementCollectionJob> findPendingOrInProgressMeasurementCollectionJobs(){
        log.debug("findPendingOrInProgressMeasurementCollectionJobs");
        List<MeasurementCollectionJob> pendingOrInProgressMeasurementCollectionJobs = findAllByExecutionState(ExecutionStateType.PENDING);
        pendingOrInProgressMeasurementCollectionJobs.addAll(findAllByExecutionState(ExecutionStateType.INPROGRESS));
        return pendingOrInProgressMeasurementCollectionJobs;
    }
}
+1 −1
Original line number Diff line number Diff line
@@ -122,7 +122,7 @@ PM_MEASUREMENT_COLLECTION_JOBS_GET: "jms:queue:PM.MEASUREMENTCOLLECTIONJOBS
PM_MEASUREMENT_COLLECTION_JOB_ADD:       "jms:queue:PM.MEASUREMENTCOLLECTIONJOB.ADD"
PM_MEASUREMENT_COLLECTION_JOB_CREATED:   "jms:queue:PM.MEASUREMENTCOLLECTIONJOB.CREATED"
PM_MEASUREMENT_COLLECTION_JOB_UPDATE:    "jms:queue:PM.MEASUREMENTCOLLECTIONJOB.UPDATE"

PM_MEASUREMENT_COLLECTION_JOB_GET_INPRORGESS_OR_PENDING: "jms:queue:PM.MEASUREMENTCOLLECTIONJOB.GET_INPRORGESS_OR_PENDING"

#ALARMS
ALARMS_ADD_ALARM: "jms:queue:ALARMS.ADD.ALARM"
+1 −0
Original line number Diff line number Diff line
@@ -155,6 +155,7 @@ PM_MEASUREMENT_COLLECTION_JOBS_GET: "jms:queue:PM.MEASUREMENTCOLLECTIONJOBS
PM_MEASUREMENT_COLLECTION_JOB_ADD:       "jms:queue:PM.MEASUREMENTCOLLECTIONJOB.ADD"
PM_MEASUREMENT_COLLECTION_JOB_CREATED:   "jms:queue:PM.MEASUREMENTCOLLECTIONJOB.CREATED"
PM_MEASUREMENT_COLLECTION_JOB_UPDATE:    "jms:queue:PM.MEASUREMENTCOLLECTIONJOB.UPDATE"
PM_MEASUREMENT_COLLECTION_JOB_GET_INPRORGESS_OR_PENDING: "jms:queue:PM.MEASUREMENTCOLLECTIONJOB.GET_INPRORGESS_OR_PENDING"

#ALARMS
ALARMS_ADD_ALARM: "jms:queue:ALARMS.ADD.ALARM"
+34 −0
Original line number Diff line number Diff line
@@ -192,4 +192,38 @@ public class MeasurementCollectionJobServiceTest {

        return response;
    }

    private MeasurementCollectionJob createNewMeasurementCollectionJobWithExecutionState(int previousNumberOfMcjs, ExecutionStateType executionStateType) throws Exception {
        assertThat(measurementCollectionJobService.findAllMeasurementCollectionJobs().size()).isEqualTo(FIXED_BOOTSTRAPS_JOBS + previousNumberOfMcjs);

        File fvo = new File("src/test/resources/testMeasurementCollectionJobFVO.json");
        InputStream in = new FileInputStream(fvo);
        String mcjFVOText = IOUtils.toString(in, "UTF-8");

        MeasurementCollectionJobFVO mcjFVO = JsonUtils.toJsonObj(mcjFVOText, MeasurementCollectionJobFVO.class);
        mcjFVO.setExecutionState(executionStateType);

        MeasurementCollectionJob response = measurementCollectionJobService.createMeasurementCollectionJob(mcjFVO);

        assertThat(measurementCollectionJobService.findAllMeasurementCollectionJobs().size()).isEqualTo(FIXED_BOOTSTRAPS_JOBS + previousNumberOfMcjs + 1);

        return response;
    }

    @WithMockUser(username="osadmin", roles = {"USER","ADMIN"})
    @Test
    public void testFindPendingOrInProgressMeasurementCollectionJobs() throws Exception {
        MeasurementCollectionJob pendingMcj = createNewMeasurementCollectionJobWithExecutionState(measurementCollectionJobService.findAllMeasurementCollectionJobs().size(), ExecutionStateType.PENDING);

        int currentNumOfMcjs = measurementCollectionJobService.findAllMeasurementCollectionJobs().size();
        MeasurementCollectionJob inProgressMcj = createNewMeasurementCollectionJobWithExecutionState(currentNumOfMcjs, ExecutionStateType.INPROGRESS);


        List<MeasurementCollectionJob> ackMcjList = measurementCollectionJobService.findAllByExecutionState(ExecutionStateType.ACKNOWLEDGED);

        List<MeasurementCollectionJob> mcjList = measurementCollectionJobService.findPendingOrInProgressMeasurementCollectionJobs();


        assertThat(mcjList.size()).isEqualTo(FIXED_BOOTSTRAPS_JOBS + 2);
    }
}