Author: kono
Date: 2011-06-30 14:01:46 -0700 (Thu, 30 Jun 2011)
New Revision: 25988

Modified:
   
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/session/SaveSessionAsTask.java
   
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/session/SaveSessionTask.java
Log:
fixes #304 Session file name problem fixed. 

Modified: 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/session/SaveSessionAsTask.java
===================================================================
--- 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/session/SaveSessionAsTask.java
 2011-06-30 20:32:19 UTC (rev 25987)
+++ 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/session/SaveSessionAsTask.java
 2011-06-30 21:01:46 UTC (rev 25988)
@@ -57,6 +57,7 @@
        }
 
        public void run(TaskMonitor taskMonitor) throws Exception {
+               sessionMgr.setCurrentSession(sessionMgr.getCurrentSession(), 
file.getName());
                insertTasksAfterCurrentTask(new CySessionWriter(writerMgr, 
sessionMgr.getCurrentSession(), file));
        }
 }

Modified: 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/session/SaveSessionTask.java
===================================================================
--- 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/session/SaveSessionTask.java
   2011-06-30 20:32:19 UTC (rev 25987)
+++ 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/session/SaveSessionTask.java
   2011-06-30 21:01:46 UTC (rev 25988)
@@ -30,33 +30,51 @@
 package org.cytoscape.task.internal.session;
 
 
+import java.io.File;
+
+import org.cytoscape.io.write.CySessionWriter;
 import org.cytoscape.io.write.CySessionWriterManager;
-import org.cytoscape.io.write.CySessionWriter;
 import org.cytoscape.session.CySession;
 import org.cytoscape.session.CySessionManager;
 import org.cytoscape.work.AbstractTask;
 import org.cytoscape.work.TaskMonitor;
 
-import java.io.File;
 
-
 public class SaveSessionTask extends AbstractTask {
 
        private final CySessionWriterManager writerMgr;
        private final CySessionManager sessionMgr;
+       
 
        /**
         * setAcceleratorCombo(KeyEvent.VK_S, ActionEvent.CTRL_MASK);
         */
-       public SaveSessionTask(CySessionWriterManager writerMgr, 
CySessionManager sessionMgr) {
+       public SaveSessionTask(final CySessionWriterManager writerMgr, final 
CySessionManager sessionMgr) {
                super();
+               
+               if(writerMgr == null)
+                       throw new NullPointerException("CySessionWriterManager 
is null.");
+               if(sessionMgr == null)
+                       throw new NullPointerException("CySessionManager is 
null.");
+               
                this.writerMgr = writerMgr;
                this.sessionMgr = sessionMgr;
        }
 
+       
+       @Override
        public void run(TaskMonitor taskMonitor) throws Exception {
-               CySession session = sessionMgr.getCurrentSession();
-               File file = new File(sessionMgr.getCurrentSessionFileName());
-               insertTasksAfterCurrentTask(new CySessionWriter(writerMgr, 
session, file ));
+               final CySession session = sessionMgr.getCurrentSession();
+               if(session == null)
+                       throw new NullPointerException("Could not find current 
session.");
+               
+               final String sessionFileName = 
sessionMgr.getCurrentSessionFileName();
+               if(sessionFileName == null) {
+                       // Could not find session file.  Save as new file.
+                       insertTasksAfterCurrentTask(new 
SaveSessionAsTask(writerMgr, sessionMgr));
+               } else {
+                       final File file = new File(sessionFileName);
+                       insertTasksAfterCurrentTask(new 
CySessionWriter(writerMgr, session, file));
+               }
        }
-} 
+}
\ No newline at end of file

-- 
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