fix some compilation warnings
[transportpce.git] / servicehandler / src / test / java / org / opendaylight / transportpce / servicehandler / utils / ServiceDataUtils.java
1 /*
2  * Copyright © 2018 Orange, 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.servicehandler.utils;
9
10 import java.time.OffsetDateTime;
11 import java.time.ZoneOffset;
12 import java.time.format.DateTimeFormatter;
13 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev170426.ServicePathRpcResult;
14 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev170426.ServicePathRpcResultBuilder;
15 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev170426.service.path.rpc.result.PathDescription;
16 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev170426.service.path.rpc.result.PathDescriptionBuilder;
17 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev161014.ConnectionType;
18 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev161014.RpcActions;
19 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev161014.ServiceFormat;
20 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev161014.sdnc.request.header.SdncRequestHeaderBuilder;
21 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev161014.service.lgx.LgxBuilder;
22 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev161014.service.port.PortBuilder;
23 import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev161014.ServiceCreateInput;
24 import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev161014.ServiceCreateInputBuilder;
25 import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev161014.ServiceDeleteInput;
26 import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev161014.ServiceDeleteInputBuilder;
27 import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev161014.ServiceRerouteInput;
28 import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev161014.ServiceRerouteInputBuilder;
29 import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev161014.service.delete.input.ServiceDeleteReqInfo;
30 import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev161014.service.delete.input.ServiceDeleteReqInfoBuilder;
31 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev170426.path.description.AToZDirection;
32 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev170426.path.description.AToZDirectionBuilder;
33 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev170426.path.description.ZToADirection;
34 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev170426.path.description.ZToADirectionBuilder;
35 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev170426.RpcStatusEx;
36 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev170426.ServicePathNotificationTypes;
37 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.DateAndTime;
38
39 public final class ServiceDataUtils {
40
41     public static ServiceCreateInput buildServiceCreateInput() {
42
43         ServiceCreateInputBuilder builtInput = new ServiceCreateInputBuilder();
44         org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev161014.service.create.input
45             .ServiceAEnd serviceAEnd = getServiceAEndBuild()
46             .build();
47         org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev161014.service.create.input
48             .ServiceZEnd serviceZEnd = new org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev161014.service
49             .create.input.ServiceZEndBuilder()
50             .setClli("clli").setServiceFormat(ServiceFormat.OC).setServiceRate((long) 1).setNodeId("XPONDER-3-2")
51             .setTxDirection(
52                 new org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev161014.service
53                     .endpoint.TxDirectionBuilder()
54                     .setPort(new PortBuilder().setPortDeviceName("device name").setPortName("port name")
55                         .setPortRack("port rack").setPortShelf("port shelf").setPortSlot("port slot")
56                         .setPortSubSlot("port subslot").setPortType("port type").build())
57                     .setLgx(new LgxBuilder().setLgxDeviceName("lgx device name")
58                         .setLgxPortName("lgx port name").setLgxPortRack("lgx port rack")
59                         .setLgxPortShelf("lgx port shelf").build())
60                     .build())
61             .setRxDirection(
62                 new org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev161014.service
63                     .endpoint.RxDirectionBuilder()
64                     .setPort(new PortBuilder().setPortDeviceName("device name").setPortName("port name")
65                         .setPortRack("port rack").setPortShelf("port shelf").setPortSlot("port slot")
66                         .setPortSubSlot("port subslot").setPortType("port type").build())
67                     .setLgx(new LgxBuilder().setLgxDeviceName("lgx device name")
68                         .setLgxPortName("lgx port name").setLgxPortRack("lgx port rack")
69                         .setLgxPortShelf("lgx port shelf").build())
70                     .build())
71             .build();
72
73         builtInput.setCommonId("commonId");
74         builtInput.setConnectionType(ConnectionType.Service);
75         builtInput.setCustomer("Customer");
76         builtInput.setServiceName("service 1");
77         builtInput.setServiceAEnd(serviceAEnd);
78         builtInput.setServiceZEnd(serviceZEnd);
79         builtInput.setSdncRequestHeader(new SdncRequestHeaderBuilder().setRequestId("request 1")
80             .setRpcAction(RpcActions.ServiceCreate).setNotificationUrl("notification url").build());
81
82         return builtInput.build();
83     }
84
85     public static org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev161014.service.create.input
86         .ServiceAEndBuilder getServiceAEndBuild() {
87         return new org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev161014.service.create.input
88             .ServiceAEndBuilder()
89             .setClli("clli").setServiceFormat(ServiceFormat.OC).setServiceRate((long) 1).setNodeId("XPONDER-1-2")
90             .setTxDirection(
91                 new org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev161014.service
92                     .endpoint.TxDirectionBuilder()
93                     .setPort(new PortBuilder().setPortDeviceName("device name").setPortName("port name")
94                         .setPortRack("port rack").setPortShelf("port shelf").setPortSlot("port slot")
95                         .setPortSubSlot("port subslot").setPortType("port type").build())
96                     .setLgx(new LgxBuilder().setLgxDeviceName("lgx device name")
97                         .setLgxPortName("lgx port name").setLgxPortRack("lgx port rack")
98                         .setLgxPortShelf("lgx port shelf").build())
99                     .build())
100             .setRxDirection(
101                 new org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev161014.service
102                     .endpoint.RxDirectionBuilder()
103                     .setPort(new PortBuilder().setPortDeviceName("device name").setPortName("port name")
104                         .setPortRack("port rack").setPortShelf("port shelf").setPortSlot("port slot")
105                         .setPortSubSlot("port subslot").setPortType("port type").build())
106                     .setLgx(new LgxBuilder().setLgxDeviceName("lgx device name")
107                         .setLgxPortName("lgx port name").setLgxPortRack("lgx port rack")
108                         .setLgxPortShelf("lgx port shelf").build())
109                     .build());
110     }
111
112     public static org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev161014.service.create.input
113         .ServiceZEndBuilder getServiceZEndBuild() {
114         return new org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev161014.service.create.input
115             .ServiceZEndBuilder()
116             .setClli("clli").setServiceFormat(ServiceFormat.OC).setServiceRate((long) 1).setNodeId("XPONDER-1-2")
117             .setTxDirection(
118                 new org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev161014.service
119                     .endpoint.TxDirectionBuilder()
120                     .setPort(new PortBuilder().setPortDeviceName("device name").setPortName("port name")
121                         .setPortRack("port rack").setPortShelf("port shelf").setPortSlot("port slot")
122                         .setPortSubSlot("port subslot").setPortType("port type").build())
123                     .setLgx(new LgxBuilder().setLgxDeviceName("lgx device name")
124                         .setLgxPortName("lgx port name").setLgxPortRack("lgx port rack")
125                         .setLgxPortShelf("lgx port shelf").build())
126                     .build())
127             .setRxDirection(
128                 new org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev161014.service
129                     .endpoint.RxDirectionBuilder()
130                     .setPort(new PortBuilder().setPortDeviceName("device name").setPortName("port name")
131                         .setPortRack("port rack").setPortShelf("port shelf").setPortSlot("port slot")
132                         .setPortSubSlot("port subslot").setPortType("port type").build())
133                     .setLgx(new LgxBuilder().setLgxDeviceName("lgx device name")
134                         .setLgxPortName("lgx port name").setLgxPortRack("lgx port rack")
135                         .setLgxPortShelf("lgx port shelf").build())
136                     .build());
137     }
138
139     public static ServiceDeleteInput buildServiceDeleteInput() {
140         ServiceDeleteInputBuilder deleteInputBldr = new ServiceDeleteInputBuilder();
141         DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ssxxx");
142         OffsetDateTime offsetDateTime = OffsetDateTime.now(ZoneOffset.UTC);
143         DateAndTime datetime = new DateAndTime(dtf.format(offsetDateTime));
144         deleteInputBldr.setServiceDeleteReqInfo(new ServiceDeleteReqInfoBuilder().setServiceName("service 1")
145             .setDueDate(datetime).setTailRetention(ServiceDeleteReqInfo.TailRetention.No).build());
146         SdncRequestHeaderBuilder sdncBuilder = new SdncRequestHeaderBuilder();
147         sdncBuilder.setNotificationUrl("notification url");
148         sdncBuilder.setRequestId("request 1");
149         sdncBuilder.setRequestSystemId("request system 1");
150         sdncBuilder.setRpcAction(RpcActions.ServiceDelete);
151         deleteInputBldr.setSdncRequestHeader(sdncBuilder.build());
152         return deleteInputBldr.build();
153     }
154
155     public static ServiceRerouteInput buildServiceRerouteInput() {
156         ServiceRerouteInputBuilder builder = new ServiceRerouteInputBuilder();
157         builder.setServiceName("service 1");
158         return builder.build();
159     }
160
161     public static ServicePathRpcResult buildServicePathRpcResult() {
162         DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ssxxx");
163         OffsetDateTime offsetDateTime = OffsetDateTime.now(ZoneOffset.UTC);
164         DateAndTime datetime = new DateAndTime(dtf.format(offsetDateTime));
165         ServicePathRpcResultBuilder builder = new ServicePathRpcResultBuilder();
166         builder.setActualDate(datetime).setNotificationType(ServicePathNotificationTypes.PathComputationRequest)
167             .setPathDescription(createPathDescription(0,1, 0, 1))
168             .setServiceName("service 1")
169             .setStatus(RpcStatusEx.Successful).setStatusMessage("success");
170         return builder.build();
171     }
172
173     public static ServicePathRpcResult buildFailedServicePathRpcResult() {
174         DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ssxxx");
175         OffsetDateTime offsetDateTime = OffsetDateTime.now(ZoneOffset.UTC);
176         DateAndTime datetime = new DateAndTime(dtf.format(offsetDateTime));
177         ServicePathRpcResultBuilder builder = new ServicePathRpcResultBuilder();
178         builder.setActualDate(datetime).setNotificationType(ServicePathNotificationTypes.ServiceImplementationRequest)
179             .setPathDescription(createPathDescription(0,1, 0, 1))
180             .setServiceName("service 1")
181             .setStatus(RpcStatusEx.Failed).setStatusMessage("success");
182         return builder.build();
183     }
184
185     private static PathDescription createPathDescription(long azRate, long azWaveLength, long zaRate,
186         long zaWaveLength) {
187         AToZDirection atozDirection = new AToZDirectionBuilder()
188             .setRate(azRate)
189             .setAToZWavelengthNumber(azWaveLength)
190             .setAToZ(null)
191             .build();
192         ZToADirection ztoaDirection = new ZToADirectionBuilder()
193             .setRate(zaRate)
194             .setZToAWavelengthNumber(zaWaveLength)
195             .setZToA(null)
196             .build();
197         PathDescription pathDescription = new PathDescriptionBuilder()
198             .setAToZDirection(atozDirection)
199             .setZToADirection(ztoaDirection)
200             .build();
201         return pathDescription;
202     }
203
204     public static org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev161014.service.reconfigure.input
205         .ServiceAEndBuilder getServiceAEndBuildReconfigure() {
206         return new org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev161014.service.reconfigure.input
207             .ServiceAEndBuilder()
208             .setClli("clli").setServiceFormat(ServiceFormat.OC).setServiceRate((long) 1).setNodeId("XPONDER-1-2")
209             .setTxDirection(
210                 new org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev161014.service
211                     .endpoint.TxDirectionBuilder()
212                     .setPort(new PortBuilder().setPortDeviceName("device name").setPortName("port name")
213                         .setPortRack("port rack").setPortShelf("port shelf").setPortSlot("port slot")
214                         .setPortSubSlot("port subslot").setPortType("port type").build())
215                     .setLgx(new LgxBuilder().setLgxDeviceName("lgx device name")
216                         .setLgxPortName("lgx port name").setLgxPortRack("lgx port rack")
217                         .setLgxPortShelf("lgx port shelf").build())
218                     .build())
219             .setRxDirection(
220                 new org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev161014.service
221                     .endpoint.RxDirectionBuilder()
222                     .setPort(new PortBuilder().setPortDeviceName("device name").setPortName("port name")
223                         .setPortRack("port rack").setPortShelf("port shelf").setPortSlot("port slot")
224                         .setPortSubSlot("port subslot").setPortType("port type").build())
225                     .setLgx(new LgxBuilder().setLgxDeviceName("lgx device name")
226                         .setLgxPortName("lgx port name").setLgxPortRack("lgx port rack")
227                         .setLgxPortShelf("lgx port shelf").build())
228                     .build());
229     }
230
231     public static org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev161014.service.reconfigure.input
232         .ServiceZEndBuilder getServiceZEndBuildReconfigure() {
233         return new org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev161014.service.reconfigure.input
234             .ServiceZEndBuilder()
235             .setClli("clli").setServiceFormat(ServiceFormat.OC).setServiceRate((long) 1).setNodeId("XPONDER-1-2")
236             .setTxDirection(
237                 new org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev161014.service
238                     .endpoint.TxDirectionBuilder()
239                     .setPort(new PortBuilder().setPortDeviceName("device name").setPortName("port name")
240                         .setPortRack("port rack").setPortShelf("port shelf").setPortSlot("port slot")
241                         .setPortSubSlot("port subslot").setPortType("port type").build())
242                     .setLgx(new LgxBuilder().setLgxDeviceName("lgx device name")
243                         .setLgxPortName("lgx port name").setLgxPortRack("lgx port rack")
244                         .setLgxPortShelf("lgx port shelf").build())
245                     .build())
246             .setRxDirection(
247                 new org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev161014.service
248                     .endpoint.RxDirectionBuilder()
249                     .setPort(new PortBuilder().setPortDeviceName("device name").setPortName("port name")
250                         .setPortRack("port rack").setPortShelf("port shelf").setPortSlot("port slot")
251                         .setPortSubSlot("port subslot").setPortType("port type").build())
252                     .setLgx(new LgxBuilder().setLgxDeviceName("lgx device name")
253                         .setLgxPortName("lgx port name").setLgxPortRack("lgx port rack")
254                         .setLgxPortShelf("lgx port shelf").build())
255                     .build());
256     }
257
258     private ServiceDataUtils() {
259     }
260
261 }