Author: Christian Lopes
Date: 2011-06-13 11:58:25 -0700 (Mon, 13 Jun 2011)
New Revision: 25732

Added:
   
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/exportvizmap/
   
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/exportvizmap/ExportVizmapTaskFactory.java
   
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/io/VizmapWriter.java
   
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/loadvizmap/
   
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/loadvizmap/LoadVizmapFileTask.java
   
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/loadvizmap/LoadVizmapFileTaskFactoryImpl.java
Modified:
   core3/core-task-impl/trunk/pom.xml
   
core3/core-task-impl/trunk/src/main/resources/META-INF/spring/bundle-context-osgi.xml
   
core3/core-task-impl/trunk/src/main/resources/META-INF/spring/bundle-context.xml
Log:
Created vizmap export/import  tasks.

Modified: core3/core-task-impl/trunk/pom.xml
===================================================================
--- core3/core-task-impl/trunk/pom.xml  2011-06-13 18:34:46 UTC (rev 25731)
+++ core3/core-task-impl/trunk/pom.xml  2011-06-13 18:58:25 UTC (rev 25732)
@@ -4,7 +4,7 @@
        <parent>
                <artifactId>parent</artifactId>
                <groupId>org.cytoscape</groupId>
-               <version>3.0.0-alpha7</version>
+               <version>3.0.0-alpha8-SNAPSHOT</version>
        </parent>
 
        <properties>
@@ -15,7 +15,7 @@
        <modelVersion>4.0.0</modelVersion>
        <groupId>org.cytoscape</groupId>
        <artifactId>core-task-impl</artifactId>
-       <version>3.0.0-alpha3-SNAPSHOT</version>
+       <version>3.0.0-alpha4-SNAPSHOT</version>
 
        <name>${bundle.symbolicName}</name>
 
@@ -107,17 +107,17 @@
                <dependency>
                        <groupId>org.cytoscape</groupId>
                        <artifactId>session-api</artifactId>
-                       <version>3.0.0-alpha3</version>
+                       <version>3.0.0-alpha6-SNAPSHOT</version>
                </dependency>
                <dependency>
                        <groupId>org.cytoscape</groupId>
                        <artifactId>io-api</artifactId>
-                       <version>3.0.0-alpha3</version>
+                       <version>3.0.0-alpha5-SNAPSHOT</version>
                </dependency>
                <dependency>
                        <groupId>org.cytoscape</groupId>
                        <artifactId>io-api</artifactId>
-                       <version>3.0.0-alpha3</version>
+                       <version>3.0.0-alpha5-SNAPSHOT</version>
                        <type>test-jar</type>
                        <scope>test</scope>
                </dependency>
@@ -129,12 +129,12 @@
                <dependency>
                        <groupId>org.cytoscape</groupId>
                        <artifactId>vizmap-api</artifactId>
-                       <version>3.0.0-alpha3</version>
+                       <version>3.0.0-alpha6-SNAPSHOT</version>
                </dependency>
                <dependency>
                        <groupId>org.cytoscape</groupId>
                        <artifactId>default-mappings</artifactId>
-                       <version>3.0.0-alpha3</version>
+                       <version>3.0.0-alpha4-SNAPSHOT</version>
                </dependency>
                <dependency>
                        <groupId>org.cytoscape</groupId>

Added: 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/exportvizmap/ExportVizmapTaskFactory.java
===================================================================
--- 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/exportvizmap/ExportVizmapTaskFactory.java
                              (rev 0)
+++ 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/exportvizmap/ExportVizmapTaskFactory.java
      2011-06-13 18:58:25 UTC (rev 25732)
@@ -0,0 +1,23 @@
+package org.cytoscape.task.internal.exportvizmap;
+
+import org.cytoscape.io.write.VizmapWriterManager;
+import org.cytoscape.task.internal.io.VizmapWriter;
+import org.cytoscape.view.vizmap.VisualMappingManager;
+import org.cytoscape.work.TaskFactory;
+import org.cytoscape.work.TaskIterator;
+
+public class ExportVizmapTaskFactory implements TaskFactory {
+
+       private final VizmapWriterManager writerManager;
+       private final VisualMappingManager vmMgr;
+
+       public ExportVizmapTaskFactory(VizmapWriterManager writerManager, 
VisualMappingManager vmMgr) {
+               this.writerManager = writerManager;
+               this.vmMgr = vmMgr;
+       }
+       
+       @Override
+       public TaskIterator getTaskIterator() {
+               return new TaskIterator(new VizmapWriter(writerManager, vmMgr));
+       }
+}
\ No newline at end of file

Added: 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/io/VizmapWriter.java
===================================================================
--- 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/io/VizmapWriter.java
                           (rev 0)
+++ 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/io/VizmapWriter.java
   2011-06-13 18:58:25 UTC (rev 25732)
@@ -0,0 +1,28 @@
+package org.cytoscape.task.internal.io;
+
+import java.io.File;
+import java.util.Set;
+
+import org.cytoscape.io.CyFileFilter;
+import org.cytoscape.io.write.CyWriter;
+import org.cytoscape.io.write.VizmapWriterManager;
+import org.cytoscape.view.vizmap.VisualMappingManager;
+import org.cytoscape.view.vizmap.VisualStyle;
+
+public class VizmapWriter extends TunableAbstractCyWriter<VizmapWriterManager> 
{
+
+       private final VisualMappingManager vmMgr;
+
+       public VizmapWriter(VizmapWriterManager writerManager, 
VisualMappingManager vmMgr) {
+               super(writerManager);
+               if (vmMgr == null) throw new 
NullPointerException("VisualMappingManager is null");
+               this.vmMgr = vmMgr;
+       }
+
+       @Override
+       protected CyWriter getWriter(CyFileFilter filter, File file) throws 
Exception {
+               Set<VisualStyle> styles = vmMgr.getAllVisualStyles();
+
+               return writerManager.getWriter(styles, filter, file);
+       }
+}

Added: 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/loadvizmap/LoadVizmapFileTask.java
===================================================================
--- 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/loadvizmap/LoadVizmapFileTask.java
                             (rev 0)
+++ 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/loadvizmap/LoadVizmapFileTask.java
     2011-06-13 18:58:25 UTC (rev 25732)
@@ -0,0 +1,76 @@
+package org.cytoscape.task.internal.loadvizmap;
+
+import java.io.File;
+import java.util.Set;
+
+import org.cytoscape.io.read.VizmapReader;
+import org.cytoscape.io.read.VizmapReaderManager;
+import org.cytoscape.view.vizmap.VisualMappingManager;
+import org.cytoscape.view.vizmap.VisualStyle;
+import org.cytoscape.work.AbstractTask;
+import org.cytoscape.work.TaskMonitor;
+import org.cytoscape.work.Tunable;
+
+public class LoadVizmapFileTask extends AbstractTask {
+
+       @Tunable(description = "Vizmap file", params = 
"fileCategory=vizmap;input=true")
+       public File file;
+
+       private final VisualMappingManager vmMgr;
+       private final VizmapReaderManager vizmapReaderMgr;
+
+       public LoadVizmapFileTask(VizmapReaderManager vizmapReaderMgr, 
VisualMappingManager vmMgr) {
+               this.vizmapReaderMgr = vizmapReaderMgr;
+               this.vmMgr = vmMgr;
+       }
+
+       @Override
+       public void run(final TaskMonitor taskMonitor) throws Exception {
+               if (file == null) throw new NullPointerException("No file 
specified!");
+
+               VizmapReader reader = vizmapReaderMgr.getReader(file.toURI(), 
file.getName());
+
+               if (reader == null) throw new NullPointerException("Failed to 
find appropriate reader for file: " + file);
+
+               insertTasksAfterCurrentTask(reader, new 
AddVisualStylesTask(reader, vmMgr));
+       }
+}
+
+class AddVisualStylesTask extends AbstractTask {
+
+       private final VizmapReader reader;
+       private final VisualMappingManager vmMgr;
+
+       public AddVisualStylesTask(VizmapReader reader, VisualMappingManager 
vmMgr) {
+               this.reader = reader;
+               this.vmMgr = vmMgr;
+       }
+
+       @Override
+       public void run(TaskMonitor taskMonitor) throws Exception {
+               taskMonitor.setTitle("Loading visual styles...");
+               final Set<VisualStyle> styles = reader.getVisualStyles();
+
+               if (styles != null) {
+                       int count = 1;
+                       int total = styles.size();
+
+                       for (VisualStyle vs : styles) {
+                               if (cancelled) break;
+                               taskMonitor.setStatusMessage(count + " of " + 
total + ": " + vs.getTitle());
+                               vmMgr.addVisualStyle(vs);
+                               taskMonitor.setProgress(count / total);
+                               count++;
+                       }
+
+                       if (cancelled) {
+                               // remove recently added styles
+                               for (VisualStyle vs : styles) {
+                                       vmMgr.removeVisualStyle(vs);
+                               }
+
+                               taskMonitor.setProgress(1.0);
+                       }
+               }
+       }
+}

Added: 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/loadvizmap/LoadVizmapFileTaskFactoryImpl.java
===================================================================
--- 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/loadvizmap/LoadVizmapFileTaskFactoryImpl.java
                          (rev 0)
+++ 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/loadvizmap/LoadVizmapFileTaskFactoryImpl.java
  2011-06-13 18:58:25 UTC (rev 25732)
@@ -0,0 +1,24 @@
+package org.cytoscape.task.internal.loadvizmap;
+
+import org.cytoscape.io.read.VizmapReaderManager;
+import org.cytoscape.view.vizmap.VisualMappingManager;
+import org.cytoscape.work.TaskFactory;
+import org.cytoscape.work.TaskIterator;
+
+
+public class LoadVizmapFileTaskFactoryImpl implements TaskFactory {
+
+       private final VizmapReaderManager vizmapReaderMgr;
+       private final VisualMappingManager vmMgr;
+       
+       public LoadVizmapFileTaskFactoryImpl(VizmapReaderManager 
vizmapReaderMgr, VisualMappingManager vmMgr) {
+               this.vizmapReaderMgr = vizmapReaderMgr;
+               this.vmMgr = vmMgr;
+       }
+
+       @Override
+       public TaskIterator getTaskIterator() {
+               return new TaskIterator(new LoadVizmapFileTask(vizmapReaderMgr, 
vmMgr));
+       }
+
+}

Modified: 
core3/core-task-impl/trunk/src/main/resources/META-INF/spring/bundle-context-osgi.xml
===================================================================
--- 
core3/core-task-impl/trunk/src/main/resources/META-INF/spring/bundle-context-osgi.xml
       2011-06-13 18:34:46 UTC (rev 25731)
+++ 
core3/core-task-impl/trunk/src/main/resources/META-INF/spring/bundle-context-osgi.xml
       2011-06-13 18:58:25 UTC (rev 25732)
@@ -27,6 +27,9 @@
 
        <osgi:reference id="cyDataTableReaderManagerServiceRef"
                interface="org.cytoscape.io.read.CyTableReaderManager" />
+               
+       <osgi:reference id="vizmapReaderManagerServiceRef"
+               interface="org.cytoscape.io.read.VizmapReaderManager" />
 
        <osgi:reference id="visualMappingManagerServiceRef"
                interface="org.cytoscape.view.vizmap.VisualMappingManager" />
@@ -43,6 +46,9 @@
 
        <osgi:reference id="networkViewWriterManagerServiceRef"
                interface="org.cytoscape.io.write.CyNetworkViewWriterManager" />
+               
+       <osgi:reference id="vizmapWriterManagerServiceRef"
+               interface="org.cytoscape.io.write.VizmapWriterManager" />
 
        <osgi:reference id="sessionWriterManagerServiceRef"
                interface="org.cytoscape.io.write.CySessionWriterManager" />
@@ -98,6 +104,15 @@
                        <entry key="accelerator" value="cmd shift l" />
                </osgi:service-properties>
        </osgi:service>
+       
+       <osgi:service id="loadVizmapFileTaskFactoryService" 
ref="loadVizmapFileTaskFactory"
+               interface="org.cytoscape.work.TaskFactory">
+               <osgi:service-properties>
+                       <entry key="title" value="Vizmap File..." />
+                       <entry key="preferredMenu" value="File.Import" />
+                       <entry key="menuGravity" value="3.0" />
+               </osgi:service-properties>
+       </osgi:service>
 
        <osgi:service id="loadAttrsFileTaskFactoryService" 
ref="loadAttrsFileTaskFactory"
                interface="org.cytoscape.work.TaskFactory">
@@ -545,6 +560,16 @@
                </osgi:service-properties>
        </osgi:service>
        
+       <osgi:service id="exportVizmapTaskFactoryService" 
ref="exportVizmapTaskFactory"
+               interface="org.cytoscape.work.TaskFactory">
+               <osgi:service-properties>
+                       <entry key="title" value="File..." />
+                       <entry key="preferredMenu" value="File.Export.Vizmap" />
+                       <entry key="enableFor" value="vizmap" />
+                       <entry key="menuGravity" value="1.1" />
+               </osgi:service-properties>
+       </osgi:service>
+       
        <!-- consider removing -->
        <!-- useful for command line, but not otherwise <osgi:service 
id="setCurrentNetworkTaskFactoryService" 
                ref="setCurrentNetworkTaskFactory" 
interface="org.cytoscape.work.TaskFactory"/> -->

Modified: 
core3/core-task-impl/trunk/src/main/resources/META-INF/spring/bundle-context.xml
===================================================================
--- 
core3/core-task-impl/trunk/src/main/resources/META-INF/spring/bundle-context.xml
    2011-06-13 18:34:46 UTC (rev 25731)
+++ 
core3/core-task-impl/trunk/src/main/resources/META-INF/spring/bundle-context.xml
    2011-06-13 18:58:25 UTC (rev 25732)
@@ -35,6 +35,12 @@
                <constructor-arg ref="cyTableManagerServiceRef" />
        </bean>
 
+    <bean id="loadVizmapFileTaskFactory"
+        
class="org.cytoscape.task.internal.loadvizmap.LoadVizmapFileTaskFactoryImpl">
+        <constructor-arg ref="vizmapReaderManagerServiceRef" />
+        <constructor-arg ref="visualMappingManagerServiceRef" />
+    </bean>
+
        <bean id="loadNetworkFileTaskFactory"
                
class="org.cytoscape.task.internal.loadnetwork.LoadNetworkFileTaskFactoryImpl">
                <constructor-arg ref="cyNetworkReaderManagerServiceRef" />
@@ -330,6 +336,12 @@
                
class="org.cytoscape.task.internal.table.DeleteTableTaskFactory">
                <constructor-arg ref="cyTableManagerServiceRef" />
        </bean>
+       
+       <bean id="exportVizmapTaskFactory"
+        
class="org.cytoscape.task.internal.exportvizmap.ExportVizmapTaskFactory">
+        <constructor-arg ref="vizmapWriterManagerServiceRef" />
+        <constructor-arg ref="visualMappingManagerServiceRef" />
+    </bean>
 
        <!-- Quick Start and Wizards -->
        <bean id="quickStartTaskFactory"

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