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;
12 import org.opendaylight.transportpce.common.ResponseCodes;
13 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev200128.PathComputationRequestInput;
14 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev200128.PathComputationRequestInputBuilder;
15 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev200128.PathComputationRequestOutput;
16 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev200128.PathComputationRequestOutputBuilder;
17 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev200128.path.computation.request.input.ServiceAEnd;
18 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev200128.path.computation.request.input.ServiceAEndBuilder;
19 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev200128.path.computation.request.input.ServiceZEnd;
20 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev200128.path.computation.request.input.ServiceZEndBuilder;
21 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.node.types.rev181130.NodeIdType;
22 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev190531.ConnectionType;
23 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev190531.configuration.response.common.ConfigurationResponseCommon;
24 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev190531.configuration.response.common.ConfigurationResponseCommonBuilder;
25 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev190531.sdnc.request.header.SdncRequestHeaderBuilder;
26 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev190531.service.port.PortBuilder;
27 import org.opendaylight.yang.gen.v1.http.org.openroadm.service.format.rev190531.ServiceFormat;
28 import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.ServiceCreateInput;
29 import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.ServiceCreateInputBuilder;
30 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev171017.path.description.AToZDirection;
31 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev171017.path.description.AToZDirectionBuilder;
32 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev171017.path.description.ZToADirection;
33 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev171017.path.description.ZToADirectionBuilder;
34 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints.rev171017.RoutingConstraintsSp.PceMetric;
35 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints.rev171017.constraints.sp.co.routing.or.general.CoRoutingBuilder;
36 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints.rev171017.constraints.sp.co.routing.or.general.GeneralBuilder;
37 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints.rev171017.constraints.sp.co.routing.or.general.general.DiversityBuilder;
38 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints.rev171017.constraints.sp.co.routing.or.general.general.ExcludeBuilder;
39 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints.rev171017.constraints.sp.co.routing.or.general.general.IncludeBuilder;
40 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints.rev171017.constraints.sp.co.routing.or.general.general.LatencyBuilder;
41 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints.rev171017.constraints.sp.co.routing.or.general.general.include_.OrderedHopsBuilder;
42 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints.rev171017.diversity.existing.service.contraints.sp.ExistingServiceApplicability;
43 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints.rev171017.diversity.existing.service.contraints.sp.ExistingServiceApplicabilityBuilder;
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;
59 public final class PceTestData {
61 private PceTestData() {
64 public static PathComputationRequestInput getEmptyPCERequest() {
65 ServiceHandlerHeader serviceHandlerHeader = new ServiceHandlerHeaderBuilder()
66 .setRequestId("request1")
68 PathComputationRequestInput input = new PathComputationRequestInputBuilder()
69 .setServiceHandlerHeader(serviceHandlerHeader)
74 public static PathComputationRequestInput getEmptyPCERequestServiceNameWithRequestId() {
75 ServiceHandlerHeader serviceHandlerHeader = new ServiceHandlerHeaderBuilder()
76 .setRequestId("request1")
78 PathComputationRequestInput input = new PathComputationRequestInputBuilder()
79 .setServiceName("serviceName")
80 .setServiceHandlerHeader(serviceHandlerHeader)
85 public static PathComputationRequestInput getEmptyPCERequestServiceNameWithOutRequestId() {
86 ServiceHandlerHeader serviceHandlerHeader = new ServiceHandlerHeaderBuilder()
88 PathComputationRequestInput input = new PathComputationRequestInputBuilder()
89 .setServiceName("serviceName")
90 .setServiceHandlerHeader(serviceHandlerHeader)
95 public static PathComputationRequestInput getPathComputationRequestInputWithCoRoutingOrGeneral() {
96 ServiceHandlerHeader serviceHandlerHeader = new ServiceHandlerHeaderBuilder()
97 .setRequestId("request1")
99 ServiceAEnd serviceAEnd = new ServiceAEndBuilder()
100 .setServiceFormat(ServiceFormat.Ethernet)
101 .setServiceRate(100L)
103 .setNodeId("XPONDER-2-2")
104 .setTxDirection(new TxDirectionBuilder().setPort(
106 .setPortDeviceName("Some port-device-name")
107 .setPortType("Some port-type")
108 .setPortName("Some port-name")
109 .setPortRack("Some port-rack")
110 .setPortShelf("Some port-shelf")
111 .setPortSlot("Some port-slot")
112 .setPortSubSlot("Some port-sub-slot")
115 .setRxDirection(new RxDirectionBuilder().setPort(
117 .setPortDeviceName("Some port-device-name")
118 .setPortType("Some port-type")
119 .setPortName("Some port-name")
120 .setPortRack("Some port-rack")
121 .setPortShelf("Some port-shelf")
122 .setPortSlot("Some port-slot")
123 .setPortSubSlot("Some port-sub-slot")
127 ServiceZEnd serviceZEnd = new ServiceZEndBuilder()
128 .setServiceFormat(ServiceFormat.Ethernet)
130 .setClli("Some clli11")
131 .setNodeId("XPONDER-1-2")
132 .setTxDirection(new TxDirectionBuilder().setPort(
134 .setPortDeviceName("Some port-device-name")
135 .setPortType("Some port-type")
136 .setPortName("Some port-name")
137 .setPortRack("Some port-rack")
138 .setPortShelf("Some port-shelf")
139 .setPortSlot("Some port-slot")
140 .setPortSubSlot("Some port-sub-slot")
143 .setRxDirection(new RxDirectionBuilder().setPort(
145 .setPortDeviceName("Some port-device-name")
146 .setPortType("Some port-type")
147 .setPortName("Some port-name")
148 .setPortRack("Some port-rack")
149 .setPortShelf("Some port-shelf")
150 .setPortSlot("Some port-slot")
151 .setPortSubSlot("Some port-sub-slot")
155 PathComputationRequestInput input = new PathComputationRequestInputBuilder()
156 .setServiceName("service1")
157 .setResourceReserve(true)
158 .setPceMetric(PceMetric.HopCount)
159 .setLocallyProtectedLinks(true)
160 .setServiceHandlerHeader(serviceHandlerHeader)
161 .setServiceAEnd(serviceAEnd)
162 .setServiceZEnd(serviceZEnd)
163 .setHardConstraints(new HardConstraintsBuilder()
164 .setCustomerCode(Arrays.asList("Some customer-code"))
165 .setCoRoutingOrGeneral(new CoRoutingBuilder()
166 .setCoRouting(new org.opendaylight.yang.gen.v1.http.org
167 .transportpce.b.c._interface.routing.constraints.rev171017
168 .constraints.sp.co.routing.or.general.co.routing.CoRoutingBuilder()
169 .setExistingService(Arrays.asList("Some existing-service"))
174 .setSoftConstraints(new SoftConstraintsBuilder()
175 .setCustomerCode(Arrays.asList("Some customer-code"))
176 .setCoRoutingOrGeneral(new CoRoutingBuilder()
177 .setCoRouting(new org.opendaylight.yang.gen.v1.http.org
178 .transportpce.b.c._interface.routing.constraints.rev171017
179 .constraints.sp.co.routing.or.general.co.routing.CoRoutingBuilder()
180 .setExistingService(Arrays.asList("Some existing-service"))
188 public static PathComputationRequestInput getPCERequest() {
189 ServiceHandlerHeader serviceHandlerHeader = new ServiceHandlerHeaderBuilder()
190 .setRequestId("request1")
192 ServiceAEnd serviceAEnd = new ServiceAEndBuilder()
193 .setServiceFormat(ServiceFormat.Ethernet)
194 .setServiceRate(100L)
196 .setNodeId("XPONDER-2-2")
197 .setTxDirection(new TxDirectionBuilder().setPort(
199 .setPortDeviceName("Some port-device-name")
200 .setPortType("Some port-type")
201 .setPortName("Some port-name")
202 .setPortRack("Some port-rack")
203 .setPortShelf("Some port-shelf")
204 .setPortSlot("Some port-slot")
205 .setPortSubSlot("Some port-sub-slot")
208 .setRxDirection(new RxDirectionBuilder().setPort(
210 .setPortDeviceName("Some port-device-name")
211 .setPortType("Some port-type")
212 .setPortName("Some port-name")
213 .setPortRack("Some port-rack")
214 .setPortShelf("Some port-shelf")
215 .setPortSlot("Some port-slot")
216 .setPortSubSlot("Some port-sub-slot")
220 ServiceZEnd serviceZEnd = new ServiceZEndBuilder()
221 .setServiceFormat(ServiceFormat.Ethernet)
223 .setClli("Some clli11")
224 .setNodeId("XPONDER-1-2")
225 .setTxDirection(new TxDirectionBuilder().setPort(
227 .setPortDeviceName("Some port-device-name")
228 .setPortType("Some port-type")
229 .setPortName("Some port-name")
230 .setPortRack("Some port-rack")
231 .setPortShelf("Some port-shelf")
232 .setPortSlot("Some port-slot")
233 .setPortSubSlot("Some port-sub-slot")
236 .setRxDirection(new RxDirectionBuilder().setPort(
238 .setPortDeviceName("Some port-device-name")
239 .setPortType("Some port-type")
240 .setPortName("Some port-name")
241 .setPortRack("Some port-rack")
242 .setPortShelf("Some port-shelf")
243 .setPortSlot("Some port-slot")
244 .setPortSubSlot("Some port-sub-slot")
248 PathComputationRequestInput input = new PathComputationRequestInputBuilder()
249 .setServiceName("service1")
250 .setResourceReserve(true)
251 .setPceMetric(PceMetric.HopCount)
252 .setLocallyProtectedLinks(true)
253 .setServiceHandlerHeader(serviceHandlerHeader)
254 .setServiceAEnd(serviceAEnd)
255 .setServiceZEnd(serviceZEnd)
256 .setHardConstraints(new HardConstraintsBuilder()
257 .setCustomerCode(Arrays.asList("Some customer-code"))
258 .setCoRoutingOrGeneral(new CoRoutingBuilder()
259 .setCoRouting(new org.opendaylight.yang.gen.v1.http.org
260 .transportpce.b.c._interface.routing.constraints.rev171017
261 .constraints.sp.co.routing.or.general.co.routing.CoRoutingBuilder()
262 .setExistingService(Arrays.asList("Some existing-service"))
266 .setSoftConstraints(new SoftConstraintsBuilder()
267 .setCustomerCode(Arrays.asList("Some customer-code"))
268 .setCoRoutingOrGeneral(new CoRoutingBuilder()
269 .setCoRouting(new org.opendaylight.yang.gen.v1.http.org
270 .transportpce.b.c._interface.routing.constraints.rev171017
271 .constraints.sp.co.routing.or.general.co.routing.CoRoutingBuilder()
272 .setExistingService(Arrays.asList("Some existing-service"))
280 public static PathComputationRequestOutput getFailedPCEResultYes() {
281 PathComputationRequestOutputBuilder outputBuilder = new PathComputationRequestOutputBuilder();
282 ConfigurationResponseCommonBuilder configurationResponseCommon = new ConfigurationResponseCommonBuilder()
283 .setAckFinalIndicator("Yes")
284 .setRequestId("request1")
285 .setResponseCode("Path not calculated")
286 .setResponseMessage("Service Name is not set");
287 outputBuilder.setConfigurationResponseCommon(configurationResponseCommon.build())
288 .setResponseParameters(null);
289 return outputBuilder.build();
292 public static PathComputationRequestOutput getPCEResultOk(Long wl) {
293 PathComputationRequestOutputBuilder outputBuilder = new PathComputationRequestOutputBuilder();
294 ResponseParameters responseParameters = new ResponseParametersBuilder()
295 .setPathDescription(createPathDescription(0L, wl, 0L, wl))
297 outputBuilder.setConfigurationResponseCommon(createCommonSuccessResponse())
298 .setResponseParameters(responseParameters);
299 return outputBuilder.build();
303 * Generate Data for Test 1 request 5-4.
306 * "pce:service-name": "service 1",
307 * "pce:resource-reserve": "true",
308 * "pce:service-handler-header": {
309 * "pce:request-id": "request 1"
311 * "pce:service-a-end": {
312 * "pce:service-rate": "0",
313 * "pce:node-id": "XPONDER-1-2"
315 * "pce:service-z-end": {
316 * "pce:service-rate": "0",
317 * "pce:node-id": "XPONDER-3-2"
319 * "pce:pce-metric": "hop-count"
323 * @return input PathComputationRequestInput data
325 public static PathComputationRequestInput getPCE_test1_request_54() {
326 ServiceHandlerHeader serviceHandlerHeader = new ServiceHandlerHeaderBuilder()
327 .setRequestId("request 1")
329 ServiceAEnd serviceAEnd = new ServiceAEndBuilder()
331 .setNodeId("XPONDER-1-2")
333 ServiceZEnd serviceZEnd = new ServiceZEndBuilder()
335 .setNodeId("XPONDER-3-2")
337 PathComputationRequestInput input = new PathComputationRequestInputBuilder()
338 .setServiceHandlerHeader(serviceHandlerHeader)
339 .setServiceName("service 1")
340 .setResourceReserve(true)
341 .setPceMetric(PceMetric.HopCount)
342 .setServiceAEnd(serviceAEnd)
343 .setServiceZEnd(serviceZEnd)
349 * Generate Data for Test 1 result 5-4.
351 * @param wl WaveLength
352 * @return output PathComputationRequestOutput data
354 public static PathComputationRequestOutput getPCE_test_result_54(Long wl) {
355 PathComputationRequestOutputBuilder outputBuilder = new PathComputationRequestOutputBuilder();
356 ResponseParameters responseParameters = new ResponseParametersBuilder()
357 .setPathDescription(createPathDescription(0L, wl, 0L, wl))
359 outputBuilder.setConfigurationResponseCommon(createCommonSuccessResponse())
360 .setResponseParameters(responseParameters);
361 return outputBuilder.build();
365 * Generate Data for Test 2 request 5-4.
368 * "pce:service-name": "service 1",
369 * "pce:resource-reserve": "true",
370 * "pce:service-handler-header": {
371 * "pce:request-id": "request 1"
373 * "pce:service-a-end": {
374 * "pce:service-rate": "0",
375 * "pce:node-id": "XPONDER-1-2"
377 * "pce:service-z-end": {
378 * "pce:service-rate": "0",
379 * "pce:node-id": "XPONDER-3-2"
381 * "pce:hard-constraints": {
383 * "node-id": [ "OpenROADM-2-2" ]
386 * "pce:pce-metric": "hop-count"
390 * @return input PathComputationRequestInput data
392 public static PathComputationRequestInput getPCE_test2_request_54() {
393 ServiceHandlerHeader serviceHandlerHeader = new ServiceHandlerHeaderBuilder()
394 .setRequestId("request 1")
396 ServiceAEnd serviceAEnd = new ServiceAEndBuilder()
398 .setNodeId("XPONDER-1-2")
400 ServiceZEnd serviceZEnd = new ServiceZEndBuilder()
402 .setNodeId("XPONDER-3-2")
404 PathComputationRequestInput input = new PathComputationRequestInputBuilder()
405 .setServiceHandlerHeader(serviceHandlerHeader)
406 .setServiceName("service 1")
407 .setResourceReserve(true)
408 .setPceMetric(PceMetric.HopCount)
409 .setServiceAEnd(serviceAEnd)
410 .setServiceZEnd(serviceZEnd)
411 .setHardConstraints(new HardConstraintsBuilder()
412 .setCoRoutingOrGeneral(new GeneralBuilder()
413 .setExclude(new ExcludeBuilder()
414 .setNodeId(Arrays.asList("OpenROADM-2-2"))
416 .setLatency(new LatencyBuilder()
417 .setMaxLatency(3223L).build())
418 .setInclude(new IncludeBuilder()
420 Arrays.asList(new OrderedHopsBuilder()
422 // .setHopType(new HopTypeBuilder()
423 // .setHopType(new ClliBuilder().getClli())
433 * Generate Data for Test 2 result 5-4.
435 * @return output PathComputationRequestOutput data
437 public static PathComputationRequestOutput getPCE_test2_result_54() {
438 PathComputationRequestOutputBuilder outputBuilder = new PathComputationRequestOutputBuilder();
439 ResponseParameters responseParameters = new ResponseParametersBuilder()
440 .setPathDescription(createPathDescription(0L, 9L, 0L, 9L))
442 outputBuilder.setConfigurationResponseCommon(createCommonSuccessResponse())
443 .setResponseParameters(responseParameters);
444 return outputBuilder.build();
448 * Generate Data for Test 2 request 5-4.
451 * "pce:service-name": "service 1",
452 * "pce:resource-reserve": "true",
453 * "pce:service-handler-header": {
454 * "pce:request-id": "request 1"
456 * "pce:service-a-end": {
457 * "pce:service-rate": "0",
458 * "pce:node-id": "XPONDER-1-2"
460 * "pce:service-z-end": {
461 * "pce:service-rate": "0",
462 * "pce:node-id": "XPONDER-3-2"
464 * "pce:hard-constraints": {
466 * "node-id": [ "OpenROADM-2-1", "OpenROADM-2-2" ]
469 * "pce:pce-metric": "hop-count"
473 * @return input PathComputationRequestInput data
475 public static PathComputationRequestInput getPCE_test3_request_54() {
476 ServiceHandlerHeader serviceHandlerHeader = new ServiceHandlerHeaderBuilder()
477 .setRequestId("request 1")
479 ServiceAEnd serviceAEnd = new ServiceAEndBuilder()
481 .setNodeId("XPONDER-1-2")
483 ServiceZEnd serviceZEnd = new ServiceZEndBuilder()
485 .setNodeId("XPONDER-3-2")
487 PathComputationRequestInput input = new PathComputationRequestInputBuilder()
488 .setServiceHandlerHeader(serviceHandlerHeader)
489 .setServiceName("service 1")
490 .setResourceReserve(true)
491 .setPceMetric(PceMetric.HopCount)
492 .setServiceAEnd(serviceAEnd)
493 .setServiceZEnd(serviceZEnd)
494 .setHardConstraints(new HardConstraintsBuilder()
495 .setCoRoutingOrGeneral(new GeneralBuilder()
496 .setExclude(new ExcludeBuilder()
497 .setNodeId(Arrays.asList("OpenROADM-2-1", "OpenROADM-2-2"))
506 * Generate Data for Test 3 result 5-4.
508 * @return output PathComputationRequestOutput data
510 public static PathComputationRequestOutput getPCE_test3_result_54() {
511 PathComputationRequestOutputBuilder outputBuilder = new PathComputationRequestOutputBuilder();
512 ResponseParameters responseParameters = new ResponseParametersBuilder()
513 .setPathDescription(createPathDescription(0L, 9L, 0L, 9L))
515 outputBuilder.setConfigurationResponseCommon(createCommonSuccessResponse())
516 .setResponseParameters(responseParameters);
517 return outputBuilder.build();
520 public static PathComputationRequestInput getPCE_simpletopology_test1_requestSetHardAndSoftConstrains() {
521 ServiceHandlerHeader serviceHandlerHeader = new ServiceHandlerHeaderBuilder()
522 .setRequestId("request 1")
524 ServiceAEnd serviceAEnd = new ServiceAEndBuilder()
526 .setNodeId("XPONDER-1-2")
528 ServiceZEnd serviceZEnd = new ServiceZEndBuilder()
530 .setNodeId("XPONDER-3-2")
532 HardConstraints hardConstrains = new HardConstraintsBuilder().build();
533 SoftConstraints softConstraints = new SoftConstraintsBuilder().build();
534 PathComputationRequestInput input = new PathComputationRequestInputBuilder()
535 .setServiceHandlerHeader(serviceHandlerHeader)
536 .setServiceName("service 1")
537 .setResourceReserve(true)
538 .setPceMetric(PceMetric.HopCount)
539 .setServiceAEnd(serviceAEnd)
540 .setServiceZEnd(serviceZEnd)
541 .setHardConstraints(hardConstrains)
542 .setSoftConstraints(softConstraints)
547 public static PathComputationRequestInput getPCE_simpletopology_test1_request() {
548 ServiceHandlerHeader serviceHandlerHeader = new ServiceHandlerHeaderBuilder()
549 .setRequestId("request 1")
551 ServiceAEnd serviceAEnd = new ServiceAEndBuilder()
553 .setNodeId("XPONDER-1-2")
555 ServiceZEnd serviceZEnd = new ServiceZEndBuilder()
557 .setNodeId("XPONDER-3-2")
559 PathComputationRequestInput input = new PathComputationRequestInputBuilder()
560 .setServiceHandlerHeader(serviceHandlerHeader)
561 .setServiceName("service 1")
562 .setResourceReserve(true)
563 .setPceMetric(PceMetric.HopCount)
564 .setServiceAEnd(serviceAEnd)
565 .setServiceZEnd(serviceZEnd)
570 public static PathComputationRequestOutput getPCE_simpletopology_test1_result(Long wl) {
571 PathComputationRequestOutputBuilder outputBuilder = new PathComputationRequestOutputBuilder();
572 ResponseParameters responseParameters = new ResponseParametersBuilder()
573 .setPathDescription(createPathDescription(0L, wl, 0L, wl))
575 outputBuilder.setConfigurationResponseCommon(createCommonSuccessResponse())
576 .setResponseParameters(responseParameters);
577 return outputBuilder.build();
580 private static ConfigurationResponseCommon createCommonSuccessResponse() {
581 ConfigurationResponseCommonBuilder configurationResponseCommon = new ConfigurationResponseCommonBuilder()
582 .setAckFinalIndicator(ResponseCodes.FINAL_ACK_YES)
583 .setRequestId("request 1")
584 .setResponseCode(ResponseCodes.RESPONSE_OK)
585 .setResponseMessage("Path is calculated");
586 return configurationResponseCommon.build();
589 private static PathDescription createPathDescription(long azRate, long azWaveLength, long zaRate,
591 AToZDirection atozDirection = new AToZDirectionBuilder()
593 .setAToZWavelengthNumber(azWaveLength)
596 ZToADirection ztoaDirection = new ZToADirectionBuilder()
598 .setZToAWavelengthNumber(zaWaveLength)
601 PathDescription pathDescription = new PathDescriptionBuilder()
602 .setAToZDirection(atozDirection)
603 .setZToADirection(ztoaDirection)
605 return pathDescription;
609 * Generate Data for Test Diversity test 1 request 5-4.
612 * "pce:service-name": "service 1",
613 * "pce:resource-reserve": "true",
614 * "pce:service-handler-header": {
615 * "pce:request-id": "request 1"
617 * "pce:service-a-end": {
618 * "pce:service-rate": "0",
619 * "pce:node-id": "XPONDER-1-1"
621 * "pce:service-z-end": {
622 * "pce:service-rate": "0",
623 * "pce:node-id": "XPONDER-3-1"
625 * "pce:hard-constraints": {
627 * "existing-service": ["Path test-1-54"],
628 * "existing-service-applicability": {
633 * "pce:pce-metric": "hop-count"
637 * @param base Path Computation Request Input base
638 * @return input PathComputationRequestInput data
640 public static PathComputationRequestInput build_diversity_from_request(PathComputationRequestInput base) {
642 ExistingServiceApplicability nodeTrue = new ExistingServiceApplicabilityBuilder()
643 .setNode(true).build();
645 ServiceAEnd serviceAEnd = new ServiceAEndBuilder()
647 .setNodeId("XPONDER-1-1")
649 ServiceZEnd serviceZEnd = new ServiceZEndBuilder()
651 .setNodeId("XPONDER-3-1")
654 PathComputationRequestInput input = new PathComputationRequestInputBuilder(base)
655 .setServiceName("service 2")
656 .setServiceAEnd(serviceAEnd)
657 .setServiceZEnd(serviceZEnd)
658 .setHardConstraints(new HardConstraintsBuilder()
659 .setCoRoutingOrGeneral(new GeneralBuilder()
660 .setDiversity(new DiversityBuilder()
661 .setExistingService(Arrays.asList(base.getServiceName()))
662 .setExistingServiceApplicability(nodeTrue)
670 public static ServiceCreateInput buildServiceCreateInput() {
672 org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.service.create.input.ServiceAEnd serviceAEnd =
673 new org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531
674 .service.create.input.ServiceAEndBuilder()
676 .setServiceRate((long) 0)
677 .setNodeId(new NodeIdType("XPONDER-1-2"))
678 .setTxDirection(new org.opendaylight.yang.gen.v1.http.org
679 .openroadm.common.service.types.rev190531.service.endpoint.TxDirectionBuilder()
680 .setPort(new PortBuilder().build())
682 .setRxDirection(new org.opendaylight.yang.gen.v1.http.org
683 .openroadm.common.service.types.rev190531.service.endpoint.RxDirectionBuilder()
684 .setPort(new PortBuilder().build())
688 org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.service.create.input.ServiceZEnd serviceZEnd =
689 new org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531
690 .service.create.input.ServiceZEndBuilder()
692 .setServiceRate((long) 0)
693 .setNodeId(new NodeIdType("XPONDER-3-2"))
694 .setTxDirection(new org.opendaylight.yang.gen.v1.http.org
695 .openroadm.common.service.types.rev190531.service.endpoint.TxDirectionBuilder()
696 .setPort(new PortBuilder().build())
698 .setRxDirection(new org.opendaylight.yang.gen.v1.http.org
699 .openroadm.common.service.types.rev190531.service.endpoint.RxDirectionBuilder()
700 .setPort(new PortBuilder().build())
704 ServiceCreateInputBuilder builtInput = new ServiceCreateInputBuilder()
705 .setCommonId("commonId")
706 .setConnectionType(ConnectionType.Service)
707 .setCustomer("Customer")
708 .setServiceName("service 1")
709 .setServiceAEnd(serviceAEnd)
710 .setServiceZEnd(serviceZEnd)
711 .setSdncRequestHeader(new SdncRequestHeaderBuilder()
712 .setRequestId("request 1")
715 return builtInput.build();