Commit 896dedd9 authored by Irene Denazi's avatar Irene Denazi
Browse files

add order item validation

parent f8626fc3
Loading
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
FROM ibm-semeru-runtimes:open-17.0.7_7-jdk
# RUN mkdir /opt/shareclasses
RUN mkdir -p /opt/openslice/lib/
COPY target/org.etsi.osl.tmf.api-1.3.0-exec.jar /opt/openslice/lib/
CMD ["java", "-Xshareclasses:cacheDir=/opt/shareclasses", "-jar", "/opt/openslice/lib/org.etsi.osl.tmf.api-1.3.0-exec.jar"]
COPY target/org.etsi.osl.tmf.api-1.4.0-SNAPSHOT-exec.jar /opt/openslice/lib/
CMD ["java", "-Xshareclasses:cacheDir=/opt/shareclasses", "-jar", "/opt/openslice/lib/org.etsi.osl.tmf.api-1.4.0-SNAPSHOT-exec.jar"]
EXPOSE 13082
 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>2025Q4</version>
		<version>2026Q2-SNAPSHOT</version>
		<relativePath>../org.etsi.osl.main</relativePath>
	</parent>

+4 −3
Original line number Diff line number Diff line
@@ -29,6 +29,10 @@ public class ServiceOrderValidator implements Validator {
            return;
        }
        ServiceOrderCreate create = (ServiceOrderCreate) target;
         if (create.getOrderItem() == null || create.getOrderItem().isEmpty()) {
            errors.reject("orderItem.required", "At least one order item is required");
            return;
        }

        for (ServiceOrderItem orderItem: create.getOrderItem()) {
            if (orderItem.getService() == null) {
@@ -54,13 +58,10 @@ public class ServiceOrderValidator implements Validator {
                return;
            }
            
            // Validate only characteristics that exist in the ServiceSpecification
            for (Characteristic characteristic: service.getServiceCharacteristic()) {
                ServiceSpecCharacteristic serviceSpecCharacteristic = serviceSpecification.findSpecCharacteristicByName(characteristic.getName());
                
                // Only validate characteristics that exist in the spec
                if (serviceSpecCharacteristic != null && serviceSpecCharacteristic.getServiceSpecCharacteristicValue() != null) {
                    // Validate the characteristic against all spec values to find at least one match
                    boolean isValid = serviceSpecCharacteristic.getServiceSpecCharacteristicValue().stream()
                        .anyMatch(specValue -> {
                            ServiceCharacteristicValueValidator validator = new ServiceCharacteristicValueValidator(specValue, characteristic);