Modify spectrum assignment management in PCE
[transportpce.git] / pce / src / test / java / org / opendaylight / transportpce / pce / utils / PceTestData.java
index 8aa64753e520a14bcb0e4064ebdd8edf8ccafa75..50bd0f457a8d05aaa29c8e671202aba623ca4fe1 100644 (file)
@@ -8,15 +8,16 @@
 package org.opendaylight.transportpce.pce.utils;
 
 import java.util.Arrays;
+import java.util.Map;
 import org.opendaylight.transportpce.common.ResponseCodes;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev200128.PathComputationRequestInput;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev200128.PathComputationRequestInputBuilder;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev200128.PathComputationRequestOutput;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev200128.PathComputationRequestOutputBuilder;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev200128.path.computation.request.input.ServiceAEnd;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev200128.path.computation.request.input.ServiceAEndBuilder;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev200128.path.computation.request.input.ServiceZEnd;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev200128.path.computation.request.input.ServiceZEndBuilder;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev210701.PathComputationRequestInput;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev210701.PathComputationRequestInputBuilder;
+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.PathComputationRequestOutputBuilder;
+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.openroadm.common.node.types.rev181130.NodeIdType;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev190531.ConnectionType;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev190531.configuration.response.common.ConfigurationResponseCommon;
@@ -26,10 +27,10 @@ import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev1
 import org.opendaylight.yang.gen.v1.http.org.openroadm.service.format.rev190531.ServiceFormat;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.ServiceCreateInput;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.ServiceCreateInputBuilder;
-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.pathdescription.rev201210.path.description.AToZDirection;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev201210.path.description.AToZDirectionBuilder;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev201210.path.description.ZToADirection;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev201210.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.routing.constraints.rev171017.constraints.sp.co.routing.or.general.CoRoutingBuilder;
 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints.rev171017.constraints.sp.co.routing.or.general.GeneralBuilder;
@@ -37,6 +38,7 @@ import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing
 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints.rev171017.constraints.sp.co.routing.or.general.general.ExcludeBuilder;
 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints.rev171017.constraints.sp.co.routing.or.general.general.IncludeBuilder;
 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints.rev171017.constraints.sp.co.routing.or.general.general.LatencyBuilder;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints.rev171017.constraints.sp.co.routing.or.general.general.include_.OrderedHops;
 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints.rev171017.constraints.sp.co.routing.or.general.general.include_.OrderedHopsBuilder;
 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints.rev171017.diversity.existing.service.contraints.sp.ExistingServiceApplicability;
 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints.rev171017.diversity.existing.service.contraints.sp.ExistingServiceApplicabilityBuilder;
@@ -53,6 +55,8 @@ import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service
 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.ServiceHandlerHeader;
 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev200128.service.handler.header.ServiceHandlerHeaderBuilder;
+import org.opendaylight.yangtools.yang.common.Uint16;
+import org.opendaylight.yangtools.yang.common.Uint32;
 
 
 public final class PceTestData {
@@ -91,13 +95,106 @@ public final class PceTestData {
         return input;
     }
 
+    public static PathComputationRequestInput getPathComputationRequestInputWithCoRoutingOrGeneral2() {
+        ServiceHandlerHeader serviceHandlerHeader = new ServiceHandlerHeaderBuilder()
+                .setRequestId("request1")
+                .build();
+        ServiceAEnd serviceAEnd = new ServiceAEndBuilder()
+                .setServiceFormat(ServiceFormat.ODU)
+                .setServiceRate(Uint32.valueOf(100))
+                .setClli("clli11")
+                .setNodeId("XPONDER-2-2")
+                .setTxDirection(new TxDirectionBuilder().setPort(
+                        new PortBuilder()
+                                .setPortDeviceName("Some port-device-name")
+                                .setPortType("Some port-type")
+                                .setPortName("Some port-name")
+                                .setPortRack("Some port-rack")
+                                .setPortShelf("Some port-shelf")
+                                .setPortSlot("Some port-slot")
+                                .setPortSubSlot("Some port-sub-slot")
+                                .build()
+                ).build())
+                .setRxDirection(new RxDirectionBuilder().setPort(
+                        new PortBuilder()
+                                .setPortDeviceName("Some port-device-name")
+                                .setPortType("Some port-type")
+                                .setPortName("Some port-name")
+                                .setPortRack("Some port-rack")
+                                .setPortShelf("Some port-shelf")
+                                .setPortSlot("Some port-slot")
+                                .setPortSubSlot("Some port-sub-slot")
+                                .build()
+                ).build())
+                .build();
+        ServiceZEnd serviceZEnd = new ServiceZEndBuilder()
+                .setServiceFormat(ServiceFormat.ODU)
+                .setServiceRate(Uint32.valueOf(0))
+                .setClli("Some clli11")
+                .setNodeId("XPONDER-1-2")
+                .setTxDirection(new TxDirectionBuilder().setPort(
+                        new PortBuilder()
+                                .setPortDeviceName("Some port-device-name")
+                                .setPortType("Some port-type")
+                                .setPortName("Some port-name")
+                                .setPortRack("Some port-rack")
+                                .setPortShelf("Some port-shelf")
+                                .setPortSlot("Some port-slot")
+                                .setPortSubSlot("Some port-sub-slot")
+                                .build()
+                ).build())
+                .setRxDirection(new RxDirectionBuilder().setPort(
+                        new PortBuilder()
+                                .setPortDeviceName("Some port-device-name")
+                                .setPortType("Some port-type")
+                                .setPortName("Some port-name")
+                                .setPortRack("Some port-rack")
+                                .setPortShelf("Some port-shelf")
+                                .setPortSlot("Some port-slot")
+                                .setPortSubSlot("Some port-sub-slot")
+                                .build()
+                ).build())
+                .build();
+        PathComputationRequestInput input = new PathComputationRequestInputBuilder()
+                .setServiceName("service1")
+                .setResourceReserve(true)
+                .setPceMetric(PceMetric.HopCount)
+                .setLocallyProtectedLinks(true)
+                .setServiceHandlerHeader(serviceHandlerHeader)
+                .setServiceAEnd(serviceAEnd)
+                .setServiceZEnd(serviceZEnd)
+                .setHardConstraints(new HardConstraintsBuilder()
+                        .setCustomerCode(Arrays.asList("Some customer-code"))
+                        .setCoRoutingOrGeneral(new CoRoutingBuilder()
+                                .setCoRouting(new org.opendaylight.yang.gen.v1.http.org
+                                        .transportpce.b.c._interface.routing.constraints.rev171017
+                                        .constraints.sp.co.routing.or.general.co.routing.CoRoutingBuilder()
+                                        .setExistingService(Arrays.asList("Some existing-service"))
+
+                                        .build())
+                                .build())
+                        .build())
+                .setSoftConstraints(new SoftConstraintsBuilder()
+                        .setCustomerCode(Arrays.asList("Some customer-code"))
+                        .setCoRoutingOrGeneral(new CoRoutingBuilder()
+                                .setCoRouting(new org.opendaylight.yang.gen.v1.http.org
+                                        .transportpce.b.c._interface.routing.constraints.rev171017
+                                        .constraints.sp.co.routing.or.general.co.routing.CoRoutingBuilder()
+                                        .setExistingService(Arrays.asList("Some existing-service"))
+                                        .build())
+                                .build())
+                        .build())
+                .build();
+        return input;
+    }
+
     public static PathComputationRequestInput getPathComputationRequestInputWithCoRoutingOrGeneral() {
         ServiceHandlerHeader serviceHandlerHeader = new ServiceHandlerHeaderBuilder()
                 .setRequestId("request1")
                 .build();
         ServiceAEnd serviceAEnd = new ServiceAEndBuilder()
                 .setServiceFormat(ServiceFormat.Ethernet)
-                .setServiceRate(100L)
+                .setServiceRate(Uint32.valueOf(100))
                 .setClli("clli11")
                 .setNodeId("XPONDER-2-2")
                 .setTxDirection(new TxDirectionBuilder().setPort(
@@ -125,7 +222,7 @@ public final class PceTestData {
                 .build();
         ServiceZEnd serviceZEnd = new ServiceZEndBuilder()
                 .setServiceFormat(ServiceFormat.Ethernet)
-                .setServiceRate(0L)
+                .setServiceRate(Uint32.valueOf(0))
                 .setClli("Some clli11")
                 .setNodeId("XPONDER-1-2")
                 .setTxDirection(new TxDirectionBuilder().setPort(
@@ -190,7 +287,7 @@ public final class PceTestData {
                 .build();
         ServiceAEnd serviceAEnd = new ServiceAEndBuilder()
                 .setServiceFormat(ServiceFormat.Ethernet)
-                .setServiceRate(100L)
+                .setServiceRate(Uint32.valueOf(100))
                 .setClli("clli11")
                 .setNodeId("XPONDER-2-2")
                 .setTxDirection(new TxDirectionBuilder().setPort(
@@ -218,7 +315,7 @@ public final class PceTestData {
                 .build();
         ServiceZEnd serviceZEnd = new ServiceZEndBuilder()
                 .setServiceFormat(ServiceFormat.Ethernet)
-                .setServiceRate(0L)
+                .setServiceRate(Uint32.valueOf(0))
                 .setClli("Some clli11")
                 .setNodeId("XPONDER-1-2")
                 .setTxDirection(new TxDirectionBuilder().setPort(
@@ -326,11 +423,11 @@ public final class PceTestData {
                 .setRequestId("request 1")
                 .build();
         ServiceAEnd serviceAEnd = new ServiceAEndBuilder()
-                .setServiceRate(0L)
+                .setServiceRate(Uint32.valueOf(0))
                 .setNodeId("XPONDER-1-2")
                 .build();
         ServiceZEnd serviceZEnd = new ServiceZEndBuilder()
-                .setServiceRate(0L)
+                .setServiceRate(Uint32.valueOf(0))
                 .setNodeId("XPONDER-3-2")
                 .build();
         PathComputationRequestInput input = new PathComputationRequestInputBuilder()
@@ -393,13 +490,18 @@ public final class PceTestData {
                 .setRequestId("request 1")
                 .build();
         ServiceAEnd serviceAEnd = new ServiceAEndBuilder()
-                .setServiceRate(0L)
+                .setServiceRate(Uint32.valueOf(0))
                 .setNodeId("XPONDER-1-2")
                 .build();
         ServiceZEnd serviceZEnd = new ServiceZEndBuilder()
-                .setServiceRate(0L)
+                .setServiceRate(Uint32.valueOf(0))
                 .setNodeId("XPONDER-3-2")
                 .build();
+        OrderedHops orderedHops = new OrderedHopsBuilder()
+                .setHopNumber(Uint16.valueOf(22))
+                .setHopType(new HopTypeBuilder()
+                        .setHopType(new HopTypeBuilder().getHopType()).build())
+                .build();
         PathComputationRequestInput input = new PathComputationRequestInputBuilder()
                 .setServiceHandlerHeader(serviceHandlerHeader)
                 .setServiceName("service 1")
@@ -409,18 +511,14 @@ public final class PceTestData {
                 .setServiceZEnd(serviceZEnd)
                 .setHardConstraints(new HardConstraintsBuilder()
                         .setCoRoutingOrGeneral(new GeneralBuilder()
-                                  .setExclude(new ExcludeBuilder()
-                                          .setNodeId(Arrays.asList("OpenROADM-2-2"))
-                                          .build())
-                                  .setLatency(new LatencyBuilder().setMaxLatency(3223L).build())
-                                  .setInclude(new IncludeBuilder()
-                                          .setOrderedHops(Arrays.asList(new OrderedHopsBuilder()
-                                                  .setHopNumber(22)
-                                                  .setHopType(new HopTypeBuilder()
-                                                          .setHopType(new HopTypeBuilder().getHopType()).build())
-                                                  .build()))
-                                          .build())
-                                  .build())
+                                .setExclude(new ExcludeBuilder()
+                                        .setNodeId(Arrays.asList("OpenROADM-2-2"))
+                                        .build())
+                                .setLatency(new LatencyBuilder().setMaxLatency(Uint32.valueOf(3223)).build())
+                                .setInclude(new IncludeBuilder()
+                                        .setOrderedHops(Map.of(orderedHops.key(),orderedHops))
+                                        .build())
+                                .build())
                         .build())
                 .build();
         return input;
@@ -473,12 +571,15 @@ public final class PceTestData {
         ServiceHandlerHeader serviceHandlerHeader = new ServiceHandlerHeaderBuilder()
                 .setRequestId("request 1")
                 .build();
+
         ServiceAEnd serviceAEnd = new ServiceAEndBuilder()
-                .setServiceRate(0L)
+                .setServiceRate(Uint32.valueOf(100))
+                .setServiceFormat(ServiceFormat.Ethernet)
                 .setNodeId("XPONDER-1-2")
                 .build();
         ServiceZEnd serviceZEnd = new ServiceZEndBuilder()
-                .setServiceRate(0L)
+                .setServiceRate(Uint32.valueOf(0))
+                .setServiceFormat(ServiceFormat.Ethernet)
                 .setNodeId("XPONDER-3-2")
                 .build();
         PathComputationRequestInput input = new PathComputationRequestInputBuilder()
@@ -519,11 +620,11 @@ public final class PceTestData {
                 .setRequestId("request 1")
                 .build();
         ServiceAEnd serviceAEnd = new ServiceAEndBuilder()
-                .setServiceRate(0L)
+                .setServiceRate(Uint32.valueOf(0))
                 .setNodeId("XPONDER-1-2")
                 .build();
         ServiceZEnd serviceZEnd = new ServiceZEndBuilder()
-                .setServiceRate(0L)
+                .setServiceRate(Uint32.valueOf(0))
                 .setNodeId("XPONDER-3-2")
                 .build();
         HardConstraints hardConstrains = new HardConstraintsBuilder().build();
@@ -546,11 +647,11 @@ public final class PceTestData {
                 .setRequestId("request 1")
                 .build();
         ServiceAEnd serviceAEnd = new ServiceAEndBuilder()
-                .setServiceRate(0L)
+                .setServiceRate(Uint32.valueOf(0))
                 .setNodeId("XPONDER-1-2")
                 .build();
         ServiceZEnd serviceZEnd = new ServiceZEndBuilder()
-                .setServiceRate(0L)
+                .setServiceRate(Uint32.valueOf(0))
                 .setNodeId("XPONDER-3-2")
                 .build();
         PathComputationRequestInput input = new PathComputationRequestInputBuilder()
@@ -586,14 +687,12 @@ public final class PceTestData {
     private static PathDescription createPathDescription(long azRate, long azWaveLength, long zaRate,
                                                          long zaWaveLength) {
         AToZDirection atozDirection = new AToZDirectionBuilder()
-                .setRate(azRate)
-                .setAToZWavelengthNumber(azWaveLength)
-                .setAToZ(null)
+                .setRate(Uint32.valueOf(azRate))
+                .setAToZWavelengthNumber(Uint32.valueOf(azWaveLength))
                 .build();
         ZToADirection ztoaDirection = new ZToADirectionBuilder()
-                .setRate(zaRate)
-                .setZToAWavelengthNumber(zaWaveLength)
-                .setZToA(null)
+                .setRate(Uint32.valueOf(zaRate))
+                .setZToAWavelengthNumber(Uint32.valueOf(zaWaveLength))
                 .build();
         PathDescription pathDescription = new PathDescriptionBuilder()
                 .setAToZDirection(atozDirection)
@@ -640,11 +739,11 @@ public final class PceTestData {
                 .setNode(true).build();
 
         ServiceAEnd serviceAEnd = new ServiceAEndBuilder()
-                .setServiceRate(0L)
+                .setServiceRate(Uint32.valueOf(0))
                 .setNodeId("XPONDER-1-1")
                 .build();
         ServiceZEnd serviceZEnd = new ServiceZEndBuilder()
-                .setServiceRate(0L)
+                .setServiceRate(Uint32.valueOf(0))
                 .setNodeId("XPONDER-3-1")
                 .build();
 
@@ -655,7 +754,7 @@ public final class PceTestData {
                 .setHardConstraints(new HardConstraintsBuilder()
                         .setCoRoutingOrGeneral(new GeneralBuilder()
                                 .setLatency(new LatencyBuilder()
-                                        .setMaxLatency(3223L).build())
+                                        .setMaxLatency(Uint32.valueOf(3223)).build())
                                 .setDiversity(new DiversityBuilder()
                                         .setExistingService(Arrays.asList(base.getServiceName()))
                                         .setExistingServiceApplicability(nodeTrue)
@@ -672,7 +771,7 @@ public final class PceTestData {
                 new org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531
                         .service.create.input.ServiceAEndBuilder()
                         .setClli("clli")
-                        .setServiceRate((long) 0)
+                        .setServiceRate(Uint32.valueOf(0))
                         .setNodeId(new NodeIdType("XPONDER-1-2"))
                         .setTxDirection(new org.opendaylight.yang.gen.v1.http.org
                                 .openroadm.common.service.types.rev190531.service.endpoint.TxDirectionBuilder()
@@ -688,7 +787,7 @@ public final class PceTestData {
                 new org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531
                         .service.create.input.ServiceZEndBuilder()
                         .setClli("clli")
-                        .setServiceRate((long) 0)
+                        .setServiceRate(Uint32.valueOf(0))
                         .setNodeId(new NodeIdType("XPONDER-3-2"))
                         .setTxDirection(new org.opendaylight.yang.gen.v1.http.org
                                 .openroadm.common.service.types.rev190531.service.endpoint.TxDirectionBuilder()
@@ -713,4 +812,96 @@ public final class PceTestData {
 
         return builtInput.build();
     }
+
+    public static PathComputationRequestInput getGnpyPCERequest(String nodeA, String nodeZ) {
+        ServiceHandlerHeader serviceHandlerHeader = new ServiceHandlerHeaderBuilder()
+                .setRequestId("request1")
+                .build();
+        ServiceAEnd serviceAEnd = new ServiceAEndBuilder()
+                .setServiceFormat(ServiceFormat.Ethernet)
+                .setServiceRate(Uint32.valueOf(100))
+                .setClli("clli11")
+                .setNodeId(nodeA)
+                .setTxDirection(new TxDirectionBuilder().setPort(
+                        new PortBuilder()
+                                .setPortDeviceName("Some port-device-name")
+                                .setPortType("Some port-type")
+                                .setPortName("Some port-name")
+                                .setPortRack("Some port-rack")
+                                .setPortShelf("Some port-shelf")
+                                .setPortSlot("Some port-slot")
+                                .setPortSubSlot("Some port-sub-slot")
+                                .build()
+                ).build())
+                .setRxDirection(new RxDirectionBuilder().setPort(
+                        new PortBuilder()
+                                .setPortDeviceName("Some port-device-name")
+                                .setPortType("Some port-type")
+                                .setPortName("Some port-name")
+                                .setPortRack("Some port-rack")
+                                .setPortShelf("Some port-shelf")
+                                .setPortSlot("Some port-slot")
+                                .setPortSubSlot("Some port-sub-slot")
+                                .build()
+                ).build())
+                .build();
+        ServiceZEnd serviceZEnd = new ServiceZEndBuilder()
+                .setServiceFormat(ServiceFormat.Ethernet)
+                .setServiceRate(Uint32.valueOf(0))
+                .setClli("Some clli11")
+                .setNodeId(nodeZ)
+                .setTxDirection(new TxDirectionBuilder().setPort(
+                        new PortBuilder()
+                                .setPortDeviceName("Some port-device-name")
+                                .setPortType("Some port-type")
+                                .setPortName("Some port-name")
+                                .setPortRack("Some port-rack")
+                                .setPortShelf("Some port-shelf")
+                                .setPortSlot("Some port-slot")
+                                .setPortSubSlot("Some port-sub-slot")
+                                .build()
+                ).build())
+                .setRxDirection(new RxDirectionBuilder().setPort(
+                        new PortBuilder()
+                                .setPortDeviceName("Some port-device-name")
+                                .setPortType("Some port-type")
+                                .setPortName("Some port-name")
+                                .setPortRack("Some port-rack")
+                                .setPortShelf("Some port-shelf")
+                                .setPortSlot("Some port-slot")
+                                .setPortSubSlot("Some port-sub-slot")
+                                .build()
+                ).build())
+                .build();
+        PathComputationRequestInput input = new PathComputationRequestInputBuilder()
+                .setServiceName("service1")
+                .setResourceReserve(true)
+                .setPceMetric(PceMetric.HopCount)
+                .setLocallyProtectedLinks(true)
+                .setServiceHandlerHeader(serviceHandlerHeader)
+                .setServiceAEnd(serviceAEnd)
+                .setServiceZEnd(serviceZEnd)
+                .setHardConstraints(new HardConstraintsBuilder()
+                        .setCustomerCode(Arrays.asList("Some customer-code"))
+                        .setCoRoutingOrGeneral(new CoRoutingBuilder()
+                                .setCoRouting(new org.opendaylight.yang.gen.v1.http.org
+                                        .transportpce.b.c._interface.routing.constraints.rev171017
+                                        .constraints.sp.co.routing.or.general.co.routing.CoRoutingBuilder()
+                                        .setExistingService(Arrays.asList("Some existing-service"))
+                                        .build())
+                                .build())
+                        .build())
+                .setSoftConstraints(new SoftConstraintsBuilder()
+                        .setCustomerCode(Arrays.asList("Some customer-code"))
+                        .setCoRoutingOrGeneral(new CoRoutingBuilder()
+                                .setCoRouting(new org.opendaylight.yang.gen.v1.http.org
+                                        .transportpce.b.c._interface.routing.constraints.rev171017
+                                        .constraints.sp.co.routing.or.general.co.routing.CoRoutingBuilder()
+                                        .setExistingService(Arrays.asList("Some existing-service"))
+                                        .build())
+                                .build())
+                        .build())
+                .build();
+        return input;
+    }
 }