Skip to content
Snippets Groups Projects
Commit 9fe493a0 authored by tranoris's avatar tranoris
Browse files

fixes for metrico

parent 107142bd
No related branches found
No related tags found
2 merge requests!59MR for Release 2024Q4,!55TMF628 fixes for METRICO
Pipeline #11083 passed
......@@ -30,7 +30,7 @@ public class MeasurementCollectionJobApiRouteBuilder extends RouteBuilder {
private String PM_GET_MEASUREMENT_COLLECTION_JOBS;
@Value("${PM_MEASUREMENT_COLLECTION_GET_JOB_BY_ID}")
private String PM_GET_MEASUREMENT_COLLECTION_JOB_BY_ID;
private String PM_MEASUREMENT_COLLECTION_GET_JOB_BY_ID;
@Value("${PM_MEASUREMENT_COLLECTION_JOB_ADD}")
private String PM_ADD_MEASUREMENT_COLLECTION_JOB;
......@@ -58,10 +58,10 @@ public class MeasurementCollectionJobApiRouteBuilder extends RouteBuilder {
.bean(measurementCollectionJobService, "findAllMeasurementCollectionJobs")
.convertBodyTo( String.class );
from(PM_GET_MEASUREMENT_COLLECTION_JOB_BY_ID)
.log(LoggingLevel.INFO, log, PM_GET_MEASUREMENT_COLLECTION_JOB_BY_ID + " message received!")
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")
.bean(measurementCollectionJobService, "findMeasurementCollectionJobByUuid")
.bean(measurementCollectionJobService, "findMeasurementCollectionJobByUuidEagerAsString")
.convertBodyTo( String.class );
from(PM_ADD_MEASUREMENT_COLLECTION_JOB)
......
......@@ -6,6 +6,7 @@ import jakarta.validation.Valid;
import org.etsi.osl.tmf.pm628.api.MeasurementCollectionJobApiRouteBuilderEvents;
import org.etsi.osl.tmf.pm628.model.*;
import org.etsi.osl.tmf.pm628.repo.MeasurementCollectionJobRepository;
import org.hibernate.Hibernate;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
......@@ -20,6 +21,9 @@ import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.nio.charset.StandardCharsets;
import java.util.*;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.datatype.hibernate5.jakarta.Hibernate5JakartaModule;
@Service
@Transactional
......@@ -277,6 +281,47 @@ public class MeasurementCollectionJobService {
return resultList;
}
@Transactional
public String findMeasurementCollectionJobByUuidEagerAsString(String uuid) throws JsonProcessingException{
MeasurementCollectionJob mcj = findMeasurementCollectionJobByUuidEager(uuid);
ObjectMapper mapper = new ObjectMapper();
mapper.registerModule(new Hibernate5JakartaModule());
String res = mapper.writeValueAsString(mcj);
return res;
}
private MeasurementCollectionJob findMeasurementCollectionJobByUuidEager(String id) {
if ( id == null || id.equals("")) {
return null;
}
Session session = sessionFactory.openSession();
Transaction tx = session.beginTransaction();
MeasurementCollectionJob s = null;
try {
s = (MeasurementCollectionJob) session.get(MeasurementCollectionJob.class, id);
if (s == null) {
return this.findMeasurementCollectionJobByUuid(id);// last resort
}
Hibernate.initialize(s.getDataAccessEndpoint() );
Hibernate.initialize(s.getFileTransferData() );
Hibernate.initialize(s.getPerformanceIndicatorGroupSpecification() );
Hibernate.initialize(s.getPerformanceIndicatorSpecification());
Hibernate.initialize(s.getScheduleDefinition() );
Hibernate.initialize(s.getTrackingRecord() );
tx.commit();
} finally {
session.close();
}
return s;
}
public MeasurementCollectionJob findMeasurementCollectionJobByUuid(String uuid){
log.debug("MeasurementCollectionJob FIND BY UUID");
Optional<MeasurementCollectionJob> measurementCollectionJob = measurementCollectionJobRepository.findByUuid(uuid);
......@@ -310,7 +355,9 @@ public class MeasurementCollectionJobService {
measurementCollectionJob = this.measurementCollectionJobRepository.save(measurementCollectionJob);
// This may be unnecessary since MeasurementCollectionJobMVO doesn't have the executionState attribute
executionStateChanged = !originalExecutionState.equals(measurementCollectionJob.getExecutionState());
if ( originalExecutionState!=null) {
executionStateChanged = !originalExecutionState.equals(measurementCollectionJob.getExecutionState());
}
if (executionStateChanged) {
raiseMCJExecutionStateChangeNotification(measurementCollectionJob);
......
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