X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fforwardingrulesmanager%2Fimplementation%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fforwardingrulesmanager%2Finternal%2FActivator.java;h=a53ea111d295c7d89690063591ac3c1e773e7ced;hp=2b161e9be7018365f6fee3ca7dcdb989e6257da4;hb=405ea7ce68d22bd3d2501857c5253793b581b086;hpb=cc5814b25b247f5ffe0c17ede1850e71ca06eee6 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 2b161e9be7..a53ea111d2 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,17 @@ 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.configuration.IConfigurationContainerService; +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,30 +34,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() { - - } - - /** - * 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 @@ -63,8 +47,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; } @@ -83,42 +68,51 @@ 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(createServiceDependency().setService(IConnectionManager.class) + .setCallbacks("setIConnectionManager", "unsetIConnectionManager").setRequired(true)); + c.add(createContainerServiceDependency(containerName).setService( + IConfigurationContainerService.class).setCallbacks( + "setConfigurationContainerService", + "unsetConfigurationContainerService").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; + } }