Search in sources :

Example 1 with SessionListener

use of org.baderlab.csplugins.enrichmentmap.model.io.SessionListener 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));
}
Also used : ServiceProperties(org.cytoscape.work.ServiceProperties) Properties(java.util.Properties) HeatMapMediator(org.baderlab.csplugins.enrichmentmap.view.heatmap.HeatMapMediator) CyApplicationConfiguration(org.cytoscape.application.CyApplicationConfiguration) ControlPanelMediator(org.baderlab.csplugins.enrichmentmap.view.control.ControlPanelMediator) EnrichmentMapManager(org.baderlab.csplugins.enrichmentmap.model.EnrichmentMapManager) CommandModule(org.baderlab.csplugins.enrichmentmap.commands.CommandModule) RadialHeatMapChartFactory(org.baderlab.csplugins.enrichmentmap.style.charts.radialheatmap.RadialHeatMapChartFactory) MannWhitRanksTunableHandlerFactory(org.baderlab.csplugins.enrichmentmap.commands.MannWhitRanksTunableHandlerFactory) OpenEnrichmentMapAction(org.baderlab.csplugins.enrichmentmap.actions.OpenEnrichmentMapAction) ChartFactoryManager(org.baderlab.csplugins.enrichmentmap.style.ChartFactoryManager) Headless(org.baderlab.csplugins.enrichmentmap.ApplicationModule.Headless) SessionListener(org.baderlab.csplugins.enrichmentmap.model.io.SessionListener) OSGiModule(org.ops4j.peaberry.osgi.OSGiModule)

Example 2 with SessionListener

use of org.baderlab.csplugins.enrichmentmap.model.io.SessionListener in project EnrichmentMapApp by BaderLab.

the class CyActivator method shutDown.

@Override
public void shutDown() {
    try {
        if (injector != null) {
            boolean headless = injector.getInstance(Key.get(Boolean.class, Headless.class));
            // If the App gets updated or restarted we need to save all the data first
            SessionListener sessionListener = injector.getInstance(SessionListener.class);
            sessionListener.appShutdown();
            if (!headless) {
                // Close the legend panel
                LegendPanelMediator legendPanelMediator = injector.getInstance(LegendPanelMediator.class);
                legendPanelMediator.hideDialog();
                // Dispose the creation dialog, or else lots of memory leaks.
                ShowEnrichmentMapDialogAction dialogAction = injector.getInstance(ShowEnrichmentMapDialogAction.class);
                dialogAction.dispose();
            }
        }
    } finally {
        super.shutDown();
    }
}
Also used : LegendPanelMediator(org.baderlab.csplugins.enrichmentmap.view.legend.LegendPanelMediator) Headless(org.baderlab.csplugins.enrichmentmap.ApplicationModule.Headless) SessionListener(org.baderlab.csplugins.enrichmentmap.model.io.SessionListener) ShowEnrichmentMapDialogAction(org.baderlab.csplugins.enrichmentmap.actions.ShowEnrichmentMapDialogAction)

Aggregations

Headless (org.baderlab.csplugins.enrichmentmap.ApplicationModule.Headless)2 SessionListener (org.baderlab.csplugins.enrichmentmap.model.io.SessionListener)2 Properties (java.util.Properties)1 OpenEnrichmentMapAction (org.baderlab.csplugins.enrichmentmap.actions.OpenEnrichmentMapAction)1 ShowEnrichmentMapDialogAction (org.baderlab.csplugins.enrichmentmap.actions.ShowEnrichmentMapDialogAction)1 CommandModule (org.baderlab.csplugins.enrichmentmap.commands.CommandModule)1 MannWhitRanksTunableHandlerFactory (org.baderlab.csplugins.enrichmentmap.commands.MannWhitRanksTunableHandlerFactory)1 EnrichmentMapManager (org.baderlab.csplugins.enrichmentmap.model.EnrichmentMapManager)1 ChartFactoryManager (org.baderlab.csplugins.enrichmentmap.style.ChartFactoryManager)1 RadialHeatMapChartFactory (org.baderlab.csplugins.enrichmentmap.style.charts.radialheatmap.RadialHeatMapChartFactory)1 ControlPanelMediator (org.baderlab.csplugins.enrichmentmap.view.control.ControlPanelMediator)1 HeatMapMediator (org.baderlab.csplugins.enrichmentmap.view.heatmap.HeatMapMediator)1 LegendPanelMediator (org.baderlab.csplugins.enrichmentmap.view.legend.LegendPanelMediator)1 CyApplicationConfiguration (org.cytoscape.application.CyApplicationConfiguration)1 ServiceProperties (org.cytoscape.work.ServiceProperties)1 OSGiModule (org.ops4j.peaberry.osgi.OSGiModule)1