Author: mes
Date: 2010-09-22 15:12:54 -0700 (Wed, 22 Sep 2010)
New Revision: 21977
Added:
core3/io-api/trunk/src/main/java/org/cytoscape/io/read/CySessionReader.java
core3/io-api/trunk/src/main/java/org/cytoscape/io/read/CySessionReaderManager.java
core3/io-impl/trunk/src/main/java/org/cytoscape/io/internal/read/CySessionReaderManagerImpl.java
core3/io-impl/trunk/src/main/java/org/cytoscape/io/internal/write/SessionWriterManagerImpl.java
Modified:
core3/core-task-impl/trunk/
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/session/NewSessionTask.java
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/session/OpenSessionTask.java
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/session/OpenSessionTaskFactory.java
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/session/SaveSessionAsTask.java
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/session/SaveSessionTask.java
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-api/trunk/
core3/io-api/trunk/src/main/java/org/cytoscape/io/write/SessionWriter.java
core3/io-api/trunk/src/main/java/org/cytoscape/io/write/SessionWriterFactory.java
core3/io-api/trunk/src/main/java/org/cytoscape/io/write/SessionWriterManager.java
core3/io-impl/trunk/
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 new CySession api
Property changes on: core3/core-task-impl/trunk
___________________________________________________________________
Name: svn:ignore
+ .settings
target
.classpath
.project
Modified:
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/session/NewSessionTask.java
===================================================================
---
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/session/NewSessionTask.java
2010-09-22 22:12:11 UTC (rev 21976)
+++
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/session/NewSessionTask.java
2010-09-22 22:12:54 UTC (rev 21977)
@@ -44,14 +44,7 @@
}
public void run(TaskMonitor taskMonitor) {
- // All commented code should be handled by CySessionManager
-
- //mgr.setSessionState(Cytoscape.SESSION_OPENED);
-
- mgr.createNewSession();
-
- //mgr.setSessionState(Cytoscape.SESSION_NEW);
-
//Cytoscape.getPropertyChangeSupport().firePropertyChange(Cytoscape.CYTOSCAPE_INITIALIZED,
null, null);
+ mgr.setCurrentSession(null);
}
@Override
Modified:
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/session/OpenSessionTask.java
===================================================================
---
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/session/OpenSessionTask.java
2010-09-22 22:12:11 UTC (rev 21976)
+++
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/session/OpenSessionTask.java
2010-09-22 22:12:54 UTC (rev 21977)
@@ -33,8 +33,11 @@
import org.cytoscape.work.AbstractTask;
import org.cytoscape.work.TaskMonitor;
import org.cytoscape.work.Tunable;
+import org.cytoscape.session.CySession;
import org.cytoscape.session.CySessionManager;
import org.cytoscape.io.read.CyNetworkViewReaderManager;
+import org.cytoscape.io.read.CySessionReader;
+import org.cytoscape.io.read.CySessionReaderManager;
import org.cytoscape.io.read.CyTableReader;
import org.cytoscape.io.DataCategory;
@@ -46,8 +49,8 @@
* setAcceleratorCombo(java.awt.event.KeyEvent.VK_O, ActionEvent.CTRL_MASK);
*/
public class OpenSessionTask extends AbstractTask {
- private CySessionManager mgr;
- private CyNetworkViewReaderManager factory;
+ private CySessionManager sessionMgr;
+ private CySessionReaderManager readerMgr;
@Tunable(description="Session file to load")
public File file;
@@ -56,44 +59,50 @@
* Constructor.<br>
* Add a menu item under "File" and set shortcut.
*/
- public OpenSessionTask(CySessionManager mgr, CyNetworkViewReaderManager
factory) {
- this.mgr = mgr;
- this.factory = factory;
+ public OpenSessionTask(CySessionManager mgr, CySessionReaderManager
factory) {
+ this.sessionMgr = mgr;
+ this.readerMgr = factory;
}
/**
* Clear current session and open the cys file.
*/
public void run(TaskMonitor taskMonitor) throws Exception {
- String name = file.toString();
- // Close all networks in the workspace.
- //mgr.setSessionState(Cytoscape.SESSION_OPENED);
- mgr.createNewSession();
- //mgr.setSessionState(Cytoscape.SESSION_NEW);
-
-
taskMonitor.setStatusMessage("Opening Session File.\n\nIt may
take a while.\nPlease wait...");
taskMonitor.setProgress(0.0);
- CyTableReader sr;
+ if ( file == null )
+ throw new NullPointerException("No file specified!");
+
+ CySessionReader reader = readerMgr.getReader((file.toURI()));
- try {
- //sr = factory.getReader(file.toURI(),
DataCategory.SESSION);
- //sr.read();
- } catch (Exception e) {
- throw new Exception("Cannot open the session file: " +
name, e);
- } finally {
- sr = null;
+ if (cancelled)
+ return;
+
+ if (reader == null)
+ throw new NullPointerException("Failed to find
appropriate reader for file: " + file);
+
+ insertTasksAfterCurrentTask(new LoadSessionTask(reader));
+ }
+
+
+ private class LoadSessionTask extends AbstractTask {
+ CySessionReader reader;
+ LoadSessionTask(CySessionReader reader) {
+ this.reader = reader;
}
+
+ public void run(TaskMonitor taskMonitor) {
+ CySession newSession = reader.getCySession();
+ if ( newSession == null ) {
+ throw new NullPointerException("Session could
not be read for file: " + file);
+ }
- mgr.setCurrentSessionFileName(name);
-
- taskMonitor.setProgress(1.0);
- taskMonitor.setStatusMessage("Session file " + name + "
successfully loaded.");
+ sessionMgr.setCurrentSession(newSession);
+ taskMonitor.setProgress(1.0);
+ taskMonitor.setStatusMessage("Session file " + file + "
successfully loaded.");
+ }
}
- @Override
- public void cancel() {
- }
}
Modified:
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/session/OpenSessionTaskFactory.java
===================================================================
---
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/session/OpenSessionTaskFactory.java
2010-09-22 22:12:11 UTC (rev 21976)
+++
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/session/OpenSessionTaskFactory.java
2010-09-22 22:12:54 UTC (rev 21977)
@@ -32,6 +32,7 @@
import org.cytoscape.session.CySessionManager;
import org.cytoscape.io.read.CyNetworkViewReaderManager;
+import org.cytoscape.io.read.CySessionReaderManager;
import org.cytoscape.work.TaskFactory;
import org.cytoscape.work.TaskIterator;
@@ -40,9 +41,9 @@
public class OpenSessionTaskFactory implements TaskFactory {
private CySessionManager mgr;
- private CyNetworkViewReaderManager rmgr;
+ private CySessionReaderManager rmgr;
- public OpenSessionTaskFactory(CySessionManager mgr,
CyNetworkViewReaderManager rmgr) {
+ public OpenSessionTaskFactory(CySessionManager mgr,
CySessionReaderManager rmgr) {
this.mgr = mgr;
this.rmgr = rmgr;
}
Modified:
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/session/SaveSessionAsTask.java
===================================================================
---
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/session/SaveSessionAsTask.java
2010-09-22 22:12:11 UTC (rev 21976)
+++
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/session/SaveSessionAsTask.java
2010-09-22 22:12:54 UTC (rev 21977)
@@ -57,6 +57,6 @@
}
public void run(TaskMonitor taskMonitor) throws Exception {
- insertTasksAfterCurrentTask(new SessionWriter(writerMgr,
sessionMgr, file));
+ insertTasksAfterCurrentTask(new SessionWriter(writerMgr,
sessionMgr.getCurrentSession(), file));
}
}
Modified:
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/session/SaveSessionTask.java
===================================================================
---
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/session/SaveSessionTask.java
2010-09-22 22:12:11 UTC (rev 21976)
+++
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/session/SaveSessionTask.java
2010-09-22 22:12:54 UTC (rev 21977)
@@ -32,6 +32,7 @@
import org.cytoscape.io.write.SessionWriterManager;
import org.cytoscape.io.write.SessionWriter;
+import org.cytoscape.session.CySession;
import org.cytoscape.session.CySessionManager;
import org.cytoscape.work.AbstractTask;
import org.cytoscape.work.TaskMonitor;
@@ -40,7 +41,7 @@
public class SaveSessionTask extends AbstractTask {
- private final File file;
+
private final SessionWriterManager writerMgr;
private final CySessionManager sessionMgr;
@@ -51,10 +52,11 @@
super();
this.writerMgr = writerMgr;
this.sessionMgr = sessionMgr;
- file = new File(sessionMgr.getCurrentSessionFileName());
}
public void run(TaskMonitor taskMonitor) throws Exception {
- insertTasksAfterCurrentTask(new SessionWriter(writerMgr,
sessionMgr, file ));
+ CySession session = sessionMgr.getCurrentSession();
+ File file = new File(session.getFileName());
+ insertTasksAfterCurrentTask(new SessionWriter(writerMgr,
session, file ));
}
}
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-22 22:12:11 UTC (rev 21976)
+++
core3/core-task-impl/trunk/src/main/resources/META-INF/spring/bundle-context-osgi.xml
2010-09-22 22:12:54 UTC (rev 21977)
@@ -5,7 +5,7 @@
http://www.springframework.org/schema/osgi
http://www.springframework.org/schema/osgi/spring-osgi-1.0.xsd"
default-lazy-init="false">
-
+ <!-- collect necessary services -->
<osgi:reference id="cyNetworkNamingServiceRef"
interface="org.cytoscape.session.CyNetworkNaming" />
@@ -38,20 +38,23 @@
<osgi:reference id="networkWriterManagerServiceRef"
interface="org.cytoscape.io.write.CyNetworkWriterManager" />
+
+ <osgi:reference id="sessionWriterManagerServiceRef"
+ interface="org.cytoscape.io.write.SessionWriterManager" />
+
+ <osgi:reference id="sessionReaderManagerServiceRef"
+ interface="org.cytoscape.io.read.CySessionReaderManager" />
- <!--
- <osgi:reference id="cyWriterManagerServiceRef"
- interface="org.cytoscape.io.read.CyWriterManager"/>
<osgi:reference
- id="cySessionManagerServiceRef"
- interface="org.cytoscape.session.CySessionManager"/>
- -->
-
<osgi:reference id="cyNetworkManagerServiceRef"
interface="org.cytoscape.session.CyNetworkManager" />
+ <osgi:reference id="cySessionManagerServiceRef"
+ interface="org.cytoscape.session.CySessionManager" />
+
<osgi:reference id="cyPropertyServiceRef"
interface="org.cytoscape.property.CyProperty"
filter="(cyPropertyName=coreSettings)" />
+ <!-- now register our services -->
<osgi:service id="loadNetworkFileTaskFactoryService"
ref="loadNetworkFileTaskFactory"
interface="org.cytoscape.work.TaskFactory">
<osgi:service-properties>
@@ -420,37 +423,46 @@
</osgi:service-properties>
</osgi:service>
-<!-- ##################### Task that set the imported network as the
current one ###################-->
+ <!-- consider removing -->
+ <!-- useful for command line, but not otherwise
<osgi:service id="setCurrentNetworkTaskFactoryService"
ref="setCurrentNetworkTaskFactory"
interface="org.cytoscape.work.TaskFactory"/>
+ -->
+ <!-- session -->
+ <osgi:service id="newSessionTaskFactoryService"
ref="newSessionTaskFactory"
+ interface="org.cytoscape.work.TaskFactory">
+ <osgi:service-properties>
+ <entry key="title" value="Session" />
+ <entry key="preferredMenu" value="File.New" />
+ </osgi:service-properties>
+ </osgi:service>
- <!--
- <osgi:service id="newSessionTaskFactoryService"
- ref="newSessionTaskFactory"
- interface="org.cytoscape.work.TaskFactory">
<osgi:service-properties>
- <entry key="title" value="Session" /> <entry key="preferredMenu"
- value="File.New" /> </osgi:service-properties> </osgi:service>
+ <osgi:service id="openSessionTaskFactoryService"
ref="openSessionTaskFactory"
+ interface="org.cytoscape.work.TaskFactory">
+ <osgi:service-properties>
+ <entry key="title" value="Open" />
+ <entry key="preferredMenu" value="File" />
+ </osgi:service-properties>
+ </osgi:service>
- <osgi:service id="openSessionTaskFactoryService"
- ref="openSessionTaskFactory"
- interface="org.cytoscape.work.TaskFactory">
<osgi:service-properties>
- <entry key="title" value="Open" /> <entry key="preferredMenu"
- value="File" /> </osgi:service-properties> </osgi:service>
+ <osgi:service id="saveSessionTaskFactoryService"
ref="saveSessionTaskFactory"
+ interface="org.cytoscape.work.TaskFactory">
+ <osgi:service-properties>
+ <entry key="title" value="Save" />
+ <entry key="preferredMenu" value="File" />
+ </osgi:service-properties>
+ </osgi:service>
- <osgi:service id="saveSessionTaskFactoryService"
- ref="saveSessionTaskFactory"
- interface="org.cytoscape.work.TaskFactory">
<osgi:service-properties>
- <entry key="title" value="Save" /> <entry key="preferredMenu"
- value="File" /> </osgi:service-properties> </osgi:service>
+ <osgi:service id="saveSessionAsTaskFactoryService"
ref="saveSessionAsTaskFactory"
+ interface="org.cytoscape.work.TaskFactory">
+ <osgi:service-properties>
+ <entry key="title" value="Save As" />
+ <entry key="preferredMenu" value="File" />
+ </osgi:service-properties>
+ </osgi:service>
- <osgi:service id="saveSessionAsTaskFactoryService"
- ref="saveSessionAsTaskFactory"
- interface="org.cytoscape.work.TaskFactory">
<osgi:service-properties>
- <entry key="title" value="Save As" /> <entry key="preferredMenu"
- value="File" /> </osgi:service-properties> </osgi:service>
- -->
-
+ <!-- testing -->
<osgi:service id="tunablesTestTaskFactoryService"
ref="tunablesTestTaskFactory"
interface="org.cytoscape.work.TaskFactory">
<osgi:service-properties>
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-22 22:12:11 UTC (rev 21976)
+++
core3/core-task-impl/trunk/src/main/resources/META-INF/spring/bundle-context.xml
2010-09-22 22:12:54 UTC (rev 21977)
@@ -201,33 +201,31 @@
class="org.cytoscape.task.internal.zoom.FitContentTaskFactory">
</bean>
-
-
- <!-- Off until session stuff is implemented
+ <!-- session -->
<bean id="newSessionTaskFactory"
- class="org.cytoscape.task.internal.session.newSessionTaskFactory">
+ class="org.cytoscape.task.internal.session.NewSessionTaskFactory">
<constructor-arg ref="cySessionManagerServiceRef" />
</bean>
<bean id="openSessionTaskFactory"
class="org.cytoscape.task.internal.session.OpenSessionTaskFactory">
<constructor-arg ref="cySessionManagerServiceRef" />
- <constructor-arg ref="cyReaderManagerServiceRef" />
+ <constructor-arg ref="sessionReaderManagerServiceRef" />
</bean>
<bean id="saveSessionTaskFactory"
class="org.cytoscape.task.internal.session.SaveSessionTaskFactory">
<constructor-arg ref="cySessionManagerServiceRef" />
- <constructor-arg ref="cyWriterManagerServiceRef" />
+ <constructor-arg ref="sessionWriterManagerServiceRef" />
</bean>
<bean id="saveSessionAsTaskFactory"
class="org.cytoscape.task.internal.session.SaveSessionAsTaskFactory">
<constructor-arg ref="cySessionManagerServiceRef" />
- <constructor-arg ref="cyWriterManagerServiceRef" />
+ <constructor-arg ref="sessionWriterManagerServiceRef" />
</bean>
- -->
+ <!-- Misc -->
<bean id="proxySettingsTaskFactory"
class="org.cytoscape.task.internal.proxysettings.ProxySettingsTaskFactory">
<constructor-arg ref="taskManagerServiceRef" />
Property changes on: core3/io-api/trunk
___________________________________________________________________
Name: svn:ignore
+ .settings
target
.classpath
.project
Added:
core3/io-api/trunk/src/main/java/org/cytoscape/io/read/CySessionReader.java
===================================================================
--- core3/io-api/trunk/src/main/java/org/cytoscape/io/read/CySessionReader.java
(rev 0)
+++ core3/io-api/trunk/src/main/java/org/cytoscape/io/read/CySessionReader.java
2010-09-22 22:12:54 UTC (rev 21977)
@@ -0,0 +1,13 @@
+package org.cytoscape.io.read;
+
+import org.cytoscape.session.CySession;
+import org.cytoscape.work.Task;
+
+/**
+ */
+public interface CySessionReader extends Task {
+
+ CySession getCySession();
+
+}
+
Added:
core3/io-api/trunk/src/main/java/org/cytoscape/io/read/CySessionReaderManager.java
===================================================================
---
core3/io-api/trunk/src/main/java/org/cytoscape/io/read/CySessionReaderManager.java
(rev 0)
+++
core3/io-api/trunk/src/main/java/org/cytoscape/io/read/CySessionReaderManager.java
2010-09-22 22:12:54 UTC (rev 21977)
@@ -0,0 +1,29 @@
+package org.cytoscape.io.read;
+
+import java.io.InputStream;
+import java.net.URI;
+
+/**
+ *
+ */
+public interface CySessionReaderManager {
+ /**
+ * Given a URI this method will attempt to find a CySessionReaderFactory
+ * that can read the URI, will set the InputStream for the factory and
+ * will return the reader task.
+ * @param uri The URI we're attempting to read.
+ * @return A reader than can read the specified URI. Will return null if
+ * no reader can be found.
+ */
+ CySessionReader getReader(URI uri);
+
+ /**
+ * Given an InputStream this method will attempt to find a
CySessionReaderFactory
+ * that can read the stream, will set the InputStream for the factory and
+ * will return the reader task.
+ * @param stream The input stream we're attempting to read.
+ * @return A reader than can read the specified stream. Will return null if
+ * no reader can be found.
+ */
+ CySessionReader getReader(InputStream stream);
+}
Modified:
core3/io-api/trunk/src/main/java/org/cytoscape/io/write/SessionWriter.java
===================================================================
--- core3/io-api/trunk/src/main/java/org/cytoscape/io/write/SessionWriter.java
2010-09-22 22:12:11 UTC (rev 21976)
+++ core3/io-api/trunk/src/main/java/org/cytoscape/io/write/SessionWriter.java
2010-09-22 22:12:54 UTC (rev 21977)
@@ -1,7 +1,7 @@
package org.cytoscape.io.write;
-import org.cytoscape.session.CySessionManager;
+import org.cytoscape.session.CySession;
import org.cytoscape.io.CyFileFilter;
import org.cytoscape.work.TaskMonitor;
import org.cytoscape.work.AbstractTask;
@@ -12,21 +12,19 @@
*/
public final class SessionWriter extends AbstractTask implements CyWriter {
- private final CySessionManager sessionMgr;
+ private final CySession session;
private final SessionWriterManager writerMgr;
private final File outputFile;
- private boolean cancelTask;
+ public SessionWriter(SessionWriterManager writerMgr, CySession session,
File outputFile) {
- public SessionWriter(SessionWriterManager writerMgr, CySessionManager
sessionMgr, File outputFile) {
-
if ( writerMgr == null )
throw new NullPointerException("Writer Manager is
null");
this.writerMgr = writerMgr;
- if ( sessionMgr == null )
+ if ( session == null )
throw new NullPointerException("Session Manager is
null");
- this.sessionMgr = sessionMgr;
+ this.session = session;
if ( outputFile == null )
throw new NullPointerException("Output File is null");
@@ -41,14 +39,11 @@
if ( filters.size() > 1 )
throw new IllegalArgumentException("Found too many
session filters!");
- CyWriter writer =
writerMgr.getWriter(sessionMgr,filters.get(0),outputFile);
+ CyWriter writer =
writerMgr.getWriter(session,filters.get(0),outputFile);
if ( writer == null )
throw new NullPointerException("No CyWriter found for
specified file type!");
insertTasksAfterCurrentTask( writer );
}
- public void cancel() {
- cancelTask = true;
- }
}
Modified:
core3/io-api/trunk/src/main/java/org/cytoscape/io/write/SessionWriterFactory.java
===================================================================
---
core3/io-api/trunk/src/main/java/org/cytoscape/io/write/SessionWriterFactory.java
2010-09-22 22:12:11 UTC (rev 21976)
+++
core3/io-api/trunk/src/main/java/org/cytoscape/io/write/SessionWriterFactory.java
2010-09-22 22:12:54 UTC (rev 21977)
@@ -1,12 +1,12 @@
package org.cytoscape.io.write;
-import org.cytoscape.session.CySessionManager;
+import org.cytoscape.session.CySession;
/**
* Returns a Task that will write
*/
public interface SessionWriterFactory extends CyWriterFactory {
- void setSessionManager(CySessionManager mgr);
+ void setSession(CySession session);
}
Modified:
core3/io-api/trunk/src/main/java/org/cytoscape/io/write/SessionWriterManager.java
===================================================================
---
core3/io-api/trunk/src/main/java/org/cytoscape/io/write/SessionWriterManager.java
2010-09-22 22:12:11 UTC (rev 21976)
+++
core3/io-api/trunk/src/main/java/org/cytoscape/io/write/SessionWriterManager.java
2010-09-22 22:12:54 UTC (rev 21977)
@@ -34,11 +34,11 @@
*/
package org.cytoscape.io.write;
-import org.cytoscape.session.CySessionManager;
+import org.cytoscape.session.CySession;
import org.cytoscape.io.CyFileFilter;
import java.io.File;
public interface SessionWriterManager extends CyWriterManager {
- CyWriter getWriter(CySessionManager mgr, CyFileFilter filter, File
file);
+ CyWriter getWriter(CySession session, CyFileFilter filter, File file);
}
Property changes on: core3/io-impl/trunk
___________________________________________________________________
Name: svn:ignore
+ .settings
target
.classpath
.project
Added:
core3/io-impl/trunk/src/main/java/org/cytoscape/io/internal/read/CySessionReaderManagerImpl.java
===================================================================
---
core3/io-impl/trunk/src/main/java/org/cytoscape/io/internal/read/CySessionReaderManagerImpl.java
(rev 0)
+++
core3/io-impl/trunk/src/main/java/org/cytoscape/io/internal/read/CySessionReaderManagerImpl.java
2010-09-22 22:12:54 UTC (rev 21977)
@@ -0,0 +1,15 @@
+package org.cytoscape.io.internal.read;
+
+import org.cytoscape.io.read.CySessionReader;
+import org.cytoscape.io.read.CySessionReaderManager;
+import org.cytoscape.io.read.InputStreamTaskFactory;
+import org.cytoscape.io.DataCategory;
+
+public class CySessionReaderManagerImpl extends
+ GenericReaderManager<InputStreamTaskFactory, CySessionReader>
implements
+ CySessionReaderManager {
+
+ public CySessionReaderManagerImpl() {
+ super(DataCategory.SESSION);
+ }
+}
Added:
core3/io-impl/trunk/src/main/java/org/cytoscape/io/internal/write/SessionWriterManagerImpl.java
===================================================================
---
core3/io-impl/trunk/src/main/java/org/cytoscape/io/internal/write/SessionWriterManagerImpl.java
(rev 0)
+++
core3/io-impl/trunk/src/main/java/org/cytoscape/io/internal/write/SessionWriterManagerImpl.java
2010-09-22 22:12:54 UTC (rev 21977)
@@ -0,0 +1,29 @@
+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.CyWriter;
+import org.cytoscape.io.write.SessionWriterFactory;
+import org.cytoscape.io.write.SessionWriterManager;
+import org.cytoscape.session.CySession;
+
+public class SessionWriterManagerImpl extends
+ AbstractWriterManager<SessionWriterFactory> implements
+ SessionWriterManager {
+
+ public SessionWriterManagerImpl(DataCategory category) {
+ super(category);
+ }
+
+ @Override
+ public CyWriter getWriter(CySession session, CyFileFilter filter, File
file) {
+ SessionWriterFactory factory = getMatchingFactory(filter, file);
+ if (factory == null) {
+ throw new NullPointerException("Couldn't find matching
factory for filter: " + filter);
+ }
+ factory.setSession(session);
+ return factory.getWriter();
+ }
+
+}
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-22 22:12:11 UTC (rev 21976)
+++
core3/io-impl/trunk/src/main/resources/META-INF/spring/bundle-context-osgi.xml
2010-09-22 22:12:54 UTC (rev 21977)
@@ -37,10 +37,18 @@
interface="org.cytoscape.io.write.ViewWriterManager">
</osgi:service>
+ <osgi:service id="cySessionReaderManagerService"
ref="cySessionReaderManager"
+ interface="org.cytoscape.io.read.CySessionReaderManager">
+ </osgi:service>
+
<osgi:service id="networkWriterManagerService"
ref="networkWriterManager"
interface="org.cytoscape.io.write.CyNetworkWriterManager">
</osgi:service>
+ <osgi:service id="sessionWriterManagerService"
ref="sessionWriterManager"
+ interface="org.cytoscape.io.write.SessionWriterManager">
+ </osgi:service>
+
<osgi:service id="sifNetworkViewReaderFactoryService"
ref="sifNetworkViewReaderFactory"
interface="org.cytoscape.io.read.InputStreamTaskFactory">
<osgi:service-properties>
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-22 22:12:11 UTC (rev 21976)
+++ core3/io-impl/trunk/src/main/resources/META-INF/spring/bundle-context.xml
2010-09-22 22:12:54 UTC (rev 21977)
@@ -16,6 +16,24 @@
<context:annotation-config />
+ <bean id="cysFilter" class="org.cytoscape.io.internal.CyFileFilterImpl">
+ <constructor-arg index="0">
+ <set>
+ <value>cys</value>
+ </set>
+ </constructor-arg>
+ <constructor-arg index="1">
+ <set>
+ <value>application/zip</value>
+ </set>
+ </constructor-arg>
+ <constructor-arg value="Cytoscape Session (.cys) File" />
+ <constructor-arg type="org.cytoscape.io.DataCategory"
value="SESSION" />
+ <constructor-arg type="org.cytoscape.io.util.StreamUtil">
+ <ref bean="streamUtil"/>
+ </constructor-arg>
+ </bean>
+
<bean id="pngFilter" class="org.cytoscape.io.internal.CyFileFilterImpl">
<constructor-arg index="0">
<set>
@@ -189,6 +207,9 @@
<bean id="cyDataTableReaderManager"
class="org.cytoscape.io.internal.read.CyTableReaderManagerImpl" />
+
+ <bean id="cySessionReaderManager"
+ class="org.cytoscape.io.internal.read.CySessionReaderManagerImpl"
/>
<!-- All Writer Managers -->
@@ -198,6 +219,11 @@
<bean id="networkWriterManager"
class="org.cytoscape.io.internal.write.CyNetworkWriterManagerImpl">
<constructor-arg type="org.cytoscape.io.DataCategory"
- value="NETWORK" />
+ value="NETWORK" />
</bean>
+ <bean id="sessionWriterManager"
+ class="org.cytoscape.io.internal.write.SessionWriterManagerImpl">
+ <constructor-arg type="org.cytoscape.io.DataCategory"
+ value="SESSION" />
+ </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.