Commit 2bf990f8 authored by Kostis Trantzas's avatar Kostis Trantzas
Browse files

Merge branch 'develop' into 'main'

Merging "develop" to "main" branch

See merge request !29
parents be278d5d b61598af
Loading
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -2,3 +2,4 @@
.project
.classpath
/.settings
/.bpmn
 No newline at end of file
+3 −3
Original line number Diff line number Diff line
@@ -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
+1 −1
Original line number Diff line number Diff line
@@ -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>

+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;
@@ -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;
@@ -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) {
@@ -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);
+18 −19
Original line number Diff line number Diff line
@@ -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);
@@ -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" );
@@ -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