Author: jm
Date: 2010-09-17 13:29:44 -0700 (Fri, 17 Sep 2010)
New Revision: 21920

Added:
   
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/exportnetwork/
   
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/exportnetwork/ExportNetworkTaskFactory.java
   
core3/io-impl/trunk/src/main/java/org/cytoscape/io/internal/write/CyNetworkWriterManagerImpl.java
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.xml
   
core3/io-impl/trunk/src/main/resources/META-INF/spring/bundle-context-osgi.xml
   core3/io-impl/trunk/src/main/resources/META-INF/spring/bundle-context.xml
Log:
Added support for contributing CyNetwork exporters

Added: 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/exportnetwork/ExportNetworkTaskFactory.java
===================================================================
--- 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/exportnetwork/ExportNetworkTaskFactory.java
                            (rev 0)
+++ 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/exportnetwork/ExportNetworkTaskFactory.java
    2010-09-17 20:29:44 UTC (rev 21920)
@@ -0,0 +1,21 @@
+package org.cytoscape.task.internal.exportnetwork;
+
+import org.cytoscape.io.write.CyNetworkWriter;
+import org.cytoscape.io.write.CyNetworkWriterManager;
+import org.cytoscape.task.AbstractNetworkTaskFactory;
+import org.cytoscape.work.TaskIterator;
+
+public class ExportNetworkTaskFactory extends AbstractNetworkTaskFactory {
+
+       private CyNetworkWriterManager writerManager;
+
+       public ExportNetworkTaskFactory(CyNetworkWriterManager writerManager) {
+               this.writerManager = writerManager;
+       }
+       
+       @Override
+       public TaskIterator getTaskIterator() {
+               return new TaskIterator(new CyNetworkWriter(writerManager, 
net));
+       }
+
+}


Property changes on: 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/exportnetwork/ExportNetworkTaskFactory.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

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
       2010-09-17 20:05:13 UTC (rev 21919)
+++ 
core3/core-task-impl/trunk/src/main/resources/META-INF/spring/bundle-context-osgi.xml
       2010-09-17 20:29:44 UTC (rev 21920)
@@ -35,6 +35,10 @@
 
        <osgi:reference id="viewWriterManagerServiceRef"
                interface="org.cytoscape.io.write.ViewWriterManager" />
+
+       <osgi:reference id="networkWriterManagerServiceRef"
+               interface="org.cytoscape.io.write.CyNetworkWriterManager" />
+
        <!--
                <osgi:reference id="cyWriterManagerServiceRef"
                interface="org.cytoscape.io.read.CyWriterManager"/> 
<osgi:reference
@@ -406,6 +410,16 @@
                </osgi:service-properties>
        </osgi:service>
 
+       <osgi:service id="exportNetworkTaskFactoryService" 
+           ref="exportNetworkTaskFactory"
+               interface="org.cytoscape.task.NetworkTaskFactory">
+               <osgi:service-properties>
+                       <entry key="title" value="Network View" />
+                       <entry key="preferredMenu" value="File.Export" />
+                       <entry key="enableFor" value="networkAndView" />
+               </osgi:service-properties>
+       </osgi:service>
+       
 <!-- #####################     Task that set the imported network as the 
current one   ###################-->
        <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
    2010-09-17 20:05:13 UTC (rev 21919)
+++ 
core3/core-task-impl/trunk/src/main/resources/META-INF/spring/bundle-context.xml
    2010-09-17 20:29:44 UTC (rev 21920)
@@ -250,6 +250,11 @@
                <constructor-arg ref="cyNetworkManagerServiceRef" />
        </bean>
 
+       <bean id="exportNetworkTaskFactory" 
+             
class="org.cytoscape.task.internal.exportnetwork.ExportNetworkTaskFactory">
+               <constructor-arg ref="networkWriterManagerServiceRef" />
+       </bean>
+
        <bean id="tunablesTestTaskFactory" 
              
class="org.cytoscape.task.internal.tests.tunables.TunablesTestTaskFactory">
        </bean>

Added: 
core3/io-impl/trunk/src/main/java/org/cytoscape/io/internal/write/CyNetworkWriterManagerImpl.java
===================================================================
--- 
core3/io-impl/trunk/src/main/java/org/cytoscape/io/internal/write/CyNetworkWriterManagerImpl.java
                           (rev 0)
+++ 
core3/io-impl/trunk/src/main/java/org/cytoscape/io/internal/write/CyNetworkWriterManagerImpl.java
   2010-09-17 20:29:44 UTC (rev 21920)
@@ -0,0 +1,26 @@
+package org.cytoscape.io.internal.write;
+
+import java.io.File;
+
+import org.cytoscape.io.CyFileFilter;
+import org.cytoscape.io.DataCategory;
+import org.cytoscape.io.write.CyNetworkWriterFactory;
+import org.cytoscape.io.write.CyNetworkWriterManager;
+import org.cytoscape.io.write.CyWriter;
+import org.cytoscape.model.CyNetwork;
+
+public class CyNetworkWriterManagerImpl extends 
AbstractWriterManager<CyNetworkWriterFactory> implements CyNetworkWriterManager 
{
+       public CyNetworkWriterManagerImpl(DataCategory category) {
+               super(category);
+       }
+
+       @Override
+       public CyWriter getWriter(CyNetwork network, CyFileFilter filter, File 
file) {
+               CyNetworkWriterFactory factory = getMatchingFactory(filter, 
file);
+               if (factory == null) {
+                       throw new NullPointerException("Couldn't find matching 
factory for filter: " + filter);
+               }
+               factory.setNetwork(network);
+               return factory.getWriter();
+       }
+}
\ No newline at end of file


Property changes on: 
core3/io-impl/trunk/src/main/java/org/cytoscape/io/internal/write/CyNetworkWriterManagerImpl.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Modified: 
core3/io-impl/trunk/src/main/resources/META-INF/spring/bundle-context-osgi.xml
===================================================================
--- 
core3/io-impl/trunk/src/main/resources/META-INF/spring/bundle-context-osgi.xml  
    2010-09-17 20:05:13 UTC (rev 21919)
+++ 
core3/io-impl/trunk/src/main/resources/META-INF/spring/bundle-context-osgi.xml  
    2010-09-17 20:29:44 UTC (rev 21920)
@@ -37,6 +37,10 @@
                interface="org.cytoscape.io.write.ViewWriterManager">
        </osgi:service>
 
+       <osgi:service id="networkWriterManagerService" 
ref="networkWriterManager"
+               interface="org.cytoscape.io.write.CyNetworkWriterManager">
+       </osgi:service>
+
        <osgi:service id="sifNetworkViewReaderFactoryService" 
ref="sifNetworkViewReaderFactory"
                interface="org.cytoscape.io.read.InputStreamTaskFactory">
                <osgi:service-properties>
@@ -102,4 +106,11 @@
                               ref="viewWriterManager" />
        </osgi:set>
 
+       <osgi:set id="networkWriterFactories" 
+                 interface="org.cytoscape.io.write.CyNetworkWriterFactory"
+                 cardinality="0..N">
+               <osgi:listener bind-method="addCyWriterFactory"
+                              unbind-method="removeCyWriterFactory" 
+                              ref="networkWriterManager" />
+       </osgi:set>
 </beans>

Modified: 
core3/io-impl/trunk/src/main/resources/META-INF/spring/bundle-context.xml
===================================================================
--- core3/io-impl/trunk/src/main/resources/META-INF/spring/bundle-context.xml   
2010-09-17 20:05:13 UTC (rev 21919)
+++ core3/io-impl/trunk/src/main/resources/META-INF/spring/bundle-context.xml   
2010-09-17 20:29:44 UTC (rev 21920)
@@ -195,5 +195,9 @@
        <bean id="viewWriterManager" 
              class="org.cytoscape.io.internal.write.ViewWriterManagerImpl" />
 
-
+       <bean id="networkWriterManager" 
+             
class="org.cytoscape.io.internal.write.CyNetworkWriterManagerImpl">
+               <constructor-arg type="org.cytoscape.io.DataCategory"
+                       value="NETWORK" />
+       </bean>
 </beans>

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