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