Skip to content
Snippets Groups Projects
Commit 4d576274 authored by George Tziavas's avatar George Tziavas
Browse files

Added a new FindPendingOrInProgressMeasurementCollectionJobs, and exposed it throught the MQ

parent d755feff
No related branches found
No related tags found
1 merge request!62Resolve "TMF628: Return unfinished Measurement Collection Jobs and expose them through the MQ"
Pipeline #13081 failed
......@@ -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,8 @@ public class MeasurementCollectionJobApiRouteBuilder extends RouteBuilder {
.bean(measurementCollectionJobService, "findAllMeasurementCollectionJobs")
.convertBodyTo( String.class );
// I think this does not work!!
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 +85,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 {
......
......@@ -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;
}
}
......@@ -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"
......
......@@ -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);
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment