use of org.ops4j.peaberry.osgi.OSGiModule in project EnrichmentMapApp by BaderLab.
the class CyActivator method start.
@Override
public void start(BundleContext bc) {
injector = Guice.createInjector(new OSGiModule(bc), new AfterInjectionModule(), new CytoscapeServiceModule(), new ApplicationModule(), new CommandModule());
// register the injector as an OSGi service so the integration tests can access it
registerService(bc, injector, Injector.class, new Properties());
// manager
EnrichmentMapManager manager = injector.getInstance(EnrichmentMapManager.class);
registerAllServices(bc, manager, new Properties());
// session save and restore
SessionListener sessionListener = injector.getInstance(SessionListener.class);
registerAllServices(bc, sessionListener, new Properties());
// commands
registerCommand(bc, "build", injector.getInstance(Key.get(TaskFactory.class, BuildCommand.class)));
registerCommand(bc, "gsea", injector.getInstance(Key.get(TaskFactory.class, GSEACommand.class)));
registerCommand(bc, "mastermap", injector.getInstance(Key.get(TaskFactory.class, ResolveCommand.class)));
registerCommand(bc, "pa", injector.getInstance(Key.get(TaskFactory.class, PACommand.class)));
registerService(bc, new MannWhitRanksTunableHandlerFactory(), StringTunableHandlerFactory.class, new Properties());
// Don't load UI services if running headless
boolean headless = injector.getInstance(Key.get(Boolean.class, Headless.class));
if (!headless) {
// register actions
registerAllServices(bc, injector.getInstance(OpenEnrichmentMapAction.class), new Properties());
// chart listener
ChartFactoryManager chartFactoryManager = injector.getInstance(ChartFactoryManager.class);
registerServiceListener(bc, chartFactoryManager, "addFactory", "removeFactory", CyCustomGraphics2Factory.class);
// chart factories
final Properties chartProps = new Properties();
chartProps.setProperty(CyCustomGraphics2Factory.GROUP, "Charts");
RadialHeatMapChartFactory radialHeatMapChartFactory = injector.getInstance(RadialHeatMapChartFactory.class);
registerService(bc, radialHeatMapChartFactory, CyCustomGraphics2Factory.class, chartProps);
// UI Mediators
ControlPanelMediator controlPanelMediator = injector.getInstance(ControlPanelMediator.class);
registerAllServices(bc, controlPanelMediator, new Properties());
HeatMapMediator expressionViewerMediator = injector.getInstance(HeatMapMediator.class);
registerAllServices(bc, expressionViewerMediator, new Properties());
}
// If the App is updated or restarted then we want to reload the model and view from the tables
sessionListener.restore(null);
Em21Handler.removeVersion21(bc, injector.getInstance(CyApplicationConfiguration.class));
}
Aggregations