X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fforwardingrulesmanager%2Fimplementation%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fforwardingrulesmanager%2Finternal%2FActivator.java;h=ec8112035f4c89805ff987cfd2cfd31643bdef39;hb=39214b1fd8492ab553730ed9303ce7c950696631;hp=969287719db083e747e25099e2f9fafbed50e4ff;hpb=7c3362df780f30a47d0f6a7b7695360bbb5513bc;p=controller.git diff --git a/opendaylight/forwardingrulesmanager/implementation/src/main/java/org/opendaylight/controller/forwardingrulesmanager/internal/Activator.java b/opendaylight/forwardingrulesmanager/implementation/src/main/java/org/opendaylight/controller/forwardingrulesmanager/internal/Activator.java index 969287719d..ec8112035f 100644 --- a/opendaylight/forwardingrulesmanager/implementation/src/main/java/org/opendaylight/controller/forwardingrulesmanager/internal/Activator.java +++ b/opendaylight/forwardingrulesmanager/implementation/src/main/java/org/opendaylight/controller/forwardingrulesmanager/internal/Activator.java @@ -14,12 +14,16 @@ import java.util.Hashtable; import java.util.Set; import org.apache.felix.dm.Component; +import org.opendaylight.controller.clustering.services.ICacheUpdateAware; +import org.opendaylight.controller.clustering.services.IClusterContainerServices; import org.opendaylight.controller.configuration.IConfigurationContainerAware; +import org.opendaylight.controller.connectionmanager.IConnectionManager; +import org.opendaylight.controller.containermanager.IContainerManager; import org.opendaylight.controller.forwardingrulesmanager.IForwardingRulesManager; import org.opendaylight.controller.forwardingrulesmanager.IForwardingRulesManagerAware; import org.opendaylight.controller.sal.core.ComponentActivatorAbstractBase; import org.opendaylight.controller.sal.core.IContainer; -import org.opendaylight.controller.sal.core.IContainerListener; +import org.opendaylight.controller.sal.core.IContainerLocalListener; import org.opendaylight.controller.sal.flowprogrammer.IFlowProgrammerListener; import org.opendaylight.controller.sal.flowprogrammer.IFlowProgrammerService; import org.opendaylight.controller.sal.utils.GlobalConstants; @@ -29,31 +33,9 @@ import org.opendaylight.controller.switchmanager.ISwitchManagerAware; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.opendaylight.controller.clustering.services.ICacheUpdateAware; -import org.opendaylight.controller.clustering.services.IClusterContainerServices; -import org.opendaylight.controller.hosttracker.IfIptoHost; - public class Activator extends ComponentActivatorAbstractBase { - protected static final Logger logger = LoggerFactory - .getLogger(Activator.class); - - /** - * Function called when the activator starts just after some initializations - * are done by the ComponentActivatorAbstractBase. - * - */ - public void init() { - - } + protected static final Logger logger = LoggerFactory.getLogger(Activator.class); - /** - * Function called when the activator stops just before the cleanup done by - * ComponentActivatorAbstractBase - * - */ - public void destroy() { - - } /** * Function that is used to communicate to dependency manager the list of @@ -64,8 +46,9 @@ public class Activator extends ComponentActivatorAbstractBase { * instantiated in order to get an fully working implementation * Object */ + @Override public Object[] getImplementations() { - Object[] res = { ForwardingRulesManagerImpl.class }; + Object[] res = { ForwardingRulesManager.class }; return res; } @@ -84,60 +67,47 @@ public class Activator extends ComponentActivatorAbstractBase { * per-container different behavior if needed, usually should not * be the case though. */ + @Override public void configureInstance(Component c, Object imp, String containerName) { - if (imp.equals(ForwardingRulesManagerImpl.class)) { + if (imp.equals(ForwardingRulesManager.class)) { String interfaces[] = null; - Dictionary> props = new Hashtable>(); + Dictionary props = new Hashtable(); Set propSet = new HashSet(); - propSet.add("staticFlows"); + propSet.add(ForwardingRulesManager.WORK_STATUS_CACHE); + propSet.add(ForwardingRulesManager.WORK_ORDER_CACHE); + propSet.add(ForwardingRulesManager.INSTALLED_SW_VIEW_CACHE); props.put("cachenames", propSet); // export the service - if (containerName.equals(GlobalConstants.DEFAULT.toString())) { - interfaces = new String[] { IContainerListener.class.getName(), - ISwitchManagerAware.class.getName(), - IForwardingRulesManager.class.getName(), - IInventoryListener.class.getName(), - ICacheUpdateAware.class.getName(), - IConfigurationContainerAware.class.getName(), - IFlowProgrammerListener.class.getName() }; - } else { - interfaces = new String[] { - ISwitchManagerAware.class.getName(), - IForwardingRulesManager.class.getName(), - IInventoryListener.class.getName(), - ICacheUpdateAware.class.getName(), - IConfigurationContainerAware.class.getName(), - IFlowProgrammerListener.class.getName() }; - } + interfaces = new String[] { IContainerLocalListener.class.getName(), ISwitchManagerAware.class.getName(), + IForwardingRulesManager.class.getName(), IInventoryListener.class.getName(), + IConfigurationContainerAware.class.getName(), ICacheUpdateAware.class.getName(), + IFlowProgrammerListener.class.getName() }; c.setInterface(interfaces, props); - c.add(createContainerServiceDependency(containerName) - .setService(IFlowProgrammerService.class) - .setCallbacks("setFlowProgrammerService", - "unsetFlowProgrammerService").setRequired(true)); - - c.add(createContainerServiceDependency(containerName) - .setService(IClusterContainerServices.class) - .setCallbacks("setClusterContainerService", - "unsetClusterContainerService").setRequired(true)); - c.add(createContainerServiceDependency(containerName) - .setService(ISwitchManager.class) - .setCallbacks("setSwitchManager", "unsetSwitchManager") - .setRequired(true)); - c.add(createContainerServiceDependency(containerName) - .setService(IForwardingRulesManagerAware.class) - .setCallbacks("setFrmAware", "unsetFrmAware") - .setRequired(false)); - c.add(createContainerServiceDependency(containerName) - .setService(IfIptoHost.class) - .setCallbacks("setHostFinder", "unsetHostFinder") - .setRequired(true)); - c.add(createContainerServiceDependency(containerName) - .setService(IContainer.class) - .setCallbacks("setIContainer", "unsetIContainer") - .setRequired(true)); + c.add(createContainerServiceDependency(containerName).setService(IFlowProgrammerService.class) + .setCallbacks("setFlowProgrammerService", "unsetFlowProgrammerService").setRequired(true)); + c.add(createContainerServiceDependency(containerName).setService(IClusterContainerServices.class) + .setCallbacks("setClusterContainerService", "unsetClusterContainerService").setRequired(true)); + c.add(createContainerServiceDependency(containerName).setService(ISwitchManager.class) + .setCallbacks("setSwitchManager", "unsetSwitchManager").setRequired(true)); + c.add(createContainerServiceDependency(containerName).setService(IForwardingRulesManagerAware.class) + .setCallbacks("setFrmAware", "unsetFrmAware").setRequired(false)); + c.add(createContainerServiceDependency(containerName).setService(IContainer.class) + .setCallbacks("setIContainer", "unsetIContainer").setRequired(true)); + c.add(createServiceDependency().setService(IConnectionManager.class) + .setCallbacks("setIConnectionManager", "unsetIConnectionManager").setRequired(true)); + if (GlobalConstants.DEFAULT.toString().equals(containerName)) { + c.add(createServiceDependency().setService(IContainerManager.class) + .setCallbacks("setIContainerManager", "unsetIContainerManager").setRequired(true)); + } } } + + @Override + protected Object[] getGlobalImplementations() { + final Object[] res = { ForwardingRulesManagerCLI.class }; + return res; + } }