a818df60cf14fe2b6f52ebb3204cf3b523c73490
[transportpce.git] / servicehandler / src / main / java / org / opendaylight / transportpce / servicehandler / ServiceInput.java
1 /*
2  * Copyright © 2017 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;
9
10 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.ConnectionType;
11 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.RpcActions;
12 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.ServiceEndpoint;
13 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.sdnc.request.header.SdncRequestHeader;
14 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.sdnc.request.header.SdncRequestHeaderBuilder;
15 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.service.resiliency.ServiceResiliency;
16 import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev211210.routing.constraints.HardConstraints;
17 import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev211210.routing.constraints.SoftConstraints;
18 import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.ServiceCreateInput;
19 import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.ServiceCreateInputBuilder;
20 import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.ServiceDeleteInput;
21 import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.ServiceFeasibilityCheckInput;
22 import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.ServiceReconfigureInput;
23 import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.TempServiceCreateInput;
24 import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.TempServiceCreateInputBuilder;
25 import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.TempServiceDeleteInput;
26 import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.service.create.input.ServiceAEndBuilder;
27 import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.service.create.input.ServiceZEndBuilder;
28
29 /**
30  * Super class of {@link ServiceCreateInput} and {@link TempServiceCreateInput}.
31  *
32  * @author Martial Coulibaly ( martial.coulibaly@gfi.com ) on behalf of Orange
33  *
34  */
35 public class ServiceInput {
36     private String serviceName;
37     private String newServiceName;
38     private String commonId;
39     private ConnectionType connectionType;
40     private SdncRequestHeader sdncRequestHeader;
41     private HardConstraints hardConstraints;
42     private SoftConstraints softConstraints;
43     private ServiceEndpoint serviceAEnd;
44     private ServiceEndpoint serviceZEnd;
45     private String customer;
46     private String customerContact;
47     private ServiceResiliency serviceResiliency;
48     private boolean serviceReconfigure;
49
50     public ServiceInput(ServiceCreateInput serviceCreateInput) {
51         setServiceName(serviceCreateInput.getServiceName());
52         setCommonId(serviceCreateInput.getCommonId());
53         setConnectionType(serviceCreateInput.getConnectionType());
54         setSdncRequestHeader(serviceCreateInput.getSdncRequestHeader());
55         setHardConstraints(serviceCreateInput.getHardConstraints());
56         setSoftConstraints(serviceCreateInput.getSoftConstraints());
57         setServiceAEnd(serviceCreateInput.getServiceAEnd());
58         setServiceZEnd(serviceCreateInput.getServiceZEnd());
59         setCustomer(serviceCreateInput.getCustomer());
60         setCustomerContact(serviceCreateInput.getCustomerContact());
61         setServiceResiliency(serviceCreateInput.getServiceResiliency());
62         setServiceReconfigure(false);
63     }
64
65     public ServiceInput(ServiceReconfigureInput serviceReconfigureInput) {
66         setServiceName(serviceReconfigureInput.getServiceName());
67         setNewServiceName(serviceReconfigureInput.getNewServiceName());
68         setSdncRequestHeader(new SdncRequestHeaderBuilder()
69                 .setRequestId(serviceReconfigureInput.getServiceName() + "-reconfigure")
70                 .setRpcAction(RpcActions.ServiceReconfigure).build());
71         setCommonId(serviceReconfigureInput.getCommonId());
72         setConnectionType(serviceReconfigureInput.getConnectionType());
73         setHardConstraints(serviceReconfigureInput.getHardConstraints());
74         setSoftConstraints(serviceReconfigureInput.getSoftConstraints());
75         setServiceAEnd(serviceReconfigureInput.getServiceAEnd());
76         setServiceZEnd(serviceReconfigureInput.getServiceZEnd());
77         setCustomer(serviceReconfigureInput.getCustomer());
78         setCustomerContact(serviceReconfigureInput.getCustomerContact());
79         setServiceResiliency(serviceReconfigureInput.getServiceResiliency());
80         setServiceReconfigure(true);
81     }
82
83     public ServiceInput(ServiceDeleteInput serviceDeleteInput) {
84         setServiceName(serviceDeleteInput.getServiceDeleteReqInfo().getServiceName());
85         setSdncRequestHeader(serviceDeleteInput.getSdncRequestHeader());
86         setServiceReconfigure(false);
87     }
88
89     public ServiceInput(TempServiceCreateInput tempServiceCreateInput) {
90         setServiceName(tempServiceCreateInput.getCommonId());
91         setCommonId(tempServiceCreateInput.getCommonId());
92         setConnectionType(tempServiceCreateInput.getConnectionType());
93         setSdncRequestHeader(tempServiceCreateInput.getSdncRequestHeader());
94         setHardConstraints(tempServiceCreateInput.getHardConstraints());
95         setSoftConstraints(tempServiceCreateInput.getSoftConstraints());
96         setServiceAEnd(tempServiceCreateInput.getServiceAEnd());
97         setServiceZEnd(tempServiceCreateInput.getServiceZEnd());
98         setCustomer(tempServiceCreateInput.getCustomer());
99         setCustomerContact(tempServiceCreateInput.getCustomerContact());
100         setServiceResiliency(tempServiceCreateInput.getServiceResiliency());
101         setServiceReconfigure(false);
102     }
103
104     public ServiceInput(ServiceFeasibilityCheckInput serviceFeasibilityCheckInput) {
105         setServiceName(serviceFeasibilityCheckInput.getCommonId());
106         setCommonId(serviceFeasibilityCheckInput.getCommonId());
107         setConnectionType(serviceFeasibilityCheckInput.getConnectionType());
108         setSdncRequestHeader(serviceFeasibilityCheckInput.getSdncRequestHeader());
109         setHardConstraints(serviceFeasibilityCheckInput.getHardConstraints());
110         setSoftConstraints(serviceFeasibilityCheckInput.getSoftConstraints());
111         setServiceAEnd(serviceFeasibilityCheckInput.getServiceAEnd());
112         setServiceZEnd(serviceFeasibilityCheckInput.getServiceZEnd());
113         setCustomer(serviceFeasibilityCheckInput.getCustomer());
114         setCustomerContact(serviceFeasibilityCheckInput.getCustomerContact());
115         setServiceResiliency(serviceFeasibilityCheckInput.getServiceResiliency());
116         setServiceReconfigure(false);
117     }
118
119     public ServiceInput(TempServiceDeleteInput tempServiceDeleteInput) {
120         String comId = tempServiceDeleteInput.getCommonId();
121         setServiceName(comId);
122         setCommonId(comId);
123         setSdncRequestHeader(new SdncRequestHeaderBuilder().setRequestId(comId).build());
124         setServiceReconfigure(false);
125     }
126
127     public ServiceCreateInput getServiceCreateInput() {
128         ServiceCreateInputBuilder serviceCreateInputBuilder = new ServiceCreateInputBuilder()
129                 .setCommonId(commonId)
130                 .setConnectionType(connectionType)
131                 .setSdncRequestHeader(sdncRequestHeader)
132                 .setHardConstraints(hardConstraints)
133                 .setSoftConstraints(softConstraints)
134                 .setServiceAEnd(new ServiceAEndBuilder(serviceAEnd).build())
135                 .setServiceZEnd(new ServiceZEndBuilder(serviceZEnd).build())
136                 .setCustomer(customer)
137                 .setCustomerContact(customerContact)
138                 .setServiceResiliency(serviceResiliency);
139         if (isServiceReconfigure()) {
140             serviceCreateInputBuilder.setServiceName(newServiceName);
141         } else {
142             serviceCreateInputBuilder.setServiceName(serviceName);
143         }
144         return serviceCreateInputBuilder.build();
145     }
146
147     public TempServiceCreateInput getTempServiceCreateInput() {
148         return new TempServiceCreateInputBuilder()
149                 .setCommonId(commonId)
150                 .setConnectionType(connectionType)
151                 .setSdncRequestHeader(sdncRequestHeader)
152                 .setHardConstraints(hardConstraints)
153                 .setSoftConstraints(softConstraints)
154                 .setServiceAEnd(new org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.temp.service
155                         .create.input.ServiceAEndBuilder(serviceAEnd).build())
156                 .setServiceZEnd(new org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.temp.service
157                         .create.input.ServiceZEndBuilder(serviceZEnd).build())
158                 .setCustomer(customer)
159                 .setCustomerContact(customerContact)
160                 .setServiceResiliency(serviceResiliency)
161                 .build();
162     }
163
164     public String getServiceName() {
165         return serviceName;
166     }
167
168     public void setServiceName(String serviceName) {
169         this.serviceName = serviceName;
170     }
171
172     public String getCommonId() {
173         return commonId;
174     }
175
176     public void setCommonId(String commonId) {
177         this.commonId = commonId;
178     }
179
180     public ConnectionType getConnectionType() {
181         return connectionType;
182     }
183
184     public void setConnectionType(ConnectionType connectionType) {
185         this.connectionType = connectionType;
186     }
187
188     public SdncRequestHeader getSdncRequestHeader() {
189         return sdncRequestHeader;
190     }
191
192     public void setSdncRequestHeader(SdncRequestHeader sdncRequestHeader) {
193         this.sdncRequestHeader = sdncRequestHeader;
194     }
195
196     public ServiceEndpoint getServiceAEnd() {
197         return serviceAEnd;
198     }
199
200     public void setServiceAEnd(ServiceEndpoint serviceAEnd) {
201         this.serviceAEnd = serviceAEnd;
202     }
203
204     public ServiceEndpoint getServiceZEnd() {
205         return serviceZEnd;
206     }
207
208     public void setServiceZEnd(ServiceEndpoint serviceZEnd) {
209         this.serviceZEnd = serviceZEnd;
210     }
211
212     public HardConstraints getHardConstraints() {
213         return hardConstraints;
214     }
215
216     public void setHardConstraints(HardConstraints hardConstraints) {
217         this.hardConstraints = hardConstraints;
218     }
219
220     public SoftConstraints getSoftConstraints() {
221         return softConstraints;
222     }
223
224     public void setSoftConstraints(SoftConstraints softConstraints) {
225         this.softConstraints = softConstraints;
226     }
227
228     public String getCustomer() {
229         return customer;
230     }
231
232     public void setCustomer(String customer) {
233         this.customer = customer;
234     }
235
236     public String getCustomerContact() {
237         return customerContact;
238     }
239
240     public void setCustomerContact(String customerContact) {
241         this.customerContact = customerContact;
242     }
243
244     public String getNewServiceName() {
245         return newServiceName;
246     }
247
248     public void setNewServiceName(String newServiceName) {
249         this.newServiceName = newServiceName;
250     }
251
252     public void setServiceResiliency(ServiceResiliency serviceResiliency) {
253         this.serviceResiliency = serviceResiliency;
254     }
255
256     public ServiceResiliency getServiceResiliency() {
257         return serviceResiliency;
258     }
259
260     public boolean isServiceReconfigure() {
261         return serviceReconfigure;
262     }
263
264     public void setServiceReconfigure(boolean serviceReconfigure) {
265         this.serviceReconfigure = serviceReconfigure;
266     }
267 }