Skip to content
Snippets Groups Projects
Commit 8dfaaecd authored by trantzas's avatar trantzas
Browse files

Merge branch 'tmf628' into 'develop'

TMF628 fixes for METRICO

See merge request !55
parents 107142bd 983bb4fd
No related branches found
No related tags found
2 merge requests!59MR for Release 2024Q4,!55TMF628 fixes for METRICO
Pipeline #11106 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,17 +58,19 @@ 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)
.log(LoggingLevel.INFO, log, PM_ADD_MEASUREMENT_COLLECTION_JOB + " message received!")
.to("log:DEBUG?showBody=true&showHeaders=true").unmarshal()
.to("log:DEBUG?showBody=true&showHeaders=true")
.unmarshal()
.json(JsonLibrary.Jackson, MeasurementCollectionJobFVO.class, true)
.bean(measurementCollectionJobService, "createMeasurementCollectionJob(${body})")
.marshal().json( JsonLibrary.Jackson)
.convertBodyTo( String.class );
from(PM_UPDATE_MEASUREMENT_COLLECTION_JOB)
......@@ -76,6 +78,7 @@ public class MeasurementCollectionJobApiRouteBuilder extends RouteBuilder {
.to("log:DEBUG?showBody=true&showHeaders=true").unmarshal()
.json(JsonLibrary.Jackson, MeasurementCollectionJobMVO.class, true)
.bean(measurementCollectionJobService, "updateMeasurementCollectionJob(${header.mcjid}, ${body})")
.marshal().json( JsonLibrary.Jackson)
.convertBodyTo( String.class );
}
......
......@@ -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);
......@@ -337,6 +384,8 @@ public class MeasurementCollectionJobService {
MeasurementCollectionJobRef ref = new MeasurementCollectionJobRef();
ref.setId(mcj.getUuid());
ref.setHref(mcj.getHref());
ref.setName("MeasurementCollectionJob");
MeasurementCollectionJobCreateEventPayload payload = new MeasurementCollectionJobCreateEventPayload();
payload.setMeasurementCollectionJob(ref);
......
......@@ -866,7 +866,7 @@ public class ServiceRepoService {
return res;
}
@Transactional
public Service getServiceEager(String id) {
if ( id == null || id.equals("")) {
return null;
......
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