Author: rozagh
Date: 2012-06-08 14:11:30 -0700 (Fri, 08 Jun 2012)
New Revision: 29510

Modified:
   
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/session/CySessionWriter.java
   
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/session/SaveSessionAsTask.java
   
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/session/SaveSessionTask.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:


Modified: 
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/session/CySessionWriter.java
===================================================================
--- 
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/session/CySessionWriter.java
      2012-06-08 20:18:26 UTC (rev 29509)
+++ 
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/session/CySessionWriter.java
      2012-06-08 21:11:30 UTC (rev 29510)
@@ -8,6 +8,9 @@
 import org.cytoscape.io.write.CyWriter;
 import org.cytoscape.work.TaskMonitor;
 import org.cytoscape.work.AbstractTask;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
 import java.io.File;
 import java.util.List;
 
@@ -21,6 +24,7 @@
        private final CySessionWriterManager writerMgr; 
        private File outputFile; 
 
+       Logger logger = LoggerFactory.getLogger(CySessionWriter.class);
        /**
         * Constructs this CySessionWriter.
         * @param writerMgr The {@link 
org.cytoscape.io.write.CySessionWriterManager} contains single expected
@@ -54,8 +58,10 @@
                if ( filters.size() > 1 )
                        throw new IllegalArgumentException("Found too many 
session filters!");
 
-               if (!HasFileExtension(outputFile.getName()))
+               if (!outputFile.getName().endsWith(".cys")){
                        outputFile = new File(outputFile.getPath() + ".cys");
+                       logger.warn("File name is changed to " + 
outputFile.getName());
+               }
 
                CyWriter writer = 
writerMgr.getWriter(session,filters.get(0),outputFile); 
                if ( writer == null )

Modified: 
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/session/SaveSessionAsTask.java
===================================================================
--- 
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/session/SaveSessionAsTask.java
    2012-06-08 20:18:26 UTC (rev 29509)
+++ 
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/session/SaveSessionAsTask.java
    2012-06-08 21:11:30 UTC (rev 29510)
@@ -79,7 +79,7 @@
                cyEventHelper.fireEvent(new SessionSavedEvent(this, session, 
file.getAbsolutePath()));
        
                // Add this session file URL as the most recent file.
-               if ( !CySessionWriter.HasFileExtension(file.getName()))
+               if ( !file.getName().endsWith(".cys"))
                        file = new File(file.getPath() + ".cys");
        
                tracker.add(file.toURI().toURL());

Modified: 
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/session/SaveSessionTask.java
===================================================================
--- 
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/session/SaveSessionTask.java
      2012-06-08 20:18:26 UTC (rev 29509)
+++ 
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/session/SaveSessionTask.java
      2012-06-08 21:11:30 UTC (rev 29510)
@@ -73,7 +73,7 @@
                insertTasksAfterCurrentTask(new CySessionWriter(writerMgr, 
session, file));
                
                // Add this session file URL as the most recent file.
-               if ( !CySessionWriter.HasFileExtension(file.getName()))
+               if ( !file.getName().endsWith(".cys"))
                        file = new File(file.getPath() + ".cys");
                tracker.add(file.toURI().toURL());
                

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-06-08 20:18:26 UTC (rev 29509)
+++ 
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/CyActivator.java
       2012-06-08 21:11:30 UTC (rev 29510)
@@ -109,6 +109,7 @@
 import org.cytoscape.task.NetworkViewTaskFactory;
 import org.cytoscape.task.TableTaskFactory;
 import org.cytoscape.task.write.SaveSessionAsTaskFactory;
+import org.cytoscape.util.swing.FileUtil;
 import org.cytoscape.util.swing.OpenBrowser;
 import org.cytoscape.view.layout.CyLayoutAlgorithm;
 import org.cytoscape.view.layout.CyLayoutAlgorithmManager;
@@ -176,7 +177,9 @@
                OpenBrowser openBrowserServiceRef = getService(bc, 
OpenBrowser.class);
                
                VisualMappingManager visualMappingManagerServiceRef  = 
getService(bc, VisualMappingManager.class);
+               FileUtil fileUtilServiceRef = getService(bc, FileUtil.class);
                
+               
                UndoAction undoAction = new UndoAction(undoSupportServiceRef);
                RedoAction redoAction = new RedoAction(undoSupportServiceRef);
                ConfigDirPropertyWriter configDirPropertyWriter = new 
ConfigDirPropertyWriter(dialogTaskManagerServiceRef,
@@ -219,7 +222,8 @@
                                                                                
                                   synchronousTaskManagerServiceRef,
                                                                                
                                   saveTaskFactoryServiceRef,
                                                                                
                                   sessStateIO,
-                                                                               
                                   cySessionManagerServiceRef);
+                                                                               
                                   cySessionManagerServiceRef,
+                                                                               
                                   fileUtilServiceRef);
                PrintAction printAction = new 
PrintAction(cyApplicationManagerServiceRef, cyNetworkViewManagerServiceRef, 
cytoscapePropertiesServiceRef);
                ExitAction exitAction = new ExitAction( 
cytoscapeShutdownServiceRef);
                PreferenceAction preferenceAction = new 
PreferenceAction(cytoscapeDesktop,

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-06-08 20:18:26 UTC (rev 29509)
+++ 
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/SessionHandler.java
    2012-06-08 21:11:30 UTC (rev 29510)
@@ -66,6 +66,8 @@
 import org.cytoscape.session.events.SessionLoadedEvent;
 import org.cytoscape.session.events.SessionLoadedListener;
 import org.cytoscape.task.write.SaveSessionAsTaskFactory;
+import org.cytoscape.util.swing.FileChooserFilter;
+import org.cytoscape.util.swing.FileUtil;
 import org.cytoscape.view.model.CyNetworkView;
 import org.cytoscape.work.SynchronousTaskManager;
 import org.slf4j.Logger;
@@ -83,7 +85,7 @@
        private final SaveSessionAsTaskFactory saveTaskFactory;
        private final SessionStateIO sessionStateIO;
        private final CySessionManager sessionManager;
-       
+       private final FileUtil fileUtil;
        private final Map<String, CytoPanelName> CYTOPANEL_NAMES = new 
LinkedHashMap<String, CytoPanelName>();
        
        private static final Logger logger = 
LoggerFactory.getLogger(SessionHandler.class);
@@ -93,7 +95,8 @@
                                                  final NetworkViewManager 
netViewMgr,
                                                  final 
SynchronousTaskManager<?> syncTaskMgr,
                                                  final 
SaveSessionAsTaskFactory saveTaskFactory,
-                                                 final SessionStateIO 
sessionStateIO, final CySessionManager sessionManager) {
+                                                 final SessionStateIO 
sessionStateIO, final CySessionManager sessionManager,
+                                                 final FileUtil fileUtil) {
                this.desktop = desktop;
                this.netMgr = netMgr;
                this.netViewMgr = netViewMgr;
@@ -101,6 +104,7 @@
                this.saveTaskFactory = saveTaskFactory;
                this.sessionStateIO = sessionStateIO;
                this.sessionManager = sessionManager;
+               this.fileUtil = fileUtil;
                
                CYTOPANEL_NAMES.put("CytoPanel1", CytoPanelName.WEST);
                CYTOPANEL_NAMES.put("CytoPanel2", CytoPanelName.SOUTH);
@@ -126,7 +130,16 @@
                        return;
                } else if (n == JOptionPane.YES_OPTION) {
                        final String sessionFileName = 
sessionManager.getCurrentSessionFileName();
-                       
syncTaskMgr.execute(saveTaskFactory.createTaskIterator(new 
File(sessionFileName)));
+                       File file;
+                       if (sessionFileName == null || 
sessionFileName.isEmpty() ){
+                               FileChooserFilter filter = new 
FileChooserFilter("Session File" , "cys");
+                               List<FileChooserFilter> filterCollection = new 
ArrayList<FileChooserFilter>(1);
+                               filterCollection.add(filter);
+                               file = fileUtil.getFile(desktop, "Save Session 
File", FileUtil.SAVE, filterCollection );
+                       }
+                       else
+                               file = new File(sessionFileName);
+                       
syncTaskMgr.execute(saveTaskFactory.createTaskIterator(file));
                        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