fix some compilation warnings
[transportpce.git] / renderer / src / test / java / org / opendaylight / transportpce / renderer / utils / ServiceDataUtils.java
1 /*
2  * Copyright © 2018 Orange Systems, Inc. and others.  All rights reserved.
3  *
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
7  */
8 package org.opendaylight.transportpce.renderer.utils;
9
10 import java.util.ArrayList;
11 import java.util.List;
12 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev161014.ServiceFormat;
13 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev161014.service.port.PortBuilder;
14 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev170426.path.description.AToZDirection;
15 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev170426.path.description.AToZDirectionBuilder;
16 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev170426.path.description.ZToADirection;
17 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev170426.path.description.ZToADirectionBuilder;
18 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev170426.path.description.atoz.direction.AToZ;
19 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev170426.path.description.atoz.direction.AToZBuilder;
20 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev170426.path.description.atoz.direction.AToZKey;
21 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev170426.path.description.ztoa.direction.ZToA;
22 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev170426.path.description.ztoa.direction.ZToABuilder;
23 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev170426.path.description.ztoa.direction.ZToAKey;
24 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev170426.pce.resource.ResourceBuilder;
25 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev170426.pce.resource.resource.resource.Link;
26 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev170426.pce.resource.resource.resource.LinkBuilder;
27 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev170426.pce.resource.resource.resource.NodeBuilder;
28 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev170426.pce.resource.resource.resource.TerminationPoint;
29 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev170426.pce.resource.resource.resource.TerminationPointBuilder;
30 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev170426.pce.resource.resource.resource.link.LinkIdentifierBuilder;
31 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev170426.pce.resource.resource.resource.node.NodeIdentifierBuilder;
32 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev170426.pce.resource.resource.resource.termination.point.TerminationPointIdentifierBuilder;
33 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev170426.service.endpoint.sp.RxDirectionBuilder;
34 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev170426.service.endpoint.sp.TxDirectionBuilder;
35 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev170426.service.handler.header.ServiceHandlerHeaderBuilder;
36 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.servicepath.rev170426.ServiceImplementationRequestInput;
37 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.servicepath.rev170426.ServiceImplementationRequestInputBuilder;
38 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.servicepath.rev170426.service.implementation.request.input.PathDescription;
39 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.servicepath.rev170426.service.implementation.request.input.PathDescriptionBuilder;
40 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.servicepath.rev170426.service.implementation.request.input.ServiceAEndBuilder;
41 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.servicepath.rev170426.service.implementation.request.input.ServiceZEndBuilder;
42 import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev170907.olm.renderer.input.Nodes;
43 import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev170907.olm.renderer.input.NodesBuilder;
44 import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev170907.olm.renderer.input.NodesKey;
45 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.renderer.rev170228.RendererRollbackInput;
46 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.renderer.rev170228.RendererRollbackInputBuilder;
47 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.renderer.rev170228.ServicePathInput;
48 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.renderer.rev170228.ServicePathInputBuilder;
49
50
51 public final class ServiceDataUtils {
52
53     public static Nodes createNode(String nodeId, String srcTp, String dstTp) {
54         return new NodesBuilder().setNodeId(nodeId).setKey(new NodesKey(nodeId)).setSrcTp(srcTp)
55                 .setDestTp(dstTp).build();
56     }
57
58     public static ServicePathInput buildServicePathInputs(List<Nodes> nodes) {
59         ServicePathInputBuilder servicePathInputBuilder = new ServicePathInputBuilder();
60         servicePathInputBuilder.setNodes(nodes);
61         servicePathInputBuilder.setServiceName("Service 1").setWaveNumber(20L);
62         return servicePathInputBuilder.build();
63     }
64
65     public static ServicePathInput buildServicePathInputs() {
66         ServicePathInputBuilder servicePathInputBuilder = new ServicePathInputBuilder();
67         List<Nodes> nodes = new ArrayList<>();
68         nodes.add(ServiceDataUtils.createNode("node1", "src", "dst"));
69         servicePathInputBuilder.setNodes(nodes);
70         servicePathInputBuilder.setServiceName("Service 1").setWaveNumber(20L);
71         return servicePathInputBuilder.build();
72     }
73
74     public static RendererRollbackInput buildRendererRollbackInput() {
75         RendererRollbackInputBuilder rendererRollbackInputBuilder = new RendererRollbackInputBuilder();
76         rendererRollbackInputBuilder.setNodeInterface(new ArrayList<>());
77         return rendererRollbackInputBuilder.build();
78     }
79
80     public static ServiceImplementationRequestInput buildServiceImplementationRequestInputTerminationPointResource(
81         String tpId) {
82         ServiceImplementationRequestInputBuilder builder = new ServiceImplementationRequestInputBuilder()
83             .setServiceName("service 1").setPathDescription(createPathDescriptionTerminationPointResource(tpId))
84             .setServiceHandlerHeader(new ServiceHandlerHeaderBuilder().setRequestId("Request 1").build())
85             .setServiceAEnd(getServiceAEndBuild().build())
86             .setServiceZEnd(getServiceZEndBuild().build());
87         return builder.build();
88     }
89
90     public static ServiceImplementationRequestInput buildServiceImplementationRequestInputInvalidResource() {
91         ServiceImplementationRequestInputBuilder builder = new ServiceImplementationRequestInputBuilder()
92             .setServiceName("service 1").setPathDescription(createPathDescriptionInvalidResource())
93             .setServiceHandlerHeader(new ServiceHandlerHeaderBuilder().setRequestId("Request 1").build())
94             .setServiceAEnd(getServiceAEndBuild().build())
95             .setServiceZEnd(getServiceZEndBuild().build());
96         return builder.build();
97     }
98
99     public static ServiceImplementationRequestInput buildServiceImplementationRequestInputLinkResource() {
100         ServiceImplementationRequestInputBuilder builder = new ServiceImplementationRequestInputBuilder()
101             .setServiceName("service 1").setPathDescription(createPathDescriptionLinkResource())
102             .setServiceHandlerHeader(new ServiceHandlerHeaderBuilder().setRequestId("Request 1").build())
103             .setServiceAEnd(getServiceAEndBuild().build())
104             .setServiceZEnd(getServiceZEndBuild().build());
105         return builder.build();
106     }
107
108     private static PathDescription createPathDescriptionInvalidResource() {
109         List<AToZ> atoZList = new ArrayList<AToZ>();
110         org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev170426.pce.resource
111             .resource.resource.NodeBuilder nodesBuilder = new NodeBuilder();
112         org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev170426.pce.resource
113             .resource.resource.Node node1 = nodesBuilder.setNodeIdentifier(new NodeIdentifierBuilder()
114             .setNodeId("XPONDER-1-2").build()).build();
115         org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev170426.pce.resource
116             .resource.resource.Node node2 = nodesBuilder.setNodeIdentifier(new NodeIdentifierBuilder()
117             .setNodeId("XPONDER-1-2").build()).build();
118         AToZ atoZ = new AToZBuilder().setId("1").setKey(new AToZKey("1")).setResource(new ResourceBuilder()
119             .setResource(node1).build()).build();
120         AToZ atoZ2 = new AToZBuilder().setId("1").setKey(new AToZKey("1")).setResource(new ResourceBuilder()
121             .setResource(node2).build()).build();
122         atoZList.add(atoZ);
123         atoZList.add(atoZ2);
124         AToZDirection atozDirection = new AToZDirectionBuilder()
125             .setRate(20L)
126             .setAToZWavelengthNumber(20L)
127             .setAToZ(atoZList)
128             .build();
129         List<ZToA> ztoAList = new ArrayList<ZToA>();
130         ZToA ztoA = new ZToABuilder().setId("1").setKey(new ZToAKey("1")).setResource(new ResourceBuilder()
131             .setResource(node1).build()).build();
132         ZToA ztoA2 = new ZToABuilder().setId("1").setKey(new ZToAKey("1")).setResource(new ResourceBuilder()
133             .setResource(node2).build()).build();
134         ztoAList.add(ztoA);
135         ztoAList.add(ztoA2);
136         ZToADirection ztoaDirection = new ZToADirectionBuilder()
137             .setRate(20L)
138             .setZToAWavelengthNumber(20L)
139             .setZToA(ztoAList)
140             .build();
141         PathDescriptionBuilder builder = new PathDescriptionBuilder()
142             .setAToZDirection(atozDirection)
143             .setZToADirection(ztoaDirection);
144         return builder.build();
145     }
146
147     public static PathDescription createPathDescriptionTerminationPointResource(String tpId) {
148         List<AToZ> atoZList = new ArrayList<AToZ>();
149         TerminationPointBuilder terminationPointBuilder = new TerminationPointBuilder();
150         TerminationPoint terminationPoint = terminationPointBuilder
151             .setTerminationPointIdentifier(new TerminationPointIdentifierBuilder().setNodeId("XPONDER-1-2")
152                 .setTpId("XPONDER-1-2-" + tpId).build()).build();
153         TerminationPoint terminationPoint2 = terminationPointBuilder
154             .setTerminationPointIdentifier(new TerminationPointIdentifierBuilder().setNodeId("XPONDER-1-2")
155                 .setTpId("XPONDER-1-2-" + tpId).build()).build();
156         AToZ atoZ = new AToZBuilder().setId("1").setKey(new AToZKey("1")).setResource(new ResourceBuilder()
157             .setResource(terminationPoint).build()).build();
158         AToZ atoZ2 = new AToZBuilder().setId("2").setKey(new AToZKey("2")).setResource(new ResourceBuilder()
159             .setResource(terminationPoint2).build()).build();
160         atoZList.add(atoZ);
161         atoZList.add(atoZ2);
162         AToZDirection atozDirection = new AToZDirectionBuilder()
163             .setRate(20L)
164             .setAToZWavelengthNumber(20L)
165             .setAToZ(atoZList)
166             .build();
167         List<ZToA> ztoAList = new ArrayList<ZToA>();
168         ZToA ztoA = new ZToABuilder().setId("1").setKey(new ZToAKey("1")).setResource(new ResourceBuilder()
169             .setResource(terminationPoint).build()).build();
170         ZToA ztoA2 = new ZToABuilder().setId("2").setKey(new ZToAKey("2")).setResource(new ResourceBuilder()
171             .setResource(terminationPoint).build()).build();
172         ztoAList.add(ztoA);
173         ztoAList.add(ztoA2);
174         ZToADirection ztoaDirection = new ZToADirectionBuilder()
175             .setRate(20L)
176             .setZToAWavelengthNumber(20L)
177             .setZToA(ztoAList)
178             .build();
179         PathDescriptionBuilder builder = new PathDescriptionBuilder()
180             .setAToZDirection(atozDirection)
181             .setZToADirection(ztoaDirection);
182         return builder.build();
183     }
184
185     private static PathDescription createPathDescriptionLinkResource() {
186         List<AToZ> atoZList = new ArrayList<AToZ>();
187         org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev170426.pce.resource
188             .resource.resource.NodeBuilder nodesBuilder = new NodeBuilder();
189         Link link1 = new LinkBuilder().setLinkIdentifier(new LinkIdentifierBuilder().setLinkId("link 1").build())
190             .build();
191         Link link2 = new LinkBuilder().setLinkIdentifier(new LinkIdentifierBuilder().setLinkId("link 2").build())
192             .build();
193         AToZ atoZ = new AToZBuilder().setId("1").setKey(new AToZKey("1")).setResource(new ResourceBuilder()
194             .setResource(link1).build()).build();
195         AToZ atoZ2 = new AToZBuilder().setId("1").setKey(new AToZKey("1")).setResource(new ResourceBuilder()
196             .setResource(link2).build()).build();
197         atoZList.add(atoZ);
198         atoZList.add(atoZ2);
199         AToZDirection atozDirection = new AToZDirectionBuilder()
200             .setRate(20L)
201             .setAToZWavelengthNumber(20L)
202             .setAToZ(atoZList)
203             .build();
204         List<ZToA> ztoAList = new ArrayList<ZToA>();
205         ZToA ztoA = new ZToABuilder().setId("1").setKey(new ZToAKey("1")).setResource(new ResourceBuilder()
206             .setResource(link1).build()).build();
207         ZToA ztoA2 = new ZToABuilder().setId("1").setKey(new ZToAKey("1")).setResource(new ResourceBuilder()
208             .setResource(link2).build()).build();
209         ztoAList.add(ztoA);
210         ztoAList.add(ztoA2);
211         ZToADirection ztoaDirection = new ZToADirectionBuilder()
212             .setRate(20L)
213             .setZToAWavelengthNumber(20L)
214             .setZToA(ztoAList)
215             .build();
216         PathDescriptionBuilder builder = new PathDescriptionBuilder()
217             .setAToZDirection(atozDirection)
218             .setZToADirection(ztoaDirection);
219         return builder.build();
220     }
221
222     public static ServiceAEndBuilder getServiceAEndBuild() {
223         return new ServiceAEndBuilder()
224             .setClli("clli").setServiceFormat(ServiceFormat.OC).setServiceRate((long) 1).setNodeId("XPONDER-1-2")
225             .setTxDirection(
226                 new TxDirectionBuilder()
227                     .setPort(new PortBuilder().setPortDeviceName("device name").setPortName("port name")
228                         .setPortRack("port rack").setPortShelf("port shelf").setPortSlot("port slot")
229                         .setPortSubSlot("port subslot").setPortType("port type").build())
230                     .build())
231             .setRxDirection(
232                 new RxDirectionBuilder()
233                     .setPort(new PortBuilder().setPortDeviceName("device name").setPortName("port name")
234                         .setPortRack("port rack").setPortShelf("port shelf").setPortSlot("port slot")
235                         .setPortSubSlot("port subslot").setPortType("port type").build())
236                     .build());
237     }
238
239     public static ServiceZEndBuilder getServiceZEndBuild() {
240         return new ServiceZEndBuilder()
241             .setClli("clli").setServiceFormat(ServiceFormat.OC).setServiceRate((long) 1).setNodeId("XPONDER-1-2")
242             .setTxDirection(
243                 new TxDirectionBuilder()
244                     .setPort(new PortBuilder().setPortDeviceName("device name").setPortName("port name")
245                         .setPortRack("port rack").setPortShelf("port shelf").setPortSlot("port slot")
246                         .setPortSubSlot("port subslot").setPortType("port type").build())
247                     .build())
248             .setRxDirection(
249                 new RxDirectionBuilder()
250                     .setPort(new PortBuilder().setPortDeviceName("device name").setPortName("port name")
251                         .setPortRack("port rack").setPortShelf("port shelf").setPortSlot("port slot")
252                         .setPortSubSlot("port subslot").setPortType("port type").build())
253                     .build());
254     }
255
256     private ServiceDataUtils() {
257     }
258
259 }