Skip to content
Snippets Groups Projects
Commit 3e2d403a authored by tranoris's avatar tranoris
Browse files

fixes for metrico events

parent 9077c218
No related branches found
No related tags found
2 merge requests!22MR for Release 2024Q4,!19METRICO integration
Pipeline #11095 passed
...@@ -40,13 +40,10 @@ import java.util.List; ...@@ -40,13 +40,10 @@ import java.util.List;
@Component(value = "metricoOrchestrationService") //bean name @Component(value = "metricoOrchestrationService") //bean name
public class MetricoOrchestrationService implements JavaDelegate { public class MetricoOrchestrationService implements JavaDelegate {
private static final transient Log logger = LogFactory.getLog(NFVOrchestrationService.class.getName()); private static final transient Log logger = LogFactory.getLog(MetricoOrchestrationService.class.getName());
@Autowired
private ProducerTemplate producerTemplate;
@Value("{PM_MEASUREMENT_COLLECTION_JOB_ADD}")
private String PM_MEASUREMENT_COLLECTION_JOB_ADD = "";
@Value("${spring.application.name}") @Value("${spring.application.name}")
private String compname; private String compname;
...@@ -71,20 +68,23 @@ public class MetricoOrchestrationService implements JavaDelegate { ...@@ -71,20 +68,23 @@ public class MetricoOrchestrationService implements JavaDelegate {
Characteristic serviceCharacteristic; Characteristic serviceCharacteristic;
MeasurementCollectionJobFVO mcjFVO = new MeasurementCollectionJobFVO(); MeasurementCollectionJobFVO mcjFVO = new MeasurementCollectionJobFVO();
mcjFVO.setCreationTime( OffsetDateTime.now());
mcjFVO.setLastModifiedTime( OffsetDateTime.now());
mcjFVO.setProducingApplicationId(aService.getId()); mcjFVO.setProducingApplicationId(aService.getId());
serviceCharacteristic = aService.getServiceCharacteristicByName("_MT_CHARACTERISTIC_NAME"); serviceCharacteristic = aService.getServiceCharacteristicByName("_MT_CHARACTERISTIC_NAME");
String characteristicName = String.valueOf(serviceCharacteristic.getValue()); String characteristicName = String.valueOf(serviceCharacteristic.getValue().getValue());
mcjFVO.setOutputFormat(characteristicName); mcjFVO.setOutputFormat(characteristicName);
serviceCharacteristic = aService.getServiceCharacteristicByName("_MT_SERVICEUUID"); serviceCharacteristic = aService.getServiceCharacteristicByName("_MT_SERVICEUUID");
String cfs_id = String.valueOf(serviceCharacteristic.getValue()); String cfs_id = String.valueOf(serviceCharacteristic.getValue().getValue());
mcjFVO.setConsumingApplicationId(cfs_id); mcjFVO.setConsumingApplicationId(cfs_id);
serviceCharacteristic = aService.getServiceCharacteristicByName("_MT_END_TIME"); serviceCharacteristic = aService.getServiceCharacteristicByName("_MT_END_TIME");
String endTimeString = String.valueOf(serviceCharacteristic.getValue()); String endTimeString = String.valueOf(serviceCharacteristic.getValue().getValue());
ScheduleDefinitionFVO scheduleDefinition = new ScheduleDefinitionFVO(); ScheduleDefinitionFVO scheduleDefinition = new ScheduleDefinitionFVO();
if (endTimeString != null) { if (endTimeString != null && !endTimeString.equals("")) {
OffsetDateTime endTime = convertStringToOffsetDateTime(endTimeString, DateTimeFormat.ISO.DATE_TIME ); OffsetDateTime endTime = convertStringToOffsetDateTime(endTimeString, DateTimeFormat.ISO.DATE_TIME );
scheduleDefinition.setScheduleDefinitionEndTime(endTime); scheduleDefinition.setScheduleDefinitionEndTime(endTime);
} else{ } else{
...@@ -93,8 +93,8 @@ public class MetricoOrchestrationService implements JavaDelegate { ...@@ -93,8 +93,8 @@ public class MetricoOrchestrationService implements JavaDelegate {
} }
serviceCharacteristic = aService.getServiceCharacteristicByName("_MT_START_TIME"); serviceCharacteristic = aService.getServiceCharacteristicByName("_MT_START_TIME");
String startTimeString = String.valueOf(serviceCharacteristic.getValue()); String startTimeString = String.valueOf(serviceCharacteristic.getValue().getValue());
if (startTimeString != null) { if (startTimeString != null&& !startTimeString.equals("")) {
OffsetDateTime startTime = convertStringToOffsetDateTime(startTimeString, DateTimeFormat.ISO.DATE_TIME ); OffsetDateTime startTime = convertStringToOffsetDateTime(startTimeString, DateTimeFormat.ISO.DATE_TIME );
scheduleDefinition.setScheduleDefinitionStartTime(startTime); scheduleDefinition.setScheduleDefinitionStartTime(startTime);
} else{ } else{
...@@ -106,10 +106,10 @@ public class MetricoOrchestrationService implements JavaDelegate { ...@@ -106,10 +106,10 @@ public class MetricoOrchestrationService implements JavaDelegate {
mcjFVO.setScheduleDefinition(scheduleDefinitions); mcjFVO.setScheduleDefinition(scheduleDefinitions);
serviceCharacteristic = aService.getServiceCharacteristicByName("_MT_RECURRING_INTERVAL"); serviceCharacteristic = aService.getServiceCharacteristicByName("_MT_RECURRING_INTERVAL");
String recurringIntervalString = String.valueOf(serviceCharacteristic.getValue()); String recurringIntervalString = String.valueOf(serviceCharacteristic.getValue().getValue());
if (recurringIntervalString != null) { if (recurringIntervalString != null) {
if (Granularity.contains(recurringIntervalString)){ if (Granularity.contains(recurringIntervalString)){
Granularity recurringInterval = Granularity.valueOf(recurringIntervalString); Granularity recurringInterval = Granularity.valueOf(recurringIntervalString.toUpperCase());
mcjFVO.setGranularity(recurringInterval); mcjFVO.setGranularity(recurringInterval);
} else { } else {
logger.error("Invalid _MT_RECURRING_INTERVAL value. Valid values are:" + Granularity.getPossibleValues() + " It will be set to 1 minute."); logger.error("Invalid _MT_RECURRING_INTERVAL value. Valid values are:" + Granularity.getPossibleValues() + " It will be set to 1 minute.");
...@@ -122,14 +122,14 @@ public class MetricoOrchestrationService implements JavaDelegate { ...@@ -122,14 +122,14 @@ public class MetricoOrchestrationService implements JavaDelegate {
} }
serviceCharacteristic = aService.getServiceCharacteristicByName("_MT_TYPE"); serviceCharacteristic = aService.getServiceCharacteristicByName("_MT_TYPE");
String monitoringType = String.valueOf(serviceCharacteristic.getValue()); String monitoringType = String.valueOf(serviceCharacteristic.getValue().getValue());
DataAccessEndpointFVO dataAccessEndpoint = new DataAccessEndpointFVO(); DataAccessEndpointFVO dataAccessEndpoint = new DataAccessEndpointFVO();
dataAccessEndpoint.setApiType(monitoringType); dataAccessEndpoint.setApiType(monitoringType);
serviceCharacteristic = aService.getServiceCharacteristicByName("_MT_QUERY"); serviceCharacteristic = aService.getServiceCharacteristicByName("_MT_QUERY");
String monitoringQuery = String.valueOf(serviceCharacteristic.getValue()); String monitoringQuery = String.valueOf(serviceCharacteristic.getValue().getValue());
serviceCharacteristic = aService.getServiceCharacteristicByName("_MT_URL"); serviceCharacteristic = aService.getServiceCharacteristicByName("_MT_URL");
String monitoringURL = String.valueOf(serviceCharacteristic.getValue()); String monitoringURL = String.valueOf(serviceCharacteristic.getValue().getValue());
try { try {
URI monitoringURI = createUri(monitoringURL, monitoringQuery); URI monitoringURI = createUri(monitoringURL, monitoringQuery);
dataAccessEndpoint.setUri(monitoringURI); dataAccessEndpoint.setUri(monitoringURI);
...@@ -141,7 +141,7 @@ public class MetricoOrchestrationService implements JavaDelegate { ...@@ -141,7 +141,7 @@ public class MetricoOrchestrationService implements JavaDelegate {
dataAccessEndpoints.add(dataAccessEndpoint); dataAccessEndpoints.add(dataAccessEndpoint);
mcjFVO.setDataAccessEndpoint(dataAccessEndpoints); mcjFVO.setDataAccessEndpoint(dataAccessEndpoints);
MeasurementCollectionJob mcj = addMeasurementCollectionJob(mcjFVO); MeasurementCollectionJob mcj = serviceOrderManager.addMeasurementCollectionJob(mcjFVO);
if (mcj != null){ if (mcj != null){
...@@ -159,12 +159,14 @@ public class MetricoOrchestrationService implements JavaDelegate { ...@@ -159,12 +159,14 @@ public class MetricoOrchestrationService implements JavaDelegate {
successNoteItem.setDate(OffsetDateTime.now(ZoneOffset.UTC).toString()); successNoteItem.setDate(OffsetDateTime.now(ZoneOffset.UTC).toString());
successNoteItem.setAuthor(compname); successNoteItem.setAuthor(compname);
su.addNoteItem(successNoteItem); su.addNoteItem(successNoteItem);
Service supd = serviceOrderManager.updateService(aService.getId(), su, false);
} else { } else {
logger.error("Measurement Collection Job was not created."); logger.error("Measurement Collection Job was not created.");
su.setState(ServiceStateType.TERMINATED);
} }
Service supd = serviceOrderManager.updateService(aService.getId(), su, false);
} }
...@@ -221,24 +223,6 @@ public class MetricoOrchestrationService implements JavaDelegate { ...@@ -221,24 +223,6 @@ public class MetricoOrchestrationService implements JavaDelegate {
} }
} }
public MeasurementCollectionJob addMeasurementCollectionJob(MeasurementCollectionJobFVO mcjFVO) {
logger.debug("Will create a new Measurement Collection Job");
try {
Object response = producerTemplate.
requestBody( PM_MEASUREMENT_COLLECTION_JOB_ADD, mcjFVO);
if ( !(response instanceof String)) {
logger.error("Measurement Collection Job object is wrong.");
return null;
}
logger.debug("retrieveMeasurementCollectionJobById response is: " + response);
MeasurementCollectionJob mcj = toJsonObj( (String)response, MeasurementCollectionJob.class);
return mcj;
}catch (Exception e) {
logger.error("Cannot create a new Measurement Collection Job. " + e.toString());
}
return null;
}
/** /**
......
...@@ -35,6 +35,8 @@ import org.etsi.osl.model.nfv.DeploymentDescriptor; ...@@ -35,6 +35,8 @@ import org.etsi.osl.model.nfv.DeploymentDescriptor;
import org.etsi.osl.model.nfv.NetworkServiceDescriptor; import org.etsi.osl.model.nfv.NetworkServiceDescriptor;
import org.etsi.osl.model.nfv.ScaleDescriptor; import org.etsi.osl.model.nfv.ScaleDescriptor;
import org.etsi.osl.osom.serviceactions.NSActionRequestPayload; import org.etsi.osl.osom.serviceactions.NSActionRequestPayload;
import org.etsi.osl.tmf.pm628.model.MeasurementCollectionJob;
import org.etsi.osl.tmf.pm628.model.MeasurementCollectionJobFVO;
import org.etsi.osl.tmf.pm632.model.Organization; import org.etsi.osl.tmf.pm632.model.Organization;
import org.etsi.osl.tmf.rcm634.model.LogicalResourceSpecification; import org.etsi.osl.tmf.rcm634.model.LogicalResourceSpecification;
import org.etsi.osl.tmf.rcm634.model.ResourceSpecification; import org.etsi.osl.tmf.rcm634.model.ResourceSpecification;
...@@ -194,7 +196,11 @@ public class ServiceOrderManager { ...@@ -194,7 +196,11 @@ public class ServiceOrderManager {
@Value("${CATALOG_GET_RESOURCESPEC_BY_ID}") @Value("${CATALOG_GET_RESOURCESPEC_BY_ID}")
private String CATALOG_GET_RESOURCESPEC_BY_ID = ""; private String CATALOG_GET_RESOURCESPEC_BY_ID = "";
@Value("${PM_MEASUREMENT_COLLECTION_JOB_ADD}")
private String PM_MEASUREMENT_COLLECTION_JOB_ADD = "";
@Transactional @Transactional
public void processOrder(ServiceOrder serviceOrder) { public void processOrder(ServiceOrder serviceOrder) {
...@@ -1141,6 +1147,27 @@ public class ServiceOrderManager { ...@@ -1141,6 +1147,27 @@ public class ServiceOrderManager {
return null; return null;
} }
public MeasurementCollectionJob addMeasurementCollectionJob(MeasurementCollectionJobFVO mcjFVO) {
logger.debug("Will create a new Measurement Collection Job");
try {
Object response = template.
requestBody( PM_MEASUREMENT_COLLECTION_JOB_ADD, toJsonString(mcjFVO));
if ( !(response instanceof String)) {
logger.error("Measurement Collection Job object is wrong.");
return null;
}
logger.debug("retrieveMeasurementCollectionJobById response is: " + response);
MeasurementCollectionJob mcj = toJsonObj( (String)response, MeasurementCollectionJob.class);
return mcj;
}catch (Exception e) {
logger.error("Cannot create a new Measurement Collection Job. " + e.toString());
}
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