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.rev220118.PathComputationRequestInput;
13 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220118.PathComputationRequestInputBuilder;
14 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220118.PathComputationRequestOutput;
15 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220118.PathComputationRequestOutputBuilder;
16 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220118.path.computation.request.input.ServiceAEnd;
17 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220118.path.computation.request.input.ServiceAEndBuilder;
18 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220118.path.computation.request.input.ServiceZEnd;
19 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220118.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.routing.constrains.rev190329.constraints.co.routing.or.general.CoRoutingBuilder;
27 import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constrains.rev190329.constraints.co.routing.or.general.GeneralBuilder;
28 import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constrains.rev190329.constraints.co.routing.or.general.general.DiversityBuilder;
29 import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constrains.rev190329.constraints.co.routing.or.general.general.ExcludeBuilder;
30 import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constrains.rev190329.constraints.co.routing.or.general.general.IncludeBuilder;
31 import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constrains.rev190329.constraints.co.routing.or.general.general.LatencyBuilder;
32 import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constrains.rev190329.diversity.existing.service.constraints.ExistingServiceApplicability;
33 import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constrains.rev190329.diversity.existing.service.constraints.ExistingServiceApplicabilityBuilder;
34 import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constrains.rev190329.routing.constraints.HardConstraints;
35 import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constrains.rev190329.routing.constraints.HardConstraintsBuilder;
36 import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constrains.rev190329.routing.constraints.SoftConstraints;
37 import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constrains.rev190329.routing.constraints.SoftConstraintsBuilder;
38 import org.opendaylight.yang.gen.v1.http.org.openroadm.service.format.rev190531.ServiceFormat;
39 import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.ServiceCreateInput;
40 import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.ServiceCreateInputBuilder;
41 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev210705.path.description.AToZDirection;
42 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev210705.path.description.AToZDirectionBuilder;
43 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev210705.path.description.ZToADirection;
44 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev210705.path.description.ZToADirectionBuilder;
45 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118.PceMetric;
46 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118.response.parameters.sp.ResponseParameters;
47 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118.response.parameters.sp.ResponseParametersBuilder;
48 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118.response.parameters.sp.response.parameters.PathDescription;
49 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118.response.parameters.sp.response.parameters.PathDescriptionBuilder;
50 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118.service.endpoint.sp.RxDirectionBuilder;
51 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118.service.endpoint.sp.TxDirectionBuilder;
52 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118.service.handler.header.ServiceHandlerHeader;
53 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118.service.handler.header.ServiceHandlerHeaderBuilder;
54 import org.opendaylight.yangtools.yang.common.Uint32;
57 public final class PceTestData {
59 private PceTestData() {
62 public static PathComputationRequestInput getEmptyPCERequest() {
63 ServiceHandlerHeader serviceHandlerHeader = new ServiceHandlerHeaderBuilder()
64 .setRequestId("request1")
66 return new PathComputationRequestInputBuilder()
67 .setServiceHandlerHeader(serviceHandlerHeader)
71 public static PathComputationRequestInput getEmptyPCERequestServiceNameWithRequestId() {
72 ServiceHandlerHeader serviceHandlerHeader = new ServiceHandlerHeaderBuilder()
73 .setRequestId("request1")
75 return new PathComputationRequestInputBuilder()
76 .setServiceName("serviceName")
77 .setServiceHandlerHeader(serviceHandlerHeader)
81 public static PathComputationRequestInput getEmptyPCERequestServiceNameWithOutRequestId() {
82 ServiceHandlerHeader serviceHandlerHeader = new ServiceHandlerHeaderBuilder()
84 return new PathComputationRequestInputBuilder()
85 .setServiceName("serviceName")
86 .setServiceHandlerHeader(serviceHandlerHeader)
90 public static PathComputationRequestInput getPathComputationRequestInputWithCoRoutingOrGeneral2() {
91 ServiceHandlerHeader serviceHandlerHeader = new ServiceHandlerHeaderBuilder()
92 .setRequestId("request1")
94 ServiceAEnd serviceAEnd = new ServiceAEndBuilder()
95 .setServiceFormat(ServiceFormat.ODU)
96 .setServiceRate(Uint32.valueOf(100))
98 .setNodeId("XPONDER-2-2")
99 .setTxDirection(new TxDirectionBuilder().setPort(
101 .setPortDeviceName("Some port-device-name")
102 .setPortType("Some port-type")
103 .setPortName("Some port-name")
104 .setPortRack("Some port-rack")
105 .setPortShelf("Some port-shelf")
106 .setPortSlot("Some port-slot")
107 .setPortSubSlot("Some port-sub-slot")
110 .setRxDirection(new RxDirectionBuilder().setPort(
112 .setPortDeviceName("Some port-device-name")
113 .setPortType("Some port-type")
114 .setPortName("Some port-name")
115 .setPortRack("Some port-rack")
116 .setPortShelf("Some port-shelf")
117 .setPortSlot("Some port-slot")
118 .setPortSubSlot("Some port-sub-slot")
122 ServiceZEnd serviceZEnd = new ServiceZEndBuilder()
123 .setServiceFormat(ServiceFormat.ODU)
124 .setServiceRate(Uint32.valueOf(0))
125 .setClli("Some clli11")
126 .setNodeId("XPONDER-1-2")
127 .setTxDirection(new TxDirectionBuilder().setPort(
129 .setPortDeviceName("Some port-device-name")
130 .setPortType("Some port-type")
131 .setPortName("Some port-name")
132 .setPortRack("Some port-rack")
133 .setPortShelf("Some port-shelf")
134 .setPortSlot("Some port-slot")
135 .setPortSubSlot("Some port-sub-slot")
138 .setRxDirection(new RxDirectionBuilder().setPort(
140 .setPortDeviceName("Some port-device-name")
141 .setPortType("Some port-type")
142 .setPortName("Some port-name")
143 .setPortRack("Some port-rack")
144 .setPortShelf("Some port-shelf")
145 .setPortSlot("Some port-slot")
146 .setPortSubSlot("Some port-sub-slot")
150 return new PathComputationRequestInputBuilder()
151 .setServiceName("service1")
152 .setResourceReserve(true)
153 .setPceRoutingMetric(PceMetric.HopCount)
154 .setServiceHandlerHeader(serviceHandlerHeader)
155 .setServiceAEnd(serviceAEnd)
156 .setServiceZEnd(serviceZEnd)
157 .setHardConstraints(new HardConstraintsBuilder()
158 .setCustomerCode(Arrays.asList("Some customer-code"))
159 .setCoRoutingOrGeneral(new CoRoutingBuilder()
161 new org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constrains.rev190329
162 .constraints.co.routing.or.general.co.routing.CoRoutingBuilder()
163 .setExistingService(Arrays.asList("Some existing-service"))
167 .setSoftConstraints(new SoftConstraintsBuilder()
168 .setCustomerCode(Arrays.asList("Some customer-code"))
169 .setCoRoutingOrGeneral(new CoRoutingBuilder()
171 new org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constrains.rev190329
172 .constraints.co.routing.or.general.co.routing.CoRoutingBuilder()
173 .setExistingService(Arrays.asList("Some existing-service"))
180 public static PathComputationRequestInput getPathComputationRequestInputWithCoRoutingOrGeneral() {
181 ServiceHandlerHeader serviceHandlerHeader = new ServiceHandlerHeaderBuilder()
182 .setRequestId("request1")
184 ServiceAEnd serviceAEnd = new ServiceAEndBuilder()
185 .setServiceFormat(ServiceFormat.Ethernet)
186 .setServiceRate(Uint32.valueOf(100))
188 .setNodeId("XPONDER-2-2")
189 .setTxDirection(new TxDirectionBuilder().setPort(
191 .setPortDeviceName("Some port-device-name")
192 .setPortType("Some port-type")
193 .setPortName("Some port-name")
194 .setPortRack("Some port-rack")
195 .setPortShelf("Some port-shelf")
196 .setPortSlot("Some port-slot")
197 .setPortSubSlot("Some port-sub-slot")
200 .setRxDirection(new RxDirectionBuilder().setPort(
202 .setPortDeviceName("Some port-device-name")
203 .setPortType("Some port-type")
204 .setPortName("Some port-name")
205 .setPortRack("Some port-rack")
206 .setPortShelf("Some port-shelf")
207 .setPortSlot("Some port-slot")
208 .setPortSubSlot("Some port-sub-slot")
212 ServiceZEnd serviceZEnd = new ServiceZEndBuilder()
213 .setServiceFormat(ServiceFormat.Ethernet)
214 .setServiceRate(Uint32.valueOf(0))
215 .setClli("Some clli11")
216 .setNodeId("XPONDER-1-2")
217 .setTxDirection(new TxDirectionBuilder().setPort(
219 .setPortDeviceName("Some port-device-name")
220 .setPortType("Some port-type")
221 .setPortName("Some port-name")
222 .setPortRack("Some port-rack")
223 .setPortShelf("Some port-shelf")
224 .setPortSlot("Some port-slot")
225 .setPortSubSlot("Some port-sub-slot")
228 .setRxDirection(new RxDirectionBuilder().setPort(
230 .setPortDeviceName("Some port-device-name")
231 .setPortType("Some port-type")
232 .setPortName("Some port-name")
233 .setPortRack("Some port-rack")
234 .setPortShelf("Some port-shelf")
235 .setPortSlot("Some port-slot")
236 .setPortSubSlot("Some port-sub-slot")
240 return new PathComputationRequestInputBuilder()
241 .setServiceName("service1")
242 .setResourceReserve(true)
243 .setPceRoutingMetric(PceMetric.HopCount)
244 .setServiceHandlerHeader(serviceHandlerHeader)
245 .setServiceAEnd(serviceAEnd)
246 .setServiceZEnd(serviceZEnd)
247 .setHardConstraints(new HardConstraintsBuilder()
248 .setCustomerCode(Arrays.asList("Some customer-code"))
249 .setCoRoutingOrGeneral(new CoRoutingBuilder()
251 new org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constrains.rev190329
252 .constraints.co.routing.or.general.co.routing.CoRoutingBuilder()
253 .setExistingService(Arrays.asList("Some existing-service"))
257 .setSoftConstraints(new SoftConstraintsBuilder()
258 .setCustomerCode(Arrays.asList("Some customer-code"))
259 .setCoRoutingOrGeneral(new CoRoutingBuilder()
261 new org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constrains.rev190329
262 .constraints.co.routing.or.general.co.routing.CoRoutingBuilder()
263 .setExistingService(Arrays.asList("Some existing-service"))
270 public static PathComputationRequestInput getPCERequest() {
271 ServiceHandlerHeader serviceHandlerHeader = new ServiceHandlerHeaderBuilder()
272 .setRequestId("request1")
274 ServiceAEnd serviceAEnd = new ServiceAEndBuilder()
275 .setServiceFormat(ServiceFormat.Ethernet)
276 .setServiceRate(Uint32.valueOf(100))
278 .setNodeId("XPONDER-2-2")
279 .setTxDirection(new TxDirectionBuilder().setPort(
281 .setPortDeviceName("Some port-device-name")
282 .setPortType("Some port-type")
283 .setPortName("Some port-name")
284 .setPortRack("Some port-rack")
285 .setPortShelf("Some port-shelf")
286 .setPortSlot("Some port-slot")
287 .setPortSubSlot("Some port-sub-slot")
290 .setRxDirection(new RxDirectionBuilder().setPort(
292 .setPortDeviceName("Some port-device-name")
293 .setPortType("Some port-type")
294 .setPortName("Some port-name")
295 .setPortRack("Some port-rack")
296 .setPortShelf("Some port-shelf")
297 .setPortSlot("Some port-slot")
298 .setPortSubSlot("Some port-sub-slot")
302 ServiceZEnd serviceZEnd = new ServiceZEndBuilder()
303 .setServiceFormat(ServiceFormat.Ethernet)
304 .setServiceRate(Uint32.valueOf(0))
305 .setClli("Some clli11")
306 .setNodeId("XPONDER-1-2")
307 .setTxDirection(new TxDirectionBuilder().setPort(
309 .setPortDeviceName("Some port-device-name")
310 .setPortType("Some port-type")
311 .setPortName("Some port-name")
312 .setPortRack("Some port-rack")
313 .setPortShelf("Some port-shelf")
314 .setPortSlot("Some port-slot")
315 .setPortSubSlot("Some port-sub-slot")
318 .setRxDirection(new RxDirectionBuilder().setPort(
320 .setPortDeviceName("Some port-device-name")
321 .setPortType("Some port-type")
322 .setPortName("Some port-name")
323 .setPortRack("Some port-rack")
324 .setPortShelf("Some port-shelf")
325 .setPortSlot("Some port-slot")
326 .setPortSubSlot("Some port-sub-slot")
330 return new PathComputationRequestInputBuilder()
331 .setServiceName("service1")
332 .setResourceReserve(true)
333 .setPceRoutingMetric(PceMetric.HopCount)
334 .setServiceHandlerHeader(serviceHandlerHeader)
335 .setServiceAEnd(serviceAEnd)
336 .setServiceZEnd(serviceZEnd)
337 .setHardConstraints(new HardConstraintsBuilder()
338 .setCustomerCode(Arrays.asList("Some customer-code"))
339 .setCoRoutingOrGeneral(new CoRoutingBuilder()
341 new org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constrains.rev190329
342 .constraints.co.routing.or.general.co.routing.CoRoutingBuilder()
343 .setExistingService(Arrays.asList("Some existing-service"))
347 .setSoftConstraints(new SoftConstraintsBuilder()
348 .setCustomerCode(Arrays.asList("Some customer-code"))
349 .setCoRoutingOrGeneral(new CoRoutingBuilder()
351 new org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constrains.rev190329
352 .constraints.co.routing.or.general.co.routing.CoRoutingBuilder()
353 .setExistingService(Arrays.asList("Some existing-service"))
360 public static PathComputationRequestOutput getFailedPCEResultYes() {
361 PathComputationRequestOutputBuilder outputBuilder = new PathComputationRequestOutputBuilder();
362 ConfigurationResponseCommonBuilder configurationResponseCommon = new ConfigurationResponseCommonBuilder()
363 .setAckFinalIndicator("Yes")
364 .setRequestId("request1")
365 .setResponseCode("Path not calculated")
366 .setResponseMessage("Service Name is not set");
367 outputBuilder.setConfigurationResponseCommon(configurationResponseCommon.build())
368 .setResponseParameters(null);
369 return outputBuilder.build();
372 public static PathComputationRequestOutput getPCEResultOk(Long wl) {
373 PathComputationRequestOutputBuilder outputBuilder = new PathComputationRequestOutputBuilder();
374 ResponseParameters responseParameters = new ResponseParametersBuilder()
375 .setPathDescription(createPathDescription(0L, wl, 0L, wl))
377 outputBuilder.setConfigurationResponseCommon(createCommonSuccessResponse())
378 .setResponseParameters(responseParameters);
379 return outputBuilder.build();
383 * Generate Data for Test 1 request 5-4.
386 * "pce:service-name": "service 1",
387 * "pce:resource-reserve": "true",
388 * "pce:service-handler-header": {
389 * "pce:request-id": "request 1"
391 * "pce:service-a-end": {
392 * "pce:service-rate": "0",
393 * "pce:node-id": "XPONDER-1-2"
395 * "pce:service-z-end": {
396 * "pce:service-rate": "0",
397 * "pce:node-id": "XPONDER-3-2"
399 * "pce:pce-metric": "hop-count"
403 * @return input PathComputationRequestInput data
405 public static PathComputationRequestInput getPCE_test1_request_54() {
406 ServiceHandlerHeader serviceHandlerHeader = new ServiceHandlerHeaderBuilder()
407 .setRequestId("request 1")
409 ServiceAEnd serviceAEnd = new ServiceAEndBuilder()
410 .setServiceRate(Uint32.valueOf(0))
411 .setNodeId("XPONDER-1-2")
413 ServiceZEnd serviceZEnd = new ServiceZEndBuilder()
414 .setServiceRate(Uint32.valueOf(0))
415 .setNodeId("XPONDER-3-2")
417 return new PathComputationRequestInputBuilder()
418 .setServiceHandlerHeader(serviceHandlerHeader)
419 .setServiceName("service 1")
420 .setResourceReserve(true)
421 .setPceRoutingMetric(PceMetric.HopCount)
422 .setServiceAEnd(serviceAEnd)
423 .setServiceZEnd(serviceZEnd)
428 * Generate Data for Test 1 result 5-4.
430 * @param wl WaveLength
431 * @return output PathComputationRequestOutput data
433 public static PathComputationRequestOutput getPCE_test_result_54(Long wl) {
434 PathComputationRequestOutputBuilder outputBuilder = new PathComputationRequestOutputBuilder();
435 ResponseParameters responseParameters = new ResponseParametersBuilder()
436 .setPathDescription(createPathDescription(0L, wl, 0L, wl))
438 outputBuilder.setConfigurationResponseCommon(createCommonSuccessResponse())
439 .setResponseParameters(responseParameters);
440 return outputBuilder.build();
444 * Generate Data for Test 2 request 5-4.
447 * "pce:service-name": "service 1",
448 * "pce:resource-reserve": "true",
449 * "pce:service-handler-header": {
450 * "pce:request-id": "request 1"
452 * "pce:service-a-end": {
453 * "pce:service-rate": "0",
454 * "pce:node-id": "XPONDER-1-2"
456 * "pce:service-z-end": {
457 * "pce:service-rate": "0",
458 * "pce:node-id": "XPONDER-3-2"
460 * "pce:hard-constraints": {
462 * "node-id": [ "OpenROADM-2-2" ]
465 * "pce:pce-metric": "hop-count"
469 * @return input PathComputationRequestInput data
471 public static PathComputationRequestInput getPCE_test2_request_54() {
472 ServiceHandlerHeader serviceHandlerHeader = new ServiceHandlerHeaderBuilder()
473 .setRequestId("request 1")
475 ServiceAEnd serviceAEnd = new ServiceAEndBuilder()
476 .setServiceRate(Uint32.valueOf(0))
477 .setNodeId("XPONDER-1-2")
479 ServiceZEnd serviceZEnd = new ServiceZEndBuilder()
480 .setServiceRate(Uint32.valueOf(0))
481 .setNodeId("XPONDER-3-2")
483 return new PathComputationRequestInputBuilder()
484 .setServiceHandlerHeader(serviceHandlerHeader)
485 .setServiceName("service 1")
486 .setResourceReserve(true)
487 .setPceRoutingMetric(PceMetric.HopCount)
488 .setServiceAEnd(serviceAEnd)
489 .setServiceZEnd(serviceZEnd)
490 .setHardConstraints(new HardConstraintsBuilder()
491 .setCoRoutingOrGeneral(new GeneralBuilder()
492 .setExclude(new ExcludeBuilder()
493 .setNodeId(Arrays.asList(new NodeIdType("OpenROADM-2-2")))
495 .setLatency(new LatencyBuilder().setMaxLatency(Uint32.valueOf(3223)).build())
496 .setInclude(new IncludeBuilder()
497 .setNodeId(Arrays.asList(new NodeIdType("XPONDER-1-2")))
505 * Generate Data for Test 2 result 5-4.
507 * @return output PathComputationRequestOutput data
509 public static PathComputationRequestOutput getPCE_test2_result_54() {
510 PathComputationRequestOutputBuilder outputBuilder = new PathComputationRequestOutputBuilder();
511 ResponseParameters responseParameters = new ResponseParametersBuilder()
512 .setPathDescription(createPathDescription(0L, 9L, 0L, 9L))
514 outputBuilder.setConfigurationResponseCommon(createCommonSuccessResponse())
515 .setResponseParameters(responseParameters);
516 return outputBuilder.build();
520 * Generate Data for Test 2 request 5-4.
523 * "pce:service-name": "service 1",
524 * "pce:resource-reserve": "true",
525 * "pce:service-handler-header": {
526 * "pce:request-id": "request 1"
528 * "pce:service-a-end": {
529 * "pce:service-rate": "0",
530 * "pce:node-id": "XPONDER-1-2"
532 * "pce:service-z-end": {
533 * "pce:service-rate": "0",
534 * "pce:node-id": "XPONDER-3-2"
536 * "pce:hard-constraints": {
538 * "node-id": [ "OpenROADM-2-1", "OpenROADM-2-2" ]
541 * "pce:pce-metric": "hop-count"
545 * @return input PathComputationRequestInput data
547 public static PathComputationRequestInput getPCE_test3_request_54() {
548 ServiceHandlerHeader serviceHandlerHeader = new ServiceHandlerHeaderBuilder()
549 .setRequestId("request 1")
552 ServiceAEnd serviceAEnd = new ServiceAEndBuilder()
553 .setServiceRate(Uint32.valueOf(100))
554 .setServiceFormat(ServiceFormat.Ethernet)
555 .setNodeId("XPONDER-1-2")
557 ServiceZEnd serviceZEnd = new ServiceZEndBuilder()
558 .setServiceRate(Uint32.valueOf(0))
559 .setServiceFormat(ServiceFormat.Ethernet)
560 .setNodeId("XPONDER-3-2")
562 return new PathComputationRequestInputBuilder()
563 .setServiceHandlerHeader(serviceHandlerHeader)
564 .setServiceName("service 1")
565 .setResourceReserve(true)
566 .setPceRoutingMetric(PceMetric.HopCount)
567 .setServiceAEnd(serviceAEnd)
568 .setServiceZEnd(serviceZEnd)
569 .setHardConstraints(new HardConstraintsBuilder()
570 .setCoRoutingOrGeneral(new GeneralBuilder()
571 .setExclude(new ExcludeBuilder()
572 .setNodeId(Arrays.asList(
573 new NodeIdType("OpenROADM-2-1"), new NodeIdType("OpenROADM-2-2")))
581 * Generate Data for Test 3 result 5-4.
583 * @return output PathComputationRequestOutput data
585 public static PathComputationRequestOutput getPCE_test3_result_54() {
586 PathComputationRequestOutputBuilder outputBuilder = new PathComputationRequestOutputBuilder();
587 ResponseParameters responseParameters = new ResponseParametersBuilder()
588 .setPathDescription(createPathDescription(0L, 9L, 0L, 9L))
590 outputBuilder.setConfigurationResponseCommon(createCommonSuccessResponse())
591 .setResponseParameters(responseParameters);
592 return outputBuilder.build();
595 public static PathComputationRequestInput getPCE_simpletopology_test1_requestSetHardAndSoftConstrains() {
596 ServiceHandlerHeader serviceHandlerHeader = new ServiceHandlerHeaderBuilder()
597 .setRequestId("request 1")
599 ServiceAEnd serviceAEnd = new ServiceAEndBuilder()
600 .setServiceRate(Uint32.valueOf(0))
601 .setNodeId("XPONDER-1-2")
603 ServiceZEnd serviceZEnd = new ServiceZEndBuilder()
604 .setServiceRate(Uint32.valueOf(0))
605 .setNodeId("XPONDER-3-2")
607 HardConstraints hardConstrains = new HardConstraintsBuilder().build();
608 SoftConstraints softConstraints = new SoftConstraintsBuilder().build();
609 return new PathComputationRequestInputBuilder()
610 .setServiceHandlerHeader(serviceHandlerHeader)
611 .setServiceName("service 1")
612 .setResourceReserve(true)
613 .setPceRoutingMetric(PceMetric.HopCount)
614 .setServiceAEnd(serviceAEnd)
615 .setServiceZEnd(serviceZEnd)
616 .setHardConstraints(hardConstrains)
617 .setSoftConstraints(softConstraints)
621 public static PathComputationRequestInput getPCE_simpletopology_test1_request() {
622 ServiceHandlerHeader serviceHandlerHeader = new ServiceHandlerHeaderBuilder()
623 .setRequestId("request 1")
625 ServiceAEnd serviceAEnd = new ServiceAEndBuilder()
626 .setServiceRate(Uint32.valueOf(0))
627 .setNodeId("XPONDER-1-2")
629 ServiceZEnd serviceZEnd = new ServiceZEndBuilder()
630 .setServiceRate(Uint32.valueOf(0))
631 .setNodeId("XPONDER-3-2")
633 return new PathComputationRequestInputBuilder()
634 .setServiceHandlerHeader(serviceHandlerHeader)
635 .setServiceName("service 1")
636 .setResourceReserve(true)
637 .setPceRoutingMetric(PceMetric.HopCount)
638 .setServiceAEnd(serviceAEnd)
639 .setServiceZEnd(serviceZEnd)
643 public static PathComputationRequestOutput getPCE_simpletopology_test1_result(Long wl) {
644 PathComputationRequestOutputBuilder outputBuilder = new PathComputationRequestOutputBuilder();
645 ResponseParameters responseParameters = new ResponseParametersBuilder()
646 .setPathDescription(createPathDescription(0L, wl, 0L, wl))
648 outputBuilder.setConfigurationResponseCommon(createCommonSuccessResponse())
649 .setResponseParameters(responseParameters);
650 return outputBuilder.build();
653 private static ConfigurationResponseCommon createCommonSuccessResponse() {
654 ConfigurationResponseCommonBuilder configurationResponseCommon = new ConfigurationResponseCommonBuilder()
655 .setAckFinalIndicator(ResponseCodes.FINAL_ACK_YES)
656 .setRequestId("request 1")
657 .setResponseCode(ResponseCodes.RESPONSE_OK)
658 .setResponseMessage("Path is calculated");
659 return configurationResponseCommon.build();
662 private static PathDescription createPathDescription(long azRate, long azWaveLength, long zaRate,
664 AToZDirection atozDirection = new AToZDirectionBuilder()
665 .setRate(Uint32.valueOf(azRate))
666 .setAToZWavelengthNumber(Uint32.valueOf(azWaveLength))
668 ZToADirection ztoaDirection = new ZToADirectionBuilder()
669 .setRate(Uint32.valueOf(zaRate))
670 .setZToAWavelengthNumber(Uint32.valueOf(zaWaveLength))
672 return new PathDescriptionBuilder()
673 .setAToZDirection(atozDirection)
674 .setZToADirection(ztoaDirection)
679 * Generate Data for Test Diversity test 1 request 5-4.
682 * "pce:service-name": "service 1",
683 * "pce:resource-reserve": "true",
684 * "pce:service-handler-header": {
685 * "pce:request-id": "request 1"
687 * "pce:service-a-end": {
688 * "pce:service-rate": "0",
689 * "pce:node-id": "XPONDER-1-1"
691 * "pce:service-z-end": {
692 * "pce:service-rate": "0",
693 * "pce:node-id": "XPONDER-3-1"
695 * "pce:hard-constraints": {
697 * "existing-service": ["Path test-1-54"],
698 * "existing-service-applicability": {
703 * "pce:pce-metric": "hop-count"
707 * @param base Path Computation Request Input base
708 * @return input PathComputationRequestInput data
710 public static PathComputationRequestInput build_diversity_from_request(PathComputationRequestInput base) {
712 ExistingServiceApplicability nodeTrue = new ExistingServiceApplicabilityBuilder()
713 .setNode(true).build();
715 ServiceAEnd serviceAEnd = new ServiceAEndBuilder()
716 .setServiceRate(Uint32.valueOf(0))
717 .setNodeId("XPONDER-1-1")
719 ServiceZEnd serviceZEnd = new ServiceZEndBuilder()
720 .setServiceRate(Uint32.valueOf(0))
721 .setNodeId("XPONDER-3-1")
723 return new PathComputationRequestInputBuilder(base)
724 .setServiceName("service 2")
725 .setServiceAEnd(serviceAEnd)
726 .setServiceZEnd(serviceZEnd)
727 .setHardConstraints(new HardConstraintsBuilder()
728 .setCoRoutingOrGeneral(new GeneralBuilder()
729 .setLatency(new LatencyBuilder()
730 .setMaxLatency(Uint32.valueOf(3223)).build())
731 .setDiversity(new DiversityBuilder()
732 .setExistingService(Arrays.asList(base.getServiceName()))
733 .setExistingServiceApplicability(nodeTrue)
740 public static ServiceCreateInput buildServiceCreateInput() {
742 org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.service.create.input.ServiceAEnd serviceAEnd =
743 new org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531
744 .service.create.input.ServiceAEndBuilder()
746 .setServiceRate(Uint32.valueOf(0))
747 .setNodeId(new NodeIdType("XPONDER-1-2"))
748 .setTxDirection(new org.opendaylight.yang.gen.v1.http.org
749 .openroadm.common.service.types.rev190531.service.endpoint.TxDirectionBuilder()
750 .setPort(new PortBuilder().build())
752 .setRxDirection(new org.opendaylight.yang.gen.v1.http.org
753 .openroadm.common.service.types.rev190531.service.endpoint.RxDirectionBuilder()
754 .setPort(new PortBuilder().build())
758 org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.service.create.input.ServiceZEnd serviceZEnd =
759 new org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531
760 .service.create.input.ServiceZEndBuilder()
762 .setServiceRate(Uint32.valueOf(0))
763 .setNodeId(new NodeIdType("XPONDER-3-2"))
764 .setTxDirection(new org.opendaylight.yang.gen.v1.http.org
765 .openroadm.common.service.types.rev190531.service.endpoint.TxDirectionBuilder()
766 .setPort(new PortBuilder().build())
768 .setRxDirection(new org.opendaylight.yang.gen.v1.http.org
769 .openroadm.common.service.types.rev190531.service.endpoint.RxDirectionBuilder()
770 .setPort(new PortBuilder().build())
773 return new ServiceCreateInputBuilder()
774 .setCommonId("commonId")
775 .setConnectionType(ConnectionType.Service)
776 .setCustomer("Customer")
777 .setServiceName("service 1")
778 .setServiceAEnd(serviceAEnd)
779 .setServiceZEnd(serviceZEnd)
780 .setSdncRequestHeader(new SdncRequestHeaderBuilder()
781 .setRequestId("request 1")
786 public static PathComputationRequestInput getGnpyPCERequest(String nodeA, String nodeZ) {
787 ServiceHandlerHeader serviceHandlerHeader = new ServiceHandlerHeaderBuilder()
788 .setRequestId("request1")
790 ServiceAEnd serviceAEnd = new ServiceAEndBuilder()
791 .setServiceFormat(ServiceFormat.Ethernet)
792 .setServiceRate(Uint32.valueOf(100))
795 .setTxDirection(new TxDirectionBuilder().setPort(
797 .setPortDeviceName("Some port-device-name")
798 .setPortType("Some port-type")
799 .setPortName("Some port-name")
800 .setPortRack("Some port-rack")
801 .setPortShelf("Some port-shelf")
802 .setPortSlot("Some port-slot")
803 .setPortSubSlot("Some port-sub-slot")
806 .setRxDirection(new RxDirectionBuilder().setPort(
808 .setPortDeviceName("Some port-device-name")
809 .setPortType("Some port-type")
810 .setPortName("Some port-name")
811 .setPortRack("Some port-rack")
812 .setPortShelf("Some port-shelf")
813 .setPortSlot("Some port-slot")
814 .setPortSubSlot("Some port-sub-slot")
818 ServiceZEnd serviceZEnd = new ServiceZEndBuilder()
819 .setServiceFormat(ServiceFormat.Ethernet)
820 .setServiceRate(Uint32.valueOf(0))
821 .setClli("Some clli11")
823 .setTxDirection(new TxDirectionBuilder().setPort(
825 .setPortDeviceName("Some port-device-name")
826 .setPortType("Some port-type")
827 .setPortName("Some port-name")
828 .setPortRack("Some port-rack")
829 .setPortShelf("Some port-shelf")
830 .setPortSlot("Some port-slot")
831 .setPortSubSlot("Some port-sub-slot")
834 .setRxDirection(new RxDirectionBuilder().setPort(
836 .setPortDeviceName("Some port-device-name")
837 .setPortType("Some port-type")
838 .setPortName("Some port-name")
839 .setPortRack("Some port-rack")
840 .setPortShelf("Some port-shelf")
841 .setPortSlot("Some port-slot")
842 .setPortSubSlot("Some port-sub-slot")
846 return new PathComputationRequestInputBuilder()
847 .setServiceName("service1")
848 .setResourceReserve(true)
849 .setPceRoutingMetric(PceMetric.HopCount)
850 .setServiceHandlerHeader(serviceHandlerHeader)
851 .setServiceAEnd(serviceAEnd)
852 .setServiceZEnd(serviceZEnd)
853 .setHardConstraints(new HardConstraintsBuilder()
854 .setCustomerCode(Arrays.asList("Some customer-code"))
855 .setCoRoutingOrGeneral(new CoRoutingBuilder()
857 new org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constrains.rev190329
858 .constraints.co.routing.or.general.co.routing.CoRoutingBuilder()
859 .setExistingService(Arrays.asList("Some existing-service"))
863 .setSoftConstraints(new SoftConstraintsBuilder()
864 .setCustomerCode(Arrays.asList("Some customer-code"))
865 .setCoRoutingOrGeneral(new CoRoutingBuilder()
867 new org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constrains.rev190329
868 .constraints.co.routing.or.general.co.routing.CoRoutingBuilder()
869 .setExistingService(Arrays.asList("Some existing-service"))