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.rev200629.path.description.AToZDirection;
30 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev200629.path.description.AToZDirectionBuilder;
31 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev200629.path.description.ZToADirection;
32 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev200629.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 getPathComputationRequestInputWithCoRoutingOrGeneral2() {
95 ServiceHandlerHeader serviceHandlerHeader = new ServiceHandlerHeaderBuilder()
96 .setRequestId("request1")
98 ServiceAEnd serviceAEnd = new ServiceAEndBuilder()
99 .setServiceFormat(ServiceFormat.ODU)
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.ODU)
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 getPathComputationRequestInputWithCoRoutingOrGeneral() {
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"))
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 PathComputationRequestInput getPCERequest() {
281 ServiceHandlerHeader serviceHandlerHeader = new ServiceHandlerHeaderBuilder()
282 .setRequestId("request1")
284 ServiceAEnd serviceAEnd = new ServiceAEndBuilder()
285 .setServiceFormat(ServiceFormat.Ethernet)
286 .setServiceRate(100L)
288 .setNodeId("XPONDER-2-2")
289 .setTxDirection(new TxDirectionBuilder().setPort(
291 .setPortDeviceName("Some port-device-name")
292 .setPortType("Some port-type")
293 .setPortName("Some port-name")
294 .setPortRack("Some port-rack")
295 .setPortShelf("Some port-shelf")
296 .setPortSlot("Some port-slot")
297 .setPortSubSlot("Some port-sub-slot")
300 .setRxDirection(new RxDirectionBuilder().setPort(
302 .setPortDeviceName("Some port-device-name")
303 .setPortType("Some port-type")
304 .setPortName("Some port-name")
305 .setPortRack("Some port-rack")
306 .setPortShelf("Some port-shelf")
307 .setPortSlot("Some port-slot")
308 .setPortSubSlot("Some port-sub-slot")
312 ServiceZEnd serviceZEnd = new ServiceZEndBuilder()
313 .setServiceFormat(ServiceFormat.Ethernet)
315 .setClli("Some clli11")
316 .setNodeId("XPONDER-1-2")
317 .setTxDirection(new TxDirectionBuilder().setPort(
319 .setPortDeviceName("Some port-device-name")
320 .setPortType("Some port-type")
321 .setPortName("Some port-name")
322 .setPortRack("Some port-rack")
323 .setPortShelf("Some port-shelf")
324 .setPortSlot("Some port-slot")
325 .setPortSubSlot("Some port-sub-slot")
328 .setRxDirection(new RxDirectionBuilder().setPort(
330 .setPortDeviceName("Some port-device-name")
331 .setPortType("Some port-type")
332 .setPortName("Some port-name")
333 .setPortRack("Some port-rack")
334 .setPortShelf("Some port-shelf")
335 .setPortSlot("Some port-slot")
336 .setPortSubSlot("Some port-sub-slot")
340 PathComputationRequestInput input = new PathComputationRequestInputBuilder()
341 .setServiceName("service1")
342 .setResourceReserve(true)
343 .setPceMetric(PceMetric.HopCount)
344 .setLocallyProtectedLinks(true)
345 .setServiceHandlerHeader(serviceHandlerHeader)
346 .setServiceAEnd(serviceAEnd)
347 .setServiceZEnd(serviceZEnd)
348 .setHardConstraints(new HardConstraintsBuilder()
349 .setCustomerCode(Arrays.asList("Some customer-code"))
350 .setCoRoutingOrGeneral(new CoRoutingBuilder()
351 .setCoRouting(new org.opendaylight.yang.gen.v1.http.org
352 .transportpce.b.c._interface.routing.constraints.rev171017
353 .constraints.sp.co.routing.or.general.co.routing.CoRoutingBuilder()
354 .setExistingService(Arrays.asList("Some existing-service"))
358 .setSoftConstraints(new SoftConstraintsBuilder()
359 .setCustomerCode(Arrays.asList("Some customer-code"))
360 .setCoRoutingOrGeneral(new CoRoutingBuilder()
361 .setCoRouting(new org.opendaylight.yang.gen.v1.http.org
362 .transportpce.b.c._interface.routing.constraints.rev171017
363 .constraints.sp.co.routing.or.general.co.routing.CoRoutingBuilder()
364 .setExistingService(Arrays.asList("Some existing-service"))
372 public static PathComputationRequestOutput getFailedPCEResultYes() {
373 PathComputationRequestOutputBuilder outputBuilder = new PathComputationRequestOutputBuilder();
374 ConfigurationResponseCommonBuilder configurationResponseCommon = new ConfigurationResponseCommonBuilder()
375 .setAckFinalIndicator("Yes")
376 .setRequestId("request1")
377 .setResponseCode("Path not calculated")
378 .setResponseMessage("Service Name is not set");
379 outputBuilder.setConfigurationResponseCommon(configurationResponseCommon.build())
380 .setResponseParameters(null);
381 return outputBuilder.build();
384 public static PathComputationRequestOutput getPCEResultOk(Long wl) {
385 PathComputationRequestOutputBuilder outputBuilder = new PathComputationRequestOutputBuilder();
386 ResponseParameters responseParameters = new ResponseParametersBuilder()
387 .setPathDescription(createPathDescription(0L, wl, 0L, wl))
389 outputBuilder.setConfigurationResponseCommon(createCommonSuccessResponse())
390 .setResponseParameters(responseParameters);
391 return outputBuilder.build();
395 * Generate Data for Test 1 request 5-4.
398 * "pce:service-name": "service 1",
399 * "pce:resource-reserve": "true",
400 * "pce:service-handler-header": {
401 * "pce:request-id": "request 1"
403 * "pce:service-a-end": {
404 * "pce:service-rate": "0",
405 * "pce:node-id": "XPONDER-1-2"
407 * "pce:service-z-end": {
408 * "pce:service-rate": "0",
409 * "pce:node-id": "XPONDER-3-2"
411 * "pce:pce-metric": "hop-count"
415 * @return input PathComputationRequestInput data
417 public static PathComputationRequestInput getPCE_test1_request_54() {
418 ServiceHandlerHeader serviceHandlerHeader = new ServiceHandlerHeaderBuilder()
419 .setRequestId("request 1")
421 ServiceAEnd serviceAEnd = new ServiceAEndBuilder()
423 .setNodeId("XPONDER-1-2")
425 ServiceZEnd serviceZEnd = new ServiceZEndBuilder()
427 .setNodeId("XPONDER-3-2")
429 PathComputationRequestInput input = new PathComputationRequestInputBuilder()
430 .setServiceHandlerHeader(serviceHandlerHeader)
431 .setServiceName("service 1")
432 .setResourceReserve(true)
433 .setPceMetric(PceMetric.HopCount)
434 .setServiceAEnd(serviceAEnd)
435 .setServiceZEnd(serviceZEnd)
441 * Generate Data for Test 1 result 5-4.
443 * @param wl WaveLength
444 * @return output PathComputationRequestOutput data
446 public static PathComputationRequestOutput getPCE_test_result_54(Long wl) {
447 PathComputationRequestOutputBuilder outputBuilder = new PathComputationRequestOutputBuilder();
448 ResponseParameters responseParameters = new ResponseParametersBuilder()
449 .setPathDescription(createPathDescription(0L, wl, 0L, wl))
451 outputBuilder.setConfigurationResponseCommon(createCommonSuccessResponse())
452 .setResponseParameters(responseParameters);
453 return outputBuilder.build();
457 * Generate Data for Test 2 request 5-4.
460 * "pce:service-name": "service 1",
461 * "pce:resource-reserve": "true",
462 * "pce:service-handler-header": {
463 * "pce:request-id": "request 1"
465 * "pce:service-a-end": {
466 * "pce:service-rate": "0",
467 * "pce:node-id": "XPONDER-1-2"
469 * "pce:service-z-end": {
470 * "pce:service-rate": "0",
471 * "pce:node-id": "XPONDER-3-2"
473 * "pce:hard-constraints": {
475 * "node-id": [ "OpenROADM-2-2" ]
478 * "pce:pce-metric": "hop-count"
482 * @return input PathComputationRequestInput data
484 public static PathComputationRequestInput getPCE_test2_request_54() {
485 ServiceHandlerHeader serviceHandlerHeader = new ServiceHandlerHeaderBuilder()
486 .setRequestId("request 1")
488 ServiceAEnd serviceAEnd = new ServiceAEndBuilder()
490 .setNodeId("XPONDER-1-2")
492 ServiceZEnd serviceZEnd = new ServiceZEndBuilder()
494 .setNodeId("XPONDER-3-2")
496 PathComputationRequestInput input = new PathComputationRequestInputBuilder()
497 .setServiceHandlerHeader(serviceHandlerHeader)
498 .setServiceName("service 1")
499 .setResourceReserve(true)
500 .setPceMetric(PceMetric.HopCount)
501 .setServiceAEnd(serviceAEnd)
502 .setServiceZEnd(serviceZEnd)
503 .setHardConstraints(new HardConstraintsBuilder()
504 .setCoRoutingOrGeneral(new GeneralBuilder()
505 .setExclude(new ExcludeBuilder()
506 .setNodeId(Arrays.asList("OpenROADM-2-2"))
508 .setLatency(new LatencyBuilder().setMaxLatency(3223L).build())
509 .setInclude(new IncludeBuilder()
510 .setOrderedHops(Arrays.asList(new OrderedHopsBuilder()
512 .setHopType(new HopTypeBuilder()
513 .setHopType(new HopTypeBuilder().getHopType()).build())
523 * Generate Data for Test 2 result 5-4.
525 * @return output PathComputationRequestOutput data
527 public static PathComputationRequestOutput getPCE_test2_result_54() {
528 PathComputationRequestOutputBuilder outputBuilder = new PathComputationRequestOutputBuilder();
529 ResponseParameters responseParameters = new ResponseParametersBuilder()
530 .setPathDescription(createPathDescription(0L, 9L, 0L, 9L))
532 outputBuilder.setConfigurationResponseCommon(createCommonSuccessResponse())
533 .setResponseParameters(responseParameters);
534 return outputBuilder.build();
538 * Generate Data for Test 2 request 5-4.
541 * "pce:service-name": "service 1",
542 * "pce:resource-reserve": "true",
543 * "pce:service-handler-header": {
544 * "pce:request-id": "request 1"
546 * "pce:service-a-end": {
547 * "pce:service-rate": "0",
548 * "pce:node-id": "XPONDER-1-2"
550 * "pce:service-z-end": {
551 * "pce:service-rate": "0",
552 * "pce:node-id": "XPONDER-3-2"
554 * "pce:hard-constraints": {
556 * "node-id": [ "OpenROADM-2-1", "OpenROADM-2-2" ]
559 * "pce:pce-metric": "hop-count"
563 * @return input PathComputationRequestInput data
565 public static PathComputationRequestInput getPCE_test3_request_54() {
566 ServiceHandlerHeader serviceHandlerHeader = new ServiceHandlerHeaderBuilder()
567 .setRequestId("request 1")
569 ServiceAEnd serviceAEnd = new ServiceAEndBuilder()
571 .setNodeId("XPONDER-1-2")
573 ServiceZEnd serviceZEnd = new ServiceZEndBuilder()
575 .setNodeId("XPONDER-3-2")
577 PathComputationRequestInput input = new PathComputationRequestInputBuilder()
578 .setServiceHandlerHeader(serviceHandlerHeader)
579 .setServiceName("service 1")
580 .setResourceReserve(true)
581 .setPceMetric(PceMetric.HopCount)
582 .setServiceAEnd(serviceAEnd)
583 .setServiceZEnd(serviceZEnd)
584 .setHardConstraints(new HardConstraintsBuilder()
585 .setCoRoutingOrGeneral(new GeneralBuilder()
586 .setExclude(new ExcludeBuilder()
587 .setNodeId(Arrays.asList("OpenROADM-2-1", "OpenROADM-2-2"))
596 * Generate Data for Test 3 result 5-4.
598 * @return output PathComputationRequestOutput data
600 public static PathComputationRequestOutput getPCE_test3_result_54() {
601 PathComputationRequestOutputBuilder outputBuilder = new PathComputationRequestOutputBuilder();
602 ResponseParameters responseParameters = new ResponseParametersBuilder()
603 .setPathDescription(createPathDescription(0L, 9L, 0L, 9L))
605 outputBuilder.setConfigurationResponseCommon(createCommonSuccessResponse())
606 .setResponseParameters(responseParameters);
607 return outputBuilder.build();
610 public static PathComputationRequestInput getPCE_simpletopology_test1_requestSetHardAndSoftConstrains() {
611 ServiceHandlerHeader serviceHandlerHeader = new ServiceHandlerHeaderBuilder()
612 .setRequestId("request 1")
614 ServiceAEnd serviceAEnd = new ServiceAEndBuilder()
616 .setNodeId("XPONDER-1-2")
618 ServiceZEnd serviceZEnd = new ServiceZEndBuilder()
620 .setNodeId("XPONDER-3-2")
622 HardConstraints hardConstrains = new HardConstraintsBuilder().build();
623 SoftConstraints softConstraints = new SoftConstraintsBuilder().build();
624 PathComputationRequestInput input = new PathComputationRequestInputBuilder()
625 .setServiceHandlerHeader(serviceHandlerHeader)
626 .setServiceName("service 1")
627 .setResourceReserve(true)
628 .setPceMetric(PceMetric.HopCount)
629 .setServiceAEnd(serviceAEnd)
630 .setServiceZEnd(serviceZEnd)
631 .setHardConstraints(hardConstrains)
632 .setSoftConstraints(softConstraints)
637 public static PathComputationRequestInput getPCE_simpletopology_test1_request() {
638 ServiceHandlerHeader serviceHandlerHeader = new ServiceHandlerHeaderBuilder()
639 .setRequestId("request 1")
641 ServiceAEnd serviceAEnd = new ServiceAEndBuilder()
643 .setNodeId("XPONDER-1-2")
645 ServiceZEnd serviceZEnd = new ServiceZEndBuilder()
647 .setNodeId("XPONDER-3-2")
649 PathComputationRequestInput input = new PathComputationRequestInputBuilder()
650 .setServiceHandlerHeader(serviceHandlerHeader)
651 .setServiceName("service 1")
652 .setResourceReserve(true)
653 .setPceMetric(PceMetric.HopCount)
654 .setServiceAEnd(serviceAEnd)
655 .setServiceZEnd(serviceZEnd)
660 public static PathComputationRequestOutput getPCE_simpletopology_test1_result(Long wl) {
661 PathComputationRequestOutputBuilder outputBuilder = new PathComputationRequestOutputBuilder();
662 ResponseParameters responseParameters = new ResponseParametersBuilder()
663 .setPathDescription(createPathDescription(0L, wl, 0L, wl))
665 outputBuilder.setConfigurationResponseCommon(createCommonSuccessResponse())
666 .setResponseParameters(responseParameters);
667 return outputBuilder.build();
670 private static ConfigurationResponseCommon createCommonSuccessResponse() {
671 ConfigurationResponseCommonBuilder configurationResponseCommon = new ConfigurationResponseCommonBuilder()
672 .setAckFinalIndicator(ResponseCodes.FINAL_ACK_YES)
673 .setRequestId("request 1")
674 .setResponseCode(ResponseCodes.RESPONSE_OK)
675 .setResponseMessage("Path is calculated");
676 return configurationResponseCommon.build();
679 private static PathDescription createPathDescription(long azRate, long azWaveLength, long zaRate,
681 AToZDirection atozDirection = new AToZDirectionBuilder()
683 .setAToZWavelengthNumber(azWaveLength)
686 ZToADirection ztoaDirection = new ZToADirectionBuilder()
688 .setZToAWavelengthNumber(zaWaveLength)
691 PathDescription pathDescription = new PathDescriptionBuilder()
692 .setAToZDirection(atozDirection)
693 .setZToADirection(ztoaDirection)
695 return pathDescription;
699 * Generate Data for Test Diversity test 1 request 5-4.
702 * "pce:service-name": "service 1",
703 * "pce:resource-reserve": "true",
704 * "pce:service-handler-header": {
705 * "pce:request-id": "request 1"
707 * "pce:service-a-end": {
708 * "pce:service-rate": "0",
709 * "pce:node-id": "XPONDER-1-1"
711 * "pce:service-z-end": {
712 * "pce:service-rate": "0",
713 * "pce:node-id": "XPONDER-3-1"
715 * "pce:hard-constraints": {
717 * "existing-service": ["Path test-1-54"],
718 * "existing-service-applicability": {
723 * "pce:pce-metric": "hop-count"
727 * @param base Path Computation Request Input base
728 * @return input PathComputationRequestInput data
730 public static PathComputationRequestInput build_diversity_from_request(PathComputationRequestInput base) {
732 ExistingServiceApplicability nodeTrue = new ExistingServiceApplicabilityBuilder()
733 .setNode(true).build();
735 ServiceAEnd serviceAEnd = new ServiceAEndBuilder()
737 .setNodeId("XPONDER-1-1")
739 ServiceZEnd serviceZEnd = new ServiceZEndBuilder()
741 .setNodeId("XPONDER-3-1")
744 PathComputationRequestInput input = new PathComputationRequestInputBuilder(base)
745 .setServiceName("service 2")
746 .setServiceAEnd(serviceAEnd)
747 .setServiceZEnd(serviceZEnd)
748 .setHardConstraints(new HardConstraintsBuilder()
749 .setCoRoutingOrGeneral(new GeneralBuilder()
750 .setLatency(new LatencyBuilder()
751 .setMaxLatency(3223L).build())
752 .setDiversity(new DiversityBuilder()
753 .setExistingService(Arrays.asList(base.getServiceName()))
754 .setExistingServiceApplicability(nodeTrue)
762 public static ServiceCreateInput buildServiceCreateInput() {
764 org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.service.create.input.ServiceAEnd serviceAEnd =
765 new org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531
766 .service.create.input.ServiceAEndBuilder()
768 .setServiceRate((long) 0)
769 .setNodeId(new NodeIdType("XPONDER-1-2"))
770 .setTxDirection(new org.opendaylight.yang.gen.v1.http.org
771 .openroadm.common.service.types.rev190531.service.endpoint.TxDirectionBuilder()
772 .setPort(new PortBuilder().build())
774 .setRxDirection(new org.opendaylight.yang.gen.v1.http.org
775 .openroadm.common.service.types.rev190531.service.endpoint.RxDirectionBuilder()
776 .setPort(new PortBuilder().build())
780 org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.service.create.input.ServiceZEnd serviceZEnd =
781 new org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531
782 .service.create.input.ServiceZEndBuilder()
784 .setServiceRate((long) 0)
785 .setNodeId(new NodeIdType("XPONDER-3-2"))
786 .setTxDirection(new org.opendaylight.yang.gen.v1.http.org
787 .openroadm.common.service.types.rev190531.service.endpoint.TxDirectionBuilder()
788 .setPort(new PortBuilder().build())
790 .setRxDirection(new org.opendaylight.yang.gen.v1.http.org
791 .openroadm.common.service.types.rev190531.service.endpoint.RxDirectionBuilder()
792 .setPort(new PortBuilder().build())
796 ServiceCreateInputBuilder builtInput = new ServiceCreateInputBuilder()
797 .setCommonId("commonId")
798 .setConnectionType(ConnectionType.Service)
799 .setCustomer("Customer")
800 .setServiceName("service 1")
801 .setServiceAEnd(serviceAEnd)
802 .setServiceZEnd(serviceZEnd)
803 .setSdncRequestHeader(new SdncRequestHeaderBuilder()
804 .setRequestId("request 1")
807 return builtInput.build();
810 public static PathComputationRequestInput getGnpyPCERequest(String nodeA, String nodeZ) {
811 ServiceHandlerHeader serviceHandlerHeader = new ServiceHandlerHeaderBuilder()
812 .setRequestId("request1")
814 ServiceAEnd serviceAEnd = new ServiceAEndBuilder()
815 .setServiceFormat(ServiceFormat.Ethernet)
816 .setServiceRate(100L)
819 .setTxDirection(new TxDirectionBuilder().setPort(
821 .setPortDeviceName("Some port-device-name")
822 .setPortType("Some port-type")
823 .setPortName("Some port-name")
824 .setPortRack("Some port-rack")
825 .setPortShelf("Some port-shelf")
826 .setPortSlot("Some port-slot")
827 .setPortSubSlot("Some port-sub-slot")
830 .setRxDirection(new RxDirectionBuilder().setPort(
832 .setPortDeviceName("Some port-device-name")
833 .setPortType("Some port-type")
834 .setPortName("Some port-name")
835 .setPortRack("Some port-rack")
836 .setPortShelf("Some port-shelf")
837 .setPortSlot("Some port-slot")
838 .setPortSubSlot("Some port-sub-slot")
842 ServiceZEnd serviceZEnd = new ServiceZEndBuilder()
843 .setServiceFormat(ServiceFormat.Ethernet)
845 .setClli("Some clli11")
847 .setTxDirection(new TxDirectionBuilder().setPort(
849 .setPortDeviceName("Some port-device-name")
850 .setPortType("Some port-type")
851 .setPortName("Some port-name")
852 .setPortRack("Some port-rack")
853 .setPortShelf("Some port-shelf")
854 .setPortSlot("Some port-slot")
855 .setPortSubSlot("Some port-sub-slot")
858 .setRxDirection(new RxDirectionBuilder().setPort(
860 .setPortDeviceName("Some port-device-name")
861 .setPortType("Some port-type")
862 .setPortName("Some port-name")
863 .setPortRack("Some port-rack")
864 .setPortShelf("Some port-shelf")
865 .setPortSlot("Some port-slot")
866 .setPortSubSlot("Some port-sub-slot")
870 PathComputationRequestInput input = new PathComputationRequestInputBuilder()
871 .setServiceName("service1")
872 .setResourceReserve(true)
873 .setPceMetric(PceMetric.HopCount)
874 .setLocallyProtectedLinks(true)
875 .setServiceHandlerHeader(serviceHandlerHeader)
876 .setServiceAEnd(serviceAEnd)
877 .setServiceZEnd(serviceZEnd)
878 .setHardConstraints(new HardConstraintsBuilder()
879 .setCustomerCode(Arrays.asList("Some customer-code"))
880 .setCoRoutingOrGeneral(new CoRoutingBuilder()
881 .setCoRouting(new org.opendaylight.yang.gen.v1.http.org
882 .transportpce.b.c._interface.routing.constraints.rev171017
883 .constraints.sp.co.routing.or.general.co.routing.CoRoutingBuilder()
884 .setExistingService(Arrays.asList("Some existing-service"))
888 .setSoftConstraints(new SoftConstraintsBuilder()
889 .setCustomerCode(Arrays.asList("Some customer-code"))
890 .setCoRoutingOrGeneral(new CoRoutingBuilder()
891 .setCoRouting(new org.opendaylight.yang.gen.v1.http.org
892 .transportpce.b.c._interface.routing.constraints.rev171017
893 .constraints.sp.co.routing.or.general.co.routing.CoRoutingBuilder()
894 .setExistingService(Arrays.asList("Some existing-service"))