Author: kono
Date: 2011-07-14 10:54:01 -0700 (Thu, 14 Jul 2011)
New Revision: 26178

Modified:
   
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/actions/RecentSessionManager.java
   
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/task/OpenRecentSessionTaskFactory.java
Log:
refs #112 Recent session reader's bug fixed.

Modified: 
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/actions/RecentSessionManager.java
===================================================================
--- 
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/actions/RecentSessionManager.java
   2011-07-14 14:50:06 UTC (rev 26177)
+++ 
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/actions/RecentSessionManager.java
   2011-07-14 17:54:01 UTC (rev 26178)
@@ -32,6 +32,8 @@
 public class RecentSessionManager implements SessionLoadedListener, 
CytoscapeShutdownListener {
        
        private static final Logger logger = 
LoggerFactory.getLogger(RecentSessionManager.class);
+       
+       private static final String MENU_CATEGORY = "File.Recent Session";
 
        private final RecentlyOpenedTracker tracker;
        private final CyServiceRegistrar registrar;
@@ -79,8 +81,9 @@
 
                for (final URL url : urls) {
                        final Dictionary<String, String> dict = new 
Hashtable<String, String>();
-                       dict.put("preferredMenu", "File.Recent");
+                       dict.put("preferredMenu", MENU_CATEGORY);
                        dict.put("title", url.getFile());
+                       dict.put("menuGravity", "6.0");
                        final OpenRecentSessionTaskFactory factory = new 
OpenRecentSessionTaskFactory(sessionManager, readerManager, appManager, 
tracker, url);
                        registrar.registerService(factory, TaskFactory.class, 
dict);
 
@@ -104,8 +107,8 @@
 
                public DummyAction(CyApplicationManager applicationManager) {
                        super("(No recent session files)", applicationManager);
-                       setPreferredMenu("File.Recent Files");
-                       setMenuGravity(7.0f);
+                       setPreferredMenu(MENU_CATEGORY);
+                       setMenuGravity(6.0f);
                        this.setEnabled(false);
                }
 

Modified: 
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/task/OpenRecentSessionTaskFactory.java
===================================================================
--- 
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/task/OpenRecentSessionTaskFactory.java
      2011-07-14 14:50:06 UTC (rev 26177)
+++ 
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/task/OpenRecentSessionTaskFactory.java
      2011-07-14 17:54:01 UTC (rev 26178)
@@ -16,8 +16,12 @@
 import org.cytoscape.work.TaskFactory;
 import org.cytoscape.work.TaskIterator;
 import org.cytoscape.work.TaskMonitor;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class OpenRecentSessionTaskFactory implements TaskFactory {
+       
+       private static final Logger logger = 
LoggerFactory.getLogger(OpenRecentSessionTaskFactory.class);
 
        private final CySessionManager sessionManager;
        private final CySessionReaderManager readerManager;
@@ -48,9 +52,25 @@
                if(reader == null)
                        throw new NullPointerException("Could not find 
reader.");
                
-               return new TaskIterator(new LoadRecentSessionTask(reader));
+               return new TaskIterator(new LoadSessionFromURLTask(reader), new 
LoadRecentSessionTask(reader));
        }
+       
+       private final class LoadSessionFromURLTask extends AbstractTask {
 
+               private final CySessionReader reader;
+               
+               LoadSessionFromURLTask(final CySessionReader reader) {
+                       logger.debug("First, load the session file");
+                       this.reader = reader;
+               }
+               
+               @Override
+               public void run(TaskMonitor taskMonitor) throws Exception {
+                       reader.run(taskMonitor);
+               }
+               
+       }
+
        private final class LoadRecentSessionTask extends AbstractTask {
 
                private final CySessionReader reader;
@@ -61,6 +81,8 @@
 
                @Override
                public void run(TaskMonitor taskMonitor) throws Exception {
+                       logger.debug("Post processiong for session...");
+
                        final CySession newSession = reader.getCySession();
                        if (newSession == null)
                                throw new NullPointerException("Session could 
not be read for file: " + targetSession.toString());

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