Upgrade openroadm service models to 10.1
[transportpce.git] / servicehandler / src / test / java / org / opendaylight / transportpce / servicehandler / utils / ModelMappingUtils.java
index e8b7d6de48e8e1958a41b048e243c8f28a57b892..fc33b6d7b68b761a1d00289c4d28977105bb7d3e 100644 (file)
@@ -8,51 +8,48 @@
 package org.opendaylight.transportpce.servicehandler.utils;
 
 import com.google.common.util.concurrent.ListenableFuture;
-import org.opendaylight.transportpce.servicehandler.MappingConstraints;
 import org.opendaylight.transportpce.servicehandler.ServiceInput;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev210701.PathComputationRequestOutput;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev210701.path.computation.request.input.ServiceAEnd;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev210701.path.computation.request.input.ServiceAEndBuilder;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev210701.path.computation.request.input.ServiceZEnd;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev210701.path.computation.request.input.ServiceZEndBuilder;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev210701.service.path.rpc.result.PathDescription;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220118.PathComputationRequestOutput;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220118.path.computation.request.input.ServiceAEnd;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220118.path.computation.request.input.ServiceAEndBuilder;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220118.path.computation.request.input.ServiceZEnd;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220118.path.computation.request.input.ServiceZEndBuilder;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220118.service.path.rpc.result.PathDescription;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.ServiceDeleteInputBuilder;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.ServiceImplementationRequestInput;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.ServiceImplementationRequestInputBuilder;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.node.types.rev181130.NodeIdType;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev190531.configuration.response.common.ConfigurationResponseCommon;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev190531.configuration.response.common.ConfigurationResponseCommonBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev190531.response.parameters.ResponseParametersBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.state.types.rev181130.LifecycleState;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.state.types.rev181130.State;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev190531.RpcStatus;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.equipment.states.types.rev181130.AdminStates;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.ServiceCreateInput;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.ServiceCreateOutput;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.ServiceCreateOutputBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.ServiceDeleteInput;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.ServiceDeleteOutput;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.ServiceDeleteOutputBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.ServiceReconfigureInput;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.ServiceRerouteInput;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.ServiceRerouteOutput;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.ServiceRerouteOutputBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.TempServiceCreateInput;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.TempServiceCreateOutput;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.TempServiceCreateOutputBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.TempServiceDeleteInput;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.TempServiceDeleteOutput;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.TempServiceDeleteOutputBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.service.list.Services;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.service.list.ServicesBuilder;
-import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints.rev171017.routing.constraints.sp.HardConstraintsBuilder;
-import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints.rev171017.routing.constraints.sp.SoftConstraintsBuilder;
-import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev200128.service.endpoint.sp.RxDirection;
-import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev200128.service.endpoint.sp.RxDirectionBuilder;
-import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev200128.service.endpoint.sp.TxDirection;
-import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev200128.service.endpoint.sp.TxDirectionBuilder;
-import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev200128.service.handler.header.ServiceHandlerHeaderBuilder;
-import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev200128.service.path.PathDescriptionBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.ServiceEndpoint;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.configuration.response.common.ConfigurationResponseCommon;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.configuration.response.common.ConfigurationResponseCommonBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.response.parameters.ResponseParametersBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.state.types.rev191129.LifecycleState;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.state.types.rev191129.State;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.equipment.states.types.rev191129.AdminStates;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.ServiceCreateInput;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.ServiceCreateOutput;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.ServiceCreateOutputBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.ServiceDeleteInput;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.ServiceDeleteOutput;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.ServiceDeleteOutputBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.ServiceReconfigureInput;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.ServiceRerouteInput;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.ServiceRerouteOutput;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.ServiceRerouteOutputBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.TempServiceCreateInput;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.TempServiceCreateOutput;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.TempServiceCreateOutputBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.TempServiceDeleteInput;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.TempServiceDeleteOutput;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.TempServiceDeleteOutputBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.service.list.Services;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.service.list.ServicesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118.service.endpoint.sp.RxDirection;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118.service.endpoint.sp.RxDirectionBuilder;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118.service.endpoint.sp.TxDirection;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118.service.endpoint.sp.TxDirectionBuilder;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118.service.handler.header.ServiceHandlerHeaderBuilder;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118.service.path.PathDescriptionBuilder;
 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.servicepath.rev171017.service.path.list.ServicePaths;
 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.servicepath.rev171017.service.path.list.ServicePathsBuilder;
 import org.opendaylight.yangtools.yang.common.RpcResult;
@@ -76,11 +73,13 @@ public final class ModelMappingUtils {
             .setServiceRate(input.getServiceAEnd().getServiceRate()).setClli(input.getServiceAEnd().getClli())
             .setNodeId(input.getServiceAEnd().getNodeId().getValue())
             .setTxDirection(new org.opendaylight.yang.gen.v1.http
-                    .org.transportpce.b.c._interface.service.types.rev200128.service.endpoint.sp.TxDirectionBuilder()
-                .setPort(input.getServiceAEnd().getTxDirection().getPort()).build())
+                    .org.transportpce.b.c._interface.service.types.rev220118.service.endpoint.sp.TxDirectionBuilder()
+                .setPort(input.getServiceAEnd().getTxDirection().values().stream().findFirst().get().getPort())
+                .build())
             .setRxDirection(new org.opendaylight.yang.gen.v1.http
-                    .org.transportpce.b.c._interface.service.types.rev200128.service.endpoint.sp.RxDirectionBuilder()
-                .setPort(input.getServiceAEnd().getRxDirection().getPort()).build());
+                    .org.transportpce.b.c._interface.service.types.rev220118.service.endpoint.sp.RxDirectionBuilder()
+                .setPort(input.getServiceAEnd().getRxDirection().values().stream().findFirst().get().getPort())
+                .build());
         org.opendaylight.yang.gen.v1.http
             .org.opendaylight.transportpce.renderer.rev210915.service.implementation.request.input.ServiceZEndBuilder
             serviceZEnd = new org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915
@@ -89,11 +88,13 @@ public final class ModelMappingUtils {
             .setServiceRate(input.getServiceZEnd().getServiceRate()).setClli(input.getServiceZEnd().getClli())
             .setNodeId(input.getServiceZEnd().getNodeId().getValue())
             .setTxDirection(new org.opendaylight.yang.gen.v1.http
-                    .org.transportpce.b.c._interface.service.types.rev200128.service.endpoint.sp.TxDirectionBuilder()
-                .setPort(input.getServiceZEnd().getTxDirection().getPort()).build())
+                    .org.transportpce.b.c._interface.service.types.rev220118.service.endpoint.sp.TxDirectionBuilder()
+                .setPort(input.getServiceZEnd().getTxDirection().values().stream().findFirst().get().getPort())
+                .build())
             .setRxDirection(new org.opendaylight.yang.gen.v1.http
-                    .org.transportpce.b.c._interface.service.types.rev200128.service.endpoint.sp.RxDirectionBuilder()
-                .setPort(input.getServiceZEnd().getRxDirection().getPort()).build());
+                    .org.transportpce.b.c._interface.service.types.rev220118.service.endpoint.sp.RxDirectionBuilder()
+                .setPort(input.getServiceZEnd().getRxDirection().values().stream().findFirst().get().getPort())
+                .build());
         serviceImplementationRequestInputBuilder.setServiceAEnd(serviceAEnd.build());
         serviceImplementationRequestInputBuilder.setServiceZEnd(serviceZEnd.build());
         serviceImplementationRequestInputBuilder.setServiceHandlerHeader(
@@ -126,39 +127,41 @@ public final class ModelMappingUtils {
         return builder.build();
     }
 
-    public static ServiceAEnd createServiceAEnd(org.opendaylight.yang.gen.v1.http
-            .org.openroadm.common.service.types.rev190531.ServiceEndpoint serviceAEnd) {
+    public static ServiceAEnd createServiceAEnd(ServiceEndpoint serviceAEnd) {
         ServiceAEndBuilder serviceAEndBuilder = new ServiceAEndBuilder();
         serviceAEndBuilder.setClli(serviceAEnd.getClli());
         serviceAEndBuilder.setNodeId(new NodeIdType(serviceAEnd.getNodeId().getValue()).getValue());
-        serviceAEndBuilder.setRxDirection(createRxDirection(serviceAEnd.getRxDirection()));
+        serviceAEndBuilder.setRxDirection(
+            createRxDirection(serviceAEnd.getRxDirection().values().stream().findFirst().get()));
         serviceAEndBuilder.setServiceFormat(serviceAEnd.getServiceFormat());
         serviceAEndBuilder.setServiceRate(serviceAEnd.getServiceRate());
-        serviceAEndBuilder.setTxDirection(createTxDirection(serviceAEnd.getTxDirection()));
+        serviceAEndBuilder.setTxDirection(
+            createTxDirection(serviceAEnd.getTxDirection().values().stream().findFirst().get()));
         return serviceAEndBuilder.build();
     }
 
-    public static ServiceZEnd createServiceZEnd(org.opendaylight.yang.gen.v1.http
-            .org.openroadm.common.service.types.rev190531.ServiceEndpoint serviceZEnd) {
+    public static ServiceZEnd createServiceZEnd(ServiceEndpoint serviceZEnd) {
         ServiceZEndBuilder serviceZEndBuilder = new ServiceZEndBuilder();
         serviceZEndBuilder.setClli(serviceZEnd.getClli());
         serviceZEndBuilder.setNodeId(new NodeIdType(serviceZEnd.getNodeId().getValue()).getValue());
-        serviceZEndBuilder.setRxDirection(createRxDirection(serviceZEnd.getRxDirection()));
+        serviceZEndBuilder.setRxDirection(
+            createRxDirection(serviceZEnd.getRxDirection().values().stream().findFirst().get()));
         serviceZEndBuilder.setServiceFormat(serviceZEnd.getServiceFormat());
         serviceZEndBuilder.setServiceRate(serviceZEnd.getServiceRate());
-        serviceZEndBuilder.setTxDirection(createTxDirection(serviceZEnd.getTxDirection()));
+        serviceZEndBuilder.setTxDirection(
+            createTxDirection(serviceZEnd.getTxDirection().values().stream().findFirst().get()));
         return serviceZEndBuilder.build();
     }
 
     public static RxDirection createRxDirection(org.opendaylight.yang.gen.v1.http
-            .org.openroadm.common.service.types.rev190531.service.endpoint.RxDirection rxDirection) {
+            .org.openroadm.common.service.types.rev211210.service.endpoint.RxDirection rxDirection) {
         RxDirectionBuilder rxDirectionBuilder = new RxDirectionBuilder();
         rxDirectionBuilder.setPort(rxDirection.getPort());
         return rxDirectionBuilder.build();
     }
 
     public static TxDirection createTxDirection(org.opendaylight.yang.gen.v1.http
-            .org.openroadm.common.service.types.rev190531.service.endpoint.TxDirection txDirection) {
+            .org.openroadm.common.service.types.rev211210.service.endpoint.TxDirection txDirection) {
         TxDirectionBuilder txDirectionBuilder = new TxDirectionBuilder();
         txDirectionBuilder.setPort(txDirection.getPort());
         return txDirectionBuilder.build();
@@ -223,24 +226,24 @@ public final class ModelMappingUtils {
     }
 
     public static ListenableFuture<RpcResult<ServiceRerouteOutput>> createRerouteServiceReply(ServiceRerouteInput input,
-            String finalAckYes, String message, RpcStatus status) {
+            String finalAckYes, String message) {
         ServiceRerouteOutputBuilder output = new ServiceRerouteOutputBuilder()
+                .setConfigurationResponseCommon(
+                    new ConfigurationResponseCommonBuilder().setResponseMessage(message).build())
                 .setHardConstraints(null)
-                .setSoftConstraints(null)
-                .setStatus(status)
-                .setStatusMessage(message);
+                .setSoftConstraints(null);
         return RpcResultBuilder.success(output.build()).buildFuture();
     }
 
     public static Services mappingServices(ServiceCreateInput serviceCreateInput,
             ServiceReconfigureInput serviceReconfigureInput) {
-        org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev190531.service.ServiceAEnd aend = null;
-        org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev190531.service.ServiceZEnd zend = null;
+        org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.service.ServiceAEnd aend = null;
+        org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.service.ServiceZEnd zend = null;
         ServicesBuilder service = new ServicesBuilder();
         if (serviceCreateInput != null) {
-            aend = new org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev190531.service
+            aend = new org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.service
                     .ServiceAEndBuilder(serviceCreateInput.getServiceAEnd()).build();
-            zend = new org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev190531.service
+            zend = new org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.service
                     .ServiceZEndBuilder(serviceCreateInput.getServiceZEnd()).build();
             service.setServiceName(serviceCreateInput.getServiceName()).setAdministrativeState(AdminStates.OutOfService)
                     .setOperationalState(State.OutOfService).setCommonId(serviceCreateInput.getCommonId())
@@ -252,9 +255,9 @@ public final class ModelMappingUtils {
                     .setSdncRequestHeader(serviceCreateInput.getSdncRequestHeader())
                     .setLifecycleState(LifecycleState.Planned).setServiceAEnd(aend).setServiceZEnd(zend);
         } else if (serviceReconfigureInput != null) {
-            aend = new org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev190531.service
+            aend = new org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.service
                     .ServiceAEndBuilder(serviceReconfigureInput.getServiceAEnd()).build();
-            zend = new org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev190531.service
+            zend = new org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.service
                     .ServiceZEndBuilder(serviceReconfigureInput.getServiceZEnd()).build();
             service.setServiceName(serviceReconfigureInput.getServiceName())
             .setAdministrativeState(AdminStates.OutOfService)
@@ -269,16 +272,16 @@ public final class ModelMappingUtils {
         return service.build();
     }
 
-    public static org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.temp.service.list
+    public static org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.temp.service.list
         .Services mappingServices(TempServiceCreateInput tempServiceCreateInput) {
-        org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev190531.service.ServiceAEnd aend = null;
-        org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev190531.service.ServiceZEnd zend = null;
-        org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.temp.service.list
-            .ServicesBuilder service = new org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.temp
+        org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.service.ServiceAEnd aend = null;
+        org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.service.ServiceZEnd zend = null;
+        org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.temp.service.list
+            .ServicesBuilder service = new org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.temp
                 .service.list.ServicesBuilder();
-        aend = new org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev190531.service
+        aend = new org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.service
                 .ServiceAEndBuilder(tempServiceCreateInput.getServiceAEnd()).build();
-        zend = new org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev190531.service
+        zend = new org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.service
                 .ServiceZEndBuilder(tempServiceCreateInput.getServiceZEnd()).build();
         service.setServiceName(tempServiceCreateInput.getCommonId()).setAdministrativeState(AdminStates.OutOfService)
                 .setOperationalState(State.OutOfService).setCommonId(tempServiceCreateInput.getCommonId())
@@ -295,52 +298,49 @@ public final class ModelMappingUtils {
     public static ServicePaths mappingServicePaths(ServiceInput serviceInput, PathComputationRequestOutput output) {
         ServicePathsBuilder servicePathBuilder = new ServicePathsBuilder();
         if (serviceInput != null) {
-            org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev200128
+            org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118
                 .service.path.ServiceAEndBuilder serviceAEnd =
-                    new org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev200128
+                    new org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118
                         .service.path.ServiceAEndBuilder();
             serviceAEnd.setServiceFormat(serviceInput.getServiceAEnd().getServiceFormat())
                 .setServiceRate(serviceInput.getServiceAEnd().getServiceRate())
                 .setClli(serviceInput.getServiceAEnd().getClli())
                 .setNodeId(new NodeIdType(serviceInput.getServiceAEnd().getNodeId().getValue()).getValue())
                 .setTxDirection(new org.opendaylight.yang.gen.v1.http.org
-                    .transportpce.b.c._interface.service.types.rev200128.service.endpoint.sp.TxDirectionBuilder()
-                    .setPort(serviceInput.getServiceAEnd().getTxDirection().getPort()).build())
+                    .transportpce.b.c._interface.service.types.rev220118.service.endpoint.sp.TxDirectionBuilder()
+                    .setPort(serviceInput.getServiceAEnd().getTxDirection().values().stream().findFirst().get()
+                        .getPort())
+                    .build())
                 .setRxDirection(new org.opendaylight.yang.gen.v1.http.org
-                    .transportpce.b.c._interface.service.types.rev200128.service.endpoint.sp.RxDirectionBuilder()
-                    .setPort(serviceInput.getServiceAEnd().getRxDirection().getPort()).build());
-            org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev200128
+                    .transportpce.b.c._interface.service.types.rev220118.service.endpoint.sp.RxDirectionBuilder()
+                    .setPort(serviceInput.getServiceAEnd().getRxDirection().values().stream().findFirst().get()
+                        .getPort())
+                    .build());
+            org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118
                 .service.path.ServiceZEndBuilder serviceZEnd =
-                    new org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev200128
+                    new org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118
                         .service.path.ServiceZEndBuilder();
             serviceZEnd.setServiceFormat(serviceInput.getServiceZEnd().getServiceFormat())
                 .setServiceRate(serviceInput.getServiceZEnd().getServiceRate())
                 .setClli(serviceInput.getServiceZEnd().getClli())
                 .setNodeId(new NodeIdType(serviceInput.getServiceZEnd().getNodeId().getValue()).getValue())
                 .setTxDirection(new org.opendaylight.yang.gen.v1.http.org
-                    .transportpce.b.c._interface.service.types.rev200128.service.endpoint.sp.TxDirectionBuilder()
-                    .setPort(serviceInput.getServiceZEnd().getTxDirection().getPort()).build())
+                    .transportpce.b.c._interface.service.types.rev220118.service.endpoint.sp.TxDirectionBuilder()
+                    .setPort(serviceInput.getServiceZEnd().getTxDirection().values().stream().findFirst().get()
+                        .getPort())
+                    .build())
                 .setRxDirection(new org.opendaylight.yang.gen.v1.http.org
-                    .transportpce.b.c._interface.service.types.rev200128.service.endpoint.sp.RxDirectionBuilder()
-                    .setPort(serviceInput.getServiceZEnd().getRxDirection().getPort()).build());
+                    .transportpce.b.c._interface.service.types.rev220118.service.endpoint.sp.RxDirectionBuilder()
+                    .setPort(serviceInput.getServiceZEnd().getRxDirection().values().stream().findFirst().get()
+                        .getPort())
+                    .build());
             servicePathBuilder.setServiceAEnd(serviceAEnd.build());
             servicePathBuilder.setServiceZEnd(serviceZEnd.build());
-            MappingConstraints mapConstraints = new MappingConstraints(serviceInput.getHardConstraints(),
-                    serviceInput.getSoftConstraints());
-            mapConstraints.serviceToServicePathConstarints();
-            if (mapConstraints.getServicePathHardConstraints() != null) {
-                HardConstraintsBuilder hardConstraintBuilder = new HardConstraintsBuilder();
-                hardConstraintBuilder.setCustomerCode(serviceInput.getHardConstraints().getCustomerCode());
-                hardConstraintBuilder
-                        .setCoRoutingOrGeneral(mapConstraints.getServicePathHardConstraints().getCoRoutingOrGeneral());
-                servicePathBuilder.setHardConstraints(hardConstraintBuilder.build());
+            if (serviceInput.getHardConstraints() != null) {
+                servicePathBuilder.setHardConstraints(serviceInput.getHardConstraints());
             }
-            if (mapConstraints.getServicePathSoftConstraints() != null) {
-                SoftConstraintsBuilder softConstraintBuilder = new SoftConstraintsBuilder();
-                softConstraintBuilder.setCustomerCode(mapConstraints.getServicePathSoftConstraints().getCustomerCode());
-                softConstraintBuilder
-                        .setCoRoutingOrGeneral(mapConstraints.getServicePathSoftConstraints().getCoRoutingOrGeneral());
-                servicePathBuilder.setSoftConstraints(softConstraintBuilder.build());
+            if (serviceInput.getSoftConstraints() != null) {
+                servicePathBuilder.setSoftConstraints(serviceInput.getSoftConstraints());
             }
             servicePathBuilder.setServicePathName(serviceInput.getServiceName());
             servicePathBuilder.setServiceHandlerHeader(new ServiceHandlerHeaderBuilder()