Add md-transcribing for HealthMonitors, and add *key "id"* to list healthmonitors...
[neutron.git] / transcriber / src / main / java / org / opendaylight / neutron / transcriber / Activator.java
1 /*
2  * Copyright IBM Corporation and others, 2015.  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.transcriber;
10
11 import java.util.ArrayList;
12 import java.util.List;
13
14 import org.opendaylight.controller.sal.binding.api.BindingAwareBroker.ProviderContext;
15 import org.opendaylight.neutron.spi.INeutronFirewallCRUD;
16 import org.opendaylight.neutron.spi.INeutronFirewallPolicyCRUD;
17 import org.opendaylight.neutron.spi.INeutronFirewallRuleCRUD;
18 import org.opendaylight.neutron.spi.INeutronLoadBalancerCRUD;
19 import org.opendaylight.neutron.spi.INeutronLoadBalancerHealthMonitorCRUD;
20 import org.opendaylight.neutron.spi.INeutronLoadBalancerListenerCRUD;
21 import org.opendaylight.neutron.spi.INeutronLoadBalancerPoolCRUD;
22 import org.opendaylight.neutron.spi.INeutronLoadBalancerPoolMemberCRUD;
23 import org.opendaylight.neutron.spi.INeutronMeteringLabelCRUD;
24 import org.opendaylight.neutron.spi.INeutronNetworkCRUD;
25 import org.opendaylight.neutron.spi.INeutronPortCRUD;
26 import org.opendaylight.neutron.spi.INeutronRouterCRUD;
27 import org.opendaylight.neutron.spi.INeutronSecurityGroupCRUD;
28 import org.opendaylight.neutron.spi.INeutronSecurityRuleCRUD;
29 import org.opendaylight.neutron.spi.INeutronSubnetCRUD;
30 import org.opendaylight.neutron.spi.INeutronVPNIPSECSiteConnectionsCRUD;
31 import org.opendaylight.neutron.spi.INeutronVPNServiceCRUD;
32 import org.osgi.framework.BundleActivator;
33 import org.osgi.framework.BundleContext;
34 import org.osgi.framework.ServiceRegistration;
35 import org.slf4j.Logger;
36 import org.slf4j.LoggerFactory;
37
38 public class Activator implements BundleActivator {
39     protected static final Logger logger = LoggerFactory
40     .getLogger(Activator.class);
41     private List<ServiceRegistration<?>> registrations = new ArrayList<ServiceRegistration<?>>();
42     private ProviderContext providerContext;
43
44     public Activator(ProviderContext providerContext) {
45         this.providerContext = providerContext;
46     }
47
48     @Override
49     public void start(BundleContext context) throws Exception {
50         NeutronRouterInterface neutronRouterInterface = new NeutronRouterInterface(providerContext);
51         ServiceRegistration<INeutronRouterCRUD> neutronRouterInterfaceRegistration = context.registerService(INeutronRouterCRUD.class, neutronRouterInterface, null);
52         if(neutronRouterInterfaceRegistration != null) {
53             registrations.add(neutronRouterInterfaceRegistration);
54         }
55         NeutronPortInterface neutronPortInterface = new NeutronPortInterface(providerContext);
56         ServiceRegistration<INeutronPortCRUD> neutronPortInterfaceRegistration = context.registerService(INeutronPortCRUD.class, neutronPortInterface, null);
57         if(neutronPortInterfaceRegistration != null) {
58             registrations.add(neutronPortInterfaceRegistration);
59         }
60
61         NeutronSubnetInterface neutronSubnetInterface = new NeutronSubnetInterface(providerContext);
62         ServiceRegistration<INeutronSubnetCRUD> neutronSubnetInterfaceRegistration = context.registerService(INeutronSubnetCRUD.class, neutronSubnetInterface, null);
63         if(neutronSubnetInterfaceRegistration != null) {
64             registrations.add(neutronSubnetInterfaceRegistration);
65         }
66
67         NeutronNetworkInterface neutronNetworkInterface = new NeutronNetworkInterface(providerContext);
68         ServiceRegistration<INeutronNetworkCRUD> neutronNetworkInterfaceRegistration = context.registerService(INeutronNetworkCRUD.class, neutronNetworkInterface, null);
69         if(neutronNetworkInterfaceRegistration != null) {
70             registrations.add(neutronNetworkInterfaceRegistration);
71         }
72
73         NeutronSecurityGroupInterface neutronSecurityGroupInterface = new NeutronSecurityGroupInterface(providerContext);
74         ServiceRegistration<INeutronSecurityGroupCRUD> neutronSecurityGroupInterfaceRegistration = context.registerService(INeutronSecurityGroupCRUD.class, neutronSecurityGroupInterface, null);
75         if(neutronSecurityGroupInterfaceRegistration != null) {
76             registrations.add(neutronSecurityGroupInterfaceRegistration);
77         }
78
79         NeutronSecurityRuleInterface neutronSecurityRuleInterface = new NeutronSecurityRuleInterface(providerContext);
80         ServiceRegistration<INeutronSecurityRuleCRUD> neutronSecurityRuleInterfaceRegistration = context.registerService(INeutronSecurityRuleCRUD.class, neutronSecurityRuleInterface, null);
81         if(neutronSecurityRuleInterfaceRegistration != null) {
82             registrations.add(neutronSecurityRuleInterfaceRegistration);
83         }
84
85         NeutronFirewallInterface neutronFirewallInterface = new NeutronFirewallInterface(providerContext);
86         ServiceRegistration<INeutronFirewallCRUD> neutronFirewallInterfaceRegistration = context.registerService(INeutronFirewallCRUD.class, neutronFirewallInterface, null);
87         if(neutronFirewallInterfaceRegistration != null) {
88             registrations.add(neutronFirewallInterfaceRegistration);
89         }
90
91         NeutronFirewallPolicyInterface neutronFirewallPolicyInterface = new NeutronFirewallPolicyInterface(providerContext);
92         ServiceRegistration<INeutronFirewallPolicyCRUD> neutronFirewallPolicyInterfaceRegistration = context.registerService(INeutronFirewallPolicyCRUD.class, neutronFirewallPolicyInterface, null);
93         if(neutronFirewallPolicyInterfaceRegistration != null) {
94             registrations.add(neutronFirewallPolicyInterfaceRegistration);
95         }
96
97         NeutronFirewallRuleInterface neutronFirewallRuleInterface = new NeutronFirewallRuleInterface(providerContext);
98         ServiceRegistration<INeutronFirewallRuleCRUD> neutronFirewallRuleInterfaceRegistration = context.registerService(INeutronFirewallRuleCRUD.class, neutronFirewallRuleInterface, null);
99         if(neutronFirewallRuleInterfaceRegistration != null) {
100             registrations.add(neutronFirewallRuleInterfaceRegistration);
101         }
102
103         NeutronLoadBalancerInterface neutronLoadBalancerInterface = new NeutronLoadBalancerInterface(providerContext);
104         ServiceRegistration<INeutronLoadBalancerCRUD> neutronLoadBalancerInterfaceRegistration = context.registerService(INeutronLoadBalancerCRUD.class, neutronLoadBalancerInterface, null);
105         if(neutronLoadBalancerInterfaceRegistration != null) {
106             registrations.add(neutronLoadBalancerInterfaceRegistration);
107         }
108
109         NeutronLoadBalancerPoolInterface neutronLoadBalancerPoolInterface = new NeutronLoadBalancerPoolInterface(providerContext);
110         ServiceRegistration<INeutronLoadBalancerPoolCRUD> neutronLoadBalancerPoolInterfaceRegistration = context.registerService(INeutronLoadBalancerPoolCRUD.class, neutronLoadBalancerPoolInterface, null);
111         if(neutronLoadBalancerPoolInterfaceRegistration != null) {
112             registrations.add(neutronLoadBalancerPoolInterfaceRegistration);
113         }
114
115         NeutronLoadBalancerListenerInterface neutronLoadBalancerListenerInterface = new NeutronLoadBalancerListenerInterface(providerContext);
116         ServiceRegistration<INeutronLoadBalancerListenerCRUD> neutronLoadBalancerListenerInterfaceRegistration = context.registerService(INeutronLoadBalancerListenerCRUD.class, neutronLoadBalancerListenerInterface, null);
117         if(neutronLoadBalancerListenerInterfaceRegistration != null) {
118             registrations.add(neutronLoadBalancerListenerInterfaceRegistration);
119         }
120
121         NeutronLoadBalancerHealthMonitorInterface neutronLoadBalancerHealthMonitorInterface = new NeutronLoadBalancerHealthMonitorInterface(providerContext);
122         ServiceRegistration<INeutronLoadBalancerHealthMonitorCRUD> neutronLoadBalancerHealthMonitorInterfaceRegistration = context.registerService(INeutronLoadBalancerHealthMonitorCRUD.class, neutronLoadBalancerHealthMonitorInterface, null);
123         if(neutronLoadBalancerHealthMonitorInterfaceRegistration != null) {
124             registrations.add(neutronLoadBalancerHealthMonitorInterfaceRegistration);
125         }
126
127         NeutronLoadBalancerPoolMemberInterface neutronLoadBalancerPoolMemberInterface = new NeutronLoadBalancerPoolMemberInterface(providerContext);
128         ServiceRegistration<INeutronLoadBalancerPoolMemberCRUD> neutronLoadBalancerPoolMemberInterfaceRegistration = context.registerService(INeutronLoadBalancerPoolMemberCRUD.class, neutronLoadBalancerPoolMemberInterface, null);
129         if(neutronLoadBalancerPoolMemberInterfaceRegistration != null) {
130             registrations.add(neutronLoadBalancerPoolMemberInterfaceRegistration);
131         }
132
133         NeutronMeteringLabelInterface neutronMeteringLabelInterface = new NeutronMeteringLabelInterface(providerContext);
134         ServiceRegistration<INeutronMeteringLabelCRUD> neutronMeteringLabelInterfaceRegistration = context.registerService(INeutronMeteringLabelCRUD.class, neutronMeteringLabelInterface, null);
135         if(neutronMeteringLabelInterfaceRegistration != null) {
136             registrations.add(neutronMeteringLabelInterfaceRegistration);
137         }
138
139         NeutronVPNServiceInterface neutronVPNServiceInterface = new NeutronVPNServiceInterface(providerContext);
140         ServiceRegistration<INeutronVPNServiceCRUD> neutronVPNServiceInterfaceRegistration = context.registerService(INeutronVPNServiceCRUD.class, neutronVPNServiceInterface, null);
141         if(neutronVPNServiceInterfaceRegistration != null) {
142             registrations.add(neutronVPNServiceInterfaceRegistration);
143         }
144
145         NeutronVPNIPSECSiteConnectionsInterface neutronVPNIPSECSiteConnectionsInterface = new NeutronVPNIPSECSiteConnectionsInterface(providerContext);
146         ServiceRegistration<INeutronVPNIPSECSiteConnectionsCRUD> neutronVPNIPSECSiteConnectionsInterfaceRegistration = context.registerService(INeutronVPNIPSECSiteConnectionsCRUD.class, neutronVPNIPSECSiteConnectionsInterface, null);
147         if (neutronVPNIPSECSiteConnectionsInterfaceRegistration != null) {
148             registrations.add(neutronVPNIPSECSiteConnectionsInterfaceRegistration);
149         }
150     }
151
152     @Override
153     public void stop(BundleContext context) throws Exception {
154         for (ServiceRegistration registration : registrations) {
155             if (registration != null) {
156                 registration.unregister();
157             }
158         }
159     }
160 }