1
2
3
4
5
6
7
8
9 package org.opendaylight.lispflowmapping.neutron;
10
11
12 import java.util.Dictionary;
13 import java.util.Hashtable;
14
15 import org.apache.felix.dm.DependencyActivatorBase;
16 import org.apache.felix.dm.DependencyManager;
17 import org.opendaylight.controller.sal.binding.api.BindingAwareBroker;
18 import org.opendaylight.lispflowmapping.interfaces.lisp.IFlowMapping;
19 import org.opendaylight.neutron.spi.INeutronNetworkAware;
20 import org.opendaylight.neutron.spi.INeutronSubnetAware;
21 import org.opendaylight.neutron.spi.INeutronPortAware;
22 import org.osgi.framework.BundleContext;
23 import org.slf4j.Logger;
24 import org.slf4j.LoggerFactory;
25
26
27
28
29
30
31
32 public class Activator extends DependencyActivatorBase {
33
34 protected static final Logger LOG = LoggerFactory.getLogger(Activator.class);
35
36 @Override
37 public void init(BundleContext context, DependencyManager manager) throws Exception {
38 Dictionary<String, String> props = new Hashtable<String, String>();
39 props.put("name", "LISPNeutronService");
40
41 manager.add(createComponent()
42 .setInterface(new String[] { ILispNeutronService.class.getName()}, props)
43 .setImplementation(LispNeutronService.class)
44 .add(createServiceDependency().setService(IFlowMapping.class))
45 .add(createServiceDependency().setService(BindingAwareBroker.class)
46 .setCallbacks("setBindingAwareBroker", "unsetBindingAwareBroker")));
47
48 manager.add(createComponent()
49 .setInterface(new String[] { INeutronNetworkAware.class.getName()}, props)
50 .setImplementation(LispNeutronNetworkHandler.class));
51
52 manager.add(createComponent()
53 .setInterface(new String[] { INeutronSubnetAware.class.getName()}, props)
54 .setImplementation(LispNeutronSubnetHandler.class)
55 .add(createServiceDependency().setService(ILispNeutronService.class)));
56
57 manager.add(createComponent()
58 .setInterface(new String[] { INeutronPortAware.class.getName()}, props)
59 .setImplementation(LispNeutronPortHandler.class)
60 .add(createServiceDependency().setService(ILispNeutronService.class)));
61
62 LOG.debug("LISP Neutron Service is initialized!");
63
64 }
65
66 @Override
67 public void destroy(BundleContext context, DependencyManager manager) throws Exception {
68 LOG.debug("LISP Neutron Service is destroyed!");
69 }
70
71 }