Author: pwang
Date: 2011-12-09 17:27:03 -0800 (Fri, 09 Dec 2011)
New Revision: 27762
Added:
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/ServicesUtil.java
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/read/
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/read/filter/
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/read/filter/FilterReader.java
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/write/
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/write/filter/
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/write/filter/FilterWriterFactoryImpl.java
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/write/filter/FilterWriterImpl.java
Log:
Original creation
Added:
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/ServicesUtil.java
===================================================================
---
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/ServicesUtil.java
(rev 0)
+++
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/ServicesUtil.java
2011-12-10 01:27:03 UTC (rev 27762)
@@ -0,0 +1,40 @@
+package org.cytoscape.filter.internal;
+
+import java.util.Properties;
+
+import org.cytoscape.application.CyApplicationManager;
+import org.cytoscape.application.swing.CySwingApplication;
+import org.cytoscape.event.CyEventHelper;
+import org.cytoscape.filter.internal.read.filter.FilterReader;
+import org.cytoscape.model.CyNetworkFactory;
+import org.cytoscape.model.CyNetworkManager;
+import org.cytoscape.property.CyProperty;
+import org.cytoscape.service.util.CyServiceRegistrar;
+import org.cytoscape.view.layout.CyLayoutAlgorithmManager;
+import org.cytoscape.view.model.CyNetworkViewFactory;
+import org.cytoscape.view.model.CyNetworkViewManager;
+import org.cytoscape.view.vizmap.VisualMappingManager;
+import org.cytoscape.work.TaskManager;
+
+public class ServicesUtil {
+
+
+ public static CySwingApplication cySwingApplicationServiceRef;
+
+ public static CyApplicationManager cyApplicationManagerServiceRef;
+
+ public static CyNetworkViewManager cyNetworkViewManagerServiceRef;
+ public static CyNetworkManager cyNetworkManagerServiceRef;
+ public static CyServiceRegistrar cyServiceRegistrarServiceRef;
+ public static CyEventHelper cyEventHelperServiceRef;
+ public static TaskManager taskManagerServiceRef;
+
+ public static CyProperty<Properties> cytoscapePropertiesServiceRef;
+ public static VisualMappingManager visualMappingManagerRef;
+ public static CyNetworkFactory cyNetworkFactoryServiceRef;
+
+ public static CyNetworkViewFactory cyNetworkViewFactoryServiceRef;
+ public static CyLayoutAlgorithmManager cyLayoutsServiceRef;
+
+ public static FilterReader filterReader;
+}
Added:
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/read/filter/FilterReader.java
===================================================================
---
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/read/filter/FilterReader.java
(rev 0)
+++
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/read/filter/FilterReader.java
2011-12-10 01:27:03 UTC (rev 27762)
@@ -0,0 +1,109 @@
+package org.cytoscape.filter.internal.read.filter;
+
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+
+import org.cytoscape.property.CyProperty;
+import org.cytoscape.session.events.SessionLoadedEvent;
+import org.cytoscape.session.events.SessionLoadedListener;
+import org.cytoscape.session.CySession;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.cytoscape.filter.internal.filters.CompositeFilter;
+import org.cytoscape.filter.internal.filters.FilterPlugin;
+import java.util.Vector;
+import org.cytoscape.filter.internal.filters.FilterIO;
+
+public final class FilterReader implements
CyProperty<Vector<CompositeFilter>>, SessionLoadedListener {
+ private static final Logger logger =
LoggerFactory.getLogger(FilterReader.class);
+
+ // This is in the resource file (jar)
+ private static final String DEF_PROP_FILE_NAME =
"default_filters.props";
+
+ private Vector<CompositeFilter> FilterVect;
+
+ /**
+ * Creates a new BookmarkReader object.
+ */
+ public FilterReader(String resourceLocation) {
+
+ InputStream is = null;
+ this.FilterVect = new Vector<CompositeFilter>();
+
+ try {
+ if ( resourceLocation == null )
+ throw new
NullPointerException("resourceLocation is null");
+
+ is =
this.getClass().getClassLoader().getResourceAsStream(resourceLocation);
+
+ if (is == null) {
+ // Load the default filter
+ is =
this.getClass().getClassLoader().getResourceAsStream(DEF_PROP_FILE_NAME);
+
+ if (is == null) {
+ System.err.println("FilterPlugin:
Failed to read default filters from \""
+ + DEF_PROP_FILE_NAME
+ "\" in the plugin's jar file!");
+ return;
+ }
+
+ final InputStreamReader inputStreamReader = new
InputStreamReader(is);
+
+ this.FilterVect =
FilterIO.getFilterVectFromPropFile(inputStreamReader);
+ }
+ else {
+ // load filters from prop file
+ System.out.println("\n\nFilterReader
constructor: Load filters frm prop file.....\n");
+
+
+
+ }
+
+
+ } catch (Exception e) {
+ logger.warn("Could not read filter file.", e);
+ } finally {
+ if (is != null) {
+ try { is.close(); } catch (IOException ioe) {}
+ is = null;
+ }
+ }
+
+// System.out.println("\n\n\tFilterReader
this.FilterVect.size()="+this.FilterVect.size()+ "\n");
+ }
+
+
+ @Override
+ public Vector<CompositeFilter> getProperties() {
+ return this.FilterVect;
+ }
+
+
+ @Override
+ public CyProperty.SavePolicy getSavePolicy() {
+ return CyProperty.SavePolicy.SESSION_FILE_AND_CONFIG_DIR;
+ }
+
+
+ @Override
+ public void handleEvent(SessionLoadedEvent e) {
+ // TODO
+// logger.debug("Updating filters from loaded session...");
+//
+// Vector<CompositeFilter> newFilterVect = null;
+// CySession sess = e.getLoadedSession();
+//
+// if (sess != null)
+// this.FilterVect = sess.getBookmarks();
+// else
+// logger.warn("Loaded session is null.");
+//
+// if (newFilterVect == null) {
+// logger.warn("Could not get new filters from loaded
session - using empty filters.");
+// this.FilterVect = null;
+// }
+//
+// this.FilterVect = newFilterVect;
+ }
+}
Added:
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/write/filter/FilterWriterFactoryImpl.java
===================================================================
---
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/write/filter/FilterWriterFactoryImpl.java
(rev 0)
+++
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/write/filter/FilterWriterFactoryImpl.java
2011-12-10 01:27:03 UTC (rev 27762)
@@ -0,0 +1,40 @@
+package org.cytoscape.filter.internal.write.filter;
+
+import java.io.OutputStream;
+import org.cytoscape.io.CyFileFilter;
+import org.cytoscape.io.write.CyPropertyWriterFactory;
+import org.cytoscape.io.write.CyWriter;
+
+public class FilterWriterFactoryImpl implements CyPropertyWriterFactory {
+
+ private final CyFileFilter thisFilter;
+
+ private OutputStream outputStream;
+ private Object props;
+
+ public FilterWriterFactoryImpl(CyFileFilter filter) {
+ this.thisFilter = filter;
+ }
+
+ @Override
+ public CyWriter getWriterTask() {
+ return new FilterWriterImpl(outputStream, props);
+ }
+
+
+ @Override
+ public void setOutputStream(OutputStream outputStream) {
+ this.outputStream = outputStream;
+ }
+
+ @Override
+ public CyFileFilter getCyFileFilter() {
+ return thisFilter;
+ }
+
+ @Override
+ public void setProperty(Object props) {
+ this.props = props;
+ }
+
+}
Added:
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/write/filter/FilterWriterImpl.java
===================================================================
---
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/write/filter/FilterWriterImpl.java
(rev 0)
+++
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/write/filter/FilterWriterImpl.java
2011-12-10 01:27:03 UTC (rev 27762)
@@ -0,0 +1,73 @@
+/*
+ Copyright (c) 2006,2010 The Cytoscape Consortium (www.cytoscape.org)
+
+ The Cytoscape Consortium is:
+ - Institute for Systems Biology
+ - University of California San Diego
+ - Memorial Sloan-Kettering Cancer Center
+ - Institut Pasteur
+ - Agilent Technologies
+
+ This library is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published
+ by the Free Software Foundation; either version 2.1 of the License, or
+ any later version.
+
+ This library is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY, WITHOUT EVEN THE IMPLIED WARRANTY OF
+ MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. The software and
+ documentation provided hereunder is on an "as is" basis, and the
+ Institute for Systems Biology and the Whitehead Institute
+ have no obligations to provide maintenance, support,
+ updates, enhancements or modifications. In no event shall the
+ Institute for Systems Biology and the Whitehead Institute
+ be liable to any party for direct, indirect, special,
+ incidental or consequential damages, including lost profits, arising
+ out of the use of this software and its documentation, even if the
+ Institute for Systems Biology and the Whitehead Institute
+ have been advised of the possibility of such damage. See
+ the GNU Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation,
+ Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ */
+
+package org.cytoscape.filter.internal.write.filter;
+
+import java.io.File;
+import java.io.OutputStream;
+import org.cytoscape.io.write.CyWriter;
+import org.cytoscape.work.TaskMonitor;
+import org.cytoscape.work.AbstractTask;
+import org.cytoscape.filter.internal.filters.CompositeFilter;
+import java.util.Vector;
+
+public class FilterWriterImpl extends AbstractTask implements CyWriter {
+
+ private final OutputStream outputStream;
+ private final Vector<CompositeFilter> compositeFilters;
+
+ public FilterWriterImpl(final OutputStream outputStream, final Object
props) {
+ this.outputStream = outputStream;
+ if ( props instanceof CompositeFilter )
+ compositeFilters = (Vector<CompositeFilter>)props;
+ else
+ throw new IllegalArgumentException("Properties must be
of type Bookmarks");
+ }
+
+
+ @Override
+ public void run(TaskMonitor taskMonitor) throws Exception {
+
+// final JAXBContext jc =
JAXBContext.newInstance(Bookmarks.class.getPackage().getName(),
this.getClass().getClassLoader());
+// Marshaller m = jc.createMarshaller();
+// m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
+// m.marshal(bookmarks, outputStream);
+
+// final File globalFilterFile = new File(cyConfigVerDir +
File.separator + "filters.props");
+// filterIO.saveGlobalPropFile(globalFilterFile);
+
+
+ }
+}
--
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.