Author: kono
Date: 2012-02-28 14:18:48 -0800 (Tue, 28 Feb 2012)
New Revision: 28388
Added:
core3/impl/trunk/ding-impl/ding-customgraphics-manager-impl/src/main/java/org/cytoscape/ding/customgraphicsmgr/internal/SaveGraphicsToSessionTask.java
core3/impl/trunk/ding-impl/ding-customgraphics-manager-impl/src/main/java/org/cytoscape/ding/customgraphicsmgr/internal/SaveGraphicsToSessionTaskFactory.java
Modified:
core3/impl/trunk/ding-impl/ding-customgraphics-manager-impl/src/main/java/org/cytoscape/ding/customgraphicsmgr/internal/CustomGraphicsManagerImpl.java
Log:
refs #700 Image saving timing had been fixed. Saving task will be called after
local library update.
Modified:
core3/impl/trunk/ding-impl/ding-customgraphics-manager-impl/src/main/java/org/cytoscape/ding/customgraphicsmgr/internal/CustomGraphicsManagerImpl.java
===================================================================
---
core3/impl/trunk/ding-impl/ding-customgraphics-manager-impl/src/main/java/org/cytoscape/ding/customgraphicsmgr/internal/CustomGraphicsManagerImpl.java
2012-02-28 21:51:05 UTC (rev 28387)
+++
core3/impl/trunk/ding-impl/ding-customgraphics-manager-impl/src/main/java/org/cytoscape/ding/customgraphicsmgr/internal/CustomGraphicsManagerImpl.java
2012-02-28 22:18:48 UTC (rev 28388)
@@ -250,24 +250,13 @@
*/
@Override
public void handleEvent(final SessionAboutToBeSavedEvent e) {
- // Create Task
- final PersistImageTaskFactory factory = new
PersistImageTaskFactory(imageHomeDirectory, this);
+ final SaveGraphicsToSessionTaskFactory factory = new
SaveGraphicsToSessionTaskFactory(imageHomeDirectory, this, e);
+
try {
taskManager.execute(factory);
} catch (Exception ex) {
logger.error("Could not save images to .", ex);
}
- // Add it to the apps list
- final List<File> fileList = new ArrayList<File>();
- final String[] fileArray = imageHomeDirectory.list();
- for(final String file: fileArray)
- fileList.add(new File(imageHomeDirectory, file));
-
- try {
- e.addAppFiles(APP_NAME, fileList);
- } catch (Exception ex) {
- logger.error("Error adding " + SESSION_IMAGE_DIR_NAME +
" file to be saved in the session.", ex);
- }
}
@Override
Added:
core3/impl/trunk/ding-impl/ding-customgraphics-manager-impl/src/main/java/org/cytoscape/ding/customgraphicsmgr/internal/SaveGraphicsToSessionTask.java
===================================================================
---
core3/impl/trunk/ding-impl/ding-customgraphics-manager-impl/src/main/java/org/cytoscape/ding/customgraphicsmgr/internal/SaveGraphicsToSessionTask.java
(rev 0)
+++
core3/impl/trunk/ding-impl/ding-customgraphics-manager-impl/src/main/java/org/cytoscape/ding/customgraphicsmgr/internal/SaveGraphicsToSessionTask.java
2012-02-28 22:18:48 UTC (rev 28388)
@@ -0,0 +1,39 @@
+package org.cytoscape.ding.customgraphicsmgr.internal;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.cytoscape.session.events.SessionAboutToBeSavedEvent;
+import org.cytoscape.work.Task;
+import org.cytoscape.work.TaskMonitor;
+
+public class SaveGraphicsToSessionTask implements Task {
+
+ private static final String APP_NAME =
"org.cytoscape.ding.customgraphicsmgr";
+
+ private final File imageHomeDirectory;
+ private final SessionAboutToBeSavedEvent e;
+
+ SaveGraphicsToSessionTask(final File imageHomeDirectory, final
SessionAboutToBeSavedEvent e) {
+ this.imageHomeDirectory = imageHomeDirectory;
+ this.e = e;
+ }
+
+ @Override
+ public void run(TaskMonitor taskMonitor) throws Exception {
+ // Add it to the apps list
+ final List<File> fileList = new ArrayList<File>();
+ final String[] fileArray = imageHomeDirectory.list();
+ for (final String file : fileArray)
+ fileList.add(new File(imageHomeDirectory, file));
+
+ e.addAppFiles(APP_NAME, fileList);
+ }
+
+ @Override
+ public void cancel() {
+ // TODO Auto-generated method stub
+ }
+
+}
Added:
core3/impl/trunk/ding-impl/ding-customgraphics-manager-impl/src/main/java/org/cytoscape/ding/customgraphicsmgr/internal/SaveGraphicsToSessionTaskFactory.java
===================================================================
---
core3/impl/trunk/ding-impl/ding-customgraphics-manager-impl/src/main/java/org/cytoscape/ding/customgraphicsmgr/internal/SaveGraphicsToSessionTaskFactory.java
(rev 0)
+++
core3/impl/trunk/ding-impl/ding-customgraphics-manager-impl/src/main/java/org/cytoscape/ding/customgraphicsmgr/internal/SaveGraphicsToSessionTaskFactory.java
2012-02-28 22:18:48 UTC (rev 28388)
@@ -0,0 +1,29 @@
+package org.cytoscape.ding.customgraphicsmgr.internal;
+
+import java.io.File;
+
+import org.cytoscape.ding.customgraphics.CustomGraphicsManager;
+import org.cytoscape.session.events.SessionAboutToBeSavedEvent;
+import org.cytoscape.work.TaskFactory;
+import org.cytoscape.work.TaskIterator;
+
+public class SaveGraphicsToSessionTaskFactory implements TaskFactory {
+
+ private final File location;
+ private final CustomGraphicsManager manager;
+
+ private final SessionAboutToBeSavedEvent e;
+
+ SaveGraphicsToSessionTaskFactory(final File location, final
CustomGraphicsManager manager,
+ final SessionAboutToBeSavedEvent e) {
+ this.manager = manager;
+ this.location = location;
+ this.e = e;
+ }
+
+ @Override
+ public TaskIterator createTaskIterator() {
+ return new TaskIterator(new PersistImageTask(location,
manager), new SaveGraphicsToSessionTask(location, e));
+ }
+
+}
--
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.