Author: clopes
Date: 2012-02-14 11:36:08 -0800 (Tue, 14 Feb 2012)
New Revision: 28264

Modified:
   
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/CyActivator.java
   
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/loadvizmap/LoadVizmapFileTaskFactoryImpl.java
   
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/CyActivator.java
   
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/SessionHandler.java
Log:
fixes #679 : Saving session on application shutdown does not work

Modified: 
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/CyActivator.java
===================================================================
--- 
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/CyActivator.java
  2012-02-14 19:27:27 UTC (rev 28263)
+++ 
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/CyActivator.java
  2012-02-14 19:36:08 UTC (rev 28264)
@@ -50,11 +50,9 @@
 import 
org.cytoscape.task.internal.export.graphics.ExportNetworkImageTaskFactory;
 import org.cytoscape.task.internal.export.network.ExportNetworkViewTaskFactory;
 import org.cytoscape.task.internal.export.table.ExportCurrentTableTaskFactory;
-import org.cytoscape.task.internal.export.table.ExportEdgeTableTaskFactory;
-import org.cytoscape.task.internal.export.table.ExportNodeTableTaskFactory;
 import org.cytoscape.task.internal.export.vizmap.ExportVizmapTaskFactory;
-import org.cytoscape.task.internal.group.GroupNodesTaskFactory;
 import org.cytoscape.task.internal.group.GroupNodeContextTaskFactory;
+import org.cytoscape.task.internal.group.GroupNodesTaskFactory;
 import org.cytoscape.task.internal.hide.HideSelectedEdgesTaskFactory;
 import org.cytoscape.task.internal.hide.HideSelectedNodesTaskFactory;
 import org.cytoscape.task.internal.hide.HideSelectedTaskFactory;
@@ -115,7 +113,6 @@
 import org.osgi.framework.BundleContext;
 
 
-
 public class CyActivator extends AbstractCyActivator {
        public CyActivator() {
                super();
@@ -141,7 +138,7 @@
                VisualMappingManager visualMappingManagerServiceRef = 
getService(bc,VisualMappingManager.class);
                VisualStyleFactory visualStyleFactoryServiceRef = 
getService(bc,VisualStyleFactory.class);
                StreamUtil streamUtilRef = getService(bc,StreamUtil.class);
-               TaskManager taskManagerServiceRef = 
getService(bc,TaskManager.class);
+               TaskManager<?,?> taskManagerServiceRef = 
getService(bc,TaskManager.class);
                PresentationWriterManager viewWriterManagerServiceRef = 
getService(bc,PresentationWriterManager.class);
                CyNetworkViewWriterManager networkViewWriterManagerServiceRef = 
getService(bc,CyNetworkViewWriterManager.class);
                VizmapWriterManager vizmapWriterManagerServiceRef = 
getService(bc,VizmapWriterManager.class);
@@ -156,7 +153,7 @@
                RenderingEngineManager renderingEngineManagerServiceRef = 
getService(bc,RenderingEngineManager.class);
                CyLayoutAlgorithmManager cyLayoutsServiceRef = 
getService(bc,CyLayoutAlgorithmManager.class);
                CyTableWriterManager cyTableWriterManagerRef = 
getService(bc,CyTableWriterManager.class);
-               SynchronousTaskManager synchronousTaskManagerServiceRef = 
getService(bc,SynchronousTaskManager.class);
+               SynchronousTaskManager<?> synchronousTaskManagerServiceRef = 
getService(bc,SynchronousTaskManager.class);
                
                LoadAttributesFileTaskFactoryImpl loadAttrsFileTaskFactory = 
new LoadAttributesFileTaskFactoryImpl(cyDataTableReaderManagerServiceRef);
                LoadAttributesURLTaskFactoryImpl loadAttrsURLTaskFactory = new 
LoadAttributesURLTaskFactoryImpl(cyDataTableReaderManagerServiceRef);
@@ -654,6 +651,7 @@
                saveSessionTaskFactoryProps.setProperty("inToolBar","true");
                saveSessionTaskFactoryProps.setProperty("menuGravity","3.0");
                saveSessionTaskFactoryProps.setProperty("tooltip","Save 
Session");
+               
saveSessionTaskFactoryProps.setProperty("task.id","saveSession"); // TODO: Find 
a better way of making anonymous TaskFactories available to other bundles
                registerService(bc,saveSessionTaskFactory,TaskFactory.class, 
saveSessionTaskFactoryProps);
 
                Properties saveSessionAsTaskFactoryProps = new Properties();

Modified: 
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/loadvizmap/LoadVizmapFileTaskFactoryImpl.java
===================================================================
--- 
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/loadvizmap/LoadVizmapFileTaskFactoryImpl.java
     2012-02-14 19:27:27 UTC (rev 28263)
+++ 
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/loadvizmap/LoadVizmapFileTaskFactoryImpl.java
     2012-02-14 19:36:08 UTC (rev 28264)
@@ -18,11 +18,11 @@
 
        private final VizmapReaderManager vizmapReaderMgr;
        private final VisualMappingManager vmMgr;
-       private final SynchronousTaskManager syncTaskManager;
+       private final SynchronousTaskManager<?> syncTaskManager;
 
        private LoadVizmapFileTask task; 
        
-       public LoadVizmapFileTaskFactoryImpl(VizmapReaderManager 
vizmapReaderMgr, VisualMappingManager vmMgr, SynchronousTaskManager 
syncTaskManager) {
+       public LoadVizmapFileTaskFactoryImpl(VizmapReaderManager 
vizmapReaderMgr, VisualMappingManager vmMgr, SynchronousTaskManager<?> 
syncTaskManager) {
                this.vizmapReaderMgr = vizmapReaderMgr;
                this.vmMgr = vmMgr;
                this.syncTaskManager = syncTaskManager;

Modified: 
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/CyActivator.java
===================================================================
--- 
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/CyActivator.java
       2012-02-14 19:27:27 UTC (rev 28263)
+++ 
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/CyActivator.java
       2012-02-14 19:36:08 UTC (rev 28264)
@@ -118,7 +118,9 @@
 import org.cytoscape.view.model.CyNetworkViewManager;
 import org.cytoscape.view.presentation.RenderingEngineFactory;
 import org.cytoscape.view.vizmap.VisualMappingManager;
+import org.cytoscape.work.SynchronousTaskManager;
 import org.cytoscape.work.TaskFactory;
+import org.cytoscape.work.TaskManager;
 import org.cytoscape.work.swing.DialogTaskManager;
 import org.cytoscape.work.swing.PanelTaskManager;
 import org.cytoscape.work.swing.SubmenuTaskManager;
@@ -223,10 +225,14 @@
                                                                         
cyEventHelperServiceRef,
                                                                         
cyServiceRegistrarServiceRef,
                                                                         
dialogTaskManagerServiceRef);
+               SynchronousTaskManager<?> synchronousTaskManagerServiceRef = 
getService(bc, SynchronousTaskManager.class);
+               TaskFactory saveTaskFactoryServiceRef = getService(bc, 
TaskFactory.class, "(task.id=saveSession)");
                SessionStateIO sessStateIO = new SessionStateIO();
                SessionHandler sessionHandler = new 
SessionHandler(cytoscapeDesktop,
                                                                                
                                   cyNetworkManagerServiceRef,
                                                                                
                                   networkViewManager,
+                                                                               
                                   synchronousTaskManagerServiceRef,
+                                                                               
                                   saveTaskFactoryServiceRef,
                                                                                
                                   sessStateIO);
                PrintAction printAction = new 
PrintAction(cyApplicationManagerServiceRef, cytoscapePropertiesServiceRef);
                ExitAction exitAction = new ExitAction( 
cytoscapeShutdownServiceRef);

Modified: 
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/SessionHandler.java
===================================================================
--- 
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/SessionHandler.java
    2012-02-14 19:27:27 UTC (rev 28263)
+++ 
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/SessionHandler.java
    2012-02-14 19:36:08 UTC (rev 28264)
@@ -64,6 +64,8 @@
 import org.cytoscape.session.events.SessionLoadedEvent;
 import org.cytoscape.session.events.SessionLoadedListener;
 import org.cytoscape.view.model.CyNetworkView;
+import org.cytoscape.work.SynchronousTaskManager;
+import org.cytoscape.work.TaskFactory;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -75,6 +77,8 @@
        private final CytoscapeDesktop desktop;
        private final CyNetworkManager netMgr;
        private final NetworkViewManager netViewMgr;
+       private final SynchronousTaskManager<?> syncTaskMgr;
+       private final TaskFactory saveTaskFactory;
        private final SessionStateIO sessionStateIO;
        
        private final Map<String, CytoPanelName> CYTOPANEL_NAMES = new 
LinkedHashMap<String, CytoPanelName>();
@@ -84,10 +88,14 @@
        public SessionHandler(final CytoscapeDesktop desktop,
                                                  final CyNetworkManager netMgr,
                                                  final NetworkViewManager 
netViewMgr,
+                                                 final 
SynchronousTaskManager<?> syncTaskMgr,
+                                                 final TaskFactory 
saveTaskFactory,
                                                  final SessionStateIO 
sessionStateIO) {
                this.desktop = desktop;
                this.netMgr = netMgr;
                this.netViewMgr = netViewMgr;
+               this.syncTaskMgr = syncTaskMgr;
+               this.saveTaskFactory = saveTaskFactory;
                this.sessionStateIO = sessionStateIO;
                
                CYTOPANEL_NAMES.put("CytoPanel1", CytoPanelName.WEST);
@@ -113,8 +121,7 @@
                if (n == JOptionPane.NO_OPTION) {
                        return;
                } else if (n == JOptionPane.YES_OPTION) {
-                       // TODO 
-                       System.out.println("SESSION SAVING NOT IMPLEMENTED 
!!!!");
+                       syncTaskMgr.execute(saveTaskFactory);
                        return;
                } else {
                        e.abortShutdown("User canceled the shutdown request.");

-- 
You received this message because you are subscribed to the Google Groups 
"cytoscape-cvs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/cytoscape-cvs?hl=en.

Reply via email to