Author: clopes
Date: 2012-02-14 14:10:59 -0800 (Tue, 14 Feb 2012)
New Revision: 28269

Modified:
   
core3/impl/trunk/editor-impl/src/main/java/org/cytoscape/editor/internal/CyActivator.java
   
core3/impl/trunk/editor-impl/src/main/java/org/cytoscape/editor/internal/DropNetworkViewTask.java
   
core3/impl/trunk/editor-impl/src/main/java/org/cytoscape/editor/internal/DropNetworkViewTaskFactoryImpl.java
   
core3/impl/trunk/io-impl/impl/src/main/java/org/cytoscape/io/internal/CyActivator.java
   
core3/impl/trunk/io-impl/impl/src/main/java/org/cytoscape/io/internal/read/session/Cy3SessionReaderFactoryImpl.java
   
core3/impl/trunk/io-impl/impl/src/main/java/org/cytoscape/io/internal/read/session/Cy3SessionReaderImpl.java
   
core3/impl/trunk/io-impl/impl/src/main/java/org/cytoscape/io/internal/read/session/CyTableMetadataImpl.java
   
core3/impl/trunk/io-impl/impl/src/main/java/org/cytoscape/io/internal/read/xgmml/handler/HandleEdge.java
   
core3/impl/trunk/io-impl/impl/src/main/java/org/cytoscape/io/internal/read/xgmml/handler/HandleNode.java
   
core3/impl/trunk/io-impl/impl/src/main/java/org/cytoscape/io/internal/read/xgmml/handler/ReadDataManager.java
   
core3/impl/trunk/io-impl/impl/src/main/java/org/cytoscape/io/internal/util/session/VirtualColumnSerializer.java
Log:
fixes #685 : Node and Edge "name" columns are null in sub-networks

Modified: 
core3/impl/trunk/editor-impl/src/main/java/org/cytoscape/editor/internal/CyActivator.java
===================================================================
--- 
core3/impl/trunk/editor-impl/src/main/java/org/cytoscape/editor/internal/CyActivator.java
   2012-02-14 20:50:53 UTC (rev 28268)
+++ 
core3/impl/trunk/editor-impl/src/main/java/org/cytoscape/editor/internal/CyActivator.java
   2012-02-14 22:10:59 UTC (rev 28269)
@@ -8,6 +8,7 @@
 import org.cytoscape.event.CyEventHelper;
 import org.cytoscape.task.creation.NewEmptyNetworkViewFactory;
 import org.cytoscape.model.CyNetworkManager;
+import org.cytoscape.model.subnetwork.CyRootNetworkManager;
 
 import org.cytoscape.editor.internal.DropNetworkViewTaskFactoryImpl;
 import org.cytoscape.editor.internal.DropNodeViewTaskFactoryImpl;
@@ -47,12 +48,11 @@
 
                CySwingApplication cySwingApplicationServiceRef = 
getService(bc,CySwingApplication.class);
                CyNetworkManager cyNetworkManagerServiceRef = 
getService(bc,CyNetworkManager.class);
+               CyRootNetworkManager cyRootNetworkManagerServiceRef = 
getService(bc,CyRootNetworkManager.class);
                NewEmptyNetworkViewFactory newEmptyNetworkViewFactoryServiceRef 
= getService(bc,NewEmptyNetworkViewFactory.class);
                CyEventHelper cyEventHelperServiceRef = 
getService(bc,CyEventHelper.class);
-               
                VisualMappingManager vmm = 
getService(bc,VisualMappingManager.class);
 
-
                ImageIcon nodeIcon = new 
ImageIcon(getClass().getResource("/images/node.png"));
                ImageIcon edgeIcon = new 
ImageIcon(getClass().getResource("/images/edge.png"));
                ImageIcon netIcon = new 
ImageIcon(getClass().getResource("/images/network.png"));
@@ -87,7 +87,7 @@
                ShapePalette shapePalette = new 
ShapePalette(cySwingApplicationServiceRef);
 
                SIFInterpreterTaskFactory sifInterpreterTaskFactory = new 
SIFInterpreterTaskFactory();
-               DropNetworkViewTaskFactoryImpl dropNetworkViewTaskFactory = new 
DropNetworkViewTaskFactoryImpl(cyEventHelperServiceRef, vmm);
+               DropNetworkViewTaskFactoryImpl dropNetworkViewTaskFactory = new 
DropNetworkViewTaskFactoryImpl(cyEventHelperServiceRef, vmm, 
cyRootNetworkManagerServiceRef);
                DropNodeViewTaskFactoryImpl dropNodeViewTaskFactory = new 
DropNodeViewTaskFactoryImpl(cyNetworkManagerServiceRef);
                EditorCytoPanelComponent editorCytoPanelComponent = new 
EditorCytoPanelComponent(shapePalette);
                CurrentNetworkViewListener currentNetworkViewListener = new 
CurrentNetworkViewListener(cySwingApplicationServiceRef,editorCytoPanelComponent);

Modified: 
core3/impl/trunk/editor-impl/src/main/java/org/cytoscape/editor/internal/DropNetworkViewTask.java
===================================================================
--- 
core3/impl/trunk/editor-impl/src/main/java/org/cytoscape/editor/internal/DropNetworkViewTask.java
   2012-02-14 20:50:53 UTC (rev 28268)
+++ 
core3/impl/trunk/editor-impl/src/main/java/org/cytoscape/editor/internal/DropNetworkViewTask.java
   2012-02-14 22:10:59 UTC (rev 28269)
@@ -1,46 +1,47 @@
 package org.cytoscape.editor.internal;
 
 
+import java.awt.datatransfer.Transferable;
 import java.awt.geom.Point2D;
-import java.awt.datatransfer.DataFlavor;
-import java.awt.datatransfer.Transferable;
 
+import javax.swing.JOptionPane;
+
+import org.cytoscape.dnd.DropUtil;
+import org.cytoscape.editor.internal.gui.ShapePalette;
+import org.cytoscape.event.CyEventHelper;
+import org.cytoscape.model.CyNetwork;
+import org.cytoscape.model.CyNode;
+import org.cytoscape.model.subnetwork.CyRootNetworkManager;
 import org.cytoscape.task.AbstractNetworkViewTask;
 import org.cytoscape.view.model.CyNetworkView;
 import org.cytoscape.view.model.View;
+import org.cytoscape.view.presentation.property.MinimalVisualLexicon;
+import org.cytoscape.view.vizmap.VisualMappingManager;
+import org.cytoscape.view.vizmap.VisualStyle;
 import org.cytoscape.work.TaskMonitor;
-
-import org.cytoscape.view.presentation.property.MinimalVisualLexicon;
-import org.cytoscape.model.CyNetwork;
-import org.cytoscape.model.CyNode;
-
-import org.cytoscape.dnd.DropUtil;
-import org.cytoscape.editor.internal.gui.ShapePalette;
-import org.cytoscape.event.CyEventHelper;
-
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import org.cytoscape.view.vizmap.VisualMappingManager;
-import org.cytoscape.view.vizmap.VisualStyle;
-import javax.swing.JOptionPane;
 
 public class DropNetworkViewTask extends AbstractNetworkViewTask {
 
+       private final VisualMappingManager vmm;
+       private final CyRootNetworkManager rnm;
        private final Transferable t;
        private final Point2D xformPt;
        private final CyEventHelper eh;
        private static int new_node_index =1;
-       private VisualMappingManager vmm;
 
        private static final Logger logger = 
LoggerFactory.getLogger(DropNetworkViewTask.class);
        
        
-       public DropNetworkViewTask(VisualMappingManager vmm, CyNetworkView 
view, Transferable t, Point2D xformPt, CyEventHelper eh) {
+       public DropNetworkViewTask(final VisualMappingManager vmm, final 
CyRootNetworkManager rnm, final CyNetworkView view,
+                       final Transferable t, final Point2D xformPt, final 
CyEventHelper eh) {
                super(view);
+               this.vmm = vmm;
+               this.rnm = rnm;
                this.t = t;
                this.xformPt = xformPt;
                this.eh = eh;
-               this.vmm = vmm;
        }
 
        @Override
@@ -58,13 +59,13 @@
                
                if (ShapePalette.specifyIdentifier){
                        nodeName = JOptionPane.showInputDialog("Please specify 
a name");
-               }
-               else {
+               } else {
                        nodeName = "Node_"+ new_node_index;             
                        new_node_index++;
                }
 
-               net.getRow(n).set("name", nodeName);
+               net.getRow(n).set(CyNode.NAME, nodeName);
+               rnm.getRootNetwork(net).getRow(n).set(CyNode.NAME, nodeName);
                
                eh.flushPayloadEvents();
                View<CyNode> nv = view.getNodeView(n);
@@ -75,6 +76,5 @@
                // Apply visual style
                VisualStyle vs = vmm.getVisualStyle(view);
                vs.apply(view);
-
        }
 }

Modified: 
core3/impl/trunk/editor-impl/src/main/java/org/cytoscape/editor/internal/DropNetworkViewTaskFactoryImpl.java
===================================================================
--- 
core3/impl/trunk/editor-impl/src/main/java/org/cytoscape/editor/internal/DropNetworkViewTaskFactoryImpl.java
        2012-02-14 20:50:53 UTC (rev 28268)
+++ 
core3/impl/trunk/editor-impl/src/main/java/org/cytoscape/editor/internal/DropNetworkViewTaskFactoryImpl.java
        2012-02-14 22:10:59 UTC (rev 28269)
@@ -6,6 +6,7 @@
 
 import org.cytoscape.dnd.DropNetworkViewTaskFactory;
 import org.cytoscape.event.CyEventHelper;
+import org.cytoscape.model.subnetwork.CyRootNetworkManager;
 import org.cytoscape.view.model.CyNetworkView;
 import org.cytoscape.view.vizmap.VisualMappingManager;
 import org.cytoscape.work.TaskIterator;
@@ -18,10 +19,12 @@
        private Point2D xformPt;
        private final CyEventHelper eh;
        private final VisualMappingManager vmm;
+       final CyRootNetworkManager rnm;
        
-       public DropNetworkViewTaskFactoryImpl(CyEventHelper eh, 
VisualMappingManager vmm) {
+       public DropNetworkViewTaskFactoryImpl(CyEventHelper eh, 
VisualMappingManager vmm, CyRootNetworkManager rnm) {
                this.eh = eh;
                this.vmm = vmm;
+               this.rnm = rnm;
        }
 
        public void setNetworkView(CyNetworkView view) {
@@ -35,6 +38,6 @@
        }
 
        public TaskIterator createTaskIterator() {
-               return new TaskIterator(new DropNetworkViewTask(vmm, view, t, 
xformPt, eh));
+               return new TaskIterator(new DropNetworkViewTask(vmm, rnm, view, 
t, xformPt, eh));
        }
 }

Modified: 
core3/impl/trunk/io-impl/impl/src/main/java/org/cytoscape/io/internal/CyActivator.java
===================================================================
--- 
core3/impl/trunk/io-impl/impl/src/main/java/org/cytoscape/io/internal/CyActivator.java
      2012-02-14 20:50:53 UTC (rev 28268)
+++ 
core3/impl/trunk/io-impl/impl/src/main/java/org/cytoscape/io/internal/CyActivator.java
      2012-02-14 22:10:59 UTC (rev 28269)
@@ -132,7 +132,7 @@
                VisualMappingFunctionFactory continuousMappingFactoryServiceRef 
= getService(bc,VisualMappingFunctionFactory.class,"(mapping.type=continuous)");
                VisualMappingFunctionFactory 
passthroughMappingFactoryServiceRef = 
getService(bc,VisualMappingFunctionFactory.class,"(mapping.type=passthrough)");
                EquationCompiler equationCompilerServiceRef = 
getService(bc,EquationCompiler.class);
-               CyRootNetworkManager cyRootNetworkFactoryServiceRef = 
getService(bc,CyRootNetworkManager.class);
+               CyRootNetworkManager cyRootNetworkManagerServiceRef = 
getService(bc,CyRootNetworkManager.class);
                
                StreamUtilImpl streamUtil = new 
StreamUtilImpl(cyPropertyServiceRef);
                BasicCyFileFilter expressionFilter = new BasicCyFileFilter(new 
String[]{"pvals"}, new String[]{"text/plain"},"Cytoscape Expression Matrix 
(.pvals) File", DataCategory.TABLE, streamUtil);
@@ -175,20 +175,20 @@
                CalculatorConverterFactory calculatorConverterFactory = new 
CalculatorConverterFactory();
                ReadUtils readUtil = new ReadUtils(streamUtil);
                ExpressionReaderFactory expressionReaderFactory = new 
ExpressionReaderFactory(expressionFilter,cyTableFactoryServiceRef,cyTableManagerServiceRef);
-               CyAttributesReaderFactory attrsDataReaderFactory = new 
CyAttributesReaderFactory(attrsFilter,cyTableFactoryServiceRef,cyApplicationManagerServiceRef,cyNetworkManagerServiceRef,cyTableManagerServiceRef,cyRootNetworkFactoryServiceRef);
+               CyAttributesReaderFactory attrsDataReaderFactory = new 
CyAttributesReaderFactory(attrsFilter,cyTableFactoryServiceRef,cyApplicationManagerServiceRef,cyNetworkManagerServiceRef,cyTableManagerServiceRef,cyRootNetworkManagerServiceRef);
                SIFNetworkReaderFactory sifNetworkViewReaderFactory = new 
SIFNetworkReaderFactory(sifFilter,cyLayoutsServiceRef,cyNetworkViewFactoryServiceRef,cyNetworkFactoryServiceRef,cyEventHelperRef);
                UnrecognizedVisualPropertyManager 
unrecognizedVisualPropertyManager = new 
UnrecognizedVisualPropertyManager(cyTableFactoryServiceRef,cyTableManagerServiceRef);
                GMLNetworkReaderFactory gmlNetworkViewReaderFactory = new 
GMLNetworkReaderFactory(gmlFilter,cyNetworkViewFactoryServiceRef,cyNetworkFactoryServiceRef,renderingEngineManagerServiceRef,unrecognizedVisualPropertyManager);
                ReadCache readCache = new ReadCache();
-               ReadDataManager readDataManager = new 
ReadDataManager(readCache,equationCompilerServiceRef,cyNetworkFactoryServiceRef,cyRootNetworkFactoryServiceRef);
+               ReadDataManager readDataManager = new 
ReadDataManager(readCache,equationCompilerServiceRef,cyNetworkFactoryServiceRef,cyRootNetworkManagerServiceRef);
                
                HandlerFactory handlerFactory = new 
HandlerFactory(readDataManager);
                XGMMLParser xgmmlParser = new 
XGMMLParser(handlerFactory,readDataManager);
-               XGMMLNetworkReaderFactory xgmmlNetworkReaderFactory = new 
XGMMLNetworkReaderFactory(xgmmlFilter,cyNetworkViewFactoryServiceRef,cyNetworkFactoryServiceRef,cyRootNetworkFactoryServiceRef,renderingEngineManagerServiceRef,readDataManager,xgmmlParser,unrecognizedVisualPropertyManager);
+               XGMMLNetworkReaderFactory xgmmlNetworkReaderFactory = new 
XGMMLNetworkReaderFactory(xgmmlFilter,cyNetworkViewFactoryServiceRef,cyNetworkFactoryServiceRef,cyRootNetworkManagerServiceRef,renderingEngineManagerServiceRef,readDataManager,xgmmlParser,unrecognizedVisualPropertyManager);
                XGMMLNetworkViewReaderFactory xgmmlNetworkViewReaderFactory = 
new 
XGMMLNetworkViewReaderFactory(xgmmlViewFilter,cyNetworkViewFactoryServiceRef,cyNetworkFactoryServiceRef,renderingEngineManagerServiceRef,readDataManager,xgmmlParser,unrecognizedVisualPropertyManager);
                CSVCyReaderFactory sessionTableReaderFactory = new 
CSVCyReaderFactory(sessionTableFilter,true,true,cyTableFactoryServiceRef,compilerServiceRef,cyTableManagerServiceRef);
-               Cy3SessionReaderFactoryImpl cy3SessionReaderFactory = new 
Cy3SessionReaderFactoryImpl(cys3Filter,readCache,cyNetworkReaderManager,cyPropertyReaderManager,vizmapReaderManager,sessionTableReaderFactory,cyNetworkTableManagerServiceRef);
-               Cy2SessionReaderFactoryImpl cy2SessionReaderFactory = new 
Cy2SessionReaderFactoryImpl(cys2Filter,readCache,cyNetworkReaderManager,cyPropertyReaderManager,vizmapReaderManager,cyRootNetworkFactoryServiceRef);
+               Cy3SessionReaderFactoryImpl cy3SessionReaderFactory = new 
Cy3SessionReaderFactoryImpl(cys3Filter,readCache,cyNetworkReaderManager,cyPropertyReaderManager,vizmapReaderManager,sessionTableReaderFactory,cyNetworkTableManagerServiceRef,cyRootNetworkManagerServiceRef);
+               Cy2SessionReaderFactoryImpl cy2SessionReaderFactory = new 
Cy2SessionReaderFactoryImpl(cys2Filter,readCache,cyNetworkReaderManager,cyPropertyReaderManager,vizmapReaderManager,cyRootNetworkManagerServiceRef);
                CysessionReaderFactory cysessionReaderFactory = new 
CysessionReaderFactory(cysessionFilter);
                BookmarkReaderFactory bookmarkReaderFactory = new 
BookmarkReaderFactory(bookmarksFilter);
                PropertiesReaderFactory propertiesReaderFactory = new 
PropertiesReaderFactory(propertiesFilter);
@@ -201,14 +201,14 @@
                PSWriterFactory psWriterFactory = new PSWriterFactory(psFilter);
                SVGWriterFactory svgWriterFactory = new 
SVGWriterFactory(svgFilter);
                SifNetworkWriterFactory sifNetworkViewWriterFactory = new 
SifNetworkWriterFactory(sifFilter);
-               XGMMLNetworkViewWriterFactory xgmmlNetworkViewWriterFactory = 
new 
XGMMLNetworkViewWriterFactory(xgmmlFilter,renderingEngineManagerServiceRef,unrecognizedVisualPropertyManager,cyNetworkManagerServiceRef,cyRootNetworkFactoryServiceRef);
+               XGMMLNetworkViewWriterFactory xgmmlNetworkViewWriterFactory = 
new 
XGMMLNetworkViewWriterFactory(xgmmlFilter,renderingEngineManagerServiceRef,unrecognizedVisualPropertyManager,cyNetworkManagerServiceRef,cyRootNetworkManagerServiceRef);
                CysessionWriterFactoryImpl cysessionWriterFactory = new 
CysessionWriterFactoryImpl(cysessionFilter);
                BookmarksWriterFactoryImpl bookmarksWriterFactory = new 
BookmarksWriterFactoryImpl(bookmarksFilter);
                PropertiesWriterFactoryImpl propertiesWriterFactory = new 
PropertiesWriterFactoryImpl(propertiesFilter);
                CSVTableWriterFactory csvTableWriterFactory = new 
CSVTableWriterFactory(csvFilter,false,false);
                CSVTableWriterFactory sessionTableWriterFactory = new 
CSVTableWriterFactory(sessionTableFilter,true,true);
                VizmapWriterFactoryImpl vizmapWriterFactory = new 
VizmapWriterFactoryImpl(vizmapXMLFilter,visualStyleSerializer);
-               SessionWriterFactoryImpl sessionWriterFactory = new 
SessionWriterFactoryImpl(cys3Filter,xgmmlFilter,bookmarksFilter,propertiesFilter,sessionTableFilter,vizmapXMLFilter,networkViewWriterManager,cyRootNetworkFactoryServiceRef,propertyWriterManager,tableWriterManager,vizmapWriterManager);
+               SessionWriterFactoryImpl sessionWriterFactory = new 
SessionWriterFactoryImpl(cys3Filter,xgmmlFilter,bookmarksFilter,propertiesFilter,sessionTableFilter,vizmapXMLFilter,networkViewWriterManager,cyRootNetworkManagerServiceRef,propertyWriterManager,tableWriterManager,vizmapWriterManager);
                RecentlyOpenedTrackerImpl recentlyOpenedTracker = new 
RecentlyOpenedTrackerImpl("tracker.recent.sessions",cyApplicationConfigurationServiceRef);
                
                
registerService(bc,cyNetworkReaderManager,CyNetworkReaderManager.class, new 
Properties());

Modified: 
core3/impl/trunk/io-impl/impl/src/main/java/org/cytoscape/io/internal/read/session/Cy3SessionReaderFactoryImpl.java
===================================================================
--- 
core3/impl/trunk/io-impl/impl/src/main/java/org/cytoscape/io/internal/read/session/Cy3SessionReaderFactoryImpl.java
 2012-02-14 20:50:53 UTC (rev 28268)
+++ 
core3/impl/trunk/io-impl/impl/src/main/java/org/cytoscape/io/internal/read/session/Cy3SessionReaderFactoryImpl.java
 2012-02-14 22:10:59 UTC (rev 28269)
@@ -37,6 +37,7 @@
 import org.cytoscape.io.read.InputStreamTaskFactory;
 import org.cytoscape.io.read.VizmapReaderManager;
 import org.cytoscape.model.CyNetworkTableManager;
+import org.cytoscape.model.subnetwork.CyRootNetworkManager;
 import org.cytoscape.work.TaskIterator;
 
 public class Cy3SessionReaderFactoryImpl implements InputStreamTaskFactory {
@@ -47,7 +48,8 @@
        private final CyPropertyReaderManager propertyReaderMgr;
        private final VizmapReaderManager vizmapReaderMgr;
        private final CSVCyReaderFactory csvCyReaderFactory;
-       private final CyNetworkTableManager networkTableManager;
+       private final CyNetworkTableManager networkTableMgr;
+       private final CyRootNetworkManager rootNetworkMgr;
 
        private InputStream inputStream;
        private String inputName;
@@ -58,14 +60,16 @@
                                                                           
final CyPropertyReaderManager propertyReaderMgr,
                                                                           
final VizmapReaderManager vizmapReaderMgr,
                                                                           
final CSVCyReaderFactory csvCyReaderFactory,
-                                                                          
final CyNetworkTableManager networkTableManager) {
+                                                                          
final CyNetworkTableManager networkTableMgr,
+                                                                          
final CyRootNetworkManager rootNetworkMgr) {
                this.filter = filter;
                this.cache = cache;
                this.networkReaderMgr = networkReaderMgr;
                this.propertyReaderMgr = propertyReaderMgr;
                this.vizmapReaderMgr = vizmapReaderMgr;
                this.csvCyReaderFactory = csvCyReaderFactory;
-               this.networkTableManager = networkTableManager;
+               this.networkTableMgr = networkTableMgr;
+               this.rootNetworkMgr = rootNetworkMgr;
        }
 
        @Override
@@ -83,6 +87,6 @@
        @Override
        public TaskIterator createTaskIterator() {
                return new TaskIterator(new Cy3SessionReaderImpl(inputStream, 
cache, networkReaderMgr, propertyReaderMgr,
-                               vizmapReaderMgr, csvCyReaderFactory, 
networkTableManager));
+                               vizmapReaderMgr, csvCyReaderFactory, 
networkTableMgr, rootNetworkMgr));
        }
 }

Modified: 
core3/impl/trunk/io-impl/impl/src/main/java/org/cytoscape/io/internal/read/session/Cy3SessionReaderImpl.java
===================================================================
--- 
core3/impl/trunk/io-impl/impl/src/main/java/org/cytoscape/io/internal/read/session/Cy3SessionReaderImpl.java
        2012-02-14 20:50:53 UTC (rev 28268)
+++ 
core3/impl/trunk/io-impl/impl/src/main/java/org/cytoscape/io/internal/read/session/Cy3SessionReaderImpl.java
        2012-02-14 22:10:59 UTC (rev 28269)
@@ -49,6 +49,7 @@
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.HashSet;
+import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
@@ -79,6 +80,8 @@
 import org.cytoscape.model.CyTable;
 import org.cytoscape.model.CyTableEntry;
 import org.cytoscape.model.CyTableMetadata;
+import org.cytoscape.model.subnetwork.CyRootNetwork;
+import org.cytoscape.model.subnetwork.CyRootNetworkManager;
 import org.cytoscape.property.CyProperty;
 import org.cytoscape.property.SimpleCyProperty;
 import org.cytoscape.property.bookmark.Bookmarks;
@@ -98,14 +101,15 @@
        public static final Pattern GLOBAL_TABLE_PATTERN = 
Pattern.compile(".*/(global/(\\d+)-([^/]+)[.]cytable)");
        public static final Pattern PROPERTIES_PATTERN = 
Pattern.compile(".*/"+PROPERTIES_FOLDER+"?(([^/]+)[.](props|properties))");
        
-       private final Map<Long/*network_suid*/, CyNetwork> networkLookup = new 
HashMap<Long, CyNetwork>();
+       private final Map<Long/*network_suid*/, CyNetwork> networkLookup = new 
LinkedHashMap<Long, CyNetwork>();
        private final Map<Long/*old_network_id*/, Set<CyTableMetadataBuilder>> 
networkTableMap = new HashMap<Long, Set<CyTableMetadataBuilder>>();
 
        private final CyNetworkReaderManager networkReaderMgr;
        private final CyPropertyReaderManager propertyReaderMgr;
        private final VizmapReaderManager vizmapReaderMgr;
        private final CSVCyReaderFactory csvCyReaderFactory;
-       private final CyNetworkTableManager networkTableManager;
+       private final CyNetworkTableManager networkTableMgr;
+       private final CyRootNetworkManager rootNetworkMgr;
 
        private Map<String, CyTable> filenameTableMap;
        private Map<CyTableMetadataBuilder, String> builderFilenameMap;
@@ -120,7 +124,8 @@
                                                            final 
CyPropertyReaderManager propertyReaderMgr,
                                                            final 
VizmapReaderManager vizmapReaderMgr,
                                                            final 
CSVCyReaderFactory csvCyReaderFactory,
-                                                           final 
CyNetworkTableManager networkTableManager) {
+                                                           final 
CyNetworkTableManager networkTableMgr,
+                                                           final 
CyRootNetworkManager rootNetworkMgr) {
                super(sourceInputStream, cache);
 
                if (networkReaderMgr == null) throw new 
NullPointerException("network reader manager is null!");
@@ -135,8 +140,11 @@
                if (csvCyReaderFactory == null) throw new 
NullPointerException("table reader manager is null!");
                this.csvCyReaderFactory = csvCyReaderFactory;
 
-               if (networkTableManager == null) throw new 
NullPointerException("network table manager is null!");
-               this.networkTableManager = networkTableManager;
+               if (networkTableMgr == null) throw new 
NullPointerException("network table manager is null!");
+               this.networkTableMgr = networkTableMgr;
+               
+               if (rootNetworkMgr == null) throw new 
NullPointerException("root network manager is null!");
+               this.rootNetworkMgr = rootNetworkMgr;
 
                filenameTableMap = new HashMap<String, CyTable>();
                builderFilenameMap = new HashMap<CyTableMetadataBuilder, 
String>();
@@ -283,8 +291,14 @@
                CyNetwork[] netArray = reader.getNetworks();
                
                for (CyNetwork net : netArray) {
+                       // Add its root-network to the lookup map first
+                       CyRootNetwork rootNet = 
rootNetworkMgr.getRootNetwork(net);
+                       
+                       if (!networkLookup.containsKey(rootNet.getSUID()));
+                               networkLookup.put(rootNet.getSUID(), rootNet);
+                       
                        networkLookup.put(net.getSUID(), net);
-                       networks.add(net);
+                       networks.add(net); // Note: do NOT add the root-network 
to this set!
                }
        }
        
@@ -466,7 +480,7 @@
                        return; // TODO: disabled due to timing conflicts with 
Ding (The VIEW tables are not created yet).
                }
 
-               Map<String, CyTable> tableMap = 
networkTableManager.getTables(network, type);
+               Map<String, CyTable> tableMap = 
networkTableMgr.getTables(network, type);
                CyTable targetTable = tableMap.get(namespace);
                CyTable sourceTable = builder.getTable();
                mergeTables(sourceTable, targetTable, type);

Modified: 
core3/impl/trunk/io-impl/impl/src/main/java/org/cytoscape/io/internal/read/session/CyTableMetadataImpl.java
===================================================================
--- 
core3/impl/trunk/io-impl/impl/src/main/java/org/cytoscape/io/internal/read/session/CyTableMetadataImpl.java
 2012-02-14 20:50:53 UTC (rev 28268)
+++ 
core3/impl/trunk/io-impl/impl/src/main/java/org/cytoscape/io/internal/read/session/CyTableMetadataImpl.java
 2012-02-14 22:10:59 UTC (rev 28269)
@@ -87,5 +87,11 @@
                public Class<?> getType() {
                        return type;
                }
+
+               @Override
+               public String toString() {
+                       return "CyTableMetadataBuilder [type=" + type + ", 
namespace=" + namespace + ", table=" + table
+                                       + ", network=" + network + "]";
+               }
        }
 }

Modified: 
core3/impl/trunk/io-impl/impl/src/main/java/org/cytoscape/io/internal/read/xgmml/handler/HandleEdge.java
===================================================================
--- 
core3/impl/trunk/io-impl/impl/src/main/java/org/cytoscape/io/internal/read/xgmml/handler/HandleEdge.java
    2012-02-14 20:50:53 UTC (rev 28268)
+++ 
core3/impl/trunk/io-impl/impl/src/main/java/org/cytoscape/io/internal/read/xgmml/handler/HandleEdge.java
    2012-02-14 22:10:59 UTC (rev 28269)
@@ -30,6 +30,7 @@
 import org.cytoscape.io.internal.read.xgmml.ParseState;
 import org.cytoscape.model.CyEdge;
 import org.cytoscape.model.CyNode;
+import org.cytoscape.model.CyRow;
 import org.xml.sax.Attributes;
 import org.xml.sax.SAXException;
 
@@ -96,7 +97,19 @@
                                label = String.format("%s (%s) %s", sourceId, 
(directed ? "directed" : "undirected"), targetId);
                        
                        if (sourceNode != null && targetNode != null) {
-                               manager.createEdge(sourceNode, targetNode, id, 
label, interaction, directed);
+                               final CyEdge edge = 
manager.createEdge(sourceNode, targetNode, id, label, directed);
+                               
+                               if (!manager.isSessionFormat() || 
manager.getDocumentVersion() < 3.0) {
+                                       CyRow row = 
manager.getCurrentNetwork().getRow(edge);
+                                       row.set(CyEdge.NAME, label);
+                                       row.set(CyEdge.INTERACTION, 
interaction);
+                                       
+                                       if (manager.getRootNetwork() != null && 
manager.getCurrentNetwork() != manager.getRootNetwork()) {
+                                               row = 
manager.getRootNetwork().getRow(edge);
+                                               row.set(CyEdge.NAME, label);
+                                               row.set(CyEdge.INTERACTION, 
interaction);
+                                       }
+                               }
                        } else {
                                throw new SAXException("Cannot create edge from 
XGMML (id=" + id + " label=" + label + " source=" +
                                                                           
sourceId + " target=" + targetId + "): source or target node not found");

Modified: 
core3/impl/trunk/io-impl/impl/src/main/java/org/cytoscape/io/internal/read/xgmml/handler/HandleNode.java
===================================================================
--- 
core3/impl/trunk/io-impl/impl/src/main/java/org/cytoscape/io/internal/read/xgmml/handler/HandleNode.java
    2012-02-14 20:50:53 UTC (rev 28268)
+++ 
core3/impl/trunk/io-impl/impl/src/main/java/org/cytoscape/io/internal/read/xgmml/handler/HandleNode.java
    2012-02-14 22:10:59 UTC (rev 28269)
@@ -30,6 +30,7 @@
 import org.cytoscape.io.internal.read.xgmml.ParseState;
 import org.cytoscape.model.CyNetwork;
 import org.cytoscape.model.CyNode;
+import org.cytoscape.model.CyRow;
 import org.cytoscape.model.subnetwork.CySubNetwork;
 import org.xml.sax.Attributes;
 import org.xml.sax.SAXException;
@@ -51,6 +52,14 @@
                                label = atts.getValue("name"); // For backwards 
compatibility
                        
                        node = manager.createNode(id, label);
+                       
+                       if ( label != null && (!manager.isSessionFormat() || 
manager.getDocumentVersion() < 3.0) ) {
+                               
manager.getCurrentNetwork().getRow(node).set(CyNode.NAME, label);
+                               
+                               if (manager.getRootNetwork() != null && 
manager.getCurrentNetwork() != manager.getRootNetwork()) {
+                                       
manager.getRootNetwork().getRow(node).set(CyNode.NAME, label);
+                               }
+                       }
                } else {
                        // Try to get the node from the internal cache
                        final Long id = AttributeValueUtil.getIdFromXLink(href);
@@ -58,7 +67,6 @@
                        
                        if (node != null) {
                                CyNetwork net = manager.getCurrentNetwork();
-                               label = 
manager.getRootNetwork().getRow(node).get(CyNode.NAME, String.class);
                                
                                if (net instanceof CySubNetwork)
                                        ((CySubNetwork) net).addNode(node);
@@ -71,14 +79,6 @@
                        }
                }
                
-               if ( label != null && (!manager.isSessionFormat() || 
manager.getDocumentVersion() < 3.0) ) {
-                       
manager.getCurrentNetwork().getRow(node).set(CyNode.NAME, label);
-                       
-                       if (manager.getRootNetwork() != null && 
manager.getCurrentNetwork() != manager.getRootNetwork()) {
-                               
manager.getRootNetwork().getRow(node).set(CyNode.NAME, label);
-                       }
-               }
-               
                return current;
        }
 }

Modified: 
core3/impl/trunk/io-impl/impl/src/main/java/org/cytoscape/io/internal/read/xgmml/handler/ReadDataManager.java
===================================================================
--- 
core3/impl/trunk/io-impl/impl/src/main/java/org/cytoscape/io/internal/read/xgmml/handler/ReadDataManager.java
       2012-02-14 20:50:53 UTC (rev 28268)
+++ 
core3/impl/trunk/io-impl/impl/src/main/java/org/cytoscape/io/internal/read/xgmml/handler/ReadDataManager.java
       2012-02-14 22:10:59 UTC (rev 28269)
@@ -430,8 +430,7 @@
         return node;
     }
 
-       protected CyEdge createEdge(CyNode source, CyNode target, Object id, 
String label, String interaction,
-                       boolean directed) {
+       protected CyEdge createEdge(final CyNode source, final CyNode target, 
Object id, String label, boolean directed) {
                CyEdge edge = null;
                
                if (id == null) id = label;
@@ -477,14 +476,6 @@
                edge = net.addEdge(actualSrc, actualTgt, directed);
                this.currentEdge = edge;
                this.currentRow = net.getRow(edge);
-               
-               if (getDocumentVersion() < 3.0 || !isSessionFormat()) {
-                       CyRow row = net.getRow(edge);
-                               row.set(CyEdge.NAME, label);
-                               
-                               if (interaction != null)
-                                       row.set(CyEdge.INTERACTION, 
interaction);
-               }
         }
         
         // Add to internal cache:

Modified: 
core3/impl/trunk/io-impl/impl/src/main/java/org/cytoscape/io/internal/util/session/VirtualColumnSerializer.java
===================================================================
--- 
core3/impl/trunk/io-impl/impl/src/main/java/org/cytoscape/io/internal/util/session/VirtualColumnSerializer.java
     2012-02-14 20:50:53 UTC (rev 28268)
+++ 
core3/impl/trunk/io-impl/impl/src/main/java/org/cytoscape/io/internal/util/session/VirtualColumnSerializer.java
     2012-02-14 22:10:59 UTC (rev 28269)
@@ -100,4 +100,10 @@
                                          String.valueOf(isImmutable));
                
        }
+
+       @Override
+       public String toString() {
+               return "VirtualColumnSerializer [name=" + name + ", 
sourceTable=" + sourceTable + ", targetTable="
+                               + targetTable + ", sourceColumn=" + 
sourceColumn + "]";
+       }
 }
\ No newline at end of file

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