Loading .gitignore +1 −0 Original line number Diff line number Diff line Loading @@ -2,3 +2,4 @@ .project .classpath /.settings /.bpmn No newline at end of file Dockerfile +3 −3 Original line number Diff line number Diff line Loading @@ -2,7 +2,7 @@ FROM ibm-semeru-runtimes:open-17.0.7_7-jdk MAINTAINER openslice.io RUN mkdir /opt/shareclasses RUN mkdir -p /opt/openslice/lib/ COPY target/org.etsi.osl.osom-1.1.0.jar /opt/openslice/lib/ COPY target/org.etsi.osl.osom-1.1.0-exec.jar /opt/openslice/lib/ COPY target/org.etsi.osl.osom-1.2.0.jar /opt/openslice/lib/ COPY target/org.etsi.osl.osom-1.2.0-exec.jar /opt/openslice/lib/ COPY . /opt/openslice/lib/ CMD ["java", "-Xshareclasses:cacheDir=/opt/shareclasses","-jar", "/opt/openslice/lib/org.etsi.osl.osom-1.1.0-exec.jar"] No newline at end of file CMD ["java", "-Xshareclasses:cacheDir=/opt/shareclasses","-jar", "/opt/openslice/lib/org.etsi.osl.osom-1.2.0-exec.jar"] No newline at end of file pom.xml +1 −1 Original line number Diff line number Diff line Loading @@ -5,7 +5,7 @@ <parent> <groupId>org.etsi.osl</groupId> <artifactId>org.etsi.osl.main</artifactId> <version>2024Q4</version> <version>2025Q2</version> <relativePath>../org.etsi.osl.main</relativePath> </parent> Loading src/main/java/org/etsi/osl/osom/lcm/LcmBaseExecutor.java +28 −8 Original line number Diff line number Diff line package org.etsi.osl.osom.lcm; import java.io.File; import java.io.IOException; import java.time.LocalDate; import java.time.LocalTime; import java.time.OffsetDateTime; import java.time.ZoneOffset; import java.util.ArrayList; Loading @@ -11,15 +14,20 @@ import java.util.function.Consumer; import javax.net.ssl.SSLException; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.exc.StreamWriteException; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.core.util.DefaultPrettyPrinter; import com.fasterxml.jackson.databind.DatabindException; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; import com.fasterxml.jackson.databind.node.ArrayNode; import com.jayway.jsonpath.Configuration; import com.jayway.jsonpath.JsonPath; import com.jayway.jsonpath.Option; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.commons.text.StringEscapeUtils; import org.etsi.osl.osom.partnerservices.GenericClient; import org.etsi.osl.tmf.common.model.Any; import org.etsi.osl.tmf.common.model.EValueType; Loading Loading @@ -126,7 +134,7 @@ public abstract class LcmBaseExecutor { } private Optional<Characteristic> getCharacteristicByName(String charName) { protected Optional<Characteristic> getCharacteristicByName(String charName) { List<Characteristic> serviceCharacteristic; if (lcmspec.getLcmrulephase().equals("PRE_PROVISION") || this.vars.getService() == null) { Loading Loading @@ -225,20 +233,32 @@ public abstract class LcmBaseExecutor { return -1; } public String getCharValAsString(String charName) { logger.debug("getCharValAsString " + charName); Optional<Characteristic> c = getCharacteristicByName(charName); Optional<Characteristic> characteristic = getCharacteristicByName(charName); if (c.isPresent()) { logger.debug("getCharValAsString " + c.get().getValue().getValue()); return c.get().getValue().getValue(); logger.info("Getting characteristic value as a string..."); if (characteristic.isPresent()) { return characteristic.get().getValue().getValue(); } return null; } logger.debug("getCharValAsString NULL "); public String escapeText(String s) { if (s == null || s.isEmpty()) { logger.debug("escapeText NULL "); return null; } logger.info("Escaping string..."); return "\"" + StringEscapeUtils.escapeJava(s) + "\""; } public Boolean getCharValFromBooleanType(String charName) { logger.debug("getCharValFromBooleanType " + charName); Optional<Characteristic> c = getCharacteristicByName(charName); Loading src/main/java/org/etsi/osl/osom/management/MetricoOrchestrationService.java +18 −19 Original line number Diff line number Diff line Loading @@ -81,25 +81,16 @@ public class MetricoOrchestrationService implements JavaDelegate { String cfs_id = String.valueOf(serviceCharacteristic.getValue().getValue()); mcjFVO.setConsumingApplicationId(cfs_id); serviceCharacteristic = aService.getServiceCharacteristicByName("_MT_END_TIME"); String endTimeString = String.valueOf(serviceCharacteristic.getValue().getValue()); ScheduleDefinitionFVO scheduleDefinition = new ScheduleDefinitionFVO(); if (endTimeString != null && !endTimeString.equals("")) { OffsetDateTime endTime = convertStringToOffsetDateTime(endTimeString, DateTimeFormat.ISO.DATE_TIME ); scheduleDefinition.setScheduleDefinitionEndTime(endTime); if(aService.getStartDate() != null) { scheduleDefinition.setScheduleDefinitionStartTime(aService.getStartDate()); } else { OffsetDateTime endTime = OffsetDateTime.now().plusHours(1); scheduleDefinition.setScheduleDefinitionEndTime(endTime); scheduleDefinition.setScheduleDefinitionStartTime(OffsetDateTime.now(ZoneOffset.UTC)); } serviceCharacteristic = aService.getServiceCharacteristicByName("_MT_START_TIME"); String startTimeString = String.valueOf(serviceCharacteristic.getValue().getValue()); if (startTimeString != null&& !startTimeString.equals("")) { OffsetDateTime startTime = convertStringToOffsetDateTime(startTimeString, DateTimeFormat.ISO.DATE_TIME ); scheduleDefinition.setScheduleDefinitionStartTime(startTime); if(aService.getEndDate() != null) { scheduleDefinition.setScheduleDefinitionEndTime(aService.getEndDate()); } else { OffsetDateTime startTime = OffsetDateTime.now(); scheduleDefinition.setScheduleDefinitionStartTime(startTime); scheduleDefinition.setScheduleDefinitionEndTime(OffsetDateTime.now(ZoneOffset.UTC).plusHours(1)); } List<ScheduleDefinitionFVO> scheduleDefinitions = new ArrayList<>(); scheduleDefinitions.add(scheduleDefinition); Loading Loading @@ -161,7 +152,7 @@ public class MetricoOrchestrationService implements JavaDelegate { su = new ServiceUpdate();// the object to update the service MeasurementCollectionJob mcj = serviceOrderManager.addMeasurementCollectionJob(mcjFVO); if (mcj != null){ logger.info("Measurement Collection Job was not created."); logger.info("Measurement Collection Job was created."); serviceCharacteristic = new Characteristic(); serviceCharacteristic.setName( "_MT_MCJ_REFID" ); Loading @@ -172,6 +163,14 @@ public class MetricoOrchestrationService implements JavaDelegate { serviceCharacteristic.setValue(val); su.addServiceCharacteristicItem(serviceCharacteristic); MeasurementCollectionJobMVO mcjMVO = new MeasurementCollectionJobMVO(); mcjMVO.setExecutionState(ExecutionStateType.ACKNOWLEDGED); try { serviceOrderManager.updateMeasurementCollectionJobById(mcj.getUuid(), mcjMVO); } catch (IOException e) { throw new RuntimeException(e); } } else { logger.error("Measurement Collection Job was not created."); su.setState(ServiceStateType.TERMINATED); Loading Loading
.gitignore +1 −0 Original line number Diff line number Diff line Loading @@ -2,3 +2,4 @@ .project .classpath /.settings /.bpmn No newline at end of file
Dockerfile +3 −3 Original line number Diff line number Diff line Loading @@ -2,7 +2,7 @@ FROM ibm-semeru-runtimes:open-17.0.7_7-jdk MAINTAINER openslice.io RUN mkdir /opt/shareclasses RUN mkdir -p /opt/openslice/lib/ COPY target/org.etsi.osl.osom-1.1.0.jar /opt/openslice/lib/ COPY target/org.etsi.osl.osom-1.1.0-exec.jar /opt/openslice/lib/ COPY target/org.etsi.osl.osom-1.2.0.jar /opt/openslice/lib/ COPY target/org.etsi.osl.osom-1.2.0-exec.jar /opt/openslice/lib/ COPY . /opt/openslice/lib/ CMD ["java", "-Xshareclasses:cacheDir=/opt/shareclasses","-jar", "/opt/openslice/lib/org.etsi.osl.osom-1.1.0-exec.jar"] No newline at end of file CMD ["java", "-Xshareclasses:cacheDir=/opt/shareclasses","-jar", "/opt/openslice/lib/org.etsi.osl.osom-1.2.0-exec.jar"] No newline at end of file
pom.xml +1 −1 Original line number Diff line number Diff line Loading @@ -5,7 +5,7 @@ <parent> <groupId>org.etsi.osl</groupId> <artifactId>org.etsi.osl.main</artifactId> <version>2024Q4</version> <version>2025Q2</version> <relativePath>../org.etsi.osl.main</relativePath> </parent> Loading
src/main/java/org/etsi/osl/osom/lcm/LcmBaseExecutor.java +28 −8 Original line number Diff line number Diff line package org.etsi.osl.osom.lcm; import java.io.File; import java.io.IOException; import java.time.LocalDate; import java.time.LocalTime; import java.time.OffsetDateTime; import java.time.ZoneOffset; import java.util.ArrayList; Loading @@ -11,15 +14,20 @@ import java.util.function.Consumer; import javax.net.ssl.SSLException; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.exc.StreamWriteException; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.core.util.DefaultPrettyPrinter; import com.fasterxml.jackson.databind.DatabindException; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; import com.fasterxml.jackson.databind.node.ArrayNode; import com.jayway.jsonpath.Configuration; import com.jayway.jsonpath.JsonPath; import com.jayway.jsonpath.Option; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.commons.text.StringEscapeUtils; import org.etsi.osl.osom.partnerservices.GenericClient; import org.etsi.osl.tmf.common.model.Any; import org.etsi.osl.tmf.common.model.EValueType; Loading Loading @@ -126,7 +134,7 @@ public abstract class LcmBaseExecutor { } private Optional<Characteristic> getCharacteristicByName(String charName) { protected Optional<Characteristic> getCharacteristicByName(String charName) { List<Characteristic> serviceCharacteristic; if (lcmspec.getLcmrulephase().equals("PRE_PROVISION") || this.vars.getService() == null) { Loading Loading @@ -225,20 +233,32 @@ public abstract class LcmBaseExecutor { return -1; } public String getCharValAsString(String charName) { logger.debug("getCharValAsString " + charName); Optional<Characteristic> c = getCharacteristicByName(charName); Optional<Characteristic> characteristic = getCharacteristicByName(charName); if (c.isPresent()) { logger.debug("getCharValAsString " + c.get().getValue().getValue()); return c.get().getValue().getValue(); logger.info("Getting characteristic value as a string..."); if (characteristic.isPresent()) { return characteristic.get().getValue().getValue(); } return null; } logger.debug("getCharValAsString NULL "); public String escapeText(String s) { if (s == null || s.isEmpty()) { logger.debug("escapeText NULL "); return null; } logger.info("Escaping string..."); return "\"" + StringEscapeUtils.escapeJava(s) + "\""; } public Boolean getCharValFromBooleanType(String charName) { logger.debug("getCharValFromBooleanType " + charName); Optional<Characteristic> c = getCharacteristicByName(charName); Loading
src/main/java/org/etsi/osl/osom/management/MetricoOrchestrationService.java +18 −19 Original line number Diff line number Diff line Loading @@ -81,25 +81,16 @@ public class MetricoOrchestrationService implements JavaDelegate { String cfs_id = String.valueOf(serviceCharacteristic.getValue().getValue()); mcjFVO.setConsumingApplicationId(cfs_id); serviceCharacteristic = aService.getServiceCharacteristicByName("_MT_END_TIME"); String endTimeString = String.valueOf(serviceCharacteristic.getValue().getValue()); ScheduleDefinitionFVO scheduleDefinition = new ScheduleDefinitionFVO(); if (endTimeString != null && !endTimeString.equals("")) { OffsetDateTime endTime = convertStringToOffsetDateTime(endTimeString, DateTimeFormat.ISO.DATE_TIME ); scheduleDefinition.setScheduleDefinitionEndTime(endTime); if(aService.getStartDate() != null) { scheduleDefinition.setScheduleDefinitionStartTime(aService.getStartDate()); } else { OffsetDateTime endTime = OffsetDateTime.now().plusHours(1); scheduleDefinition.setScheduleDefinitionEndTime(endTime); scheduleDefinition.setScheduleDefinitionStartTime(OffsetDateTime.now(ZoneOffset.UTC)); } serviceCharacteristic = aService.getServiceCharacteristicByName("_MT_START_TIME"); String startTimeString = String.valueOf(serviceCharacteristic.getValue().getValue()); if (startTimeString != null&& !startTimeString.equals("")) { OffsetDateTime startTime = convertStringToOffsetDateTime(startTimeString, DateTimeFormat.ISO.DATE_TIME ); scheduleDefinition.setScheduleDefinitionStartTime(startTime); if(aService.getEndDate() != null) { scheduleDefinition.setScheduleDefinitionEndTime(aService.getEndDate()); } else { OffsetDateTime startTime = OffsetDateTime.now(); scheduleDefinition.setScheduleDefinitionStartTime(startTime); scheduleDefinition.setScheduleDefinitionEndTime(OffsetDateTime.now(ZoneOffset.UTC).plusHours(1)); } List<ScheduleDefinitionFVO> scheduleDefinitions = new ArrayList<>(); scheduleDefinitions.add(scheduleDefinition); Loading Loading @@ -161,7 +152,7 @@ public class MetricoOrchestrationService implements JavaDelegate { su = new ServiceUpdate();// the object to update the service MeasurementCollectionJob mcj = serviceOrderManager.addMeasurementCollectionJob(mcjFVO); if (mcj != null){ logger.info("Measurement Collection Job was not created."); logger.info("Measurement Collection Job was created."); serviceCharacteristic = new Characteristic(); serviceCharacteristic.setName( "_MT_MCJ_REFID" ); Loading @@ -172,6 +163,14 @@ public class MetricoOrchestrationService implements JavaDelegate { serviceCharacteristic.setValue(val); su.addServiceCharacteristicItem(serviceCharacteristic); MeasurementCollectionJobMVO mcjMVO = new MeasurementCollectionJobMVO(); mcjMVO.setExecutionState(ExecutionStateType.ACKNOWLEDGED); try { serviceOrderManager.updateMeasurementCollectionJobById(mcj.getUuid(), mcjMVO); } catch (IOException e) { throw new RuntimeException(e); } } else { logger.error("Measurement Collection Job was not created."); su.setState(ServiceStateType.TERMINATED); Loading