Author: pwang
Date: 2010-08-17 17:15:10 -0700 (Tue, 17 Aug 2010)
New Revision: 21431

Removed:
   
core3/io-impl/trunk/src/main/java/org/cytoscape/io/internal/read/gml/GMLReader.java
Log:
Not needed

Deleted: 
core3/io-impl/trunk/src/main/java/org/cytoscape/io/internal/read/gml/GMLReader.java
===================================================================
--- 
core3/io-impl/trunk/src/main/java/org/cytoscape/io/internal/read/gml/GMLReader.java
 2010-08-18 00:12:19 UTC (rev 21430)
+++ 
core3/io-impl/trunk/src/main/java/org/cytoscape/io/internal/read/gml/GMLReader.java
 2010-08-18 00:15:10 UTC (rev 21431)
@@ -1,1058 +0,0 @@
-/*
- File: GMLReader.java
-
- Copyright (c) 2006, 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.io.internal.read.gml;
-
-import java.awt.Color;
-import java.awt.geom.Point2D;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.StringWriter;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.Vector;
-
-import org.cytoscape.io.internal.read.AbstractNetworkReader;
-import org.cytoscape.io.internal.read.VisualStyleBuilder;
-import org.cytoscape.view.layout.CyLayoutAlgorithm;
-import org.cytoscape.view.layout.LayoutAdapter;
-import org.cytoscape.model.CyEdge;
-import org.cytoscape.model.CyNetwork;
-import org.cytoscape.model.CyNode;
-import org.cytoscape.model.CyRow;
-import org.cytoscape.view.model.View;
-import org.cytoscape.view.model.CyNetworkView;
-//import org.cytoscape.vizmap.ArrowShape;
-//import org.cytoscape.vizmap.NodeShape;
-//import org.cytoscape.vizmap.VisualPropertyType;
-import org.cytoscape.work.TaskMonitor;
-
-
-/**
- * This class is responsible for converting a gml object tree into cytoscape
- * objects New features to the current version: 1. Small bug fixes. 2. 
Translate
- * all features in the GML file. This includes 3. New Visual Style will be
- * generated when you call this class. The new style saves all visual features
- * (like node shape) and will not be lost even after other style selected.
- */
-public class GMLReader extends AbstractNetworkReader {
-       /**
-        * The following are all taken to be reserved keywords for gml (note 
that
-        * not all of them are actually keywords according to the spec)
-        *
-        * Currently, only keywords below are supported by the Visual Style
-        * generation methods.
-        *
-        * (Maybe we need some documents on "cytoscape-style" GML format...)
-        */
-
-       // Graph Tags
-       public static String GRAPH = "graph";
-       public static String NODE = "node";
-       public static String EDGE = "edge";
-       public static String GRAPHICS = "graphics";
-       public static String LABEL = "label";
-       public static String SOURCE = "source";
-       public static String TARGET = "target";
-       public static String IS_DIRECTED = "directed";
-       
-       // The following elements are in "graphics" section of GML
-       public static String X = "x";
-       public static String Y = "y";
-       public static String H = "h";
-       public static String W = "w";
-       public static String TYPE = "type";
-       public static String ID = "id";
-       public static String ROOT_INDEX = "root_index";
-
-       // Shapes used in Cytoscape (not GML standard)
-       // In GML, they are called "type"
-       public static String RECTANGLE = "rectangle";
-       public static String ELLIPSE = "ellipse";
-       public static String LINE = "Line"; // This is the Polyline object.
-                                              // no support for now...
-       public static String POINT = "point";
-       public static String DIAMOND = "diamond";
-       public static String HEXAGON = "hexagon";
-       public static String OCTAGON = "octagon";
-       public static String PARALELLOGRAM = "parallelogram";
-       public static String TRIANGLE = "triangle";
-
-       // Other GML "graphics" attributes
-       public static String FILL = "fill";
-       public static String WIDTH = "width";
-       public static String STRAIGHT_LINES = "line";
-       public static String CURVED_LINES = "curved";
-       public static String SOURCE_ARROW = "source_arrow";
-       public static String TARGET_ARROW = "target_arrow";
-
-       // States of the ends of arrows
-       public static String ARROW = "arrow";
-       public static String ARROW_NONE = "none";
-       public static String ARROW_FIRST = "first";
-       public static String ARROW_LAST = "last";
-       public static String ARROW_BOTH = "both";
-       public static String OUTLINE = "outline";
-       public static String OUTLINE_WIDTH = "outline_width";
-       public static String DEFAULT_EDGE_INTERACTION = "pp";
-       public static String VERSION = "Version";
-       public static String CREATOR = "Creator";
-
-       private Color DEF_COLOR = new Color(153, 153, 255);
-
-       private VisualStyleBuilder graphStyle = null;
-       
-       // Entries in the file
-       List keyVals;
-
-       // Node ID's
-       Map<String,CyNode> nodeIDMap;
-       List<Integer> nodes;
-       List<Integer> sources;
-       List<Integer> targets;
-       List<Boolean> directionality_flags;
-       Vector<String> node_labels;
-       Vector<String> edge_labels;
-       Vector<KeyValue> edge_root_index_pairs;
-       Vector<KeyValue> node_root_index_pairs;
-       Vector<CyEdge> edge_names;
-       Vector<String> node_names;
-
-       private TaskMonitor taskMonitor;
-
-       // Name for the new visual style
-       String styleName;
-
-       // New Visual Style comverted from GML file.
-       //VisualStyle gmlstyle;
-
-       // Hashes for node & edge attributes
-       Map<String,Double> nodeW;
-
-       // Hashes for node & edge attributes
-       Map<String,Double> nodeH;
-
-       // Hashes for node & edge attributes
-//     Map<String,NodeShape> nodeShape;
-
-       // Hashes for node & edge attributes
-       Map<String,String> nodeCol;
-
-       // Hashes for node & edge attributes
-       Map<String,Double> nodeBWidth;
-
-       // Hashes for node & edge attributes
-       Map<String,String> nodeBCol;
-       Map<String,String> edgeCol;
-       Map<String,Float> edgeWidth;
-       Map<String,String> edgeArrow;
-       Map<String,String> edgeShape;
-
-       // The InputStream
-       InputStream inputStream = null;
-
-       CyNetwork network;
-
-       /**
-        * Constructor.<br>
-        * This is usually used for remote file loading.
-        *
-        * @param is
-        *            Input stream of GML file,
-        *
-        */
-       public GMLReader(CyNetwork net) {
-               
-               network = net;
-
-               // Set new style name
-               edge_names = new Vector<CyEdge>();
-               node_names = new Vector<String>();
-               // TODO fix name
-               graphStyle = new VisualStyleBuilder("fixme", false);
-               graphStyle.setNodeSizeLocked(false);
-
-       }
-
-       public void setInput(InputStream is) {
-               if ( is == null )
-                       throw new NullPointerException("input stream is null");
-               inputStream = is;
-       }
-
-       /**
-        * Sets the task monitor we want to use
-        *
-        * @param monitor the TaskMonitor to use
-        */
-       public void setTaskMonitor(TaskMonitor monitor) {
-               this.taskMonitor = monitor;
-       }
-
-       public CyNetwork getReadNetwork() {
-               return network;
-       }
-
-       public List<CyNetworkView> getReadNetworkViews() {
-               return null;
-       }
-
-       public String[] getExtensions() {
-               return new String[]{"gml"};
-       }
-
-       public String[] getContentTypes() {
-               return new String[]{"text/plain"};
-       }
-
-       public String getExtensionDescription() {
-               return "GML files";
-       }
-
-       /**
-        *  DOCUMENT ME!
-        */
-       public Map<Class<?>, Object> read() throws IOException {
-               try {
-                       keyVals = (new GMLParser(inputStream)).parseList();
-               } catch (Exception io) {
-                       io.printStackTrace();
-                       throw new RuntimeException(io.getMessage());
-               }
-
-               initializeStructures();
-
-               readGML(keyVals); // read the GML file
-               createGraph(); // create the graph AND new visual style
-
-               //
-               // New features are called here:
-               // 1 Extract (virtually) all attributes from the GML file
-               // 2 Generate new VS
-               // 3 Apply the new VS to the current window of Cytoscape
-               //
-               // Extract node & edge attributes
-               extract(); 
-
-               releaseStructures();
-               
-               return readObjects;
-       }
-
-       /**
-        * Returns a list containing the gml object tree
-        */
-       public List getList() {
-               return keyVals;
-       }
-
-       protected void initializeStructures() {
-               nodes = new ArrayList<Integer>();
-               sources = new ArrayList<Integer>();
-               targets = new ArrayList<Integer>();
-               directionality_flags = new ArrayList<Boolean>();
-               node_labels = new Vector<String>();
-               edge_labels = new Vector<String>();
-               edge_root_index_pairs = new Vector<KeyValue>();
-               node_root_index_pairs = new Vector<KeyValue>();
-       }
-
-       protected void releaseStructures() {
-               nodes = null;
-               sources = null;
-               targets = null;
-               directionality_flags = null;
-               node_labels = null;
-               edge_labels = null;
-               edge_root_index_pairs = null;
-               node_root_index_pairs = null;
-       }
-
-       /**
-        * This will create the graph model objects. This function expects node
-        * labels to be unique and edge labels to be unique between a particular
-        * source and target If this condition is not met, an error will be 
printed
-        * to the console, and the object will be skipped. That is, it is as 
though
-        * that particular object never existed in the gml file. If an edge 
depends
-        * on a node that was skipped, then that edge will be skipped as well.
-        */
-       protected void createGraph() {
-               
-               nodeIDMap = new HashMap<String,CyNode>(nodes.size());
-
-               Map<Integer,Integer> gml_id2order = new 
HashMap<Integer,Integer>(nodes.size());
-               Set<String> nodeNameSet = new HashSet<String>(nodes.size());
-
-               // Add All Nodes to Network
-               for (int idx = 0; idx < nodes.size(); idx++) {
-                       // Report Status Value
-                       if (taskMonitor != null) {
-                               // TODO: set proper number
-                               
//taskMonitor.setPercentCompleted(percentUtil.getGlobalPercent(2, idx, 
nodes.size()));
-                       }
-
-                       String label = node_labels.get(idx);
-
-                       if (nodeNameSet.add(label)) {
-                               CyNode node = network.addNode();
-                               node.attrs().set("name",label);
-
-                               nodeIDMap.put(label, node);
-                               gml_id2order.put(nodes.get(idx), idx);
-                               node_root_index_pairs.get(idx).value = 
Integer.valueOf(node.getIndex());
-                       } else {
-                               throw new RuntimeException("GML id " + 
nodes.get(idx) + " has a duplicated label: " + label);
-                       }
-               }
-
-               nodeNameSet = null;
-
-               Set<String> edgeNameSet = new HashSet<String>(sources.size());
-
-               // Add All Edges to Network
-               for (int idx = 0; idx < sources.size(); idx++) {
-                       // Report Status Value
-                       if (taskMonitor != null) {
-                               // TODO: set proper number
-                               
//taskMonitor.setPercentCompleted(percentUtil.getGlobalPercent(3, idx, 
sources.size()));
-                       }
-
-                       if (gml_id2order.containsKey(sources.get(idx)) && 
gml_id2order.containsKey(targets.get(idx))) {
-                               String label = edge_labels.get(idx);
-                               String sourceName = 
node_labels.get(gml_id2order.get(sources.get(idx)));
-                               String targetName = 
node_labels.get(gml_id2order.get(targets.get(idx)));
-                               String edgeName = sourceName + " (" + label + 
") " + targetName;
-                               Boolean isDirected = 
directionality_flags.get(idx);
-                               
-                               int duplicate_count = 1;
-
-                               while (!edgeNameSet.add(edgeName)) {
-                                       edgeName = sourceName + " (" + label + 
") " + targetName + "_" + duplicate_count;
-                                       duplicate_count += 1;
-                               }
-
-
-                               CyNode node_1 = nodeIDMap.get( sourceName );
-                               CyNode node_2 = nodeIDMap.get( targetName ); 
-                               CyEdge edge = network.addEdge(node_1, node_2, 
isDirected.booleanValue());
-                               edge.attrs().set("name", edgeName);
-                               edge.attrs().set("interaction", label);
-                               edge_names.add(idx, edge);
-
-                               edge_root_index_pairs.get(idx).value = 
Integer.valueOf(edge.getIndex());
-                       } else {
-                               throw new RuntimeException("Non-existant 
source/target node for edge with gml (source,target): "
-                                                      + sources.get(idx) + "," 
+ targets.get(idx));
-                       }
-               }
-
-               edgeNameSet = null;
-       }
-
-       /**
-        * This function takes the root level list which defines a gml objec 
tree
-        */
-       protected void readGML(List list) {
-               // Report Progress Message
-               int counter = 0;
-
-               for (Iterator it = list.iterator(); it.hasNext();) {
-                       // Report Progress Value
-                       if (taskMonitor != null) {
-                               //TODO: set proper number
-                               
//taskMonitor.setPercentCompleted(percentUtil.getGlobalPercent(1, counter, 
list.size()));
-                               counter++;
-                       }
-
-                       KeyValue keyVal = (KeyValue) it.next();
-
-                       if (keyVal.key.equals(GRAPH)) {
-                               readGraph((List) keyVal.value);
-                       }
-               }
-       }
-
-       /**
-        * This function takes in a list which was given as the value to a 
"graph"
-        * key underneath the main gml list
-        */
-       @SuppressWarnings("unchecked") // KeyValue.value cast
-       protected void readGraph(List list) {
-               for (Iterator it = list.iterator(); it.hasNext();) {
-                       KeyValue keyVal = (KeyValue) it.next();
-
-                       if (keyVal.key.equals(NODE)) {
-                               readNode((List) keyVal.value);
-                       }
-
-                       if (keyVal.key.equals(EDGE)) {
-                               readEdge((List) keyVal.value);
-                       }
-               }
-       }
-
-       /**
-        * This will extract the model information from the list which is 
matched a
-        * "node" key
-        */
-       protected void readNode(List<KeyValue> list) {
-               String label = "";
-               boolean contains_id = false;
-               int id = 0;
-               KeyValue root_index_pair = null;
-
-               for (Iterator it = list.iterator(); it.hasNext();) {
-                       KeyValue keyVal = (KeyValue) it.next();
-
-                       if (keyVal.key.equals(ID)) {
-                               contains_id = true;
-                               id = ((Integer) keyVal.value).intValue();
-                       } else if (keyVal.key.equals(LABEL)) {
-                               label = (String) keyVal.value;
-                       } else if (keyVal.key.equals(ROOT_INDEX)) {
-                               root_index_pair = keyVal;
-                       }
-               }
-
-               if (label.equals("") || label.matches("\\s+")) {
-                       label = String.valueOf(id);
-               }
-
-               if (root_index_pair == null) {
-                       root_index_pair = new KeyValue(ROOT_INDEX, null);
-                       list.add(root_index_pair);
-               }
-
-               if (!contains_id) {
-                       StringWriter stringWriter = new StringWriter();
-
-                       try {
-                               GMLParser.printList(list, stringWriter);
-                       } catch (Exception e) {
-                               throw new RuntimeException(e.getMessage());
-                       }
-
-                       throw new RuntimeException("The node-associated list\n" 
+ stringWriter
-                                              + "is missing an id field");
-               } else {
-                       node_root_index_pairs.add(root_index_pair);
-                       nodes.add(id);
-                       node_labels.add(label);
-                       node_names.add(label);
-               }
-       }
-
-       /**
-        * This will extract the model information from the list which is 
matched to
-        * an "edge" key.
-        */
-       protected void readEdge(List<KeyValue> list) {
-               String label = DEFAULT_EDGE_INTERACTION;
-               boolean contains_source = false;
-               boolean contains_target = false;
-               Boolean isDirected = Boolean.TRUE; // use pre-3.0 cytoscape's 
as default
-               int source = 0;
-               int target = 0;
-               KeyValue root_index_pair = null;
-
-               for (Iterator it = list.iterator(); it.hasNext();) {
-                       KeyValue keyVal = (KeyValue) it.next();
-
-                       if (keyVal.key.equals(SOURCE)) {
-                               contains_source = true;
-                               source = ((Integer) keyVal.value).intValue();
-                       } else if (keyVal.key.equals(TARGET)) {
-                               contains_target = true;
-                               target = ((Integer) keyVal.value).intValue();
-                       } else if (keyVal.key.equals(LABEL)) {
-                               label = (String) keyVal.value;
-                       } else if (keyVal.key.equals(ROOT_INDEX)) {
-                               root_index_pair = keyVal;
-                       } else if (keyVal.key.equals(IS_DIRECTED)) {
-                               if (((Integer)keyVal.value) == 1){
-                                       isDirected = Boolean.FALSE;
-                               } else {
-                                       isDirected = Boolean.TRUE;
-                               }
-                       }
-               }
-
-               if (root_index_pair == null) {
-                       root_index_pair = new KeyValue(ROOT_INDEX, null);
-                       list.add(root_index_pair);
-               }
-
-               if (!contains_source || !contains_target) {
-                       StringWriter stringWriter = new StringWriter();
-
-                       try {
-                               GMLParser.printList(list, stringWriter);
-                       } catch (Exception e) {
-                               throw new RuntimeException(e.getMessage());
-                       }
-
-                       throw new RuntimeException("The edge-associated list\n" 
+ stringWriter
-                                              + " is missing a source or 
target key");
-               } else {
-                       sources.add(source);
-                       targets.add(target);
-                       directionality_flags.add(isDirected);
-                       
-                       edge_labels.add(label);
-                       edge_root_index_pairs.add(root_index_pair);
-               }
-       }
-
-       /**
-        * getLayoutAlgorithm is called to get the Layout Algorithm that will 
be used
-        * to layout the resulting graph.  In our case, we just return a stub 
that will
-        * call our internal layout routine, which will just use the default 
layout, but
-        * with our task monitor
-        *
-        * @return the CyLayoutAlgorithm to use
-        */
-       public CyLayoutAlgorithm getLayoutAlgorithm() {
-               return new LayoutAdapter() {
-                       public void doLayout(CyNetworkView networkView, 
TaskMonitor monitor) {
-                               layout(networkView);
-                       }
-               };
-       }
-
-       /**
-        * layout the graph based on the GML values we read
-        *
-        * @param myView the view of the network we want to layout
-        */
-       public void layout(CyNetworkView myView) {
-               if ((myView == null) || (myView.getModel().getNodeCount() == 
0)) {
-                       return;
-               }
-
-               if (keyVals == null) {
-                       throw new RuntimeException("Failed to read gml file on 
initialization");
-               }
-
-               for (Iterator it = keyVals.iterator(); it.hasNext();) {
-                       KeyValue keyVal = (KeyValue) it.next();
-
-                       if (keyVal.key.equals(GRAPH)) {
-                               layoutGraph(myView, (List) keyVal.value);
-                       }
-               }
-       }
-
-       //
-       /**
-        *  DOCUMENT ME!
-        */
-       public void extract() {
-               if (keyVals == null) {
-                       throw new RuntimeException("Failed to read gml file on 
initialization");
-               }
-
-               for (Iterator it = keyVals.iterator(); it.hasNext();) {
-                       KeyValue keyVal = (KeyValue) it.next();
-
-                       if (keyVal.key.equals(GRAPH)) {
-                               extractGraph((List) keyVal.value);
-                       }
-               }
-       }
-
-       protected void extractGraph(List list) {
-               CyEdge edge = null;
-
-               // Count the current edge
-               int ePtr = 0;
-
-               for (Iterator it = list.iterator(); it.hasNext();) {
-                       final KeyValue keyVal = (KeyValue) it.next();
-
-                       if (keyVal.key.equals(NODE)) {
-                               extractNode((List) keyVal.value);
-                       } else if (keyVal.key.equals(EDGE)) {
-                               edge = edge_names.get(ePtr);
-                               ePtr++;
-                               extractEdge((List) keyVal.value, edge);
-                       }
-               }
-       }
-
-       @SuppressWarnings("unchecked") // KeyValue.value cast
-       protected void extractNode(List list) {
-               List graphics_list = null;
-               String label = null;
-               CyNode node = null;
-
-               int tempid = 0;
-
-               for (Iterator it = list.iterator(); it.hasNext();) {
-                       KeyValue keyVal = (KeyValue) it.next();
-
-                       if (keyVal.key.equals(ROOT_INDEX)) {
-                               if (keyVal.value == null) {
-                                       return;
-                               }
-                       } else if (keyVal.key.equals(GRAPHICS)) {
-                               graphics_list = (List) keyVal.value;
-                       } else if (keyVal.key.equals(LABEL)) {
-                               label = (String) keyVal.value;
-                               node = nodeIDMap.get(label);
-                       } else if (keyVal.key.equals(ID)) {
-                               tempid = ((Integer) keyVal.value).intValue();
-                       }
-               }
-
-               if (graphics_list != null) {
-                       if (node == null) {
-                               System.out.println("ERROR: node is missing for 
node ID: " + tempid);
-                               return;
-                       }
-
-                       extractNodeAttributes(graphics_list, node);
-               }
-       }
-
-       @SuppressWarnings("unchecked") // KeyValue.value cast
-       protected void extractEdge(List list, CyEdge edge) {
-               List graphics_list = null;
-
-               for (Iterator it = list.iterator(); it.hasNext();) {
-                       KeyValue keyVal = (KeyValue) it.next();
-
-                       if (keyVal.key.equals(ROOT_INDEX)) {
-                               if (keyVal.value == null) {
-                                       return;
-                               }
-                       } else if (keyVal.key.equals(GRAPHICS)) {
-                               graphics_list = (List) keyVal.value;
-                       }
-               }
-
-               if (graphics_list != null) {
-                       extractEdgeAttributes(graphics_list, edge);
-               }
-       }
-
-       /**
-        * Lays Out the Graph, based on GML.
-        */
-       @SuppressWarnings("unchecked") // KeyValue.value cast
-       protected void layoutGraph(final CyNetworkView myView, List list) {
-               CyEdge edge = null;
-
-               // Count the current edge
-               int ePtr = 0;
-
-               for (Iterator it = list.iterator(); it.hasNext();) {
-                       final KeyValue keyVal = (KeyValue) it.next();
-
-                       if (keyVal.key.equals(NODE)) {
-                               layoutNode(myView, (List) keyVal.value);
-                       } else if (keyVal.key.equals(EDGE)) {
-                               edge = edge_names.get(ePtr);
-                               ePtr++;
-                               layoutEdge(myView, (List) keyVal.value, edge);
-                       }
-               }
-       }
-
-       /**
-        * Assign node properties based on the values in the list matched to the
-        * "node" key. Mostly just a wrapper around layoutNodeGraphics
-        */
-       protected void layoutNode(CyNetworkView myView, List list) {
-               Integer root_index = null;
-               List graphics_list = null;
-               String label = null;
-               int tempid = 0;
-
-               View<CyNode> view = null;
-
-               for (Iterator it = list.iterator(); it.hasNext();) {
-                       KeyValue keyVal = (KeyValue) it.next();
-
-                       if (keyVal.key.equals(ROOT_INDEX)) {
-                               /*
-                                * For some reason we didn't make an object for 
this node give
-                                * up now
-                                */
-                               if (keyVal.value == null) {
-                                       return;
-                               }
-
-                               root_index = (Integer) keyVal.value;
-                       } else if (keyVal.key.equals(GRAPHICS)) {
-                               graphics_list = (List) keyVal.value;
-                       } else if (keyVal.key.equals(LABEL)) {
-                               label = (String) keyVal.value;
-                       } else if (keyVal.key.equals(ID)) {
-                               tempid = ((Integer) keyVal.value).intValue();
-                       }
-               }
-
-               // System.out.print( "In layout, Root index is: " + root_index 
);
-               // System.out.print( " Checking label: " + label );
-               view = 
myView.getNodeView(network.getNode(root_index.intValue()));
-
-// TODO update for new view
-//             if (label != null) {
-//                     view.getLabel().setText(label);
-//             } else {
-//                     view.getLabel().setText("node(" + tempid + ")");
-//             }
-
-               if (graphics_list != null) {
-                       layoutNodeGraphics(myView, graphics_list, view);
-
-               }
-       }
-
-       /**
-        * This will assign node graphic properties based on the values in the 
list
-        * matches to the "graphics" key word
-        */
-       protected void layoutNodeGraphics(CyNetworkView myView, List list, 
View<CyNode> nodeView) {
-       /*
-               for (Iterator it = list.iterator(); it.hasNext();) {
-                       KeyValue keyVal = (KeyValue) it.next();
-
-                       if (keyVal.key.equals(X)) {
-                               nodeView.setXPosition(((Number) 
keyVal.value).doubleValue());
-                       } else if (keyVal.key.equals(Y)) {
-                               nodeView.setYPosition(((Number) 
keyVal.value).doubleValue());
-                       } else if (keyVal.key.equals(H)) {
-                               nodeView.setHeight(((Number) 
keyVal.value).doubleValue());
-                       } else if (keyVal.key.equals(W)) {
-                               nodeView.setWidth(((Number) 
keyVal.value).doubleValue());
-                       } else if (keyVal.key.equals(FILL)) {
-                               nodeView.setUnselectedPaint(getColor((String) 
keyVal.value));
-                       } else if (keyVal.key.equals(OUTLINE)) {
-                               nodeView.setBorderPaint(getColor((String) 
keyVal.value));
-                       } else if (keyVal.key.equals(OUTLINE_WIDTH)) {
-                               nodeView.setBorderWidth(((Number) 
keyVal.value).floatValue());
-                       } else if (keyVal.key.equals(TYPE)) {
-                               String type = (String) keyVal.value;
-
-                               if (type.equals(ELLIPSE)) {
-                                       nodeView.setShape(NodeView.ELLIPSE);
-                               } else if (type.equals(RECTANGLE)) {
-                                       nodeView.setShape(NodeView.RECTANGLE);
-                               } else if (type.equals(DIAMOND)) {
-                                       nodeView.setShape(NodeView.DIAMOND);
-                               } else if (type.equals(HEXAGON)) {
-                                       nodeView.setShape(NodeView.HEXAGON);
-                               } else if (type.equals(OCTAGON)) {
-                                       nodeView.setShape(NodeView.OCTAGON);
-                               } else if (type.equals(PARALELLOGRAM)) {
-                                       
nodeView.setShape(NodeView.PARALELLOGRAM);
-                               } else if (type.equals(TRIANGLE)) {
-                                       nodeView.setShape(NodeView.TRIANGLE);
-                               }
-                       }
-               }
-               */
-       }
-
-       //
-       // Extract node attributes from GML file
-       @SuppressWarnings("unchecked") // KeyValue.value cast
-       protected void extractNodeAttributes(List<KeyValue> list, CyNode node) {
-               // Put all attributes into hashes.
-               // Key is the node name
-               // (Assume we do not have duplicate node name.)
-               /*
-               CyRow attrs = node.attrs();
-               for (Iterator it = list.iterator(); it.hasNext();) {
-                       KeyValue keyVal = (KeyValue) it.next();
-
-                       if (keyVal.key.equals(X) || keyVal.key.equals(Y)) {
-                               // Do nothing.
-                       } else if (keyVal.key.equals(H)) {
-                               graphStyle.addProperty(attrs, 
VisualPropertyType.NODE_HEIGHT, ""+keyVal.value);
-                       } else if (keyVal.key.equals(W)) {
-                               graphStyle.addProperty(attrs, 
VisualPropertyType.NODE_WIDTH, ""+keyVal.value);
-                       } else if (keyVal.key.equals(FILL)) {
-                               graphStyle.addProperty(attrs, 
VisualPropertyType.NODE_FILL_COLOR, ""+keyVal.value);
-                       } else if (keyVal.key.equals(OUTLINE)) {
-                               graphStyle.addProperty(attrs, 
VisualPropertyType.NODE_BORDER_COLOR, ""+keyVal.value);
-                       } else if (keyVal.key.equals(WIDTH)) {
-                               graphStyle.addProperty(attrs, 
VisualPropertyType.NODE_LINE_WIDTH, ""+keyVal.value);
-                       } else if (keyVal.key.equals(TYPE)) {
-                               String type = (String) keyVal.value;
-                               graphStyle.addProperty(attrs, 
VisualPropertyType.NODE_SHAPE,type);
-                       }
-               }
-               */
-       }
-
-
-       //
-       // Extract edge attributes from GML input
-       //
-       protected void extractEdgeAttributes(List<KeyValue> list, CyEdge edge) {
-/*
-               String value = null;
-               boolean isArrow = false;
-               String edgeFill = DEF_COLOR.toString();
-               String arrowShape = ARROW_NONE;
-               CyRow attrs = edge.attrs();
-               
-               for (Iterator it = list.iterator(); it.hasNext();) {
-                       KeyValue keyVal = (KeyValue) it.next();
-
-                       if (keyVal.key.equals(LINE)) {
-                               // This represents "Polyline," which is a line 
(usually an edge)
-                               // with arbitrary number of anchors.
-                               // Current version of CS does not support this, 
so ignore this
-                               // at this point of time...
-                       } else if (keyVal.key.equals(WIDTH)) {
-                               graphStyle.addProperty(attrs, 
VisualPropertyType.EDGE_LINE_WIDTH, new String(keyVal.value.toString()));
-                       } else if (keyVal.key.equals(FILL)) {
-                               graphStyle.addProperty(attrs, 
VisualPropertyType.EDGE_COLOR, new String(keyVal.value.toString()));
-                               edgeFill = keyVal.value.toString();
-                       } else if (keyVal.key.equals(ARROW)) {
-                               isArrow = true;
-                               ArrowShape shape = ArrowShape.ARROW;
-                               String arrowName = shape.getName();
-
-                               if 
(keyVal.value.toString().equalsIgnoreCase(ARROW_FIRST)) {
-                                       arrowShape = ARROW_FIRST;
-                                       graphStyle.addProperty(attrs, 
VisualPropertyType.EDGE_SRCARROW_SHAPE, arrowName);
-                               }                               
-                               else if 
(keyVal.value.toString().equalsIgnoreCase(ARROW_LAST)) {
-                                       arrowShape = ARROW_LAST;
-                                       graphStyle.addProperty(attrs, 
VisualPropertyType.EDGE_TGTARROW_SHAPE, arrowName);       
-                               }
-                               else if 
(keyVal.value.toString().equalsIgnoreCase(ARROW_BOTH)) {
-                                       arrowShape = ARROW_BOTH;
-                                       graphStyle.addProperty(attrs, 
VisualPropertyType.EDGE_SRCARROW_SHAPE, arrowName);
-                                       graphStyle.addProperty(attrs, 
VisualPropertyType.EDGE_TGTARROW_SHAPE, arrowName);               
-                               }
-                               else {// none
-                               }
-                               
-                       } else if (keyVal.key.equals(TYPE)) {
-                               value = (String) keyVal.value;
-
-                               if (value.equals(STRAIGHT_LINES)) {
-                                       // edgeShape.put(edgeName, (String) 
keyVal.value);
-                               } else if (value.equals(CURVED_LINES)) {
-                                       // 
edgeView.setLineType(EdgeView.CURVED_LINES);
-                               }
-                       } else if (keyVal.value.equals(SOURCE_ARROW)) {
-                               // 
edgeView.setSourceEdgeEnd(((Number)keyVal.value).intValue());
-                       } else if (keyVal.value.equals(TARGET_ARROW)) {
-                               // 
edgeView.setTargetEdgeEnd(((Number)keyVal.value).intValue());
-                       }
-               }
-               
-               // make the arrow color the same as edge
-               if (isArrow) {
-                       if (arrowShape.equals(ARROW_FIRST)) {
-                               graphStyle.addProperty(attrs, 
VisualPropertyType.EDGE_SRCARROW_COLOR, edgeFill);                              
  
-                       }
-                       else if (arrowShape.equals(ARROW_LAST)) {
-                               graphStyle.addProperty(attrs, 
VisualPropertyType.EDGE_TGTARROW_COLOR, edgeFill);
-                       }
-                       else if (arrowShape.equals(ARROW_BOTH)) {
-                               graphStyle.addProperty(attrs, 
VisualPropertyType.EDGE_SRCARROW_COLOR, edgeFill);
-                               graphStyle.addProperty(attrs, 
VisualPropertyType.EDGE_TGTARROW_COLOR, edgeFill);
-                       }
-               }
-               */
-       }
-
-       /**
-        * Assign edge visual properties based on pairs in the list matched to 
the
-        * "edge" key world
-        */
-       @SuppressWarnings("unchecked") // KeyValue.value cast
-       protected void layoutEdge(CyNetworkView myView, List<KeyValue> list, 
CyEdge edge) {
-               View<CyEdge> edgeView = null;
-               List graphics_list = null;
-
-               for (Iterator it = list.iterator(); it.hasNext();) {
-                       KeyValue keyVal = (KeyValue) it.next();
-
-                       if (keyVal.key.equals(ROOT_INDEX)) {
-                               /*
-                                * Previously, we didn't make an object for 
this edge for some
-                                * reason. Don't try to go any further.
-                                */
-                               if (keyVal.value == null) {
-                                       return;
-                               }
-
-                               edgeView = 
myView.getEdgeView(network.getEdge(((Integer) keyVal.value).intValue()));
-                       } else if (keyVal.key.equals(GRAPHICS)) {
-                               graphics_list = (List) keyVal.value;
-                       }
-               }
-
-               if ((edgeView != null) && (graphics_list != null)) {
-                       layoutEdgeGraphics(myView, graphics_list, edgeView);
-
-               }
-       }
-
-       /**
-        * Assign edge graphics properties
-        */
-
-       // Bug fix by Kei
-       // Some of the conditions used "value."
-       // They should be key.
-       // Now this method correctly translate the GML input file
-       // into graphics.
-       //
-       @SuppressWarnings("unchecked") // KeyValue.value cast
-       protected void layoutEdgeGraphics(CyNetworkView myView, List<KeyValue> 
list, View<CyEdge> edgeView) {
-       /*
-               // Local vars.
-               String value = null;
-               KeyValue keyVal = null;
-
-               for (Iterator it = list.iterator(); it.hasNext();) {
-                       keyVal = (KeyValue) it.next();
-
-                       // This is a polyline obj. However, it will be 
translated into
-                       // straight line.
-                       if (keyVal.key.equals(LINE)) {
-                               layoutEdgeGraphicsLine(myView, (List) 
keyVal.value, edgeView);
-                       } else if (keyVal.key.equals(WIDTH)) {
-                               edgeView.setStrokeWidth(((Number) 
keyVal.value).floatValue());
-                       } else if (keyVal.key.equals(FILL)) {
-                               edgeView.setUnselectedPaint(getColor((String) 
keyVal.value));
-                       } else if (keyVal.key.equals(TYPE)) {
-                               value = (String) keyVal.value;
-
-                               if (value.equals(STRAIGHT_LINES)) {
-                                       
edgeView.setLineType(EdgeView.STRAIGHT_LINES);
-                               } else if (value.equals(CURVED_LINES)) {
-                                       
edgeView.setLineType(EdgeView.CURVED_LINES);
-                               }
-                       } else if (keyVal.key.equals(ARROW)) {
-                               // The position of the arrow.
-                               // There are 4 states: no arrows, both ends 
have arrows, source,
-                               // or target.
-                               //
-                               // The arrow type below is hard-coded since GML 
does not
-                               // support shape of the arrow.
-                               if (keyVal.value.equals(ARROW_FIRST)) {
-                                       edgeView.setSourceEdgeEnd(2);
-                               } else if (keyVal.value.equals(ARROW_LAST)) {
-                                       edgeView.setTargetEdgeEnd(2);
-                               } else if (keyVal.value.equals(ARROW_BOTH)) {
-                                       edgeView.setSourceEdgeEnd(2);
-                                       edgeView.setTargetEdgeEnd(2);
-                               } else if (keyVal.value.equals(ARROW_NONE)) {
-                                       // Do nothing. No arrows.
-                               }
-
-                               if (keyVal.key.equals(SOURCE_ARROW)) {
-                                       edgeView.setSourceEdgeEnd(((Number) 
keyVal.value).intValue());
-                               } else if (keyVal.value.equals(TARGET_ARROW)) {
-                                       edgeView.setTargetEdgeEnd(((Number) 
keyVal.value).intValue());
-                               }
-                       }
-               }
-               */
-       }
-
-       /**
-        * Assign bend points based on the contents of the list associated with 
a
-        * "Line" key We make sure that there is both an x,y present in the
-        * underlying point list before trying to generate a bend point
-        */
-       protected void layoutEdgeGraphicsLine(CyNetworkView myView, 
List<KeyValue> list, View<CyEdge> edgeView) {
-       /*
-               for (Iterator it = list.iterator(); it.hasNext();) {
-                       KeyValue keyVal = (KeyValue) it.next();
-
-                       if (keyVal.key.equals(POINT)) {
-                               Number x = null;
-                               Number y = null;
-
-                               for (Iterator pointIt = ((List) 
keyVal.value).iterator(); pointIt.hasNext();) {
-                                       KeyValue pointVal = (KeyValue) 
pointIt.next();
-
-                                       if (pointVal.key.equals(X)) {
-                                               x = (Number) pointVal.value;
-                                       } else if (pointVal.key.equals(Y)) {
-                                               y = (Number) pointVal.value;
-                                       }
-                               }
-
-                               if (!((x == null) || (y == null))) {
-                                       Point2D.Double pt = new 
Point2D.Double(x.doubleValue(), y.doubleValue());
-                                       edgeView.getBend().addHandle(pt);
-                               }
-                       }
-               }
-               */
-       }
-
-       /**
-        * Create a color object from the string like it is stored in a gml file
-        */
-       private Color getColor(String colorString) {
-               return new Color(Integer.parseInt(colorString.substring(1), 
16));
-       }
-
-       public <T> T getReadData(Class<T> type) throws IllegalStateException,
-                       IllegalArgumentException {
-               // TODO Auto-generated method stub
-               return null;
-       }
-
-       public Set<Class<?>> getSupportedDataTypes() {
-               // TODO Auto-generated method stub
-               return null;
-       }
-
-       public void setInputStream(InputStream is) {
-               // TODO Auto-generated method stub
-               
-       }
-
-}

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