Author: clopes
Date: 2012-06-12 09:07:18 -0700 (Tue, 12 Jun 2012)
New Revision: 29532
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/SaveSessionTask.java
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/session/SaveSessionTaskFactoryImpl.java
core3/impl/trunk/core-task-impl/src/test/java/org/cytoscape/task/internal/session/SaveSessionTaskFactoryTest.java
core3/impl/trunk/core-task-impl/src/test/java/org/cytoscape/task/internal/session/SaveSessionTaskTest.java
Log:
Fixes #1103 (SessionAboutToBeSavedEvent is fired twice):
SaveSessionTaskFactoryImpl does not call CySessionManager.getCurrentSession()
anymore.
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-12 14:57:22 UTC (rev 29531)
+++
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/session/CySessionWriter.java
2012-06-12 16:07:18 UTC (rev 29532)
@@ -3,7 +3,6 @@
import org.cytoscape.session.CySession;
import org.cytoscape.io.CyFileFilter;
-import org.cytoscape.io.write.CySessionWriterFactory;
import org.cytoscape.io.write.CySessionWriterManager;
import org.cytoscape.io.write.CyWriter;
import org.cytoscape.work.TaskMonitor;
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-12 14:57:22 UTC (rev 29531)
+++
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/session/SaveSessionTask.java
2012-06-12 16:07:18 UTC (rev 29532)
@@ -34,6 +34,7 @@
import org.cytoscape.io.util.RecentlyOpenedTracker;
import org.cytoscape.io.write.CySessionWriterManager;
import org.cytoscape.session.CySession;
+import org.cytoscape.session.CySessionManager;
import org.cytoscape.work.AbstractTask;
import org.cytoscape.work.TaskMonitor;
@@ -41,42 +42,41 @@
private final CySessionWriterManager writerMgr;
private final RecentlyOpenedTracker tracker;
-
- private final CySession session;
- private final String fileName;
+ private final CySessionManager sessionMgr;
/**
* setAcceleratorCombo(KeyEvent.VK_S, ActionEvent.CTRL_MASK);
*/
public SaveSessionTask(final CySessionWriterManager writerMgr,
- final CySession session, final String fileName, final
RecentlyOpenedTracker tracker) {
+ final CySessionManager
sessionMgr,
+ final RecentlyOpenedTracker
tracker) {
super();
if (writerMgr == null)
throw new NullPointerException("CySessionWriterManager
is null.");
- if (fileName == null)
- throw new NullPointerException("Session file name is
null.");
- if (session == null)
- throw new NullPointerException("CySession is null.");
+ if (sessionMgr == null)
+ throw new NullPointerException("CySessionManager is
null.");
this.writerMgr = writerMgr;
+ this.sessionMgr = sessionMgr;
this.tracker = tracker;
- this.session = session;
- this.fileName = fileName;
}
@Override
public void run(TaskMonitor taskMonitor) throws Exception {
- taskMonitor.setProgress(0.0);
+ taskMonitor.setProgress(0.05);
+
+ final CySession session = sessionMgr.getCurrentSession();
+ final String fileName = sessionMgr.getCurrentSessionFileName();
File file = new File(fileName);
insertTasksAfterCurrentTask(new CySessionWriter(writerMgr,
session, file));
// Add this session file URL as the most recent file.
- if ( !file.getName().endsWith(".cys"))
+ if (!file.getName().endsWith(".cys"))
file = new File(file.getPath() + ".cys");
+
tracker.add(file.toURI().toURL());
-
taskMonitor.setProgress(1.0);
}
}
\ No newline at end of file
Modified:
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/session/SaveSessionTaskFactoryImpl.java
===================================================================
---
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/session/SaveSessionTaskFactoryImpl.java
2012-06-12 14:57:22 UTC (rev 29531)
+++
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/session/SaveSessionTaskFactoryImpl.java
2012-06-12 16:07:18 UTC (rev 29532)
@@ -32,7 +32,6 @@
import org.cytoscape.event.CyEventHelper;
import org.cytoscape.io.util.RecentlyOpenedTracker;
import org.cytoscape.io.write.CySessionWriterManager;
-import org.cytoscape.session.CySession;
import org.cytoscape.session.CySessionManager;
import org.cytoscape.task.write.SaveSessionTaskFactory;
import org.cytoscape.work.AbstractTaskFactory;
@@ -54,10 +53,6 @@
}
public TaskIterator createTaskIterator() {
- final CySession session = sessionMgr.getCurrentSession();
- if (session == null)
- throw new NullPointerException("Could not find current
session.");
-
// Check session file name is set or not.
final String sessionFileName =
sessionMgr.getCurrentSessionFileName();
@@ -65,6 +60,6 @@
if (sessionFileName == null)
return new TaskIterator(new
SaveSessionAsTask(writerMgr, sessionMgr, tracker, cyEventHelper));
else
- return new TaskIterator(new SaveSessionTask(writerMgr,
session, sessionFileName, tracker));
+ return new TaskIterator(new SaveSessionTask(writerMgr,
sessionMgr, tracker));
}
}
Modified:
core3/impl/trunk/core-task-impl/src/test/java/org/cytoscape/task/internal/session/SaveSessionTaskFactoryTest.java
===================================================================
---
core3/impl/trunk/core-task-impl/src/test/java/org/cytoscape/task/internal/session/SaveSessionTaskFactoryTest.java
2012-06-12 14:57:22 UTC (rev 29531)
+++
core3/impl/trunk/core-task-impl/src/test/java/org/cytoscape/task/internal/session/SaveSessionTaskFactoryTest.java
2012-06-12 16:07:18 UTC (rev 29532)
@@ -1,27 +1,29 @@
package org.cytoscape.task.internal.session;
-import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.*;
import org.cytoscape.event.CyEventHelper;
import org.cytoscape.io.util.RecentlyOpenedTracker;
import org.cytoscape.io.write.CySessionWriterManager;
+import org.cytoscape.session.CySession;
import org.cytoscape.session.CySessionManager;
import org.cytoscape.work.TaskIterator;
-import org.junit.Test;
+
public class SaveSessionTaskFactoryTest {
- @Test(expected=NullPointerException.class)
public void testRun() throws Exception {
-
- CySessionManager mgr = mock(CySessionManager.class);;
CySessionWriterManager wmgr =
mock(CySessionWriterManager.class);
RecentlyOpenedTracker tracker =
mock(RecentlyOpenedTracker.class);
CyEventHelper cyEventHelper = mock(CyEventHelper.class);
+ CySession session = new CySession.Builder().build();
- SaveSessionTaskFactoryImpl factory = new
SaveSessionTaskFactoryImpl(wmgr,mgr,tracker, cyEventHelper);
+ CySessionManager mgr = mock(CySessionManager.class);
+ when(mgr.getCurrentSession()).thenReturn(session);
+ SaveSessionTaskFactoryImpl factory = new
SaveSessionTaskFactoryImpl(wmgr, mgr, tracker, cyEventHelper);
+
TaskIterator ti = factory.createTaskIterator();
// assertNotNull(ti);
//
Modified:
core3/impl/trunk/core-task-impl/src/test/java/org/cytoscape/task/internal/session/SaveSessionTaskTest.java
===================================================================
---
core3/impl/trunk/core-task-impl/src/test/java/org/cytoscape/task/internal/session/SaveSessionTaskTest.java
2012-06-12 14:57:22 UTC (rev 29531)
+++
core3/impl/trunk/core-task-impl/src/test/java/org/cytoscape/task/internal/session/SaveSessionTaskTest.java
2012-06-12 16:07:18 UTC (rev 29532)
@@ -3,6 +3,7 @@
import org.cytoscape.io.util.RecentlyOpenedTracker;
import org.cytoscape.io.write.CySessionWriterManager;
import org.cytoscape.session.CySession;
+import org.cytoscape.session.CySessionManager;
import org.cytoscape.work.TaskIterator;
import org.cytoscape.work.TaskMonitor;
import org.junit.Before;
@@ -14,22 +15,19 @@
public class SaveSessionTaskTest {
@Mock private TaskMonitor tm;
-
- private CySession session;
- private String fileNameString = "testFile";
+ @Mock private CySessionManager mgr;
@Mock private CySessionWriterManager writerMgr;
@Mock private RecentlyOpenedTracker tracker;
+ private CySession session;
-
@Before
public void initMocks() {
MockitoAnnotations.initMocks(this);
}
-
@Test(expected=NullPointerException.class)
public void testSaveSessionTask() throws Exception {
- final SaveSessionTask t = new SaveSessionTask(writerMgr,
session, fileNameString, tracker);
+ final SaveSessionTask t = new SaveSessionTask(writerMgr, mgr,
tracker);
t.setTaskIterator(new TaskIterator(t));
t.run(tm);
--
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.