Author: clopes
Date: 2012-09-26 09:08:06 -0700 (Wed, 26 Sep 2012)
New Revision: 30488
Modified:
core3/impl/trunk/io-impl/impl/src/main/java/org/cytoscape/io/internal/read/xgmml/GenericXGMMLReader.java
core3/impl/trunk/io-impl/impl/src/main/java/org/cytoscape/io/internal/read/xgmml/handler/HandleGraph.java
core3/impl/trunk/io-impl/impl/src/main/java/org/cytoscape/io/internal/read/xgmml/handler/ReadDataManager.java
Log:
Fixes #1480 (Network collection name should not be blank).
Refs #1428 : New subnetworks from imported XGMML can be added to another
(pre-existing) CyRootNetwork.
Modified:
core3/impl/trunk/io-impl/impl/src/main/java/org/cytoscape/io/internal/read/xgmml/GenericXGMMLReader.java
===================================================================
---
core3/impl/trunk/io-impl/impl/src/main/java/org/cytoscape/io/internal/read/xgmml/GenericXGMMLReader.java
2012-09-26 16:01:18 UTC (rev 30487)
+++
core3/impl/trunk/io-impl/impl/src/main/java/org/cytoscape/io/internal/read/xgmml/GenericXGMMLReader.java
2012-09-26 16:08:06 UTC (rev 30488)
@@ -105,12 +105,6 @@
@Override
public void run(TaskMonitor tm) throws Exception {
tm.setProgress(0.0);
-
- // Now user has the option to import network into different
collection
-
this.initNodeMap(name2RootMap.get(rootNetworkList.getSelectedValue()),
this.targetColumnList.getSelectedValue());
- this.readDataMgr.setNodeMap(this.nMap);
-
this.readDataMgr.setRootNetwork(name2RootMap.get(rootNetworkList.getSelectedValue()));
-
init(tm);
try {
@@ -151,6 +145,11 @@
protected void init(TaskMonitor tm) {
readDataMgr.init();
readDataMgr.setViewFormat(false); // TODO: refactor readDataMgr
and delete this line
+
+ // Now user has the option to import network into different
collection
+
this.initNodeMap(name2RootMap.get(rootNetworkList.getSelectedValue()),
this.targetColumnList.getSelectedValue());
+ this.readDataMgr.setNodeMap(this.nMap);
+
this.readDataMgr.setParentNetwork(name2RootMap.get(rootNetworkList.getSelectedValue()));
}
protected void complete(TaskMonitor tm) {
Modified:
core3/impl/trunk/io-impl/impl/src/main/java/org/cytoscape/io/internal/read/xgmml/handler/HandleGraph.java
===================================================================
---
core3/impl/trunk/io-impl/impl/src/main/java/org/cytoscape/io/internal/read/xgmml/handler/HandleGraph.java
2012-09-26 16:01:18 UTC (rev 30487)
+++
core3/impl/trunk/io-impl/impl/src/main/java/org/cytoscape/io/internal/read/xgmml/handler/HandleGraph.java
2012-09-26 16:08:06 UTC (rev 30488)
@@ -68,6 +68,14 @@
return s == null || ObjectTypeMap.fromXGMMLBoolean(s);
}
+ /**
+ * Handles XGMML from Cytoscape 2.x session files only.
+ * @param tag
+ * @param atts
+ * @param current
+ * @return
+ * @throws SAXException
+ */
private ParseState handleCy2ModelAndView(String tag, Attributes atts,
ParseState current) throws SAXException {
final CyRootNetwork parent = manager.getParentNetwork();
final CyNetwork currentNet;
@@ -77,10 +85,7 @@
if (parent == null) {
// This is a regular top-level network...
final CyRootNetwork rootNet =
manager.createRootNetwork();
- //currentNet = rootNet.getBaseNetwork(); // The
root-network is not important here!, this is out-dated
-
- // create a sub network, because we should add
all nodes to subnetwork
- currentNet = rootNet.addSubNetwork();
+ currentNet = rootNet.getBaseNetwork();
} else {
// This is a 2.x "child-network"...
currentNet = parent.addSubNetwork();
@@ -97,6 +102,14 @@
return current;
}
+ /**
+ * Handles "CyNetwork-type" XGMML from Cytoscape 3 session files only.
+ * @param tag
+ * @param atts
+ * @param current
+ * @return
+ * @throws SAXException
+ */
private ParseState handleCy3Model(String tag, Attributes atts,
ParseState current) throws SAXException {
final CyNetwork currentNet;
boolean register = isRegistered(atts);
@@ -121,13 +134,27 @@
return current;
}
+ /**
+ * Handles standalone XGMML graphs, not associated with a session file.
+ * @param tag
+ * @param atts
+ * @param current
+ * @return
+ * @throws SAXException
+ */
private ParseState handleGenericXGMMLGraph(String tag, Attributes atts,
ParseState current) throws SAXException {
final CyNetwork currentNet;
if (manager.graphCount == 1) {
// Root (graph) element...
- final CyRootNetwork rootNet =
manager.createRootNetwork();
- currentNet = rootNet.getBaseNetwork();
+ final CyRootNetwork parentNet =
manager.getParentNetwork();
+
+ if (parentNet == null) {
+ final CyRootNetwork rootNet =
manager.createRootNetwork();
+ currentNet = rootNet.getBaseNetwork();
+ } else {
+ currentNet = parentNet.addSubNetwork();
+ }
} else {
// Nested graph tag...
final CyRootNetwork rootNet = manager.getRootNetwork();
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-09-26 16:01:18 UTC (rev 30487)
+++
core3/impl/trunk/io-impl/impl/src/main/java/org/cytoscape/io/internal/read/xgmml/handler/ReadDataManager.java
2012-09-26 16:08:06 UTC (rev 30488)
@@ -416,10 +416,8 @@
}
protected CyRootNetwork createRootNetwork() {
-
- if (this.rootNetwork != null){
+ if (this.rootNetwork != null)
return this.rootNetwork;
- }
final CyNetwork baseNet = networkFactory.createNetwork();
final CyRootNetwork rootNetwork =
rootNetworkManager.getRootNetwork(baseNet);
@@ -730,10 +728,4 @@
public void setNodeMap(Map<Object, CyNode> nMap){
this.nMap = nMap;
}
-
- public void setRootNetwork(CyRootNetwork rootNet){
- this.rootNetwork = rootNet;
- }
-
-
}
--
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.