Author: pwang
Date: 2011-01-19 15:46:31 -0800 (Wed, 19 Jan 2011)
New Revision: 23518

Modified:
   
core3/table-import-impl/trunk/src/main/java/org/cytoscape/tableimport/internal/reader/NetworkLineParser.java
   
core3/table-import-impl/trunk/src/main/java/org/cytoscape/tableimport/internal/reader/NetworkTableReader.java
Log:
Bug fix

Modified: 
core3/table-import-impl/trunk/src/main/java/org/cytoscape/tableimport/internal/reader/NetworkLineParser.java
===================================================================
--- 
core3/table-import-impl/trunk/src/main/java/org/cytoscape/tableimport/internal/reader/NetworkLineParser.java
        2011-01-19 23:45:13 UTC (rev 23517)
+++ 
core3/table-import-impl/trunk/src/main/java/org/cytoscape/tableimport/internal/reader/NetworkLineParser.java
        2011-01-19 23:46:31 UTC (rev 23518)
@@ -46,6 +46,7 @@
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.HashMap;
 
 
 /**
@@ -59,6 +60,8 @@
        private final List<Long> nodeList;
        private final List<Long> edgeList;
        private CyNetwork network;
+       private HashMap<String, CyNode> nodeMap = new HashMap<String, CyNode>();
+       
        /**
         * Creates a new NetworkLineParser object.
         *
@@ -66,12 +69,11 @@
         * @param edgeList  DOCUMENT ME!
         * @param nmp  DOCUMENT ME!
         */
-       public NetworkLineParser(CyNetwork network, List<Long> nodeList, 
List<Long> edgeList,
+       public NetworkLineParser(List<Long> nodeList, List<Long> edgeList,
                                 final NetworkTableMappingParameters nmp) {
                this.nmp = nmp;
                this.nodeList = nodeList;
                this.edgeList = edgeList;
-               this.network = network;
        }
 
        /**
@@ -119,8 +121,14 @@
                                
                if (nodeIndex.equals(-1) == false && (nodeIndex <= 
(parts.length - 1)) && (parts[nodeIndex] != null)) {
                        //node = Cytoscape.getCyNode(parts[nodeIndex], true);
+                       
+                       if (this.nodeMap.containsKey(parts[nodeIndex])){
+                               return nodeMap.get(parts[nodeIndex]);
+                       }
                        node = network.addNode();       
                        node.getCyRow().set("name", parts[nodeIndex]);
+
+                       nodeMap.put(parts[nodeIndex], node);
                        
                        nodeList.add(node.getSUID());
                }
@@ -224,4 +232,8 @@
 
                return listAttr;
        }
+       
+       public void setNetwork(CyNetwork network){
+               this.network = network;
+       }
 }

Modified: 
core3/table-import-impl/trunk/src/main/java/org/cytoscape/tableimport/internal/reader/NetworkTableReader.java
===================================================================
--- 
core3/table-import-impl/trunk/src/main/java/org/cytoscape/tableimport/internal/reader/NetworkTableReader.java
       2011-01-19 23:45:13 UTC (rev 23517)
+++ 
core3/table-import-impl/trunk/src/main/java/org/cytoscape/tableimport/internal/reader/NetworkTableReader.java
       2011-01-19 23:46:31 UTC (rev 23518)
@@ -75,6 +75,7 @@
        protected final List<Long> edgeList;
        protected final int startLineNumber;
        protected final String commentChar;
+
        private CyNetwork network;
        
        private static final Logger logger = 
LoggerFactory.getLogger(NetworkTableReader.class);
@@ -99,7 +100,7 @@
                this.edgeList = new ArrayList<Long>();
                this.commentChar = commentChar;
 
-               parser = new NetworkLineParser(network, nodeList, edgeList, 
nmp);
+               parser = new NetworkLineParser(nodeList, edgeList, nmp);
        }
 
        /**
@@ -126,6 +127,8 @@
                InputStream is = null;
                String line;
 
+               parser.setNetwork(network);
+               
                try {
                        BufferedReader bufRd = null;
 

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