2 * Copyright © 2017 AT&T, Inc. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
8 package org.opendaylight.transportpce.pce.utils;
10 import java.util.Arrays;
11 import org.opendaylight.transportpce.common.ResponseCodes;
12 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev200128.PathComputationRequestInput;
13 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev200128.PathComputationRequestInputBuilder;
14 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev200128.PathComputationRequestOutput;
15 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev200128.PathComputationRequestOutputBuilder;
16 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev200128.path.computation.request.input.ServiceAEnd;
17 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev200128.path.computation.request.input.ServiceAEndBuilder;
18 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev200128.path.computation.request.input.ServiceZEnd;
19 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev200128.path.computation.request.input.ServiceZEndBuilder;
20 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.node.types.rev181130.NodeIdType;
21 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev190531.ConnectionType;
22 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev190531.configuration.response.common.ConfigurationResponseCommon;
23 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev190531.configuration.response.common.ConfigurationResponseCommonBuilder;
24 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev190531.sdnc.request.header.SdncRequestHeaderBuilder;
25 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev190531.service.port.PortBuilder;
26 import org.opendaylight.yang.gen.v1.http.org.openroadm.service.format.rev190531.ServiceFormat;
27 import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.ServiceCreateInput;
28 import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.ServiceCreateInputBuilder;
29 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev171017.path.description.AToZDirection;
30 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev171017.path.description.AToZDirectionBuilder;
31 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev171017.path.description.ZToADirection;
32 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev171017.path.description.ZToADirectionBuilder;
33 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints.rev171017.RoutingConstraintsSp.PceMetric;
34 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints.rev171017.constraints.sp.co.routing.or.general.CoRoutingBuilder;
35 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints.rev171017.constraints.sp.co.routing.or.general.GeneralBuilder;
36 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints.rev171017.constraints.sp.co.routing.or.general.general.DiversityBuilder;
37 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints.rev171017.constraints.sp.co.routing.or.general.general.ExcludeBuilder;
38 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints.rev171017.constraints.sp.co.routing.or.general.general.IncludeBuilder;
39 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints.rev171017.constraints.sp.co.routing.or.general.general.LatencyBuilder;
40 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints.rev171017.constraints.sp.co.routing.or.general.general.include_.OrderedHopsBuilder;
41 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints.rev171017.diversity.existing.service.contraints.sp.ExistingServiceApplicability;
42 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints.rev171017.diversity.existing.service.contraints.sp.ExistingServiceApplicabilityBuilder;
43 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints.rev171017.ordered.constraints.sp.HopTypeBuilder;
44 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints.rev171017.routing.constraints.sp.HardConstraints;
45 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints.rev171017.routing.constraints.sp.HardConstraintsBuilder;
46 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints.rev171017.routing.constraints.sp.SoftConstraints;
47 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints.rev171017.routing.constraints.sp.SoftConstraintsBuilder;
48 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev200128.response.parameters.sp.ResponseParameters;
49 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev200128.response.parameters.sp.ResponseParametersBuilder;
50 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev200128.response.parameters.sp.response.parameters.PathDescription;
51 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev200128.response.parameters.sp.response.parameters.PathDescriptionBuilder;
52 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev200128.service.endpoint.sp.RxDirectionBuilder;
53 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev200128.service.endpoint.sp.TxDirectionBuilder;
54 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev200128.service.handler.header.ServiceHandlerHeader;
55 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev200128.service.handler.header.ServiceHandlerHeaderBuilder;
58 public final class PceTestData {
60 private PceTestData() {
63 public static PathComputationRequestInput getEmptyPCERequest() {
64 ServiceHandlerHeader serviceHandlerHeader = new ServiceHandlerHeaderBuilder()
65 .setRequestId("request1")
67 PathComputationRequestInput input = new PathComputationRequestInputBuilder()
68 .setServiceHandlerHeader(serviceHandlerHeader)
73 public static PathComputationRequestInput getEmptyPCERequestServiceNameWithRequestId() {
74 ServiceHandlerHeader serviceHandlerHeader = new ServiceHandlerHeaderBuilder()
75 .setRequestId("request1")
77 PathComputationRequestInput input = new PathComputationRequestInputBuilder()
78 .setServiceName("serviceName")
79 .setServiceHandlerHeader(serviceHandlerHeader)
84 public static PathComputationRequestInput getEmptyPCERequestServiceNameWithOutRequestId() {
85 ServiceHandlerHeader serviceHandlerHeader = new ServiceHandlerHeaderBuilder()
87 PathComputationRequestInput input = new PathComputationRequestInputBuilder()
88 .setServiceName("serviceName")
89 .setServiceHandlerHeader(serviceHandlerHeader)
94 public static PathComputationRequestInput getPathComputationRequestInputWithCoRoutingOrGeneral() {
95 ServiceHandlerHeader serviceHandlerHeader = new ServiceHandlerHeaderBuilder()
96 .setRequestId("request1")
98 ServiceAEnd serviceAEnd = new ServiceAEndBuilder()
99 .setServiceFormat(ServiceFormat.Ethernet)
100 .setServiceRate(100L)
102 .setNodeId("XPONDER-2-2")
103 .setTxDirection(new TxDirectionBuilder().setPort(
105 .setPortDeviceName("Some port-device-name")
106 .setPortType("Some port-type")
107 .setPortName("Some port-name")
108 .setPortRack("Some port-rack")
109 .setPortShelf("Some port-shelf")
110 .setPortSlot("Some port-slot")
111 .setPortSubSlot("Some port-sub-slot")
114 .setRxDirection(new RxDirectionBuilder().setPort(
116 .setPortDeviceName("Some port-device-name")
117 .setPortType("Some port-type")
118 .setPortName("Some port-name")
119 .setPortRack("Some port-rack")
120 .setPortShelf("Some port-shelf")
121 .setPortSlot("Some port-slot")
122 .setPortSubSlot("Some port-sub-slot")
126 ServiceZEnd serviceZEnd = new ServiceZEndBuilder()
127 .setServiceFormat(ServiceFormat.Ethernet)
129 .setClli("Some clli11")
130 .setNodeId("XPONDER-1-2")
131 .setTxDirection(new TxDirectionBuilder().setPort(
133 .setPortDeviceName("Some port-device-name")
134 .setPortType("Some port-type")
135 .setPortName("Some port-name")
136 .setPortRack("Some port-rack")
137 .setPortShelf("Some port-shelf")
138 .setPortSlot("Some port-slot")
139 .setPortSubSlot("Some port-sub-slot")
142 .setRxDirection(new RxDirectionBuilder().setPort(
144 .setPortDeviceName("Some port-device-name")
145 .setPortType("Some port-type")
146 .setPortName("Some port-name")
147 .setPortRack("Some port-rack")
148 .setPortShelf("Some port-shelf")
149 .setPortSlot("Some port-slot")
150 .setPortSubSlot("Some port-sub-slot")
154 PathComputationRequestInput input = new PathComputationRequestInputBuilder()
155 .setServiceName("service1")
156 .setResourceReserve(true)
157 .setPceMetric(PceMetric.HopCount)
158 .setLocallyProtectedLinks(true)
159 .setServiceHandlerHeader(serviceHandlerHeader)
160 .setServiceAEnd(serviceAEnd)
161 .setServiceZEnd(serviceZEnd)
162 .setHardConstraints(new HardConstraintsBuilder()
163 .setCustomerCode(Arrays.asList("Some customer-code"))
164 .setCoRoutingOrGeneral(new CoRoutingBuilder()
165 .setCoRouting(new org.opendaylight.yang.gen.v1.http.org
166 .transportpce.b.c._interface.routing.constraints.rev171017
167 .constraints.sp.co.routing.or.general.co.routing.CoRoutingBuilder()
168 .setExistingService(Arrays.asList("Some existing-service"))
173 .setSoftConstraints(new SoftConstraintsBuilder()
174 .setCustomerCode(Arrays.asList("Some customer-code"))
175 .setCoRoutingOrGeneral(new CoRoutingBuilder()
176 .setCoRouting(new org.opendaylight.yang.gen.v1.http.org
177 .transportpce.b.c._interface.routing.constraints.rev171017
178 .constraints.sp.co.routing.or.general.co.routing.CoRoutingBuilder()
179 .setExistingService(Arrays.asList("Some existing-service"))
187 public static PathComputationRequestInput getPCERequest() {
188 ServiceHandlerHeader serviceHandlerHeader = new ServiceHandlerHeaderBuilder()
189 .setRequestId("request1")
191 ServiceAEnd serviceAEnd = new ServiceAEndBuilder()
192 .setServiceFormat(ServiceFormat.Ethernet)
193 .setServiceRate(100L)
195 .setNodeId("XPONDER-2-2")
196 .setTxDirection(new TxDirectionBuilder().setPort(
198 .setPortDeviceName("Some port-device-name")
199 .setPortType("Some port-type")
200 .setPortName("Some port-name")
201 .setPortRack("Some port-rack")
202 .setPortShelf("Some port-shelf")
203 .setPortSlot("Some port-slot")
204 .setPortSubSlot("Some port-sub-slot")
207 .setRxDirection(new RxDirectionBuilder().setPort(
209 .setPortDeviceName("Some port-device-name")
210 .setPortType("Some port-type")
211 .setPortName("Some port-name")
212 .setPortRack("Some port-rack")
213 .setPortShelf("Some port-shelf")
214 .setPortSlot("Some port-slot")
215 .setPortSubSlot("Some port-sub-slot")
219 ServiceZEnd serviceZEnd = new ServiceZEndBuilder()
220 .setServiceFormat(ServiceFormat.Ethernet)
222 .setClli("Some clli11")
223 .setNodeId("XPONDER-1-2")
224 .setTxDirection(new TxDirectionBuilder().setPort(
226 .setPortDeviceName("Some port-device-name")
227 .setPortType("Some port-type")
228 .setPortName("Some port-name")
229 .setPortRack("Some port-rack")
230 .setPortShelf("Some port-shelf")
231 .setPortSlot("Some port-slot")
232 .setPortSubSlot("Some port-sub-slot")
235 .setRxDirection(new RxDirectionBuilder().setPort(
237 .setPortDeviceName("Some port-device-name")
238 .setPortType("Some port-type")
239 .setPortName("Some port-name")
240 .setPortRack("Some port-rack")
241 .setPortShelf("Some port-shelf")
242 .setPortSlot("Some port-slot")
243 .setPortSubSlot("Some port-sub-slot")
247 PathComputationRequestInput input = new PathComputationRequestInputBuilder()
248 .setServiceName("service1")
249 .setResourceReserve(true)
250 .setPceMetric(PceMetric.HopCount)
251 .setLocallyProtectedLinks(true)
252 .setServiceHandlerHeader(serviceHandlerHeader)
253 .setServiceAEnd(serviceAEnd)
254 .setServiceZEnd(serviceZEnd)
255 .setHardConstraints(new HardConstraintsBuilder()
256 .setCustomerCode(Arrays.asList("Some customer-code"))
257 .setCoRoutingOrGeneral(new CoRoutingBuilder()
258 .setCoRouting(new org.opendaylight.yang.gen.v1.http.org
259 .transportpce.b.c._interface.routing.constraints.rev171017
260 .constraints.sp.co.routing.or.general.co.routing.CoRoutingBuilder()
261 .setExistingService(Arrays.asList("Some existing-service"))
265 .setSoftConstraints(new SoftConstraintsBuilder()
266 .setCustomerCode(Arrays.asList("Some customer-code"))
267 .setCoRoutingOrGeneral(new CoRoutingBuilder()
268 .setCoRouting(new org.opendaylight.yang.gen.v1.http.org
269 .transportpce.b.c._interface.routing.constraints.rev171017
270 .constraints.sp.co.routing.or.general.co.routing.CoRoutingBuilder()
271 .setExistingService(Arrays.asList("Some existing-service"))
279 public static PathComputationRequestOutput getFailedPCEResultYes() {
280 PathComputationRequestOutputBuilder outputBuilder = new PathComputationRequestOutputBuilder();
281 ConfigurationResponseCommonBuilder configurationResponseCommon = new ConfigurationResponseCommonBuilder()
282 .setAckFinalIndicator("Yes")
283 .setRequestId("request1")
284 .setResponseCode("Path not calculated")
285 .setResponseMessage("Service Name is not set");
286 outputBuilder.setConfigurationResponseCommon(configurationResponseCommon.build())
287 .setResponseParameters(null);
288 return outputBuilder.build();
291 public static PathComputationRequestOutput getPCEResultOk(Long wl) {
292 PathComputationRequestOutputBuilder outputBuilder = new PathComputationRequestOutputBuilder();
293 ResponseParameters responseParameters = new ResponseParametersBuilder()
294 .setPathDescription(createPathDescription(0L, wl, 0L, wl))
296 outputBuilder.setConfigurationResponseCommon(createCommonSuccessResponse())
297 .setResponseParameters(responseParameters);
298 return outputBuilder.build();
302 * Generate Data for Test 1 request 5-4.
305 * "pce:service-name": "service 1",
306 * "pce:resource-reserve": "true",
307 * "pce:service-handler-header": {
308 * "pce:request-id": "request 1"
310 * "pce:service-a-end": {
311 * "pce:service-rate": "0",
312 * "pce:node-id": "XPONDER-1-2"
314 * "pce:service-z-end": {
315 * "pce:service-rate": "0",
316 * "pce:node-id": "XPONDER-3-2"
318 * "pce:pce-metric": "hop-count"
322 * @return input PathComputationRequestInput data
324 public static PathComputationRequestInput getPCE_test1_request_54() {
325 ServiceHandlerHeader serviceHandlerHeader = new ServiceHandlerHeaderBuilder()
326 .setRequestId("request 1")
328 ServiceAEnd serviceAEnd = new ServiceAEndBuilder()
330 .setNodeId("XPONDER-1-2")
332 ServiceZEnd serviceZEnd = new ServiceZEndBuilder()
334 .setNodeId("XPONDER-3-2")
336 PathComputationRequestInput input = new PathComputationRequestInputBuilder()
337 .setServiceHandlerHeader(serviceHandlerHeader)
338 .setServiceName("service 1")
339 .setResourceReserve(true)
340 .setPceMetric(PceMetric.HopCount)
341 .setServiceAEnd(serviceAEnd)
342 .setServiceZEnd(serviceZEnd)
348 * Generate Data for Test 1 result 5-4.
350 * @param wl WaveLength
351 * @return output PathComputationRequestOutput data
353 public static PathComputationRequestOutput getPCE_test_result_54(Long wl) {
354 PathComputationRequestOutputBuilder outputBuilder = new PathComputationRequestOutputBuilder();
355 ResponseParameters responseParameters = new ResponseParametersBuilder()
356 .setPathDescription(createPathDescription(0L, wl, 0L, wl))
358 outputBuilder.setConfigurationResponseCommon(createCommonSuccessResponse())
359 .setResponseParameters(responseParameters);
360 return outputBuilder.build();
364 * Generate Data for Test 2 request 5-4.
367 * "pce:service-name": "service 1",
368 * "pce:resource-reserve": "true",
369 * "pce:service-handler-header": {
370 * "pce:request-id": "request 1"
372 * "pce:service-a-end": {
373 * "pce:service-rate": "0",
374 * "pce:node-id": "XPONDER-1-2"
376 * "pce:service-z-end": {
377 * "pce:service-rate": "0",
378 * "pce:node-id": "XPONDER-3-2"
380 * "pce:hard-constraints": {
382 * "node-id": [ "OpenROADM-2-2" ]
385 * "pce:pce-metric": "hop-count"
389 * @return input PathComputationRequestInput data
391 public static PathComputationRequestInput getPCE_test2_request_54() {
392 ServiceHandlerHeader serviceHandlerHeader = new ServiceHandlerHeaderBuilder()
393 .setRequestId("request 1")
395 ServiceAEnd serviceAEnd = new ServiceAEndBuilder()
397 .setNodeId("XPONDER-1-2")
399 ServiceZEnd serviceZEnd = new ServiceZEndBuilder()
401 .setNodeId("XPONDER-3-2")
403 PathComputationRequestInput input = new PathComputationRequestInputBuilder()
404 .setServiceHandlerHeader(serviceHandlerHeader)
405 .setServiceName("service 1")
406 .setResourceReserve(true)
407 .setPceMetric(PceMetric.HopCount)
408 .setServiceAEnd(serviceAEnd)
409 .setServiceZEnd(serviceZEnd)
410 .setHardConstraints(new HardConstraintsBuilder()
411 .setCoRoutingOrGeneral(new GeneralBuilder()
412 .setExclude(new ExcludeBuilder()
413 .setNodeId(Arrays.asList("OpenROADM-2-2"))
415 .setLatency(new LatencyBuilder().setMaxLatency(3223L).build())
416 .setInclude(new IncludeBuilder()
417 .setOrderedHops(Arrays.asList(new OrderedHopsBuilder()
419 .setHopType(new HopTypeBuilder()
420 .setHopType(new HopTypeBuilder().getHopType()).build())
430 * Generate Data for Test 2 result 5-4.
432 * @return output PathComputationRequestOutput data
434 public static PathComputationRequestOutput getPCE_test2_result_54() {
435 PathComputationRequestOutputBuilder outputBuilder = new PathComputationRequestOutputBuilder();
436 ResponseParameters responseParameters = new ResponseParametersBuilder()
437 .setPathDescription(createPathDescription(0L, 9L, 0L, 9L))
439 outputBuilder.setConfigurationResponseCommon(createCommonSuccessResponse())
440 .setResponseParameters(responseParameters);
441 return outputBuilder.build();
445 * Generate Data for Test 2 request 5-4.
448 * "pce:service-name": "service 1",
449 * "pce:resource-reserve": "true",
450 * "pce:service-handler-header": {
451 * "pce:request-id": "request 1"
453 * "pce:service-a-end": {
454 * "pce:service-rate": "0",
455 * "pce:node-id": "XPONDER-1-2"
457 * "pce:service-z-end": {
458 * "pce:service-rate": "0",
459 * "pce:node-id": "XPONDER-3-2"
461 * "pce:hard-constraints": {
463 * "node-id": [ "OpenROADM-2-1", "OpenROADM-2-2" ]
466 * "pce:pce-metric": "hop-count"
470 * @return input PathComputationRequestInput data
472 public static PathComputationRequestInput getPCE_test3_request_54() {
473 ServiceHandlerHeader serviceHandlerHeader = new ServiceHandlerHeaderBuilder()
474 .setRequestId("request 1")
476 ServiceAEnd serviceAEnd = new ServiceAEndBuilder()
478 .setNodeId("XPONDER-1-2")
480 ServiceZEnd serviceZEnd = new ServiceZEndBuilder()
482 .setNodeId("XPONDER-3-2")
484 PathComputationRequestInput input = new PathComputationRequestInputBuilder()
485 .setServiceHandlerHeader(serviceHandlerHeader)
486 .setServiceName("service 1")
487 .setResourceReserve(true)
488 .setPceMetric(PceMetric.HopCount)
489 .setServiceAEnd(serviceAEnd)
490 .setServiceZEnd(serviceZEnd)
491 .setHardConstraints(new HardConstraintsBuilder()
492 .setCoRoutingOrGeneral(new GeneralBuilder()
493 .setExclude(new ExcludeBuilder()
494 .setNodeId(Arrays.asList("OpenROADM-2-1", "OpenROADM-2-2"))
503 * Generate Data for Test 3 result 5-4.
505 * @return output PathComputationRequestOutput data
507 public static PathComputationRequestOutput getPCE_test3_result_54() {
508 PathComputationRequestOutputBuilder outputBuilder = new PathComputationRequestOutputBuilder();
509 ResponseParameters responseParameters = new ResponseParametersBuilder()
510 .setPathDescription(createPathDescription(0L, 9L, 0L, 9L))
512 outputBuilder.setConfigurationResponseCommon(createCommonSuccessResponse())
513 .setResponseParameters(responseParameters);
514 return outputBuilder.build();
517 public static PathComputationRequestInput getPCE_simpletopology_test1_requestSetHardAndSoftConstrains() {
518 ServiceHandlerHeader serviceHandlerHeader = new ServiceHandlerHeaderBuilder()
519 .setRequestId("request 1")
521 ServiceAEnd serviceAEnd = new ServiceAEndBuilder()
523 .setNodeId("XPONDER-1-2")
525 ServiceZEnd serviceZEnd = new ServiceZEndBuilder()
527 .setNodeId("XPONDER-3-2")
529 HardConstraints hardConstrains = new HardConstraintsBuilder().build();
530 SoftConstraints softConstraints = new SoftConstraintsBuilder().build();
531 PathComputationRequestInput input = new PathComputationRequestInputBuilder()
532 .setServiceHandlerHeader(serviceHandlerHeader)
533 .setServiceName("service 1")
534 .setResourceReserve(true)
535 .setPceMetric(PceMetric.HopCount)
536 .setServiceAEnd(serviceAEnd)
537 .setServiceZEnd(serviceZEnd)
538 .setHardConstraints(hardConstrains)
539 .setSoftConstraints(softConstraints)
544 public static PathComputationRequestInput getPCE_simpletopology_test1_request() {
545 ServiceHandlerHeader serviceHandlerHeader = new ServiceHandlerHeaderBuilder()
546 .setRequestId("request 1")
548 ServiceAEnd serviceAEnd = new ServiceAEndBuilder()
550 .setNodeId("XPONDER-1-2")
552 ServiceZEnd serviceZEnd = new ServiceZEndBuilder()
554 .setNodeId("XPONDER-3-2")
556 PathComputationRequestInput input = new PathComputationRequestInputBuilder()
557 .setServiceHandlerHeader(serviceHandlerHeader)
558 .setServiceName("service 1")
559 .setResourceReserve(true)
560 .setPceMetric(PceMetric.HopCount)
561 .setServiceAEnd(serviceAEnd)
562 .setServiceZEnd(serviceZEnd)
567 public static PathComputationRequestOutput getPCE_simpletopology_test1_result(Long wl) {
568 PathComputationRequestOutputBuilder outputBuilder = new PathComputationRequestOutputBuilder();
569 ResponseParameters responseParameters = new ResponseParametersBuilder()
570 .setPathDescription(createPathDescription(0L, wl, 0L, wl))
572 outputBuilder.setConfigurationResponseCommon(createCommonSuccessResponse())
573 .setResponseParameters(responseParameters);
574 return outputBuilder.build();
577 private static ConfigurationResponseCommon createCommonSuccessResponse() {
578 ConfigurationResponseCommonBuilder configurationResponseCommon = new ConfigurationResponseCommonBuilder()
579 .setAckFinalIndicator(ResponseCodes.FINAL_ACK_YES)
580 .setRequestId("request 1")
581 .setResponseCode(ResponseCodes.RESPONSE_OK)
582 .setResponseMessage("Path is calculated");
583 return configurationResponseCommon.build();
586 private static PathDescription createPathDescription(long azRate, long azWaveLength, long zaRate,
588 AToZDirection atozDirection = new AToZDirectionBuilder()
590 .setAToZWavelengthNumber(azWaveLength)
593 ZToADirection ztoaDirection = new ZToADirectionBuilder()
595 .setZToAWavelengthNumber(zaWaveLength)
598 PathDescription pathDescription = new PathDescriptionBuilder()
599 .setAToZDirection(atozDirection)
600 .setZToADirection(ztoaDirection)
602 return pathDescription;
606 * Generate Data for Test Diversity test 1 request 5-4.
609 * "pce:service-name": "service 1",
610 * "pce:resource-reserve": "true",
611 * "pce:service-handler-header": {
612 * "pce:request-id": "request 1"
614 * "pce:service-a-end": {
615 * "pce:service-rate": "0",
616 * "pce:node-id": "XPONDER-1-1"
618 * "pce:service-z-end": {
619 * "pce:service-rate": "0",
620 * "pce:node-id": "XPONDER-3-1"
622 * "pce:hard-constraints": {
624 * "existing-service": ["Path test-1-54"],
625 * "existing-service-applicability": {
630 * "pce:pce-metric": "hop-count"
634 * @param base Path Computation Request Input base
635 * @return input PathComputationRequestInput data
637 public static PathComputationRequestInput build_diversity_from_request(PathComputationRequestInput base) {
639 ExistingServiceApplicability nodeTrue = new ExistingServiceApplicabilityBuilder()
640 .setNode(true).build();
642 ServiceAEnd serviceAEnd = new ServiceAEndBuilder()
644 .setNodeId("XPONDER-1-1")
646 ServiceZEnd serviceZEnd = new ServiceZEndBuilder()
648 .setNodeId("XPONDER-3-1")
651 PathComputationRequestInput input = new PathComputationRequestInputBuilder(base)
652 .setServiceName("service 2")
653 .setServiceAEnd(serviceAEnd)
654 .setServiceZEnd(serviceZEnd)
655 .setHardConstraints(new HardConstraintsBuilder()
656 .setCoRoutingOrGeneral(new GeneralBuilder()
657 .setLatency(new LatencyBuilder()
658 .setMaxLatency(3223L).build())
659 .setDiversity(new DiversityBuilder()
660 .setExistingService(Arrays.asList(base.getServiceName()))
661 .setExistingServiceApplicability(nodeTrue)
669 public static ServiceCreateInput buildServiceCreateInput() {
671 org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.service.create.input.ServiceAEnd serviceAEnd =
672 new org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531
673 .service.create.input.ServiceAEndBuilder()
675 .setServiceRate((long) 0)
676 .setNodeId(new NodeIdType("XPONDER-1-2"))
677 .setTxDirection(new org.opendaylight.yang.gen.v1.http.org
678 .openroadm.common.service.types.rev190531.service.endpoint.TxDirectionBuilder()
679 .setPort(new PortBuilder().build())
681 .setRxDirection(new org.opendaylight.yang.gen.v1.http.org
682 .openroadm.common.service.types.rev190531.service.endpoint.RxDirectionBuilder()
683 .setPort(new PortBuilder().build())
687 org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.service.create.input.ServiceZEnd serviceZEnd =
688 new org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531
689 .service.create.input.ServiceZEndBuilder()
691 .setServiceRate((long) 0)
692 .setNodeId(new NodeIdType("XPONDER-3-2"))
693 .setTxDirection(new org.opendaylight.yang.gen.v1.http.org
694 .openroadm.common.service.types.rev190531.service.endpoint.TxDirectionBuilder()
695 .setPort(new PortBuilder().build())
697 .setRxDirection(new org.opendaylight.yang.gen.v1.http.org
698 .openroadm.common.service.types.rev190531.service.endpoint.RxDirectionBuilder()
699 .setPort(new PortBuilder().build())
703 ServiceCreateInputBuilder builtInput = new ServiceCreateInputBuilder()
704 .setCommonId("commonId")
705 .setConnectionType(ConnectionType.Service)
706 .setCustomer("Customer")
707 .setServiceName("service 1")
708 .setServiceAEnd(serviceAEnd)
709 .setServiceZEnd(serviceZEnd)
710 .setSdncRequestHeader(new SdncRequestHeaderBuilder()
711 .setRequestId("request 1")
714 return builtInput.build();