Author: pwang Date: 2012-05-10 17:08:00 -0700 (Thu, 10 May 2012) New Revision: 29217
Added: core3/samples/trunk/sample27/ core3/samples/trunk/sample27/pom.xml core3/samples/trunk/sample27/src/ core3/samples/trunk/sample27/src/main/ core3/samples/trunk/sample27/src/main/java/ core3/samples/trunk/sample27/src/main/java/org/ core3/samples/trunk/sample27/src/main/java/org/cytoscape/ core3/samples/trunk/sample27/src/main/java/org/cytoscape/sample/ core3/samples/trunk/sample27/src/main/java/org/cytoscape/sample/internal/ core3/samples/trunk/sample27/src/main/java/org/cytoscape/sample/internal/Sample27App.java core3/samples/trunk/sample27/src/main/java/org/cytoscape/sample/internal/TCReader.java core3/samples/trunk/sample27/src/main/java/org/cytoscape/sample/internal/TCReaderFactory.java Log: Original creation Added: core3/samples/trunk/sample27/pom.xml =================================================================== --- core3/samples/trunk/sample27/pom.xml (rev 0) +++ core3/samples/trunk/sample27/pom.xml 2012-05-11 00:08:00 UTC (rev 29217) @@ -0,0 +1,100 @@ +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + + <properties> + <bundle.symbolicName>sample27</bundle.symbolicName> + <bundle.namespace>org.cytoscape.sample.internal</bundle.namespace> + <cytoscape.api.version>3.0.0-alpha8-SNAPSHOT</cytoscape.api.version> + <maven-jar-plugin.version>2.3.1</maven-jar-plugin.version> + <maven-surefire-plugin.version>2.7.1</maven-surefire-plugin.version> + </properties> + + <groupId>org.cytoscape.sample</groupId> + <artifactId>sample27</artifactId> + <packaging>jar</packaging> + <name>${bundle.symbolicName}</name> + + <version>3.0.0-alpha8-SNAPSHOT</version> + + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-jar-plugin</artifactId> + <version>${maven-jar-plugin.version}</version> + <configuration> + <archive> + <manifestEntries> + <Cytoscape-App>org.cytoscape.sample.internal.Sample27App</Cytoscape-App> + </manifestEntries> + </archive> + </configuration> + </plugin> + + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-surefire-plugin</artifactId> + <version>${maven-surefire-plugin.version}</version> + <configuration> + <redirectTestOutputToFile>true</redirectTestOutputToFile> + </configuration> + </plugin> + </plugins> + </build> + + <!-- Links to the Cytoscape Maven repositories. --> + <repositories> + <repository> + <id>cytoscape_snapshots</id> + <snapshots> + <enabled>true</enabled> + </snapshots> + <releases> + <enabled>false</enabled> + </releases> + <name>Cytoscape Snapshots</name> + <url>http://code.cytoscape.org/nexus/content/repositories/snapshots/</url> + </repository> + <repository> + <id>cytoscape_releases</id> + <snapshots> + <enabled>false</enabled> + </snapshots> + <releases> + <enabled>true</enabled> + </releases> + <name>Cytoscape Releases</name> + <url>http://code.cytoscape.org/nexus/content/repositories/releases/</url> + </repository> + </repositories> + + <dependencies> + <dependency> + <groupId>org.cytoscape</groupId> + <artifactId>plugin-api</artifactId> + <version>${cytoscape.api.version}</version> + </dependency> + <dependency> + <groupId>org.cytoscape</groupId> + <artifactId>core-task-api</artifactId> + <version>${cytoscape.api.version}</version> + </dependency> + + <dependency> + <groupId>org.cytoscape</groupId> + <artifactId>swing-application-api</artifactId> + <version>${cytoscape.api.version}</version> + </dependency> + <dependency> + <groupId>org.cytoscape</groupId> + <artifactId>work-swing-api</artifactId> + <version>${cytoscape.api.version}</version> + </dependency> + <dependency> + <groupId>org.cytoscape</groupId> + <artifactId>swing-app-api</artifactId> + <version>${cytoscape.api.version}</version> + </dependency> + </dependencies> + +</project> Added: core3/samples/trunk/sample27/src/main/java/org/cytoscape/sample/internal/Sample27App.java =================================================================== --- core3/samples/trunk/sample27/src/main/java/org/cytoscape/sample/internal/Sample27App.java (rev 0) +++ core3/samples/trunk/sample27/src/main/java/org/cytoscape/sample/internal/Sample27App.java 2012-05-11 00:08:00 UTC (rev 29217) @@ -0,0 +1,41 @@ +package org.cytoscape.sample.internal; + +import java.util.HashSet; +import java.util.Properties; +import org.cytoscape.app.swing.AbstractCySwingApp; +import org.cytoscape.app.swing.CySwingAppAdapter; +import org.cytoscape.io.BasicCyFileFilter; +import org.cytoscape.io.DataCategory; +import org.cytoscape.io.read.InputStreamTaskFactory; +import org.cytoscape.io.util.StreamUtil; + +/** + * + */ +public class Sample27App extends AbstractCySwingApp { + + public Sample27App(CySwingAppAdapter swingAdapter){ + super(swingAdapter); + + //a.get + StreamUtil streamUtil = null; + + // Define a filter + HashSet<String> extensions = new HashSet<String>(); + extensions.add("tc"); + HashSet<String> contentTypes = new HashSet<String>(); + contentTypes.add("txt"); + String description = "My test filter"; + DataCategory category = DataCategory.NETWORK; + BasicCyFileFilter filter = new BasicCyFileFilter(extensions,contentTypes, description, category, streamUtil); + + // Create an instance of the TaskFactory + TCReaderFactory factory = new TCReaderFactory(filter, swingAdapter.getCyNetworkFactory(), swingAdapter.getCyNetworkViewFactory()); + + //register the ReaderFactory as an InputStreamTaskFactory. + Properties props = new Properties(); + props.setProperty("readerDescription","TC file reader"); + props.setProperty("readerId","tcNetworkReader"); + swingAdapter.getCyServiceRegistrar().registerService(factory, InputStreamTaskFactory.class, props); + } +} Added: core3/samples/trunk/sample27/src/main/java/org/cytoscape/sample/internal/TCReader.java =================================================================== --- core3/samples/trunk/sample27/src/main/java/org/cytoscape/sample/internal/TCReader.java (rev 0) +++ core3/samples/trunk/sample27/src/main/java/org/cytoscape/sample/internal/TCReader.java 2012-05-11 00:08:00 UTC (rev 29217) @@ -0,0 +1,74 @@ +package org.cytoscape.sample.internal; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.StringWriter; +import org.cytoscape.io.read.CyNetworkReader; +import org.cytoscape.model.CyNetwork; +import org.cytoscape.model.CyNetworkFactory; +import org.cytoscape.model.CyNode; +import org.cytoscape.model.CyRow; +import org.cytoscape.view.model.CyNetworkView; +import org.cytoscape.view.model.CyNetworkViewFactory; +import org.cytoscape.work.AbstractTask; +import org.cytoscape.work.TaskMonitor; + +public class TCReader extends AbstractTask implements CyNetworkReader { +// reads the file and creates a CyNetwork. + private static final int BUFFER_SIZE = 16384; + + private final InputStream stream; + private final CyNetworkFactory networkFactory; + private final CyNetworkViewFactory viewFactory; + private CyNetwork network; + + public TCReader(InputStream stream, CyNetworkFactory networkFactory, CyNetworkViewFactory viewFactory) { + this.stream = stream; + this.networkFactory = networkFactory; + this.viewFactory = viewFactory; + } + + + public void run(TaskMonitor taskMonitor) throws Exception { + String text = readString(stream); + + + network = networkFactory.createNetwork(); + + + CyNode node = network.addNode(); + CyRow attributes = network.getRow(node); + attributes.set("name", "NAMENAME"); + + + + + + } + + public CyNetwork[] getNetworks() { + return new CyNetwork[] { network }; + } + + public CyNetworkView buildCyNetworkView(CyNetwork network) { + return viewFactory.createNetworkView(network); + } + + private static String readString(InputStream source) throws IOException { + StringWriter writer = new StringWriter(); + BufferedReader reader = new BufferedReader(new InputStreamReader(source)); + try { + char[] buffer = new char[BUFFER_SIZE]; + int charactersRead = reader.read(buffer, 0, buffer.length); + while (charactersRead != -1) { + writer.write(buffer, 0, charactersRead); + charactersRead = reader.read(buffer, 0, buffer.length); + } + } finally { + reader.close(); + } + return writer.toString(); + } +} Added: core3/samples/trunk/sample27/src/main/java/org/cytoscape/sample/internal/TCReaderFactory.java =================================================================== --- core3/samples/trunk/sample27/src/main/java/org/cytoscape/sample/internal/TCReaderFactory.java (rev 0) +++ core3/samples/trunk/sample27/src/main/java/org/cytoscape/sample/internal/TCReaderFactory.java 2012-05-11 00:08:00 UTC (rev 29217) @@ -0,0 +1,26 @@ +package org.cytoscape.sample.internal; + +import java.io.InputStream; +import org.cytoscape.io.CyFileFilter; +import org.cytoscape.io.read.AbstractInputStreamTaskFactory; +import org.cytoscape.model.CyNetworkFactory; +import org.cytoscape.view.model.CyNetworkViewFactory; +import org.cytoscape.work.TaskIterator; + +public class TCReaderFactory extends AbstractInputStreamTaskFactory { + + + private CyNetworkFactory networkFactory; + private CyNetworkViewFactory viewFactory; + + public TCReaderFactory(CyFileFilter filter, CyNetworkFactory networkFactory,CyNetworkViewFactory viewFactory) { + super(filter); + this.networkFactory = networkFactory; + this.viewFactory = viewFactory; + } + + public TaskIterator createTaskIterator(InputStream stream, String inputName) { + return new TaskIterator(new TCReader(stream, this.networkFactory, this.viewFactory)); + } +} + -- 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.
