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=dc43a61816ddd75e3ad3a3a30bf64c60ad8275a2;hp=b3dae0f97fb72da0175f508309c6a2b01d77347a;hpb=ae4ac1b0039b308777c5907c01e22824b34f5413;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 b3dae0f97f..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,45 +14,28 @@ 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; import org.opendaylight.controller.switchmanager.IInventoryListener; import org.opendaylight.controller.switchmanager.ISwitchManager; 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; - 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. - * - */ - @Override - public void init() { - - } - - /** - * Function called when the activator stops just before the cleanup done by - * ComponentActivatorAbstractBase - * - */ - @Override - public void destroy() { - - } /** * Function that is used to communicate to dependency manager the list of @@ -88,15 +71,17 @@ public class Activator extends ComponentActivatorAbstractBase { public void configureInstance(Component c, Object imp, String containerName) { if (imp.equals(ForwardingRulesManager.class)) { String interfaces[] = null; - Dictionary> props = new Hashtable>(); + Dictionary props = new Hashtable(); Set propSet = new HashSet(); - propSet.add("frm.flowsSaveEvent"); + 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 - interfaces = new String[] { IContainerListener.class.getName(), ISwitchManagerAware.class.getName(), + interfaces = new String[] { IContainerLocalListener.class.getName(), ISwitchManagerAware.class.getName(), IForwardingRulesManager.class.getName(), IInventoryListener.class.getName(), - ICacheUpdateAware.class.getName(), IConfigurationContainerAware.class.getName(), + IConfigurationContainerAware.class.getName(), ICacheUpdateAware.class.getName(), IFlowProgrammerListener.class.getName() }; c.setInterface(interfaces, props); @@ -111,6 +96,18 @@ public class Activator extends ComponentActivatorAbstractBase { .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; + } }