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.

Reply via email to