2 * Copyright IBM Corporation and others, 2015. All rights reserved.
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
9 package org.opendaylight.neutron.transcriber;
11 import java.util.ArrayList;
12 import java.util.List;
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;
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;
44 public Activator(ProviderContext providerContext) {
45 this.providerContext = providerContext;
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);
55 NeutronPortInterface neutronPortInterface = new NeutronPortInterface(providerContext);
56 ServiceRegistration<INeutronPortCRUD> neutronPortInterfaceRegistration = context.registerService(INeutronPortCRUD.class, neutronPortInterface, null);
57 if(neutronPortInterfaceRegistration != null) {
58 registrations.add(neutronPortInterfaceRegistration);
61 NeutronSubnetInterface neutronSubnetInterface = new NeutronSubnetInterface(providerContext);
62 ServiceRegistration<INeutronSubnetCRUD> neutronSubnetInterfaceRegistration = context.registerService(INeutronSubnetCRUD.class, neutronSubnetInterface, null);
63 if(neutronSubnetInterfaceRegistration != null) {
64 registrations.add(neutronSubnetInterfaceRegistration);
67 NeutronNetworkInterface neutronNetworkInterface = new NeutronNetworkInterface(providerContext);
68 ServiceRegistration<INeutronNetworkCRUD> neutronNetworkInterfaceRegistration = context.registerService(INeutronNetworkCRUD.class, neutronNetworkInterface, null);
69 if(neutronNetworkInterfaceRegistration != null) {
70 registrations.add(neutronNetworkInterfaceRegistration);
73 NeutronSecurityGroupInterface neutronSecurityGroupInterface = new NeutronSecurityGroupInterface(providerContext);
74 ServiceRegistration<INeutronSecurityGroupCRUD> neutronSecurityGroupInterfaceRegistration = context.registerService(INeutronSecurityGroupCRUD.class, neutronSecurityGroupInterface, null);
75 if(neutronSecurityGroupInterfaceRegistration != null) {
76 registrations.add(neutronSecurityGroupInterfaceRegistration);
79 NeutronSecurityRuleInterface neutronSecurityRuleInterface = new NeutronSecurityRuleInterface(providerContext);
80 ServiceRegistration<INeutronSecurityRuleCRUD> neutronSecurityRuleInterfaceRegistration = context.registerService(INeutronSecurityRuleCRUD.class, neutronSecurityRuleInterface, null);
81 if(neutronSecurityRuleInterfaceRegistration != null) {
82 registrations.add(neutronSecurityRuleInterfaceRegistration);
85 NeutronFirewallInterface neutronFirewallInterface = new NeutronFirewallInterface(providerContext);
86 ServiceRegistration<INeutronFirewallCRUD> neutronFirewallInterfaceRegistration = context.registerService(INeutronFirewallCRUD.class, neutronFirewallInterface, null);
87 if(neutronFirewallInterfaceRegistration != null) {
88 registrations.add(neutronFirewallInterfaceRegistration);
91 NeutronFirewallPolicyInterface neutronFirewallPolicyInterface = new NeutronFirewallPolicyInterface(providerContext);
92 ServiceRegistration<INeutronFirewallPolicyCRUD> neutronFirewallPolicyInterfaceRegistration = context.registerService(INeutronFirewallPolicyCRUD.class, neutronFirewallPolicyInterface, null);
93 if(neutronFirewallPolicyInterfaceRegistration != null) {
94 registrations.add(neutronFirewallPolicyInterfaceRegistration);
97 NeutronFirewallRuleInterface neutronFirewallRuleInterface = new NeutronFirewallRuleInterface(providerContext);
98 ServiceRegistration<INeutronFirewallRuleCRUD> neutronFirewallRuleInterfaceRegistration = context.registerService(INeutronFirewallRuleCRUD.class, neutronFirewallRuleInterface, null);
99 if(neutronFirewallRuleInterfaceRegistration != null) {
100 registrations.add(neutronFirewallRuleInterfaceRegistration);
103 NeutronLoadBalancerInterface neutronLoadBalancerInterface = new NeutronLoadBalancerInterface(providerContext);
104 ServiceRegistration<INeutronLoadBalancerCRUD> neutronLoadBalancerInterfaceRegistration = context.registerService(INeutronLoadBalancerCRUD.class, neutronLoadBalancerInterface, null);
105 if(neutronLoadBalancerInterfaceRegistration != null) {
106 registrations.add(neutronLoadBalancerInterfaceRegistration);
109 NeutronLoadBalancerPoolInterface neutronLoadBalancerPoolInterface = new NeutronLoadBalancerPoolInterface(providerContext);
110 ServiceRegistration<INeutronLoadBalancerPoolCRUD> neutronLoadBalancerPoolInterfaceRegistration = context.registerService(INeutronLoadBalancerPoolCRUD.class, neutronLoadBalancerPoolInterface, null);
111 if(neutronLoadBalancerPoolInterfaceRegistration != null) {
112 registrations.add(neutronLoadBalancerPoolInterfaceRegistration);
115 NeutronLoadBalancerListenerInterface neutronLoadBalancerListenerInterface = new NeutronLoadBalancerListenerInterface(providerContext);
116 ServiceRegistration<INeutronLoadBalancerListenerCRUD> neutronLoadBalancerListenerInterfaceRegistration = context.registerService(INeutronLoadBalancerListenerCRUD.class, neutronLoadBalancerListenerInterface, null);
117 if(neutronLoadBalancerListenerInterfaceRegistration != null) {
118 registrations.add(neutronLoadBalancerListenerInterfaceRegistration);
121 NeutronLoadBalancerHealthMonitorInterface neutronLoadBalancerHealthMonitorInterface = new NeutronLoadBalancerHealthMonitorInterface(providerContext);
122 ServiceRegistration<INeutronLoadBalancerHealthMonitorCRUD> neutronLoadBalancerHealthMonitorInterfaceRegistration = context.registerService(INeutronLoadBalancerHealthMonitorCRUD.class, neutronLoadBalancerHealthMonitorInterface, null);
123 if(neutronLoadBalancerHealthMonitorInterfaceRegistration != null) {
124 registrations.add(neutronLoadBalancerHealthMonitorInterfaceRegistration);
127 NeutronLoadBalancerPoolMemberInterface neutronLoadBalancerPoolMemberInterface = new NeutronLoadBalancerPoolMemberInterface(providerContext);
128 ServiceRegistration<INeutronLoadBalancerPoolMemberCRUD> neutronLoadBalancerPoolMemberInterfaceRegistration = context.registerService(INeutronLoadBalancerPoolMemberCRUD.class, neutronLoadBalancerPoolMemberInterface, null);
129 if(neutronLoadBalancerPoolMemberInterfaceRegistration != null) {
130 registrations.add(neutronLoadBalancerPoolMemberInterfaceRegistration);
133 NeutronMeteringLabelInterface neutronMeteringLabelInterface = new NeutronMeteringLabelInterface(providerContext);
134 ServiceRegistration<INeutronMeteringLabelCRUD> neutronMeteringLabelInterfaceRegistration = context.registerService(INeutronMeteringLabelCRUD.class, neutronMeteringLabelInterface, null);
135 if(neutronMeteringLabelInterfaceRegistration != null) {
136 registrations.add(neutronMeteringLabelInterfaceRegistration);
139 NeutronVPNServiceInterface neutronVPNServiceInterface = new NeutronVPNServiceInterface(providerContext);
140 ServiceRegistration<INeutronVPNServiceCRUD> neutronVPNServiceInterfaceRegistration = context.registerService(INeutronVPNServiceCRUD.class, neutronVPNServiceInterface, null);
141 if(neutronVPNServiceInterfaceRegistration != null) {
142 registrations.add(neutronVPNServiceInterfaceRegistration);
145 NeutronVPNIPSECSiteConnectionsInterface neutronVPNIPSECSiteConnectionsInterface = new NeutronVPNIPSECSiteConnectionsInterface(providerContext);
146 ServiceRegistration<INeutronVPNIPSECSiteConnectionsCRUD> neutronVPNIPSECSiteConnectionsInterfaceRegistration = context.registerService(INeutronVPNIPSECSiteConnectionsCRUD.class, neutronVPNIPSECSiteConnectionsInterface, null);
147 if (neutronVPNIPSECSiteConnectionsInterfaceRegistration != null) {
148 registrations.add(neutronVPNIPSECSiteConnectionsInterfaceRegistration);
153 public void stop(BundleContext context) throws Exception {
154 for (ServiceRegistration registration : registrations) {
155 if (registration != null) {
156 registration.unregister();