in obr/src/main/java/org/apache/karaf/cellar/obr/internal/osgi/Activator.java [62:121]
public void doStart() throws Exception {
RepositoryAdmin repositoryAdmin = getTrackedService(RepositoryAdmin.class);
if (repositoryAdmin == null)
return;
ClusterManager clusterManager = getTrackedService(ClusterManager.class);
if (clusterManager == null)
return;
GroupManager groupManager = getTrackedService(GroupManager.class);
if (groupManager == null)
return;
ConfigurationAdmin configurationAdmin = getTrackedService(ConfigurationAdmin.class);
if (configurationAdmin == null)
return;
EventProducer eventProducer = getTrackedService(EventProducer.class);
if (eventProducer == null)
return;
LOGGER.debug("CELLAR OBR: init URL event handler");
urlEventHandler = new ObrUrlEventHandler();
urlEventHandler.setClusterManager(clusterManager);
urlEventHandler.setGroupManager(groupManager);
urlEventHandler.setConfigurationAdmin(configurationAdmin);
urlEventHandler.setObrService(repositoryAdmin);
urlEventHandler.init(bundleContext);
Hashtable props = new Hashtable();
props.put("managed", "true");
register(EventHandler.class, urlEventHandler, props);
LOGGER.debug("CELLAR OBR: init bundle event handler");
bundleEventHandler = new ObrBundleEventHandler();
bundleEventHandler.setObrService(repositoryAdmin);
bundleEventHandler.setClusterManager(clusterManager);
bundleEventHandler.setGroupManager(groupManager);
bundleEventHandler.setConfigurationAdmin(configurationAdmin);
bundleEventHandler.init(bundleContext);
register(EventHandler.class, bundleEventHandler, props);
LOGGER.debug("CELLAR OBR: init URL synchronizer");
urlSynchronizer = new ObrUrlSynchronizer();
urlSynchronizer.setObrService(repositoryAdmin);
urlSynchronizer.setClusterManager(clusterManager);
urlSynchronizer.setGroupManager(groupManager);
urlSynchronizer.setEventProducer(eventProducer);
urlSynchronizer.setConfigurationAdmin(configurationAdmin);
urlSynchronizer.init(bundleContext);
props = new Hashtable();
props.put("resource", "obr.urls");
register(Synchronizer.class, urlSynchronizer, props);
LOGGER.debug("CELLAR OBR: register MBean");
CellarOBRMBeanImpl mbean = new CellarOBRMBeanImpl();
mbean.setClusterManager(clusterManager);
mbean.setGroupManager(groupManager);
mbean.setConfigurationAdmin(configurationAdmin);
mbean.setEventProducer(eventProducer);
props = new Hashtable();
props.put("jmx.objectname", "org.apache.karaf.cellar:type=obr,name=" + System.getProperty("karaf.name"));
mbeanRegistration = bundleContext.registerService(getInterfaceNames(mbean), mbean, props);
}