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.