Skip to content

Instantly share code, notes, and snippets.

@subh007
Created July 23, 2014 10:39
Show Gist options
  • Save subh007/edcd0266636b334eddf6 to your computer and use it in GitHub Desktop.
Save subh007/edcd0266636b334eddf6 to your computer and use it in GitHub Desktop.
description of ODL activator
package org.opendaylight.controller.northboundtest.unittestsuite.internal;
import org.opendaylight.controller.sal.core.ComponentActivatorAbstractBase;
import org.apache.felix.dm.Component;
public class Activator extends ComponentActivatorAbstractBase {
/**
* 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 known implementations for services inside a container
*
*
* @return An array containing all the CLASS objects that will be
* instantiated in order to get an fully working implementation
* Object
*/
public Object[] getImplementations() {
return null;
}
/**
* Function that is called when configuration of the dependencies
* is required.
*
* @param c dependency manager Component object, used for
* configuring the dependencies exported and imported
* @param imp Implementation class that is being configured,
* needed as long as the same routine can configure multiple
* implementations
* @param containerName The containerName being configured, this allow
* also optional per-container different behavior if needed, usually
* should not be the case though.
*/
public void configureInstance(Component c, Object imp, String containerName) {
}
/**
* Method which tells how many Global implementations are
* supported by the bundle. This way we can tune the number of
* components created. This components will be created ONLY at the
* time of bundle startup and will be destroyed only at time of
* bundle destruction, this is the major difference with the
* implementation retrieved via getImplementations where all of
* them are assumed to be in a Container!
*
*
* @return The list of implementations the bundle will support,
* in Global version
*/
protected Object[] getGlobalImplementations() {
Object[] res = { API3UnitTest.class };
return res;
}
/**
* Configure the dependency for a given instance Global
*
* @param c Component assigned for this instance, this will be
* what will be used for configuration
* @param imp implementation to be configured
* @param containerName container on which the configuration happens
*/
protected void configureGlobalInstance(Component c, Object imp) {
if (imp.equals(API3UnitTest.class)) {
// Nothing to initialize
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment