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=ae0519903fa6d48231f1aca0178292ddd89ac4d6;hb=a84d1bd3fba5d6fb7d9777e1508221e2f773e94f;hp=78b64400c8fcc44acba896397d621243848f9ea4;hpb=eab494c3b4460508405f9b6e5cab2969b3546a6b;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..ae0519903f 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,11 +117,12 @@ 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