package org.opendaylight.controller.switchmanager.internal;
-import java.util.Dictionary;
-import java.util.HashSet;
-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.clustering.services.IClusterGlobalServices;
import org.opendaylight.controller.configuration.IConfigurationContainerAware;
+import org.opendaylight.controller.configuration.IConfigurationContainerService;
import org.opendaylight.controller.sal.core.ComponentActivatorAbstractBase;
import org.opendaylight.controller.sal.inventory.IInventoryService;
import org.opendaylight.controller.sal.inventory.IListenInventoryUpdates;
+import org.opendaylight.controller.statisticsmanager.IStatisticsManager;
import org.opendaylight.controller.switchmanager.IInventoryListener;
import org.opendaylight.controller.switchmanager.ISpanAware;
import org.opendaylight.controller.switchmanager.ISwitchManager;
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
@Override
public void configureInstance(Component c, Object imp, String containerName) {
if (imp.equals(SwitchManager.class)) {
- Dictionary<String, Set<String>> props = new Hashtable<String, Set<String>>();
- Set<String> propSet = new HashSet<String>();
- propSet.add("switchmanager.configSaveEvent");
- props.put("cachenames", propSet);
// export the service
c.setInterface(new String[] {
IListenInventoryUpdates.class.getName(),
ISwitchManager.class.getName(),
- ICacheUpdateAware.class.getName(),
- IConfigurationContainerAware.class.getName() }, props);
+ IConfigurationContainerAware.class.getName() }, null);
// Now lets add a service dependency to make sure the
// provider of service exists
IInventoryService.class).setCallbacks(
"setInventoryService", "unsetInventoryService")
.setRequired(false));
+ c.add(createContainerServiceDependency(containerName).setService(
+ IStatisticsManager.class).setCallbacks(
+ "setStatisticsManager", "unsetStatisticsManager")
+ .setRequired(false));
c.add(createContainerServiceDependency(containerName).setService(
ISwitchManagerAware.class).setCallbacks(
"setSwitchManagerAware", "unsetSwitchManagerAware")
IClusterContainerServices.class).setCallbacks(
"setClusterContainerService",
"unsetClusterContainerService").setRequired(true));
+ c.add(createContainerServiceDependency(containerName).setService(
+ IConfigurationContainerService.class).setCallbacks(
+ "setConfigurationContainerService",
+ "unsetConfigurationContainerService").setRequired(true));
+ c.add(createServiceDependency()
+ .setService(IControllerProperties.class)
+ .setCallbacks("setControllerProperties", "unsetControllerProperties")
+ .setRequired(true));
}
}
+ /**
+ * {@inheritDoc}
+ */
@Override
protected Object[] getGlobalImplementations() {
- final Object[] res = { SwitchManagerCLI.class };
+ final Object[] res = { ControllerProperties.class, SwitchManagerCLI.class };
return res;
}
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public void configureGlobalInstance(Component c, Object imp) {
+ if (imp.equals(ControllerProperties.class)) {
+ c.setInterface(new String[] { IControllerProperties.class.getName() }, null);
+
+ c.add(createServiceDependency()
+ .setService(IClusterGlobalServices.class)
+ .setCallbacks("setClusterService", "unsetClusterService")
+ .setRequired(true));
+ }
+ }
}