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