Checkstyle Import issues fix (SPI, Model)
[neutron.git] / neutron-spi / src / main / java / org / opendaylight / neutron / spi / NeutronCRUDInterfaces.java
1 /*
2  * Copyright (c) 2013, 2015 IBM Corporation 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
9 package org.opendaylight.neutron.spi;
10
11 import org.osgi.framework.BundleContext;
12 import org.osgi.framework.FrameworkUtil;
13 import org.osgi.framework.ServiceReference;
14 import org.slf4j.Logger;
15 import org.slf4j.LoggerFactory;
16
17 public class NeutronCRUDInterfaces {
18     private static final Logger LOGGER = LoggerFactory
19             .getLogger(NeutronCRUDInterfaces.class);
20
21     private INeutronNetworkCRUD networkInterface;
22     private INeutronSubnetCRUD subnetInterface;
23     private INeutronPortCRUD portInterface;
24     private INeutronRouterCRUD routerInterface;
25     private INeutronFloatingIPCRUD fipInterface;
26     private INeutronSecurityGroupCRUD sgInterface;
27     private INeutronSecurityRuleCRUD srInterface;
28     private INeutronFirewallCRUD fwInterface;
29     private INeutronFirewallPolicyCRUD fwpInterface;
30     private INeutronFirewallRuleCRUD fwrInterface;
31     private INeutronLoadBalancerCRUD lbInterface;
32     private INeutronLoadBalancerPoolCRUD lbpInterface;
33     private INeutronLoadBalancerListenerCRUD lblInterface;
34     private INeutronLoadBalancerHealthMonitorCRUD lbhmInterface;
35     private INeutronMeteringLabelCRUD mlInterface;
36     private INeutronMeteringLabelRuleCRUD mlrInterface;
37     private INeutronVPNIKEPolicyCRUD ikepInterface;
38     private INeutronVPNIPSECPolicyCRUD ipsecpInterface;
39     private INeutronVPNServiceCRUD vpnInterface;
40     private INeutronVPNIPSECSiteConnectionsCRUD ipsecScInterface;
41     private INeutronBgpvpnCRUD bgpvpnInterface;
42     private INeutronL2gatewayCRUD l2gatewayInterface;
43     private INeutronL2gatewayConnectionCRUD l2gatewayConnectionInterface;
44     private INeutronSFCFlowClassifierCRUD sfcFlowClassifierInterface;
45     private INeutronSFCPortPairCRUD sfcPortPairInterface;
46     private INeutronSFCPortPairGroupCRUD sfcPortPairGroupInterface;
47     private INeutronSFCPortChainCRUD sfcPortChainInterface;
48     private INeutronQosPolicyCRUD qospInterface;
49
50     public NeutronCRUDInterfaces() {
51     }
52
53     public INeutronNetworkCRUD getNetworkInterface() {
54         return networkInterface;
55     }
56
57     public INeutronSubnetCRUD getSubnetInterface() {
58         return subnetInterface;
59     }
60
61     public INeutronPortCRUD getPortInterface() {
62         return portInterface;
63     }
64
65     public INeutronRouterCRUD getRouterInterface() {
66         return routerInterface;
67     }
68
69     public INeutronFloatingIPCRUD getFloatingIPInterface() {
70         return fipInterface;
71     }
72
73     public INeutronSecurityGroupCRUD getSecurityGroupInterface() {
74         return sgInterface;
75     }
76
77     public INeutronSecurityRuleCRUD getSecurityRuleInterface() {
78         return srInterface;
79     }
80
81     public INeutronFirewallCRUD getFirewallInterface() {
82         return fwInterface;
83     }
84
85     public INeutronFirewallPolicyCRUD getFirewallPolicyInterface() {
86         return fwpInterface;
87     }
88
89     public INeutronFirewallRuleCRUD getFirewallRuleInterface() {
90         return fwrInterface;
91     }
92
93     public INeutronLoadBalancerCRUD getLoadBalancerInterface() {
94         return lbInterface;
95     }
96
97     public INeutronLoadBalancerPoolCRUD getLoadBalancerPoolInterface() {
98         return lbpInterface;
99     }
100
101     public INeutronLoadBalancerListenerCRUD getLoadBalancerListenerInterface() {
102         return lblInterface;
103     }
104
105     public INeutronLoadBalancerHealthMonitorCRUD getLoadBalancerHealthMonitorInterface() {
106         return lbhmInterface;
107     }
108
109     public INeutronMeteringLabelCRUD getMeteringLabelInterface() {
110         return mlInterface;
111     }
112
113     public INeutronMeteringLabelRuleCRUD getMeteringLabelRuleInterface() {
114         return mlrInterface;
115     }
116
117     public INeutronVPNIKEPolicyCRUD getVPNIKEPolicyInterface() {
118         return ikepInterface;
119     }
120
121     public INeutronVPNIPSECPolicyCRUD getVPNIPSECPolicyInterface() {
122         return ipsecpInterface;
123     }
124
125     public INeutronL2gatewayCRUD getL2gatewayInterface() {
126         return l2gatewayInterface;
127     }
128
129     public INeutronL2gatewayConnectionCRUD getL2gatewayConnectionInterface() {
130         return l2gatewayConnectionInterface;
131     }
132
133     public void setVPNServiceInterface(INeutronVPNServiceCRUD iface) {
134         vpnInterface = iface;
135     }
136
137     public INeutronVPNServiceCRUD getVPNServiceInterface() {
138         return vpnInterface;
139     }
140
141     public INeutronVPNIPSECSiteConnectionsCRUD getVPNIPSECSiteConnectionsInterface() {
142         return ipsecScInterface;
143     }
144
145     public INeutronBgpvpnCRUD getBgpvpnInterface() {
146         return bgpvpnInterface;
147     }
148
149     public INeutronSFCFlowClassifierCRUD getSFCFlowClassifierInterface() {
150         return sfcFlowClassifierInterface;
151     }
152
153     public INeutronSFCPortPairCRUD getSFCPortPairInterface() {
154         return sfcPortPairInterface;
155     }
156
157     public INeutronSFCPortPairGroupCRUD getSFCPortPairGroupInterface() {
158         return sfcPortPairGroupInterface;
159     }
160
161     public INeutronSFCPortChainCRUD getSFCPortChainInterface() {
162         return sfcPortChainInterface;
163     }
164
165     public INeutronQosPolicyCRUD getQosPolicyInterface() {
166         return qospInterface;
167     }
168
169     public NeutronCRUDInterfaces fetchINeutronNetworkCRUD(Object obj) {
170         networkInterface = (INeutronNetworkCRUD) getInstances(INeutronNetworkCRUD.class, obj);
171         return this;
172     }
173
174     public NeutronCRUDInterfaces fetchINeutronSubnetCRUD(Object obj) {
175         subnetInterface = (INeutronSubnetCRUD) getInstances(INeutronSubnetCRUD.class, obj);
176         return this;
177     }
178
179     public NeutronCRUDInterfaces fetchINeutronPortCRUD(Object obj) {
180         portInterface = (INeutronPortCRUD) getInstances(INeutronPortCRUD.class, obj);
181         return this;
182     }
183
184     public NeutronCRUDInterfaces fetchINeutronRouterCRUD(Object obj) {
185         routerInterface = (INeutronRouterCRUD) getInstances(INeutronRouterCRUD.class, obj);
186         return this;
187     }
188
189     public NeutronCRUDInterfaces fetchINeutronFloatingIPCRUD(Object obj) {
190         fipInterface = (INeutronFloatingIPCRUD) getInstances(INeutronFloatingIPCRUD.class, obj);
191         return this;
192     }
193
194     public NeutronCRUDInterfaces fetchINeutronSecurityGroupCRUD(Object obj) {
195         sgInterface = (INeutronSecurityGroupCRUD) getInstances(INeutronSecurityGroupCRUD.class, obj);
196         return this;
197     }
198
199     public NeutronCRUDInterfaces fetchINeutronSecurityRuleCRUD(Object obj) {
200         srInterface = (INeutronSecurityRuleCRUD) getInstances(INeutronSecurityRuleCRUD.class, obj);
201         return this;
202     }
203
204     public NeutronCRUDInterfaces fetchINeutronFirewallCRUD(Object obj) {
205         fwInterface = (INeutronFirewallCRUD) getInstances(INeutronFirewallCRUD.class, obj);
206         return this;
207     }
208
209     public NeutronCRUDInterfaces fetchINeutronFirewallPolicyCRUD(Object obj) {
210         fwpInterface = (INeutronFirewallPolicyCRUD) getInstances(INeutronFirewallPolicyCRUD.class, obj);
211         return this;
212     }
213
214     public NeutronCRUDInterfaces fetchINeutronFirewallRuleCRUD(Object obj) {
215         fwrInterface = (INeutronFirewallRuleCRUD) getInstances(INeutronFirewallRuleCRUD.class, obj);
216         return this;
217     }
218
219     public NeutronCRUDInterfaces fetchINeutronLoadBalancerCRUD(Object obj) {
220         lbInterface = (INeutronLoadBalancerCRUD) getInstances(INeutronLoadBalancerCRUD.class, obj);
221         return this;
222     }
223
224     public NeutronCRUDInterfaces fetchINeutronLoadBalancerPoolCRUD(Object obj) {
225         lbpInterface = (INeutronLoadBalancerPoolCRUD) getInstances(INeutronLoadBalancerPoolCRUD.class, obj);
226         return this;
227     }
228
229     public NeutronCRUDInterfaces fetchINeutronLoadBalancerListenerCRUD(Object obj) {
230         lblInterface = (INeutronLoadBalancerListenerCRUD) getInstances(INeutronLoadBalancerListenerCRUD.class, obj);
231         return this;
232     }
233
234     public NeutronCRUDInterfaces fetchINeutronLoadBalancerHealthMonitorCRUD(Object obj) {
235         lbhmInterface = (INeutronLoadBalancerHealthMonitorCRUD) getInstances(INeutronLoadBalancerHealthMonitorCRUD.class, obj);
236         return this;
237     }
238
239     public NeutronCRUDInterfaces fetchINeutronMeteringLabelCRUD(Object obj) {
240         mlInterface = (INeutronMeteringLabelCRUD) getInstances(INeutronMeteringLabelCRUD.class, obj);
241         return this;
242     }
243
244     public NeutronCRUDInterfaces fetchINeutronMeteringLabelRuleCRUD(Object obj) {
245         mlrInterface = (INeutronMeteringLabelRuleCRUD) getInstances(INeutronMeteringLabelRuleCRUD.class, obj);
246         return this;
247     }
248
249     public NeutronCRUDInterfaces fetchINeutronVPNIKEPolicyCRUD(Object obj) {
250         ikepInterface = (INeutronVPNIKEPolicyCRUD) getInstances(INeutronVPNIKEPolicyCRUD.class, obj);
251         return this;
252     }
253
254     public NeutronCRUDInterfaces fetchINeutronVPNIPSECPolicyCRUD(Object obj) {
255         ipsecpInterface = (INeutronVPNIPSECPolicyCRUD) getInstances(INeutronVPNIPSECPolicyCRUD.class, obj);
256         return this;
257     }
258
259     public NeutronCRUDInterfaces fetchINeutronVPNServiceCRUD(Object obj) {
260         vpnInterface = (INeutronVPNServiceCRUD) getInstances(INeutronVPNServiceCRUD.class, obj);
261         return this;
262     }
263
264     public NeutronCRUDInterfaces fetchINeutronVPNIPSECSiteConnectionsCRUD(Object obj) {
265         ipsecScInterface = (INeutronVPNIPSECSiteConnectionsCRUD) getInstances(INeutronVPNIPSECSiteConnectionsCRUD.class, obj);
266         return this;
267     }
268
269     public NeutronCRUDInterfaces fetchINeutronBgpvpnCRUD(Object obj) {
270         bgpvpnInterface = (INeutronBgpvpnCRUD) getInstances(INeutronBgpvpnCRUD.class, obj);
271         return this;
272     }
273
274     public NeutronCRUDInterfaces fetchINeutronL2gatewayCRUD(Object obj) {
275         l2gatewayInterface = (INeutronL2gatewayCRUD) getInstances(INeutronL2gatewayCRUD.class, obj);
276         return this;
277     }
278
279     public NeutronCRUDInterfaces fetchINeutronL2gatewayConnectionCRUD(Object obj) {
280         l2gatewayConnectionInterface = (INeutronL2gatewayConnectionCRUD) getInstances(INeutronL2gatewayConnectionCRUD.class, obj);
281         return this;
282     }
283
284     public NeutronCRUDInterfaces fetchINeutronSFCFlowClassifierCRUD (Object obj) {
285         sfcFlowClassifierInterface =
286                 (INeutronSFCFlowClassifierCRUD) getInstances(INeutronSFCFlowClassifierCRUD.class, obj);
287         return this;
288     }
289
290     public NeutronCRUDInterfaces fetchINeutronSFCPortPairCRUD (Object obj) {
291         sfcPortPairInterface =
292                 (INeutronSFCPortPairCRUD) getInstances(INeutronSFCPortPairCRUD.class, obj);
293         return this;
294     }
295
296     public NeutronCRUDInterfaces fetchINeutronSFCPortPairGroupCRUD (Object obj) {
297         sfcPortPairGroupInterface =
298                 (INeutronSFCPortPairGroupCRUD) getInstances(INeutronSFCPortPairGroupCRUD.class, obj);
299         return this;
300     }
301
302     public NeutronCRUDInterfaces fetchINeutronSFCPortChainCRUD (Object obj) {
303         sfcPortChainInterface =
304                 (INeutronSFCPortChainCRUD) getInstances(INeutronSFCPortChainCRUD.class, obj);
305         return this;
306     }
307
308     public NeutronCRUDInterfaces fetchINeutronQosPolicyCRUD(Object obj) {
309         qospInterface = (INeutronQosPolicyCRUD) getInstances(INeutronQosPolicyCRUD.class, obj);
310         return this;
311     }
312
313     public Object getInstances(Class<?> clazz, Object bundle) {
314         try {
315             BundleContext bCtx = FrameworkUtil.getBundle(bundle.getClass()).getBundleContext();
316
317             ServiceReference<?>[] services = null;
318             services = bCtx.getServiceReferences(clazz.getName(), null);
319             if (services != null) {
320                 return bCtx.getService(services[0]);
321             }
322         } catch (Exception e) {
323             LOGGER.error("Error in getInstances", e);
324         }
325         return null;
326     }
327 }