Make neutron a simple osgi app
[controller.git] / opendaylight / networkconfiguration / neutron / src / main / java / org / opendaylight / controller / networkconfig / neutron / NeutronCRUDInterfaces.java
1 /*
2  * Copyright IBM Corporation, 2013.  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.controller.networkconfig.neutron;
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     public static INeutronNetworkCRUD getINeutronNetworkCRUD(Object o) {
22         INeutronNetworkCRUD answer = (INeutronNetworkCRUD) getInstances(INeutronNetworkCRUD.class, o);
23         return answer;
24     }
25
26     public static INeutronSubnetCRUD getINeutronSubnetCRUD(Object o) {
27         INeutronSubnetCRUD answer = (INeutronSubnetCRUD) getInstances(INeutronSubnetCRUD.class, o);
28         return answer;
29     }
30
31     public static INeutronPortCRUD getINeutronPortCRUD(Object o) {
32         INeutronPortCRUD answer = (INeutronPortCRUD) getInstances(INeutronPortCRUD.class, o);
33         return answer;
34     }
35
36     public static INeutronRouterCRUD getINeutronRouterCRUD(Object o) {
37         INeutronRouterCRUD answer = (INeutronRouterCRUD) getInstances(INeutronRouterCRUD.class, o);
38         return answer;
39     }
40
41     public static INeutronFloatingIPCRUD getINeutronFloatingIPCRUD(Object o) {
42         INeutronFloatingIPCRUD answer = (INeutronFloatingIPCRUD) getInstances(INeutronFloatingIPCRUD.class, o);
43         return answer;
44     }
45
46     public static INeutronSecurityGroupCRUD getINeutronSecurityGroupCRUD(Object o) {
47         INeutronSecurityGroupCRUD answer = (INeutronSecurityGroupCRUD) getInstances(INeutronSecurityGroupCRUD.class, o);
48         return answer;
49     }
50
51     public static INeutronSecurityRuleCRUD getINeutronSecurityRuleCRUD(Object o) {
52         INeutronSecurityRuleCRUD answer = (INeutronSecurityRuleCRUD) getInstances(INeutronSecurityRuleCRUD.class, o);
53         return answer;
54     }
55
56     public static INeutronFirewallCRUD getINeutronFirewallCRUD(Object o) {
57         INeutronFirewallCRUD answer = (INeutronFirewallCRUD) getInstances(INeutronFirewallCRUD.class, o);
58         return answer;
59     }
60
61     public static INeutronFirewallPolicyCRUD getINeutronFirewallPolicyCRUD(Object o) {
62         INeutronFirewallPolicyCRUD answer = (INeutronFirewallPolicyCRUD) getInstances(INeutronFirewallPolicyCRUD.class, o);
63         return answer;
64     }
65
66     public static INeutronFirewallRuleCRUD getINeutronFirewallRuleCRUD(Object o) {
67         INeutronFirewallRuleCRUD answer = (INeutronFirewallRuleCRUD) getInstances(INeutronFirewallRuleCRUD.class, o);
68         return answer;
69     }
70
71     public static INeutronLoadBalancerCRUD getINeutronLoadBalancerCRUD(Object o) {
72         INeutronLoadBalancerCRUD answer = (INeutronLoadBalancerCRUD) getInstances(INeutronLoadBalancerCRUD.class, o);
73         return answer;
74     }
75
76     public static INeutronLoadBalancerPoolCRUD getINeutronLoadBalancerPoolCRUD(Object o) {
77         INeutronLoadBalancerPoolCRUD answer = (INeutronLoadBalancerPoolCRUD) getInstances(INeutronLoadBalancerPoolCRUD.class, o);
78         return answer;
79     }
80
81     public static INeutronLoadBalancerListenerCRUD getINeutronLoadBalancerListenerCRUD(Object o) {
82         INeutronLoadBalancerListenerCRUD answer = (INeutronLoadBalancerListenerCRUD) getInstances(INeutronLoadBalancerListenerCRUD.class, o);
83         return answer;
84     }
85
86     public static INeutronLoadBalancerHealthMonitorCRUD getINeutronLoadBalancerHealthMonitorCRUD(Object o) {
87         INeutronLoadBalancerHealthMonitorCRUD answer = (INeutronLoadBalancerHealthMonitorCRUD) getInstances(INeutronLoadBalancerHealthMonitorCRUD.class, o);
88         return answer;
89     }
90
91     public static INeutronLoadBalancerPoolMemberCRUD getINeutronLoadBalancerPoolMemberCRUD(Object o) {
92         INeutronLoadBalancerPoolMemberCRUD answer = (INeutronLoadBalancerPoolMemberCRUD) getInstances(INeutronLoadBalancerPoolMemberCRUD.class, o);
93         return answer;
94     }
95
96     public static Object getInstances(Class<?> clazz,Object bundle) {
97         try {
98             BundleContext bCtx = FrameworkUtil.getBundle(bundle.getClass())
99                     .getBundleContext();
100
101             ServiceReference<?>[] services = null;
102                 services = bCtx.getServiceReferences(clazz.getName(),
103                         null);
104             if (services != null) {
105                 return bCtx.getService(services[0]);
106             }
107         } catch (Exception e) {
108             logger.error("Instance reference is NULL");
109         }
110         return null;
111     }
112 }