Merge "Refactor ConvertORTopoToTapiTopoTest"
[transportpce.git] / servicehandler / src / test / java / org / opendaylight / transportpce / servicehandler / utils / ServiceDataUtils.java
index 164fee121355ec6b37780c3ceca2f666bd923d0a..a9df0ed95617547121c5dd26c8dee3c5bb217edd 100644 (file)
@@ -10,348 +10,387 @@ package org.opendaylight.transportpce.servicehandler.utils;
 import com.google.common.util.concurrent.ListenableFuture;
 import com.google.common.util.concurrent.ListeningExecutorService;
 import com.google.common.util.concurrent.MoreExecutors;
-
 import java.time.OffsetDateTime;
 import java.time.ZoneOffset;
 import java.time.format.DateTimeFormatter;
+import java.util.Map;
 import java.util.concurrent.Callable;
 import java.util.concurrent.Executors;
-
-import org.opendaylight.transportpce.servicehandler.MappingConstraints;
 import org.opendaylight.transportpce.servicehandler.ModelMappingUtils;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev190624.PathComputationRequestInput;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev190624.PathComputationRequestInputBuilder;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev190624.ServicePathRpcResult;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev190624.ServicePathRpcResultBuilder;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev190624.service.path.rpc.result.PathDescription;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev190624.service.path.rpc.result.PathDescriptionBuilder;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev171017.ServiceRpcResultSp;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev171017.ServiceRpcResultSpBuilder;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.servicehandler.rev171017.ServiceRpcResultSh;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.servicehandler.rev171017.ServiceRpcResultShBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev161014.ConnectionType;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev161014.RpcActions;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev161014.ServiceFormat;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev161014.ServiceNotificationTypes;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev161014.sdnc.request.header.SdncRequestHeader;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev161014.sdnc.request.header.SdncRequestHeaderBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev161014.service.endpoint.RxDirection;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev161014.service.endpoint.TxDirection;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev161014.service.lgx.LgxBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev161014.service.port.PortBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constrains.rev161014.routing.constraints.HardConstraintsBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constrains.rev161014.routing.constraints.SoftConstraintsBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev161014.ServiceCreateInput;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev161014.ServiceCreateInputBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev161014.ServiceDeleteInput;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev161014.ServiceDeleteInputBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev161014.ServiceFeasibilityCheckInput;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev161014.ServiceFeasibilityCheckInputBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev161014.ServiceReconfigureInput;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev161014.ServiceReconfigureInputBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev161014.ServiceRerouteInput;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev161014.ServiceRerouteInputBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev161014.ServiceRestorationInput;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev161014.ServiceRestorationInput.Option;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev161014.ServiceRestorationInputBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev161014.TempServiceCreateInput;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev161014.TempServiceCreateInputBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev161014.TempServiceDeleteInput;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev161014.TempServiceDeleteInputBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev161014.service.delete.input.ServiceDeleteReqInfo;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev161014.service.delete.input.ServiceDeleteReqInfoBuilder;
-import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev171017.path.description.AToZDirection;
-import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev171017.path.description.AToZDirectionBuilder;
-import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev171017.path.description.ZToADirection;
-import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev171017.path.description.ZToADirectionBuilder;
-import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints.rev171017.RoutingConstraintsSp.PceMetric;
-import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev191009.RpcStatusEx;
-import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev191009.ServicePathNotificationTypes;
-import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev191009.service.handler.header.ServiceHandlerHeaderBuilder;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev240205.PathComputationRequestInput;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev240205.PathComputationRequestInputBuilder;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev240205.ServicePathRpcResult;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev240205.ServicePathRpcResultBuilder;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev240205.service.path.rpc.result.PathDescription;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev240205.service.path.rpc.result.PathDescriptionBuilder;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.RendererRpcResultSp;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.RendererRpcResultSpBuilder;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.servicehandler.rev201125.ServiceRpcResultSh;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.servicehandler.rev201125.ServiceRpcResultShBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.node.types.rev210528.NodeIdType;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev230526.ConnectionType;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev230526.RpcActions;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev230526.ServiceNotificationTypes;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev230526.sdnc.request.header.SdncRequestHeader;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev230526.sdnc.request.header.SdncRequestHeaderBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev230526.service.endpoint.RxDirection;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev230526.service.endpoint.RxDirectionKey;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev230526.service.endpoint.TxDirection;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev230526.service.endpoint.TxDirectionKey;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev230526.service.lgx.LgxBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev230526.service.port.PortBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev221209.routing.constraints.HardConstraintsBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev221209.routing.constraints.SoftConstraintsBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.service.format.rev191129.ServiceFormat;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev230526.ServiceCreateInput;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev230526.ServiceCreateInputBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev230526.ServiceDeleteInput;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev230526.ServiceDeleteInputBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev230526.ServiceFeasibilityCheckInput;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev230526.ServiceFeasibilityCheckInputBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev230526.ServiceReconfigureInput;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev230526.ServiceReconfigureInputBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev230526.ServiceRerouteInput;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev230526.ServiceRerouteInputBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev230526.ServiceRestorationInput;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev230526.ServiceRestorationInput.Option;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev230526.ServiceRestorationInputBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev230526.TempServiceCreateInput;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev230526.TempServiceCreateInputBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev230526.TempServiceDeleteInput;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev230526.TempServiceDeleteInputBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev230526.service.delete.input.ServiceDeleteReqInfo;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev230526.service.delete.input.ServiceDeleteReqInfoBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev230526.service.feasibility.check.inputs.ServiceAEndBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev230526.service.feasibility.check.inputs.ServiceZEndBuilder;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev230501.path.description.AToZDirectionBuilder;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev230501.path.description.ZToADirectionBuilder;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118.PceMetric;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118.RpcStatusEx;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118.ServicePathNotificationTypes;
+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.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.DateAndTime;
+import org.opendaylight.yangtools.yang.common.Uint32;
+import org.opendaylight.yangtools.yang.common.Uint8;
 
 public final class ServiceDataUtils {
 
     public static ServiceCreateInput buildServiceCreateInput() {
-
-        ServiceCreateInputBuilder builtInput = new ServiceCreateInputBuilder();
-        org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev161014.service.create.input
-            .ServiceAEnd serviceAEnd = getServiceAEndBuild()
-            .build();
-        org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev161014.service.create.input
-            .ServiceZEnd serviceZEnd = new org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev161014.service
-            .create.input.ServiceZEndBuilder()
-            .setClli("clli").setServiceFormat(ServiceFormat.OC).setServiceRate((long) 1).setNodeId("XPONDER-3-2")
-            .setTxDirection(getTxDirection())
-            .setRxDirection(getRxDirection())
+        return new ServiceCreateInputBuilder()
+            .setCommonId("commonId")
+            .setConnectionType(ConnectionType.Service)
+            .setCustomer("Customer")
+            .setServiceName("service 1")
+            .setServiceAEnd(getServiceAEndBuild().build())
+            .setServiceZEnd(
+                new org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev230526
+                        .service.create.input.ServiceZEndBuilder()
+                    .setClli("clli").setServiceFormat(ServiceFormat.OC).setServiceRate(Uint32.valueOf(1))
+                    .setNodeId(new NodeIdType("XPONDER-3-2"))
+                    .setTxDirection(Map.of(new TxDirectionKey(getTxDirection().key()),getTxDirection()))
+                    .setRxDirection(Map.of(new RxDirectionKey(getRxDirection().key()), getRxDirection()))
+                    .build())
+            .setSdncRequestHeader(
+                new SdncRequestHeaderBuilder()
+                    .setRequestId("request 1")
+                    .setRpcAction(RpcActions.ServiceCreate)
+                    .setNotificationUrl("notification url")
+                    .build())
             .build();
-
-        builtInput.setCommonId("commonId");
-        builtInput.setConnectionType(ConnectionType.Service);
-        builtInput.setCustomer("Customer");
-        builtInput.setServiceName("service 1");
-        builtInput.setServiceAEnd(serviceAEnd);
-        builtInput.setServiceZEnd(serviceZEnd);
-        builtInput.setSdncRequestHeader(new SdncRequestHeaderBuilder().setRequestId("request 1")
-            .setRpcAction(RpcActions.ServiceCreate).setNotificationUrl("notification url").build());
-
-        return builtInput.build();
     }
 
     public static ServiceCreateInput buildServiceCreateInputWithHardConstraints() {
-
-        ServiceCreateInputBuilder builtInput = new ServiceCreateInputBuilder();
-        org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev161014.service.create.input
-                .ServiceAEnd serviceAEnd = getServiceAEndBuild()
-                .build();
-        org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev161014.service.create.input
-                .ServiceZEnd serviceZEnd = new org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev161014.service
-                .create.input.ServiceZEndBuilder()
-                .setClli("clli").setServiceFormat(ServiceFormat.OC).setServiceRate((long) 1).setNodeId("XPONDER-3-2")
-                .setTxDirection(getTxDirection())
-                .setRxDirection(getRxDirection())
-                .build();
-
-        builtInput.setCommonId("commonId");
-        builtInput.setConnectionType(ConnectionType.Service);
-        builtInput.setCustomer("Customer");
-        builtInput.setServiceName("service 1");
-        builtInput.setServiceAEnd(serviceAEnd);
-        builtInput.setServiceZEnd(serviceZEnd);
-        builtInput.setSdncRequestHeader(new SdncRequestHeaderBuilder().setRequestId("request 1")
-                .setRpcAction(RpcActions.ServiceCreate).setNotificationUrl("notification url").build());
-        builtInput.setHardConstraints(new HardConstraintsBuilder().build());
-
-        return builtInput.build();
+        return new ServiceCreateInputBuilder()
+            .setCommonId("commonId")
+            .setConnectionType(ConnectionType.Service)
+            .setCustomer("Customer")
+            .setServiceName("service 1")
+            .setServiceAEnd(getServiceAEndBuild().build())
+            .setServiceZEnd(
+                new org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev230526
+                        .service.create.input.ServiceZEndBuilder()
+                    .setClli("clli")
+                    .setServiceFormat(ServiceFormat.OC)
+                    .setServiceRate(Uint32.valueOf(1))
+                    .setNodeId(new NodeIdType("XPONDER-3-2"))
+                    .setTxDirection(Map.of(new TxDirectionKey(getTxDirection().key()),getTxDirection()))
+                    .setRxDirection(Map.of(new RxDirectionKey(getRxDirection().key()), getRxDirection()))
+                    .build())
+            .setSdncRequestHeader(
+                new SdncRequestHeaderBuilder()
+                    .setRequestId("request 1")
+                    .setRpcAction(RpcActions.ServiceCreate)
+                    .setNotificationUrl("notification url")
+                    .build())
+            .setHardConstraints(new HardConstraintsBuilder().build())
+            .build();
     }
 
     public static ServiceCreateInput buildServiceCreateInputWithSoftConstraints() {
-
-        ServiceCreateInputBuilder builtInput = new ServiceCreateInputBuilder();
-        org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev161014.service.create.input
-                .ServiceAEnd serviceAEnd = getServiceAEndBuild()
-                .build();
-        org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev161014.service.create.input
-                .ServiceZEnd serviceZEnd = new org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev161014.service
-                .create.input.ServiceZEndBuilder()
-                .setClli("clli").setServiceFormat(ServiceFormat.OC).setServiceRate((long) 1).setNodeId("XPONDER-3-2")
-                .setTxDirection(getTxDirection())
-                .setRxDirection(getRxDirection())
-                .build();
-
-        builtInput.setCommonId("commonId");
-        builtInput.setConnectionType(ConnectionType.Service);
-        builtInput.setCustomer("Customer");
-        builtInput.setServiceName("service 1");
-        builtInput.setServiceAEnd(serviceAEnd);
-        builtInput.setServiceZEnd(serviceZEnd);
-        builtInput.setSdncRequestHeader(new SdncRequestHeaderBuilder().setRequestId("request 1")
-                .setRpcAction(RpcActions.ServiceCreate).setNotificationUrl("notification url").build());
-        builtInput.setSoftConstraints(new SoftConstraintsBuilder().build());
-
-        return builtInput.build();
+        return new ServiceCreateInputBuilder()
+            .setCommonId("commonId")
+            .setConnectionType(ConnectionType.Service)
+            .setCustomer("Customer")
+            .setServiceName("service 1")
+            .setServiceAEnd(getServiceAEndBuild().build())
+            .setServiceZEnd(
+                new org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev230526
+                        .service.create.input.ServiceZEndBuilder()
+                    .setClli("clli")
+                    .setServiceFormat(ServiceFormat.OC)
+                    .setServiceRate(Uint32.valueOf(1))
+                    .setNodeId(new NodeIdType("XPONDER-3-2"))
+                    .setTxDirection(Map.of(new TxDirectionKey(getTxDirection().key()),getTxDirection()))
+                    .setRxDirection(Map.of(new RxDirectionKey(getRxDirection().key()), getRxDirection()))
+                    .build())
+            .setSdncRequestHeader(
+                new SdncRequestHeaderBuilder()
+                    .setRequestId("request 1")
+                    .setRpcAction(RpcActions.ServiceCreate)
+                    .setNotificationUrl("notification url")
+                    .build())
+            .setSoftConstraints(new SoftConstraintsBuilder().build())
+            .build();
     }
 
     public static PathComputationRequestInput createPceRequestInput(ServiceCreateInput input) {
-        MappingConstraints mappingConstraints =
-                new MappingConstraints(input.getHardConstraints(), input.getSoftConstraints());
-        mappingConstraints.serviceToServicePathConstarints();
-        ServiceHandlerHeaderBuilder serviceHandlerHeader = new ServiceHandlerHeaderBuilder();
         SdncRequestHeader serviceHandler = input.getSdncRequestHeader();
-        if (serviceHandler != null) {
-            serviceHandlerHeader.setRequestId(serviceHandler.getRequestId());
-        }
         return new PathComputationRequestInputBuilder()
             .setServiceName(input.getServiceName())
             .setResourceReserve(true)
-            .setServiceHandlerHeader(serviceHandlerHeader.build())
-            .setHardConstraints(mappingConstraints.getServicePathHardConstraints())
-            .setSoftConstraints(mappingConstraints.getServicePathSoftConstraints())
-            .setPceMetric(PceMetric.TEMetric)
+            .setServiceHandlerHeader(
+                serviceHandler == null
+                    ? new ServiceHandlerHeaderBuilder().build()
+                    : new ServiceHandlerHeaderBuilder().setRequestId(serviceHandler.getRequestId()).build())
+            .setHardConstraints(input.getHardConstraints())
+            .setSoftConstraints(input.getSoftConstraints())
+            .setPceRoutingMetric(PceMetric.TEMetric)
             .setServiceAEnd(ModelMappingUtils.createServiceAEnd(input.getServiceAEnd()))
             .setServiceZEnd(ModelMappingUtils.createServiceZEnd(input.getServiceZEnd()))
             .build();
     }
 
     public static TempServiceCreateInput buildTempServiceCreateInput() {
-
-        TempServiceCreateInputBuilder builtInput = new TempServiceCreateInputBuilder();
-        org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev161014.temp.service.create.input
-            .ServiceAEnd serviceAEnd = new org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev161014
-            .temp.service.create.input.ServiceAEndBuilder()
-            .setClli("clli").setServiceFormat(ServiceFormat.OC).setServiceRate((long) 1).setNodeId("XPONDER-1-2")
-            .setTxDirection(getTxDirection())
-            .setRxDirection(getRxDirection())
+        return new TempServiceCreateInputBuilder()
+            .setCommonId("commonId")
+            .setConnectionType(ConnectionType.Service)
+            .setCustomer("Customer")
+            .setServiceAEnd(
+                new org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev230526
+                        .temp.service.create.input.ServiceAEndBuilder()
+                    .setClli("clli").setServiceFormat(ServiceFormat.OC).setServiceRate(Uint32.valueOf(1))
+                    .setNodeId(new NodeIdType("XPONDER-1-2"))
+                    .setTxDirection(Map.of(new TxDirectionKey(getTxDirection().key()),getTxDirection()))
+                    .setRxDirection(Map.of(new RxDirectionKey(getRxDirection().key()), getRxDirection()))
+                    .build())
+            .setServiceZEnd(
+                new org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev230526
+                        .temp.service.create.input.ServiceZEndBuilder()
+                    .setClli("clli").setServiceFormat(ServiceFormat.OC).setServiceRate(Uint32.valueOf(1))
+                    .setNodeId(new NodeIdType("XPONDER-3-2"))
+                    .setTxDirection(Map.of(new TxDirectionKey(getTxDirection().key()),getTxDirection()))
+                    .setRxDirection(Map.of(new RxDirectionKey(getRxDirection().key()), getRxDirection()))
+                    .build())
+            .setSdncRequestHeader(
+                new SdncRequestHeaderBuilder()
+                    .setRequestId("request 1")
+                    .setRpcAction(RpcActions.TempServiceCreate)
+                    .setNotificationUrl("notification url")
+                    .build())
             .build();
-        org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev161014.temp.service.create.input
-            .ServiceZEnd serviceZEnd = new org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev161014.temp
-            .service.create.input.ServiceZEndBuilder()
-            .setClli("clli").setServiceFormat(ServiceFormat.OC).setServiceRate((long) 1).setNodeId("XPONDER-3-2")
-            .setTxDirection(getTxDirection())
-            .setRxDirection(getRxDirection())
-            .build();
-
-        builtInput.setCommonId("commonId");
-        builtInput.setConnectionType(ConnectionType.Service);
-        builtInput.setCustomer("Customer");
-        builtInput.setServiceAEnd(serviceAEnd);
-        builtInput.setServiceZEnd(serviceZEnd);
-        builtInput.setSdncRequestHeader(new SdncRequestHeaderBuilder().setRequestId("request 1")
-                .setRpcAction(RpcActions.TempServiceCreate).setNotificationUrl("notification url").build());
-
-        return builtInput.build();
     }
 
     public static ServiceFeasibilityCheckInput buildServiceFeasibilityCheckInput() {
-        ServiceFeasibilityCheckInputBuilder builtInput = new ServiceFeasibilityCheckInputBuilder();
-        org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev161014.service.feasibility.check.input
-            .ServiceAEnd serviceAEnd = new org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev161014.service
-                .feasibility.check.input.ServiceAEndBuilder()
-                    .setClli("clli").setServiceFormat(ServiceFormat.OC).setServiceRate((long) 1)
-                    .setNodeId("XPONDER-1-2").setTxDirection(getTxDirection()).setRxDirection(getRxDirection())
-                    .build();
-        org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev161014.service.feasibility.check.input
-            .ServiceZEnd serviceZEnd = new org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev161014.service
-                .feasibility.check.input.ServiceZEndBuilder()
-                    .setClli("clli").setServiceFormat(ServiceFormat.OC).setServiceRate((long) 1)
-                    .setNodeId("XPONDER-3-2").setTxDirection(getTxDirection()).setRxDirection(getRxDirection())
-                    .build();
-        builtInput.setCommonId("commonId");
-        builtInput.setConnectionType(ConnectionType.Service);
-        builtInput.setCustomer("Customer");
-        builtInput.setServiceAEnd(serviceAEnd);
-        builtInput.setServiceZEnd(serviceZEnd);
-        builtInput.setSdncRequestHeader(new SdncRequestHeaderBuilder().setRequestId("request 1")
-                .setRpcAction(RpcActions.ServiceFeasibilityCheck).setNotificationUrl("notification url").build());
-        return builtInput.build();
+        return new ServiceFeasibilityCheckInputBuilder()
+            .setCommonId("commonId")
+            .setConnectionType(ConnectionType.Service)
+            .setCustomer("Customer")
+            .setServiceAEnd(
+                new ServiceAEndBuilder()
+                    .setClli("clli").setServiceFormat(ServiceFormat.OC).setServiceRate(Uint32.valueOf(1))
+                    .setNodeId(new NodeIdType("XPONDER-1-2"))
+                    .setTxDirection(Map.of(new TxDirectionKey(getTxDirection().key()),getTxDirection()))
+                    .setRxDirection(Map.of(new RxDirectionKey(getRxDirection().key()), getRxDirection()))
+                    .build())
+            .setServiceZEnd(
+                new ServiceZEndBuilder()
+                    .setClli("clli").setServiceFormat(ServiceFormat.OC).setServiceRate(Uint32.valueOf(1))
+                    .setNodeId(new NodeIdType("XPONDER-3-2"))
+                    .setTxDirection(Map.of(new TxDirectionKey(getTxDirection().key()),getTxDirection()))
+                    .setRxDirection(Map.of(new RxDirectionKey(getRxDirection().key()), getRxDirection()))
+                    .build())
+            .setSdncRequestHeader(
+                new SdncRequestHeaderBuilder()
+                    .setRequestId("request 1")
+                    .setRpcAction(RpcActions.ServiceFeasibilityCheck)
+                    .setNotificationUrl("notification url")
+                    .build())
+            .build();
     }
 
-    public static org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev161014.service.create.input
-        .ServiceAEndBuilder getServiceAEndBuild() {
-        return new org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev161014.service.create.input
-            .ServiceAEndBuilder()
-            .setClli("clli").setServiceFormat(ServiceFormat.OC).setServiceRate((long) 1).setNodeId("XPONDER-1-2")
-            .setTxDirection(getTxDirection())
-            .setRxDirection(getRxDirection());
+    public static org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev230526
+            .service.create.input.ServiceAEndBuilder getServiceAEndBuild() {
+        return new org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev230526
+                .service.create.input.ServiceAEndBuilder()
+            .setClli("clli")
+            .setServiceFormat(ServiceFormat.OC)
+            .setServiceRate(Uint32.valueOf(1))
+            .setNodeId(new NodeIdType("XPONDER-1-2"))
+            .setTxDirection(Map.of(new TxDirectionKey(getTxDirection().key()),getTxDirection()))
+            .setRxDirection(Map.of(new RxDirectionKey(getRxDirection().key()), getRxDirection()));
     }
 
-    public static org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev161014.service.create.input
-        .ServiceZEndBuilder getServiceZEndBuild() {
-        return new org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev161014.service.create.input
-            .ServiceZEndBuilder()
-            .setClli("clli").setServiceFormat(ServiceFormat.OC).setServiceRate((long) 1).setNodeId("XPONDER-1-2")
-            .setTxDirection(getTxDirection())
-            .setRxDirection(getRxDirection());
+    public static org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev230526
+            .service.create.input.ServiceZEndBuilder getServiceZEndBuild() {
+        return new org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev230526
+                .service.create.input.ServiceZEndBuilder()
+            .setClli("clli")
+            .setServiceFormat(ServiceFormat.OC)
+            .setServiceRate(Uint32.valueOf(1))
+            .setNodeId(new NodeIdType("XPONDER-1-2"))
+            .setTxDirection(Map.of(new TxDirectionKey(getTxDirection().key()),getTxDirection()))
+            .setRxDirection(Map.of(new RxDirectionKey(getRxDirection().key()), getRxDirection()));
     }
 
     private static TxDirection getTxDirection() {
-        return new org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev161014.service
-                .endpoint.TxDirectionBuilder().setPort(new PortBuilder().setPortDeviceName("device name")
-                        .setPortName("port name").setPortRack("port rack").setPortShelf("port shelf")
-                        .setPortSlot("port slot").setPortSubSlot("port subslot").setPortType("port type").build())
-                        .setLgx(new LgxBuilder().setLgxDeviceName("lgx device name").setLgxPortName("lgx port name")
-                                .setLgxPortRack("lgx port rack").setLgxPortShelf("lgx port shelf").build())
-                        .build();
+        return new org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev230526
+                .service.endpoint.TxDirectionBuilder()
+            .setPort(
+                new PortBuilder()
+                    .setPortDeviceName("device name")
+                    .setPortName("port name")
+                    .setPortRack("port rack")
+                    .setPortShelf("port shelf")
+                    .setPortSlot("port slot")
+                    .setPortSubSlot("port subslot")
+                    .setPortType("port type")
+                    .build())
+            .setLgx(
+                new LgxBuilder()
+                    .setLgxDeviceName("lgx device name")
+                    .setLgxPortName("lgx port name")
+                    .setLgxPortRack("lgx port rack")
+                    .setLgxPortShelf("lgx port shelf")
+                    .build())
+            .setIndex(Uint8.ZERO)
+            .build();
     }
 
     private static RxDirection getRxDirection() {
-        return new org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev161014.service
-                .endpoint.RxDirectionBuilder()
-                .setPort(new PortBuilder().setPortDeviceName("device name").setPortName("port name")
-                    .setPortRack("port rack").setPortShelf("port shelf").setPortSlot("port slot")
-                    .setPortSubSlot("port subslot").setPortType("port type").build())
-                .setLgx(new LgxBuilder().setLgxDeviceName("lgx device name")
-                    .setLgxPortName("lgx port name").setLgxPortRack("lgx port rack")
-                    .setLgxPortShelf("lgx port shelf").build())
-                        .build();
+        return new org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev230526
+                .service.endpoint.RxDirectionBuilder()
+            .setPort(
+                new PortBuilder()
+                    .setPortDeviceName("device name")
+                    .setPortName("port name")
+                    .setPortRack("port rack")
+                    .setPortShelf("port shelf")
+                    .setPortSlot("port slot")
+                    .setPortSubSlot("port subslot")
+                    .setPortType("port type")
+                    .build())
+            .setLgx(
+                new LgxBuilder()
+                    .setLgxDeviceName("lgx device name")
+                    .setLgxPortName("lgx port name")
+                    .setLgxPortRack("lgx port rack")
+                    .setLgxPortShelf("lgx port shelf")
+                    .build())
+            .setIndex(Uint8.ZERO)
+            .build();
     }
 
     public static ServiceDeleteInput buildServiceDeleteInput() {
-        ServiceDeleteInputBuilder deleteInputBldr = new ServiceDeleteInputBuilder();
-        DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ssxxx");
-        OffsetDateTime offsetDateTime = OffsetDateTime.now(ZoneOffset.UTC);
-        DateAndTime datetime = new DateAndTime(dtf.format(offsetDateTime));
-        deleteInputBldr.setServiceDeleteReqInfo(new ServiceDeleteReqInfoBuilder().setServiceName("service 1")
-            .setDueDate(datetime).setTailRetention(ServiceDeleteReqInfo.TailRetention.No).build());
-        SdncRequestHeaderBuilder sdncBuilder = new SdncRequestHeaderBuilder();
-        sdncBuilder.setNotificationUrl("notification url");
-        sdncBuilder.setRequestId("request 1");
-        sdncBuilder.setRequestSystemId("request system 1");
-        sdncBuilder.setRpcAction(RpcActions.ServiceDelete);
-        deleteInputBldr.setSdncRequestHeader(sdncBuilder.build());
-        return deleteInputBldr.build();
+        return new ServiceDeleteInputBuilder()
+            .setServiceDeleteReqInfo(
+                new ServiceDeleteReqInfoBuilder().setServiceName("service 1")
+                    .setDueDate(
+                        new DateAndTime(
+                            DateTimeFormatter
+                                .ofPattern("yyyy-MM-dd'T'HH:mm:ssxxx")
+                                .format(OffsetDateTime.now(ZoneOffset.UTC))))
+                    .setTailRetention(ServiceDeleteReqInfo.TailRetention.No)
+                    .build())
+            .setSdncRequestHeader(
+                new SdncRequestHeaderBuilder()
+                    .setNotificationUrl("notification url")
+                    .setRequestId("request 1")
+                    .setRequestSystemId("request system 1")
+                    .setRpcAction(RpcActions.ServiceDelete)
+                    .build())
+            .build();
     }
 
     public static TempServiceDeleteInput buildTempServiceDeleteInput() {
-        TempServiceDeleteInputBuilder deleteInputBldr = new TempServiceDeleteInputBuilder();
-        deleteInputBldr.setCommonId("service 1");
-        return deleteInputBldr.build();
+        return new TempServiceDeleteInputBuilder().setCommonId("service 1").build();
     }
 
     public static TempServiceDeleteInput buildTempServiceDeleteInput(String commonId) {
-        TempServiceDeleteInputBuilder deleteInputBldr = new TempServiceDeleteInputBuilder();
-        deleteInputBldr.setCommonId(commonId);
-        return deleteInputBldr.build();
+        return new TempServiceDeleteInputBuilder().setCommonId(commonId).build();
     }
 
     public static ServiceRerouteInput buildServiceRerouteInput() {
-        ServiceRerouteInputBuilder builder = new ServiceRerouteInputBuilder();
-        builder.setServiceName("service 1");
-        return builder.build();
+        return new ServiceRerouteInputBuilder().setServiceName("service 1").build();
     }
 
     public static ServiceRestorationInput buildServiceRestorationInput() {
-        ServiceRestorationInputBuilder builder = new ServiceRestorationInputBuilder();
-        builder.setServiceName("service 1");
-        builder.setOption(Option.Permanent);
-        return builder.build();
+        return new ServiceRestorationInputBuilder()
+            .setServiceName("service 1")
+            .setOption(Option.Permanent)
+            .build();
     }
 
     public static ServiceReconfigureInput buildServiceReconfigureInput() {
-        ServiceReconfigureInputBuilder builtInput = new ServiceReconfigureInputBuilder();
-        org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev161014.service.reconfigure.input
-            .ServiceAEnd serviceAEnd = new org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev161014.service
-                .reconfigure.input.ServiceAEndBuilder()
-                .setClli("clli").setServiceFormat(ServiceFormat.OC).setServiceRate((long) 1)
-                .setNodeId("XPONDER-1-2").setTxDirection(getTxDirection()).setRxDirection(getRxDirection())
-                .build();
-        org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev161014.service.reconfigure.input
-            .ServiceZEnd serviceZEnd = new org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev161014.service
-                .reconfigure.input.ServiceZEndBuilder()
-                .setClli("clli").setServiceFormat(ServiceFormat.OC).setServiceRate((long) 1)
-                .setNodeId("XPONDER-3-2").setTxDirection(getTxDirection()).setRxDirection(getRxDirection())
-                .build();
-        builtInput.setCommonId("commonId");
-        builtInput.setConnectionType(ConnectionType.Service);
-        builtInput.setCustomer("Customer");
-        builtInput.setServiceName("service 1");
-        builtInput.setServiceAEnd(serviceAEnd);
-        builtInput.setServiceZEnd(serviceZEnd);
-        return builtInput.build();
+        return new ServiceReconfigureInputBuilder()
+            .setCommonId("commonId")
+            .setConnectionType(ConnectionType.Service)
+            .setCustomer("Customer")
+            .setServiceName("service 1")
+            .setServiceAEnd(
+                new org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev230526
+                        .service.reconfigure.input.ServiceAEndBuilder()
+                    .setClli("clli")
+                    .setServiceFormat(ServiceFormat.OC)
+                    .setServiceRate(Uint32.valueOf(1))
+                    .setNodeId(new NodeIdType("XPONDER-1-2"))
+                    .setTxDirection(Map.of(new TxDirectionKey(getTxDirection().key()),getTxDirection()))
+                    .setRxDirection(Map.of(new RxDirectionKey(getRxDirection().key()), getRxDirection()))
+                    .build())
+            .setServiceZEnd(
+                new org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev230526
+                        .service.reconfigure.input.ServiceZEndBuilder()
+                    .setClli("clli")
+                    .setServiceFormat(ServiceFormat.OC)
+                    .setServiceRate(Uint32.valueOf(1))
+                    .setNodeId(new NodeIdType("XPONDER-3-2"))
+                    .setTxDirection(Map.of(new TxDirectionKey(getTxDirection().key()),getTxDirection()))
+                    .setRxDirection(Map.of(new RxDirectionKey(getRxDirection().key()), getRxDirection()))
+                    .build())
+            .build();
     }
 
     public static ServicePathRpcResult buildServicePathRpcResult() {
-        DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ssxxx");
-        OffsetDateTime offsetDateTime = OffsetDateTime.now(ZoneOffset.UTC);
-        DateAndTime datetime = new DateAndTime(dtf.format(offsetDateTime));
-        ServicePathRpcResultBuilder builder = new ServicePathRpcResultBuilder();
-        builder.setActualDate(datetime).setNotificationType(ServicePathNotificationTypes.PathComputationRequest)
+        return new ServicePathRpcResultBuilder()
+            .setActualDate(
+                new DateAndTime(
+                    DateTimeFormatter
+                        .ofPattern("yyyy-MM-dd'T'HH:mm:ssxxx")
+                        .format(OffsetDateTime.now(ZoneOffset.UTC))))
+            .setNotificationType(ServicePathNotificationTypes.PathComputationRequest)
             .setPathDescription(createPathDescription(0,1, 0, 1))
             .setServiceName("service 1")
-            .setStatus(RpcStatusEx.Successful).setStatusMessage("success");
-        return builder.build();
+            .setStatus(RpcStatusEx.Successful).setStatusMessage("success")
+            .build();
     }
 
     public static ServicePathRpcResult buildServicePathRpcResult(
             ServicePathNotificationTypes servicePathNotificationTypes, String serviceName, RpcStatusEx rpcStatusEx,
             String message, Boolean pathDescription) {
-        DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ssxxx");
-        OffsetDateTime offsetDateTime = OffsetDateTime.now(ZoneOffset.UTC);
-        DateAndTime datetime = new DateAndTime(dtf.format(offsetDateTime));
-        ServicePathRpcResultBuilder builder = new ServicePathRpcResultBuilder();
-        builder.setNotificationType(servicePathNotificationTypes)
-                .setServiceName(serviceName)
-                .setStatus(rpcStatusEx).setStatusMessage(message);
+        ServicePathRpcResultBuilder builder = new ServicePathRpcResultBuilder()
+            .setNotificationType(servicePathNotificationTypes)
+            .setServiceName(serviceName)
+            .setStatus(rpcStatusEx)
+            .setStatusMessage(message);
         if (pathDescription) {
             builder.setPathDescription(createPathDescription(0L, 5L, 0L, 5L));
         }
@@ -359,106 +398,125 @@ public final class ServiceDataUtils {
     }
 
     public static ServicePathRpcResult buildFailedPceServicePathRpcResult() {
-        DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ssxxx");
-        OffsetDateTime offsetDateTime = OffsetDateTime.now(ZoneOffset.UTC);
-        DateAndTime datetime = new DateAndTime(dtf.format(offsetDateTime));
-        ServicePathRpcResultBuilder builder = new ServicePathRpcResultBuilder();
-        builder.setActualDate(datetime).setNotificationType(ServicePathNotificationTypes.PathComputationRequest)
-                .setPathDescription(createPathDescription(0, 1, 0, 1)).setServiceName("service 1")
-                .setStatus(RpcStatusEx.Failed).setStatusMessage("failed");
-        return builder.build();
+        return new ServicePathRpcResultBuilder()
+            .setActualDate(
+                new DateAndTime(
+                    DateTimeFormatter
+                        .ofPattern("yyyy-MM-dd'T'HH:mm:ssxxx")
+                        .format(OffsetDateTime.now(ZoneOffset.UTC))))
+            .setNotificationType(ServicePathNotificationTypes.PathComputationRequest)
+            .setPathDescription(createPathDescription(0, 1, 0, 1))
+            .setServiceName("service 1")
+            .setStatus(RpcStatusEx.Failed).setStatusMessage("failed")
+        .build();
     }
 
     public static ServicePathRpcResult buildFailedServicePathRpcResult() {
-        DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ssxxx");
-        OffsetDateTime offsetDateTime = OffsetDateTime.now(ZoneOffset.UTC);
-        DateAndTime datetime = new DateAndTime(dtf.format(offsetDateTime));
-        ServicePathRpcResultBuilder builder = new ServicePathRpcResultBuilder();
-        builder.setActualDate(datetime).setNotificationType(ServicePathNotificationTypes.ServiceImplementationRequest)
+        return new ServicePathRpcResultBuilder()
+            .setActualDate(
+                new DateAndTime(
+                    DateTimeFormatter
+                        .ofPattern("yyyy-MM-dd'T'HH:mm:ssxxx")
+                        .format(OffsetDateTime.now(ZoneOffset.UTC))))
+            .setNotificationType(ServicePathNotificationTypes.ServiceImplementationRequest)
             .setPathDescription(createPathDescription(0,1, 0, 1))
             .setServiceName("service 1")
-                .setStatus(RpcStatusEx.Failed).setStatusMessage("failed");
-        return builder.build();
+            .setStatus(RpcStatusEx.Failed)
+            .setStatusMessage("failed")
+            .build();
     }
 
-    public static ServiceRpcResultSp buildServiceRpcResultSp() {
-        DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ssxxx");
-        OffsetDateTime offsetDateTime = OffsetDateTime.now(ZoneOffset.UTC);
-        DateAndTime datetime = new DateAndTime(dtf.format(offsetDateTime));
-        ServiceRpcResultSpBuilder builder = new ServiceRpcResultSpBuilder();
-        builder.setActualDate(datetime).setNotificationType(ServicePathNotificationTypes.ServiceImplementationRequest)
-                .setServiceName("service 1").setStatus(RpcStatusEx.Successful).setStatusMessage("success");
-        return builder.build();
+    public static RendererRpcResultSp buildRendererRpcResultSp() {
+        return new RendererRpcResultSpBuilder()
+            .setActualDate(
+                new DateAndTime(
+                    DateTimeFormatter
+                        .ofPattern("yyyy-MM-dd'T'HH:mm:ssxxx")
+                        .format(OffsetDateTime.now(ZoneOffset.UTC))))
+            .setNotificationType(ServicePathNotificationTypes.ServiceImplementationRequest)
+            .setServiceName("service 1")
+            .setStatus(RpcStatusEx.Successful)
+            .setStatusMessage("success")
+            .build();
     }
 
-    public static ServiceRpcResultSp buildServiceRpcResultSp(ServicePathNotificationTypes servicePathNotificationTypes,
+    public static RendererRpcResultSp buildRendererRpcResultSp(
+            ServicePathNotificationTypes servicePathNotificationTypes,
             String serviceName, RpcStatusEx rpcStatusEx, String message) {
-        DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ssxxx");
-        OffsetDateTime offsetDateTime = OffsetDateTime.now(ZoneOffset.UTC);
-        DateAndTime datetime = new DateAndTime(dtf.format(offsetDateTime));
-        ServiceRpcResultSpBuilder builder = new ServiceRpcResultSpBuilder();
-        builder.setNotificationType(servicePathNotificationTypes).setServiceName(serviceName)
-                .setStatus(rpcStatusEx).setStatusMessage(message);
-        return builder.build();
+        return new RendererRpcResultSpBuilder()
+            .setNotificationType(servicePathNotificationTypes)
+            .setServiceName(serviceName)
+            .setStatus(rpcStatusEx)
+            .setStatusMessage(message)
+            .build();
     }
 
-    public static ServiceRpcResultSh buildServiceRpcResultSh(ServiceNotificationTypes serviceNotificationTypes,
-            String serviceName, org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types
-            .rev191009.RpcStatusEx rpcStatusEx, String message) {
-        DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ssxxx");
-        OffsetDateTime offsetDateTime = OffsetDateTime.now(ZoneOffset.UTC);
-        DateAndTime datetime = new DateAndTime(dtf.format(offsetDateTime));
-        ServiceRpcResultShBuilder builder = new ServiceRpcResultShBuilder();
-        builder.setNotificationType(serviceNotificationTypes).setServiceName(serviceName)
-                .setStatus(rpcStatusEx).setStatusMessage(message);
-        return builder.build();
+    public static ServiceRpcResultSh buildServiceRpcResultSh(
+            ServiceNotificationTypes serviceNotificationTypes,
+            String serviceName,
+            org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118
+                .RpcStatusEx rpcStatusEx,
+            String message) {
+        return new ServiceRpcResultShBuilder()
+            .setNotificationType(serviceNotificationTypes)
+            .setServiceName(serviceName)
+            .setStatus(rpcStatusEx)
+            .setStatusMessage(message)
+            .build();
     }
 
-    public static ServiceRpcResultSp buildFailedServiceRpcResultSp() {
-        DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ssxxx");
-        OffsetDateTime offsetDateTime = OffsetDateTime.now(ZoneOffset.UTC);
-        DateAndTime datetime = new DateAndTime(dtf.format(offsetDateTime));
-        ServiceRpcResultSpBuilder builder = new ServiceRpcResultSpBuilder();
-        builder.setActualDate(datetime).setNotificationType(ServicePathNotificationTypes.ServiceImplementationRequest)
-                .setServiceName("service 1").setStatus(RpcStatusEx.Failed).setStatusMessage("failed");
-        return builder.build();
+    public static RendererRpcResultSp buildFailedRendererRpcResultSp() {
+        return new RendererRpcResultSpBuilder()
+            .setActualDate(
+                new DateAndTime(
+                    DateTimeFormatter
+                        .ofPattern("yyyy-MM-dd'T'HH:mm:ssxxx")
+                        .format(OffsetDateTime.now(ZoneOffset.UTC))))
+            .setNotificationType(ServicePathNotificationTypes.ServiceImplementationRequest)
+            .setServiceName("service 1")
+            .setStatus(RpcStatusEx.Failed)
+            .setStatusMessage("failed")
+            .build();
     }
 
-    public static PathDescription createPathDescription(long azRate, long azWaveLength, long zaRate,
-        long zaWaveLength) {
-        AToZDirection atozDirection = new AToZDirectionBuilder()
-            .setRate(azRate)
-            .setAToZWavelengthNumber(azWaveLength)
-            .setAToZ(null)
-            .build();
-        ZToADirection ztoaDirection = new ZToADirectionBuilder()
-            .setRate(zaRate)
-            .setZToAWavelengthNumber(zaWaveLength)
-            .setZToA(null)
-            .build();
-        PathDescription pathDescription = new PathDescriptionBuilder()
-            .setAToZDirection(atozDirection)
-            .setZToADirection(ztoaDirection)
+    public static PathDescription createPathDescription(
+            long azRate, long azWaveLength, long zaRate, long zaWaveLength) {
+        return new PathDescriptionBuilder()
+            .setAToZDirection(
+                new AToZDirectionBuilder()
+                    .setRate(Uint32.valueOf(azRate))
+                    .setAToZWavelengthNumber(Uint32.valueOf(azWaveLength))
+                    .build())
+            .setZToADirection(
+                new ZToADirectionBuilder()
+                    .setRate(Uint32.valueOf(zaRate))
+                    .setZToAWavelengthNumber(Uint32.valueOf(zaWaveLength))
+                    .build())
             .build();
-        return pathDescription;
     }
 
-    public static org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev161014.service.reconfigure.input
-        .ServiceAEndBuilder getServiceAEndBuildReconfigure() {
-        return new org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev161014.service.reconfigure.input
-            .ServiceAEndBuilder()
-            .setClli("clli").setServiceFormat(ServiceFormat.OC).setServiceRate((long) 1).setNodeId("XPONDER-1-2")
-            .setTxDirection(getTxDirection())
-            .setRxDirection(getRxDirection());
+    public static org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev230526
+            .service.reconfigure.input.ServiceAEndBuilder getServiceAEndBuildReconfigure() {
+        return new org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev230526
+                .service.reconfigure.input.ServiceAEndBuilder()
+            .setClli("clli")
+            .setServiceFormat(ServiceFormat.OC)
+            .setServiceRate(Uint32.valueOf(1))
+            .setNodeId(new NodeIdType("XPONDER-1-2"))
+            .setTxDirection(Map.of(new TxDirectionKey(getTxDirection().key()),getTxDirection()))
+            .setRxDirection(Map.of(new RxDirectionKey(getRxDirection().key()), getRxDirection()));
     }
 
-    public static org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev161014.service.reconfigure.input
-        .ServiceZEndBuilder getServiceZEndBuildReconfigure() {
-        return new org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev161014.service.reconfigure.input
-            .ServiceZEndBuilder()
-            .setClli("clli").setServiceFormat(ServiceFormat.OC).setServiceRate((long) 1).setNodeId("XPONDER-1-2")
-            .setTxDirection(getTxDirection())
-            .setRxDirection(getRxDirection());
+    public static org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev230526
+            .service.reconfigure.input.ServiceZEndBuilder getServiceZEndBuildReconfigure() {
+        return new org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev230526
+                .service.reconfigure.input.ServiceZEndBuilder()
+            .setClli("clli")
+            .setServiceFormat(ServiceFormat.OC)
+            .setServiceRate(Uint32.valueOf(1))
+            .setNodeId(new NodeIdType("XPONDER-1-2"))
+            .setTxDirection(Map.of(new TxDirectionKey(getTxDirection().key()),getTxDirection()))
+            .setRxDirection(Map.of(new RxDirectionKey(getRxDirection().key()), getRxDirection()));
     }
 
     public static <T> ListenableFuture<T> returnFuture(T output) {