Author: kono
Date: 2011-11-16 12:02:29 -0800 (Wed, 16 Nov 2011)
New Revision: 27497

Modified:
   
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/loadnetwork/AbstractLoadNetworkTask.java
   
core3/impl/trunk/graphml-impl/src/main/java/org/cytoscape/io/internal/read/graphml/GraphMLParser.java
   
core3/impl/trunk/session-impl/src/main/java/org/cytoscape/session/internal/CyNetworkNamingImpl.java
   
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/view/NetworkPanel.java
Log:
Fixed priority of network naming.  If Network Readers provide network name, the 
names will be used as is.  Otherwise, generate network name from file/stream 
name.

Modified: 
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/loadnetwork/AbstractLoadNetworkTask.java
===================================================================
--- 
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/loadnetwork/AbstractLoadNetworkTask.java
  2011-11-16 18:53:15 UTC (rev 27496)
+++ 
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/loadnetwork/AbstractLoadNetworkTask.java
  2011-11-16 20:02:29 UTC (rev 27497)
@@ -133,7 +133,11 @@
 
                        for (CyNetwork network : networks) {
 
-                               network.getCyRow().set(CyTableEntry.NAME, 
namingUtil.getSuggestedNetworkTitle(name));
+                               // Use original name if exists
+                               String networkName = 
network.getCyRow().get(CyTableEntry.NAME, String.class);
+                               if(networkName == null || 
networkName.trim().length() == 0)
+                                       
network.getCyRow().set(CyTableEntry.NAME, 
namingUtil.getSuggestedNetworkTitle(name));
+                               
                                networkManager.addNetwork(network);
 
                                final int numGraphObjects = 
network.getNodeCount() + network.getEdgeCount();

Modified: 
core3/impl/trunk/graphml-impl/src/main/java/org/cytoscape/io/internal/read/graphml/GraphMLParser.java
===================================================================
--- 
core3/impl/trunk/graphml-impl/src/main/java/org/cytoscape/io/internal/read/graphml/GraphMLParser.java
       2011-11-16 18:53:15 UTC (rev 27496)
+++ 
core3/impl/trunk/graphml-impl/src/main/java/org/cytoscape/io/internal/read/graphml/GraphMLParser.java
       2011-11-16 20:02:29 UTC (rev 27497)
@@ -6,18 +6,7 @@
 
 package org.cytoscape.io.internal.read.graphml;
 
-import static org.cytoscape.io.internal.read.graphml.GraphMLToken.ATTRNAME;
-import static org.cytoscape.io.internal.read.graphml.GraphMLToken.ATTRTYPE;
-import static org.cytoscape.io.internal.read.graphml.GraphMLToken.DATA;
-import static org.cytoscape.io.internal.read.graphml.GraphMLToken.DIRECTED;
-import static org.cytoscape.io.internal.read.graphml.GraphMLToken.EDGE;
-import static org.cytoscape.io.internal.read.graphml.GraphMLToken.EDGEDEFAULT;
-import static org.cytoscape.io.internal.read.graphml.GraphMLToken.GRAPH;
-import static org.cytoscape.io.internal.read.graphml.GraphMLToken.ID;
-import static org.cytoscape.io.internal.read.graphml.GraphMLToken.KEY;
-import static org.cytoscape.io.internal.read.graphml.GraphMLToken.NODE;
-import static org.cytoscape.io.internal.read.graphml.GraphMLToken.SOURCE;
-import static org.cytoscape.io.internal.read.graphml.GraphMLToken.TARGET;
+import static org.cytoscape.io.internal.read.graphml.GraphMLToken.*;
 
 import java.util.ArrayList;
 import java.util.Collection;
@@ -34,6 +23,7 @@
 import org.cytoscape.model.CyTableEntry;
 import org.cytoscape.model.subnetwork.CyRootNetworkFactory;
 import org.cytoscape.model.subnetwork.CySubNetwork;
+import org.cytoscape.session.CyNetworkNaming;
 import org.cytoscape.work.TaskMonitor;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -60,7 +50,6 @@
        private String currentEdgeTargetName = null;
        private String currentObjectTarget = null;
 
-       private final TaskMonitor tm;
        private final CyNetworkFactory networkFactory;
        private final CyRootNetworkFactory rootNetworkFactory;
 
@@ -84,7 +73,6 @@
         */
        GraphMLParser(final TaskMonitor tm, final CyNetworkFactory 
networkFactory,
                        final CyRootNetworkFactory rootNetworkFactory) {
-               this.tm = tm;
                this.networkFactory = networkFactory;
                this.rootNetworkFactory = rootNetworkFactory;
 
@@ -150,6 +138,8 @@
        }
 
        private void createGraph(final Attributes atts) {
+               final String networkID = atts.getValue(ID.getTag());
+               
                if (networkStack.size() == 0) {
                        // Root network.
                        currentNetwork = networkFactory.getInstance();
@@ -164,6 +154,8 @@
                                        network.removeNodes(toBeRemoved);
                        }
                }
+               currentNetwork.getCyRow().set(CyTableEntry.NAME, networkID);
+               
                networkStack.push(currentNetwork);
                cyNetworks.add(currentNetwork);
                // parse directed or undirected
@@ -240,7 +232,7 @@
                currentAttributeData = new String(ch, start, length);
 
                if (currentObjectTarget != null) {
-                       if (currentObjectTarget.equals(NODE.getTag()) || 
currentObjectTarget.equals(EDGE.getTag())) {
+                       if (currentObjectTarget.equals(NODE.getTag()) || 
currentObjectTarget.equals(EDGE.getTag()) || 
currentObjectTarget.equals(GRAPH.getTag())) {
                                if (currentAttributeType != null && 
currentAttributeData.trim().length() != 0) {
                                        final String columnName = 
datanameMap.get(currentAttributeKey);
                                        final CyColumn column = 
currentObject.getCyRow().getTable().getColumn(columnName);
@@ -248,6 +240,7 @@
                                        if (attrTag != null && 
attrTag.getDataType() != null) {
                                                if (column == null)
                                                        
currentObject.getCyRow().getTable().createColumn(columnName, 
attrTag.getDataType(), false);
+                                               
                                                
currentObject.getCyRow().set(columnName, 
attrTag.getObjectValue(currentAttributeData));
                                        }
                                }

Modified: 
core3/impl/trunk/session-impl/src/main/java/org/cytoscape/session/internal/CyNetworkNamingImpl.java
===================================================================
--- 
core3/impl/trunk/session-impl/src/main/java/org/cytoscape/session/internal/CyNetworkNamingImpl.java
 2011-11-16 18:53:15 UTC (rev 27496)
+++ 
core3/impl/trunk/session-impl/src/main/java/org/cytoscape/session/internal/CyNetworkNamingImpl.java
 2011-11-16 20:02:29 UTC (rev 27497)
@@ -32,38 +32,47 @@
 
 import org.cytoscape.model.CyNetwork;
 import org.cytoscape.model.CyNetworkManager;
+import org.cytoscape.model.CyTableEntry;
 import org.cytoscape.session.CyNetworkNaming;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 
 public class CyNetworkNamingImpl implements CyNetworkNaming {
+       
        private static final Logger logger = 
LoggerFactory.getLogger(CyNetworkNamingImpl.class);
+       
+       private static final String SUBNETWORK_SUFFIX = "Subnetwork";
+       private static final String DEF_NETWORK_NAME_PREFIX = "Network";
+       
        private final CyNetworkManager networkManager;
 
        public CyNetworkNamingImpl(final CyNetworkManager networkManager) {
                this.networkManager = networkManager;
        }
 
-       public String getSuggestedSubnetworkTitle(CyNetwork parentNetwork) {
+       
+       @Override
+       public String getSuggestedSubnetworkTitle(final CyNetwork 
parentNetwork) {
                for (int i = 0; true; i++) {
-                       String nameCandidate = 
parentNetwork.getCyRow().get("name", String.class) + "--child"
-                                              + ((i == 0) ? "" : ("." + i));
+                       final String parentName = 
parentNetwork.getCyRow().get(CyTableEntry.NAME, String.class);
+                       final String nameCandidate = parentName + " <" + 
SUBNETWORK_SUFFIX + " " + (i+1) + ">";
 
                        if (!isNetworkTitleTaken(nameCandidate))
                                return nameCandidate;
                }
        }
 
+       
+       @Override
        public String getSuggestedNetworkTitle(String desiredTitle) {
-               if(desiredTitle == null || "".equals(desiredTitle.trim())) {
-                       desiredTitle = "Network";
-                       logger.warn("getSuggestedNetworkTitle: desiredTitle " +
-                               "was '" + desiredTitle + "'");
+               if (desiredTitle == null || "".equals(desiredTitle.trim())) {
+                       desiredTitle = DEF_NETWORK_NAME_PREFIX;
+                       logger.warn("getSuggestedNetworkTitle: desiredTitle " + 
"was '" + desiredTitle + "'");
                }
                
                for (int i = 0; true; i++) {
-                       String titleCandidate = desiredTitle + ((i == 0) ? "" : 
("." + i));
+                       String titleCandidate = desiredTitle + ((i == 0) ? "" : 
(" <" + i + ">"));
 
                        if (!isNetworkTitleTaken(titleCandidate))
                                return titleCandidate;
@@ -72,7 +81,7 @@
 
        private boolean isNetworkTitleTaken(final String titleCandidate) {
                for (CyNetwork existingNetwork : networkManager.getNetworkSet() 
) {
-                       String name = 
existingNetwork.getCyRow().get(CyNetwork.NAME, String.class);
+                       final String name = 
existingNetwork.getCyRow().get(CyNetwork.NAME, String.class);
                        if(name != null) {
                                if (name.equals(titleCandidate))
                                        return true;

Modified: 
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/view/NetworkPanel.java
===================================================================
--- 
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/view/NetworkPanel.java
 2011-11-16 18:53:15 UTC (rev 27496)
+++ 
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/view/NetworkPanel.java
 2011-11-16 20:02:29 UTC (rev 27497)
@@ -443,7 +443,7 @@
                        }
 
                        if (parentTreeNode == null) {
-                               parentTreeNode = new NetworkTreeNode("Network 
Set " + networkSetCounter, null);
+                               parentTreeNode = new NetworkTreeNode("", null);
                                networkSetCounter++;
                        }
 

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