X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fconfiguration%2Fimplementation%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fconfiguration%2Finternal%2FActivator.java;h=c798eeb05de0883e46aab84bb6d933bd934439fb;hb=3948bedd0129e44c0943bd77c91806425645cd72;hp=78b64400c8fcc44acba896397d621243848f9ea4;hpb=8c0e77ebab90f7d42f3103318e8d7578ea140638;p=controller.git diff --git a/opendaylight/configuration/implementation/src/main/java/org/opendaylight/controller/configuration/internal/Activator.java b/opendaylight/configuration/implementation/src/main/java/org/opendaylight/controller/configuration/internal/Activator.java index 78b64400c8..c798eeb05d 100644 --- a/opendaylight/configuration/implementation/src/main/java/org/opendaylight/controller/configuration/internal/Activator.java +++ b/opendaylight/configuration/implementation/src/main/java/org/opendaylight/controller/configuration/internal/Activator.java @@ -16,6 +16,7 @@ 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.IConfigurationAware; import org.opendaylight.controller.configuration.IConfigurationContainerAware; @@ -28,7 +29,7 @@ import org.slf4j.LoggerFactory; /** * @file Activator.java * - * @brief Component Activator for Configuration Management. + * @brief Component Activator for ConfigurationService Management. * * * @@ -37,22 +38,6 @@ 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 @@ -63,8 +48,9 @@ public class Activator extends ComponentActivatorAbstractBase { * instantiated in order to get an fully working implementation * Object */ + @Override public Object[] getImplementations() { - Object[] res = { ConfigurationContainerImpl.class }; + Object[] res = { ContainerConfigurationService.class }; return res; } @@ -81,17 +67,26 @@ public class Activator extends ComponentActivatorAbstractBase { * also optional 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(ConfigurationContainerImpl.class)) { + if (imp.equals(ContainerConfigurationService.class)) { + Dictionary> props = new Hashtable>(); + Set propSet = new HashSet(); + propSet.add(ContainerConfigurationService.CONTAINER_SAVE_EVENT_CACHE); + props.put("cachenames", propSet); + // export the service - c.setInterface(new String[] { - IConfigurationContainerService.class.getName(), - IConfigurationAware.class.getName() }, null); + c.setInterface( + new String[] { IConfigurationContainerService.class.getName(), IConfigurationAware.class.getName(), + ICacheUpdateAware.class.getName() }, props); c.add(createContainerServiceDependency(containerName).setService( IConfigurationContainerAware.class).setCallbacks( "addConfigurationContainerAware", "removeConfigurationContainerAware").setRequired(false)); + + c.add(createContainerServiceDependency(containerName).setService(IClusterContainerServices.class) + .setCallbacks("setClusterServices", "unsetClusterServices").setRequired(true)); } } @@ -108,8 +103,9 @@ public class Activator extends ComponentActivatorAbstractBase { * @return The list of implementations the bundle will support, * in Global version */ + @Override protected Object[] getGlobalImplementations() { - Object[] res = { ConfigurationImpl.class }; + Object[] res = { ConfigurationService.class }; return res; } @@ -121,18 +117,18 @@ public class Activator extends ComponentActivatorAbstractBase { * @param imp implementation to be configured * @param containerName container on which the configuration happens */ + @Override protected void configureGlobalInstance(Component c, Object imp) { - if (imp.equals(ConfigurationImpl.class)) { + if (imp.equals(ConfigurationService.class)) { Dictionary> props = new Hashtable>(); Set propSet = new HashSet(); - propSet.add("config.event.save"); + propSet.add(ConfigurationService.SAVE_EVENT_CACHE); props.put("cachenames", propSet); // export the service c.setInterface( new String[] { IConfigurationService.class.getName(), - ICacheUpdateAware.class.getName()}, - props); + ICacheUpdateAware.class.getName() }, props); c.add(createServiceDependency().setService( IClusterGlobalServices.class).setCallbacks(