Author: clopes
Date: 2012-03-12 11:20:16 -0700 (Mon, 12 Mar 2012)
New Revision: 28490
Added:
core3/impl/trunk/io-impl/impl/src/test/java/org/cytoscape/io/internal/read/AbstractNetworkReaderTest.java
core3/impl/trunk/io-impl/impl/src/test/java/org/cytoscape/io/internal/read/xgmml/AbstractXGMMLReaderTest.java
core3/impl/trunk/io-impl/impl/src/test/resources/testData/xgmml/hiddenAtt.xgmml
Removed:
core3/impl/trunk/io-impl/impl/src/test/java/org/cytoscape/io/internal/read/AbstractNetworkViewReaderTester.java
Modified:
core3/impl/trunk/io-impl/impl/src/main/java/org/cytoscape/io/internal/read/xgmml/ObjectTypeMap.java
core3/impl/trunk/io-impl/impl/src/main/java/org/cytoscape/io/internal/read/xgmml/handler/AttributeValueUtil.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/HandleGraphAttribute.java
core3/impl/trunk/io-impl/impl/src/main/java/org/cytoscape/io/internal/read/xgmml/handler/HandleGraphDone.java
core3/impl/trunk/io-impl/impl/src/main/java/org/cytoscape/io/internal/read/xgmml/handler/HandleNodeGraphDone.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/write/xgmml/XGMMLNetworkViewWriterFactory.java
core3/impl/trunk/io-impl/impl/src/main/java/org/cytoscape/io/internal/write/xgmml/XGMMLWriter.java
core3/impl/trunk/io-impl/impl/src/test/java/org/cytoscape/io/internal/read/gml/GMLNetworkReaderTest.java
core3/impl/trunk/io-impl/impl/src/test/java/org/cytoscape/io/internal/read/sif/SIFNetworkViewReaderTest.java
core3/impl/trunk/io-impl/impl/src/test/java/org/cytoscape/io/internal/read/xgmml/XGMMLNetworkReaderTest.java
Log:
Fixes #756 : XGMML Parser: handle cy:hidden attribute.
XGMML read/write: some refactoring.
Modified:
core3/impl/trunk/io-impl/impl/src/main/java/org/cytoscape/io/internal/read/xgmml/ObjectTypeMap.java
===================================================================
---
core3/impl/trunk/io-impl/impl/src/main/java/org/cytoscape/io/internal/read/xgmml/ObjectTypeMap.java
2012-03-11 18:53:13 UTC (rev 28489)
+++
core3/impl/trunk/io-impl/impl/src/main/java/org/cytoscape/io/internal/read/xgmml/ObjectTypeMap.java
2012-03-12 18:20:16 UTC (rev 28490)
@@ -35,7 +35,7 @@
switch (type) {
case BOOLEAN:
- if (value != null) return new Boolean(value);
+ if (value != null) return fromXGMMLBoolean(""+value);
break;
case REAL:
if (value != null) return new Double(value);
@@ -57,5 +57,14 @@
return null;
}
+
+ public static boolean fromXGMMLBoolean(String s) {
+ // should be only "1", but let's be nice and also accept "true"
+ //
http://www.cs.rpi.edu/research/groups/pb/punin/public_html/XGMML/draft-xgmml-20001006.html#BT
+ return s != null && s.matches("(?i)1|true");
+ }
+ public static String toXGMMLBoolean(boolean value) {
+ return value ? "1" : "0";
+ }
}
Modified:
core3/impl/trunk/io-impl/impl/src/main/java/org/cytoscape/io/internal/read/xgmml/handler/AttributeValueUtil.java
===================================================================
---
core3/impl/trunk/io-impl/impl/src/main/java/org/cytoscape/io/internal/read/xgmml/handler/AttributeValueUtil.java
2012-03-11 18:53:13 UTC (rev 28489)
+++
core3/impl/trunk/io-impl/impl/src/main/java/org/cytoscape/io/internal/read/xgmml/handler/AttributeValueUtil.java
2012-03-12 18:20:16 UTC (rev 28490)
@@ -40,6 +40,7 @@
import org.cytoscape.model.CyNetwork;
import org.cytoscape.model.CyRow;
import org.cytoscape.model.CyTable;
+import org.cytoscape.model.CyTableEntry;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.xml.sax.Attributes;
@@ -167,15 +168,21 @@
protected ParseState handleAttribute(Attributes atts) throws
SAXParseException {
ParseState parseState = ParseState.NONE;
- final CyRow row = manager.getCurrentRow();
- String name = atts.getValue("name");
- String type = atts.getValue("type");
- String equationStr = atts.getValue("cy:equation");
- boolean isEquation = equationStr != null ?
Boolean.parseBoolean(equationStr) : false;
+ final String name = atts.getValue("name");
+ final String type = atts.getValue("type");
+ final String equationStr = atts.getValue("cy:equation");
+ final boolean isEquation = equationStr != null ?
Boolean.parseBoolean(equationStr) : false;
+ final String hiddenStr = atts.getValue("cy:hidden");
+ final boolean isHidden = hiddenStr != null ?
Boolean.parseBoolean(hiddenStr) : false;
+ final String tableName = isHidden ? CyNetwork.HIDDEN_ATTRS :
CyNetwork.DEFAULT_ATTRS;
+ final CyNetwork curNet = manager.getCurrentNetwork();
+ final CyTableEntry curElement = manager.getCurrentElement();
+ final CyRow row = curNet.getRow(curElement, tableName);
+ final CyColumn column = row.getTable().getColumn(name);
+
+ Object value = null;
ObjectType objType = typeMap.getType(type);
- CyColumn column = row.getTable().getColumn(name);
- Object value = null;
if (isEquation) {
// It is an equation...
@@ -210,6 +217,7 @@
// must make sure to clear out any existing values
before we parse.
case LIST:
manager.currentAttributeID = name;
+ manager.setCurrentRow(row);
if (column != null &&
List.class.isAssignableFrom(column.getType()))
row.set(name, null);
return ParseState.LIST_ATT;
@@ -232,14 +240,6 @@
}
}
- public static boolean fromXGMMLBoolean(String s) {
- return s != null && s.matches("(?i)1|true"); // should be only "1", but
let's be nice and also accept "true"
- }
-
- public static String toXGMMLBoolean(boolean value) {
- return value ? "1" : "0";
- }
-
public static double parseDocumentVersion(String value) {
double version = 0.0;
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-03-11 18:53:13 UTC (rev 28489)
+++
core3/impl/trunk/io-impl/impl/src/main/java/org/cytoscape/io/internal/read/xgmml/handler/HandleGraph.java
2012-03-12 18:20:16 UTC (rev 28490)
@@ -138,11 +138,10 @@
if (oldId == null)
oldId = String.format("_graph%s_%s",
manager.graphCount, net.getSUID());
- manager.setCurrentNetwork(net);
+ manager.setCurrentElement(net);
manager.getNetworkIDStack().push(oldId);
if (net != null) {
- manager.setCurrentRow(net.getRow(net));
manager.getCache().cache(oldId, net);
if (!(net instanceof CyRootNetwork))
@@ -151,7 +150,7 @@
if (!manager.isSessionFormat() ||
manager.getDocumentVersion() < 3.0)
setNetworkName(net, atts);
} else {
- manager.setCurrentRow(null);
+ manager.setCurrentNetwork(null);
}
return oldId;
Modified:
core3/impl/trunk/io-impl/impl/src/main/java/org/cytoscape/io/internal/read/xgmml/handler/HandleGraphAttribute.java
===================================================================
---
core3/impl/trunk/io-impl/impl/src/main/java/org/cytoscape/io/internal/read/xgmml/handler/HandleGraphAttribute.java
2012-03-11 18:53:13 UTC (rev 28489)
+++
core3/impl/trunk/io-impl/impl/src/main/java/org/cytoscape/io/internal/read/xgmml/handler/HandleGraphAttribute.java
2012-03-12 18:20:16 UTC (rev 28490)
@@ -54,7 +54,7 @@
String attValue =
attributeValueUtil.getAttributeValue(atts, attName);
manager.addGraphicsAttribute(manager.getCurrentNetwork(), attName, attValue);
} else {
-
manager.setCurrentRow(manager.getCurrentNetwork().getRow(manager.getCurrentNetwork()));
+ manager.setCurrentElement(manager.getCurrentNetwork());
nextState = attributeValueUtil.handleAttribute(atts);
}
Modified:
core3/impl/trunk/io-impl/impl/src/main/java/org/cytoscape/io/internal/read/xgmml/handler/HandleGraphDone.java
===================================================================
---
core3/impl/trunk/io-impl/impl/src/main/java/org/cytoscape/io/internal/read/xgmml/handler/HandleGraphDone.java
2012-03-11 18:53:13 UTC (rev 28489)
+++
core3/impl/trunk/io-impl/impl/src/main/java/org/cytoscape/io/internal/read/xgmml/handler/HandleGraphDone.java
2012-03-12 18:20:16 UTC (rev 28490)
@@ -131,7 +131,6 @@
if (netId != null)
currentNet = manager.getCache().getNetwork(netId);
- manager.setCurrentNetwork(currentNet);
- manager.setCurrentRow(currentNet != null ?
currentNet.getRow(currentNet) : null);
+ manager.setCurrentElement(currentNet);
}
}
Modified:
core3/impl/trunk/io-impl/impl/src/main/java/org/cytoscape/io/internal/read/xgmml/handler/HandleNodeGraphDone.java
===================================================================
---
core3/impl/trunk/io-impl/impl/src/main/java/org/cytoscape/io/internal/read/xgmml/handler/HandleNodeGraphDone.java
2012-03-11 18:53:13 UTC (rev 28489)
+++
core3/impl/trunk/io-impl/impl/src/main/java/org/cytoscape/io/internal/read/xgmml/handler/HandleNodeGraphDone.java
2012-03-12 18:20:16 UTC (rev 28490)
@@ -28,7 +28,6 @@
package org.cytoscape.io.internal.read.xgmml.handler;
import org.cytoscape.io.internal.read.xgmml.ParseState;
-import org.cytoscape.model.CyNetwork;
import org.cytoscape.model.CyNode;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
@@ -40,11 +39,8 @@
graphDone();
CyNode node = manager.getCompoundNodeStack().pop();
- manager.setCurrentNode(node);
+ manager.setCurrentElement(node);
- CyNetwork currentNet = manager.getCurrentNetwork();
- manager.setCurrentRow(currentNet.getRow(node));
-
return ParseState.NODE_ATT;
}
}
\ No newline at end of file
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-03-11 18:53:13 UTC (rev 28489)
+++
core3/impl/trunk/io-impl/impl/src/main/java/org/cytoscape/io/internal/read/xgmml/handler/ReadDataManager.java
2012-03-12 18:20:16 UTC (rev 28490)
@@ -109,6 +109,7 @@
private CyNetwork currentNetwork;
private CyNode currentNode;
private CyEdge currentEdge;
+ private CyTableEntry currentElement;
private CyRow currentRow;
// Network view format properties
@@ -156,15 +157,16 @@
RDFType = null;
RDFFormat = null;
+ currentElement = null;
currentNode = null;
currentEdge = null;
currentNetwork = null;
parentNetwork = null;
currentNetworkIsDirected = true;
+ currentRow = null;
attState = ParseState.NONE;
currentAttributeID = null;
- currentRow = null;
/* Edge handle list */
handleList = null;
@@ -420,8 +422,7 @@
node = this.getCurrentNetwork().addNode();
}
- this.currentNode = node;
- this.currentRow = this.getCurrentNetwork().getRow(node);
+ this.setCurrentElement(node);
// Add to internal cache:
cache.cache(oldId, node);
@@ -474,8 +475,7 @@
}
edge = net.addEdge(actualSrc, actualTgt, directed);
- this.currentEdge = edge;
- this.currentRow = net.getRow(edge);
+ this.setCurrentElement(edge);
}
// Add to internal cache:
@@ -569,10 +569,25 @@
public CyRow getCurrentRow() {
return currentRow;
}
-
- public void setCurrentRow(CyRow currentRow) {
- this.currentRow = currentRow;
+
+ public void setCurrentRow(CyRow row) {
+ this.currentRow = row;
}
+
+ protected CyTableEntry getCurrentElement() {
+ return currentElement;
+ }
+
+ public void setCurrentElement(CyTableEntry entry) {
+ this.currentElement = entry;
+
+ if (entry instanceof CyNetwork)
+ setCurrentNetwork((CyNetwork) entry);
+ if (entry instanceof CyNode)
+ setCurrentNode((CyNode) entry);
+ if (entry instanceof CyEdge)
+ setCurrentEdge((CyEdge) entry);
+ }
/**
* It controls which graphics attributes should be parsed.
Modified:
core3/impl/trunk/io-impl/impl/src/main/java/org/cytoscape/io/internal/write/xgmml/XGMMLNetworkViewWriterFactory.java
===================================================================
---
core3/impl/trunk/io-impl/impl/src/main/java/org/cytoscape/io/internal/write/xgmml/XGMMLNetworkViewWriterFactory.java
2012-03-11 18:53:13 UTC (rev 28489)
+++
core3/impl/trunk/io-impl/impl/src/main/java/org/cytoscape/io/internal/write/xgmml/XGMMLNetworkViewWriterFactory.java
2012-03-12 18:20:16 UTC (rev 28490)
@@ -10,31 +10,31 @@
public class XGMMLNetworkViewWriterFactory extends
AbstractCyNetworkViewWriterFactory {
- protected final RenderingEngineManager renderingEngineManager;
+ protected final RenderingEngineManager renderingEngineMgr;
protected final UnrecognizedVisualPropertyManager
unrecognizedVisualPropertyMgr;
- protected final CyNetworkManager networkManager;
- protected final CyRootNetworkManager rootNetworkManager;
+ protected final CyNetworkManager networkMgr;
+ protected final CyRootNetworkManager rootNetworkMgr;
public XGMMLNetworkViewWriterFactory(final CyFileFilter filter,
- final RenderingEngineManager
renderingEngineManager,
+ final RenderingEngineManager
renderingEngineMgr,
final
UnrecognizedVisualPropertyManager unrecognizedVisualPropertyMgr,
final CyNetworkManager networkManager,
-
final CyRootNetworkManager rootNetworkManager) {
+
final CyRootNetworkManager rootNetworkMgr) {
super(filter);
- this.renderingEngineManager = renderingEngineManager;
+ this.renderingEngineMgr = renderingEngineMgr;
this.unrecognizedVisualPropertyMgr =
unrecognizedVisualPropertyMgr;
- this.networkManager = networkManager;
- this.rootNetworkManager = rootNetworkManager;
+ this.networkMgr = networkManager;
+ this.rootNetworkMgr = rootNetworkMgr;
}
@Override
public CyWriter getWriterTask() {
- if (view != null) {
- return new XGMMLWriter(outputStream, renderingEngineManager,
view, unrecognizedVisualPropertyMgr,
- networkManager, rootNetworkManager);
- }
-
- return new XGMMLWriter(outputStream, renderingEngineManager, network,
unrecognizedVisualPropertyMgr,
- networkManager, rootNetworkManager);
+ if (view != null) {
+ return new XGMMLWriter(outputStream,
renderingEngineMgr, view, unrecognizedVisualPropertyMgr, networkMgr,
+ rootNetworkMgr);
+ }
+
+ return new XGMMLWriter(outputStream, renderingEngineMgr,
network, unrecognizedVisualPropertyMgr, networkMgr,
+ rootNetworkMgr);
}
}
Modified:
core3/impl/trunk/io-impl/impl/src/main/java/org/cytoscape/io/internal/write/xgmml/XGMMLWriter.java
===================================================================
---
core3/impl/trunk/io-impl/impl/src/main/java/org/cytoscape/io/internal/write/xgmml/XGMMLWriter.java
2012-03-11 18:53:13 UTC (rev 28489)
+++
core3/impl/trunk/io-impl/impl/src/main/java/org/cytoscape/io/internal/write/xgmml/XGMMLWriter.java
2012-03-12 18:20:16 UTC (rev 28490)
@@ -43,7 +43,7 @@
import java.util.Map;
import java.util.Set;
-import org.cytoscape.io.internal.read.xgmml.handler.AttributeValueUtil;
+import org.cytoscape.io.internal.read.xgmml.ObjectTypeMap;
import org.cytoscape.io.internal.util.UnrecognizedVisualPropertyManager;
import org.cytoscape.io.internal.util.session.SessionUtil;
import org.cytoscape.io.write.CyWriter;
@@ -128,8 +128,8 @@
private String visualStyleName;
private final VisualLexicon visualLexicon;
private final UnrecognizedVisualPropertyManager
unrecognizedVisualPropertyMgr;
- private final CyNetworkManager networkManager;
- private final CyRootNetworkManager rootNetworkManager;
+ private final CyNetworkManager networkMgr;
+ private final CyRootNetworkManager rootNetworkMgr;
private HashMap<CyNode, CyNode> writtenNodeMap = new HashMap<CyNode,
CyNode>();
private HashMap<CyEdge, CyEdge> writtenEdgeMap = new HashMap<CyEdge,
CyEdge>();
@@ -143,27 +143,27 @@
private boolean sessionFormat;
public XGMMLWriter(final OutputStream outputStream,
- final RenderingEngineManager renderingEngineManager,
+ final RenderingEngineManager renderingEngineMgr,
final CyNetworkView networkView,
final UnrecognizedVisualPropertyManager
unrecognizedVisualPropertyMgr,
- final CyNetworkManager networkManager,
- final CyRootNetworkManager rootNetworkManager) {
- this(outputStream, renderingEngineManager,
networkView.getModel(), unrecognizedVisualPropertyMgr,
- networkManager, rootNetworkManager);
+ final CyNetworkManager networkMgr,
+ final CyRootNetworkManager rootNetworkMgr) {
+ this(outputStream, renderingEngineMgr, networkView.getModel(),
unrecognizedVisualPropertyMgr, networkMgr,
+ rootNetworkMgr);
this.networkView = networkView;
}
public XGMMLWriter(final OutputStream outputStream,
- final RenderingEngineManager renderingEngineManager,
+ final RenderingEngineManager renderingEngineMgr,
final CyNetwork network,
final UnrecognizedVisualPropertyManager
unrecognizedVisualPropertyMgr,
- final CyNetworkManager networkManager,
- final CyRootNetworkManager rootNetworkManager) {
+ final CyNetworkManager networkMgr,
+ final CyRootNetworkManager rootNetworkMgr) {
this.outputStream = outputStream;
this.unrecognizedVisualPropertyMgr =
unrecognizedVisualPropertyMgr;
- this.networkManager = networkManager;
- this.rootNetworkManager = rootNetworkManager;
- this.visualLexicon =
renderingEngineManager.getDefaultVisualLexicon();
+ this.networkMgr = networkMgr;
+ this.rootNetworkMgr = rootNetworkMgr;
+ this.visualLexicon =
renderingEngineMgr.getDefaultVisualLexicon();
if (network instanceof CyRootNetwork) {
CyRootNetwork rootNetwork = (CyRootNetwork) network;
@@ -251,7 +251,7 @@
// Is is a network view serialization?
if (sessionFormat) {
- writeAttributePair("cy:view",
AttributeValueUtil.toXGMMLBoolean(networkView != null));
+ writeAttributePair("cy:view",
ObjectTypeMap.toXGMMLBoolean(networkView != null));
if (networkView != null) {
writeAttributePair("cy:networkId", network.getSUID());
@@ -340,11 +340,7 @@
if (sessionFormat) {
for (CySubNetwork subNet : subNetworks) {
if (!writtenNetMap.containsKey(subNet)) {
- writeElement("<att>\n");
- depth++;
writeSubGraph(subNet);
- depth--;
- writeElement("</att>\n");
}
}
}
@@ -354,26 +350,46 @@
writeGraphics(networkView);
}
- private void writeSubGraph(CyNetwork net) throws IOException {
- writtenNetMap.put(net, net);
-
+ private void writeSubGraph(final CyNetwork net) throws IOException {
+ if (writtenNetMap.containsKey(net)) {
+ // This sub-network has already been written
+ writeSubGraphReference("" + net.getSUID());
+ } else {
+ // Write it for the first time
+ writtenNetMap.put(net, net);
+
+ writeElement("<att>\n");
+ depth++;
+ writeElement("<graph");
+ // Always write the network ID
+ writeAttributePair("id", net.getSUID());
+ // Save the label to make it more human readable
+ writeAttributePair("label", getLabel(net, net));
+ write(">\n");
+ depth++;
+
+ writeAttributes(net.getRow(net));
+
+ for (CyNode childNode : net.getNodeList())
+ writeNode(net, childNode);
+ for (CyEdge childEdge : net.getEdgeList())
+ writeEdge(net, childEdge);
+
+ depth--;
+ writeElement("</graph>\n");
+ depth--;
+ writeElement("</att>\n");
+ }
+ }
+
+ private void writeSubGraphReference(final String netId) throws
IOException {
+ writeElement("<att>\n");
+ depth++;
writeElement("<graph");
- // Always write the network ID
- writeAttributePair("id", net.getSUID());
- // Save the label to make it more human readable
- writeAttributePair("label", getLabel(net, net));
- write(">\n");
- depth++;
-
- writeAttributes(net.getRow(net));
-
- for (CyNode childNode : net.getNodeList())
- writeNode(net,childNode);
- for (CyEdge childEdge : net.getEdgeList())
- writeEdge(net,childEdge);
-
+ writeAttributePair("xlink:href", "#" + netId);
+ write("/>\n");
depth--;
- writeElement("</graph>\n");
+ writeElement("</att>\n");
}
/**
@@ -383,13 +399,13 @@
private void writeNodes() throws IOException {
if (sessionFormat && networkView != null) {
for (View<CyNode> view : networkView.getNodeViews()) {
- writeNodeView(networkView.getModel(),view);
+ writeNodeView(networkView.getModel(), view);
}
} else {
for (CyNode node : network.getNodeList()) {
// Only if not already written inside a nested
graph
if (!writtenNodeMap.containsKey(node))
- writeNode(network,node);
+ writeNode(network, node);
}
}
}
@@ -418,7 +434,7 @@
* @param node the node to output
* @throws IOException
*/
- private void writeNode(CyNetwork network, CyNode node) throws
IOException {
+ private void writeNode(final CyNetwork net, final CyNode node) throws
IOException {
boolean written = writtenNodeMap.containsKey(node);
// Output the node
@@ -434,9 +450,9 @@
// Write the actual node with its properties
writeAttributePair("id", node.getSUID());
- writeAttributePair("label", getLabel(network, node));
+ writeAttributePair("label", getLabel(net, node));
- CyNetwork netPointer = node.getNetworkPointer();
+ final CyNetwork netPointer = node.getNetworkPointer();
if (sessionFormat && networkView == null && netPointer
== null) {
write("/>\n");
@@ -445,42 +461,27 @@
depth++;
// Output the node attributes
- writeAttributes(network.getRow(node));
+ writeAttributes(net.getRow(node));
// Write node's sub-graph:
- if (netPointer != null) {
- CyRootNetwork netPointerRoot =
rootNetworkManager.getRootNetwork(netPointer);
- boolean sameRoot =
netPointerRoot.equals(rootNetworkManager.getRootNetwork(network));
-
- if (sessionFormat/* || sameRoot*/) { //
TODO: keep ignoring network pointers when exporting to XGMML?
- // Write a nested graph element
- writeElement("<att>\n");
- depth++;
+ if (sessionFormat) {
+ if (netPointer != null) {
+ // Write the network pointer as
a sub-graph reference (XLink)...
+ CyRootNetwork netPointerRoot =
rootNetworkMgr.getRootNetwork(netPointer);
- if (!sessionFormat && sameRoot
&& !writtenNetMap.containsKey(netPointer)) {
- // If exporting to
XGMML, let's try to avoid XLINks, in order to
- // make it easier for
other applications to parse it.
- // This sub-network has
not been written yet!
-//
writeSubGraph(netPointer); // TODO: Should CyGroups be exported to XGMML?
- } else {
- // This sub-network has
already been written or belongs to another XGMML file...
- String href = "#" +
netPointer.getSUID();
-
- if (!sameRoot) {
- // This XGMML
file will be saved as part of a CYS file,
- // and the
sub-network does NOT belong to the same root-network
- // ...So add
the other root-network's file name to the XLink URI
- String fileName
= SessionUtil.getXGMMLFilename(netPointerRoot);
- href = fileName
+ href;
- }
-
- writeElement("<graph");
-
writeAttributePair("xlink:href", href);
- write("/>\n");
+ // This sub-network has already
been written or belongs to another XGMML file...
+ String linkId = "" +
netPointer.getSUID();
+ boolean sameRoot =
netPointerRoot.equals(rootNetworkMgr.getRootNetwork(net));
+
+ if (!sameRoot) {
+ // This XGMML file will
be saved as part of a CYS file,
+ // and the sub-network
does NOT belong to the same root-network
+ // ...So add the other
root-network's file name to the XLink URI
+ final String fileName =
SessionUtil.getXGMMLFilename(netPointerRoot);
+ linkId = fileName +
linkId;
}
- depth--;
- writeElement("</att>\n");
+ writeSubGraphReference(linkId);
}
}
@@ -522,7 +523,7 @@
* @param edge the edge to output
* @throws IOException
*/
- private void writeEdge(CyNetwork network, CyEdge edge) throws
IOException {
+ private void writeEdge(CyNetwork net, CyEdge edge) throws IOException {
writeElement("<edge");
boolean written = writtenEdgeMap.containsKey(edge);
@@ -535,10 +536,10 @@
writtenEdgeMap.put(edge, edge);
writeAttributePair("id", edge.getSUID());
- writeAttributePair("label", getLabel(network, edge));
+ writeAttributePair("label", getLabel(net, edge));
writeAttributePair("source",
edge.getSource().getSUID());
writeAttributePair("target",
edge.getTarget().getSUID());
- writeAttributePair("cy:directed",
AttributeValueUtil.toXGMMLBoolean(edge.isDirected()));
+ writeAttributePair("cy:directed",
ObjectTypeMap.toXGMMLBoolean(edge.isDirected()));
if (sessionFormat && networkView == null) {
write("/>\n");
@@ -547,7 +548,7 @@
depth++;
// Write the edge attributes
- writeAttributes(network.getRow(edge));
+ writeAttributes(net.getRow(edge));
// Write the edge graphics
if (networkView != null)
@@ -721,7 +722,7 @@
}
}
- return AttributeValueUtil.toXGMMLBoolean(directed);
+ return ObjectTypeMap.toXGMMLBoolean(directed);
}
/**
@@ -1001,7 +1002,7 @@
registeredSubNetSet.add(rootNetwork.getBaseNetwork()); // The
base network must be the first one!
for (CySubNetwork sn : subNetList) {
- if (networkManager.networkExists(sn.getSUID()))
+ if (networkMgr.networkExists(sn.getSUID()))
registeredSubNetSet.add(sn);
}
Copied:
core3/impl/trunk/io-impl/impl/src/test/java/org/cytoscape/io/internal/read/AbstractNetworkReaderTest.java
(from rev 28144,
core3/impl/trunk/io-impl/impl/src/test/java/org/cytoscape/io/internal/read/AbstractNetworkViewReaderTester.java)
===================================================================
---
core3/impl/trunk/io-impl/impl/src/test/java/org/cytoscape/io/internal/read/AbstractNetworkReaderTest.java
(rev 0)
+++
core3/impl/trunk/io-impl/impl/src/test/java/org/cytoscape/io/internal/read/AbstractNetworkReaderTest.java
2012-03-12 18:20:16 UTC (rev 28490)
@@ -0,0 +1,126 @@
+package org.cytoscape.io.internal.read;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import java.util.List;
+import java.util.Properties;
+
+import org.cytoscape.ding.NetworkViewTestSupport;
+import org.cytoscape.io.internal.util.ReadUtils;
+import org.cytoscape.io.internal.util.StreamUtilImpl;
+import org.cytoscape.model.CyEdge;
+import org.cytoscape.model.CyNetwork;
+import org.cytoscape.model.CyNetworkFactory;
+import org.cytoscape.model.CyNode;
+import org.cytoscape.model.NetworkTestSupport;
+import org.cytoscape.property.CyProperty;
+import org.cytoscape.property.CyProperty.SavePolicy;
+import org.cytoscape.property.SimpleCyProperty;
+import org.cytoscape.view.layout.CyLayoutAlgorithm;
+import org.cytoscape.view.layout.CyLayoutAlgorithmManager;
+import org.cytoscape.view.model.CyNetworkView;
+import org.cytoscape.view.model.CyNetworkViewFactory;
+import org.cytoscape.work.AbstractTask;
+import org.cytoscape.work.TaskIterator;
+import org.cytoscape.work.TaskMonitor;
+import org.junit.Before;
+
+public class AbstractNetworkReaderTest {
+ static class SimpleTask extends AbstractTask {
+ public void run(final TaskMonitor tm) {
+ }
+ }
+
+ protected static final int DEF_THRESHOLD = 10000;
+
+ protected TaskMonitor taskMonitor;
+ protected CyNetworkFactory netFactory;
+ protected CyNetworkViewFactory viewFactory;
+ protected ReadUtils readUtil;
+ protected CyLayoutAlgorithmManager layouts;
+
+ private Properties properties;
+
+ @Before
+ public void setUp() throws Exception {
+ taskMonitor = mock(TaskMonitor.class);
+
+ CyLayoutAlgorithm def = mock(CyLayoutAlgorithm.class);
+ when(def.createTaskIterator()).thenReturn(new TaskIterator(new
SimpleTask()));
+
+ layouts = mock(CyLayoutAlgorithmManager.class);
+ when(layouts.getDefaultLayout()).thenReturn(def);
+
+ NetworkTestSupport nts = new NetworkTestSupport();
+ netFactory = nts.getNetworkFactory();
+
+ properties = new Properties();
+ CyProperty<Properties> cyProperties = new
SimpleCyProperty<Properties>("Test", properties, Properties.class,
SavePolicy.DO_NOT_SAVE);
+ NetworkViewTestSupport nvts = new NetworkViewTestSupport();
+ setViewThreshold(DEF_THRESHOLD);
+
+ viewFactory = nvts.getNetworkViewFactory();
+ readUtil = new ReadUtils(new StreamUtilImpl(cyProperties));
+ }
+
+ protected void setViewThreshold(int threshold) {
+ properties.setProperty("viewThreshold",
String.valueOf(threshold));
+ }
+
+ /**
+ * Will fail if it doesn't find the specified interaction.
+ */
+ protected void findInteraction(CyNetwork net, String source, String
target, String interaction, int count) {
+ for (CyNode n : net.getNodeList()) {
+ String sname = net.getRow(n).get(CyNode.NAME,
String.class);
+ assertNotNull("Source name is NULL", sname);
+
+ if (source.equals(sname)) {
+ List<CyNode> neigh = net.getNeighborList(n,
CyEdge.Type.ANY);
+ assertEquals("wrong number of neighbors",
count, neigh.size());
+
+ for (CyNode nn : neigh) {
+ String tname =
net.getRow(nn).get(CyNode.NAME, String.class);
+ assertNotNull("Target name is NULL",
tname);
+
+ if (tname.equals(target)) {
+ List<CyEdge> con =
net.getConnectingEdgeList(n, nn, CyEdge.Type.ANY);
+ assertTrue("Connecting edge
list is empty", con.size() > 0);
+
+ for (CyEdge e : con) {
+ String inter =
net.getRow(e).get(CyEdge.INTERACTION, String.class);
+ assertNotNull("Edge
interaction is NULL", inter);
+
+ if
(inter.equals(interaction)) {
+ return;
+ }
+ }
+ }
+ }
+ }
+ }
+ fail("couldn't find interaction: " + source + " " + interaction
+ " " + target);
+ }
+
+ /**
+ * Assuming we only create one network.
+ */
+ protected CyNetwork checkSingleNetwork(CyNetworkView[] views, int
numNodes, int numEdges) {
+ assertNotNull(views);
+ assertEquals(1, views.length);
+
+ CyNetwork net = views[0].getModel();
+
+ assertNotNull(net);
+
+ assertEquals(numNodes, net.getNodeCount());
+ assertEquals(numEdges, net.getEdgeCount());
+
+ return net;
+ }
+}
Deleted:
core3/impl/trunk/io-impl/impl/src/test/java/org/cytoscape/io/internal/read/AbstractNetworkViewReaderTester.java
===================================================================
---
core3/impl/trunk/io-impl/impl/src/test/java/org/cytoscape/io/internal/read/AbstractNetworkViewReaderTester.java
2012-03-11 18:53:13 UTC (rev 28489)
+++
core3/impl/trunk/io-impl/impl/src/test/java/org/cytoscape/io/internal/read/AbstractNetworkViewReaderTester.java
2012-03-12 18:20:16 UTC (rev 28490)
@@ -1,127 +0,0 @@
-package org.cytoscape.io.internal.read;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
-
-import java.util.List;
-import java.util.Properties;
-
-import org.cytoscape.ding.NetworkViewTestSupport;
-import org.cytoscape.io.internal.util.ReadUtils;
-import org.cytoscape.io.internal.util.StreamUtilImpl;
-import org.cytoscape.model.CyEdge;
-import org.cytoscape.model.CyNetwork;
-import org.cytoscape.model.CyNetworkFactory;
-import org.cytoscape.model.CyNode;
-import org.cytoscape.model.NetworkTestSupport;
-import org.cytoscape.property.CyProperty;
-import org.cytoscape.property.CyProperty.SavePolicy;
-import org.cytoscape.property.SimpleCyProperty;
-import org.cytoscape.view.layout.CyLayoutAlgorithm;
-import org.cytoscape.view.layout.CyLayoutAlgorithmManager;
-import org.cytoscape.view.model.CyNetworkView;
-import org.cytoscape.view.model.CyNetworkViewFactory;
-import org.cytoscape.work.AbstractTask;
-import org.cytoscape.work.TaskIterator;
-import org.cytoscape.work.TaskMonitor;
-import org.junit.Before;
-
-public class AbstractNetworkViewReaderTester {
- static class SimpleTask extends AbstractTask {
- public void run(final TaskMonitor tm) {
- }
- }
-
- protected static final int DEF_THRESHOLD = 10000;
-
- protected TaskMonitor taskMonitor;
- protected CyNetworkFactory netFactory;
- protected CyNetworkViewFactory viewFactory;
- protected ReadUtils readUtil;
- protected CyLayoutAlgorithmManager layouts;
-
- private Properties properties;
-
- @Before
- public void setUp() throws Exception {
- taskMonitor = mock(TaskMonitor.class);
-
- CyLayoutAlgorithm def = mock(CyLayoutAlgorithm.class);
- when(def.createTaskIterator()).thenReturn(new TaskIterator(new
SimpleTask()));
-
- layouts = mock(CyLayoutAlgorithmManager.class);
- when(layouts.getDefaultLayout()).thenReturn(def);
-
- NetworkTestSupport nts = new NetworkTestSupport();
- netFactory = nts.getNetworkFactory();
-
- properties = new Properties();
- CyProperty<Properties> cyProperties = new
SimpleCyProperty<Properties>("Test", properties,Properties.class,
SavePolicy.DO_NOT_SAVE);
- NetworkViewTestSupport nvts = new NetworkViewTestSupport();
- setViewThreshold(DEF_THRESHOLD);
-
- viewFactory = nvts.getNetworkViewFactory();
-
- readUtil = new ReadUtils(new StreamUtilImpl(cyProperties));
- }
-
- protected void setViewThreshold(int threshold) {
- properties.setProperty("viewThreshold",
String.valueOf(threshold));
- }
-
- /**
- * Will fail if it doesn't find the specified interaction.
- */
- protected void findInteraction(CyNetwork net, String source, String
target, String interaction, int count) {
- for (CyNode n : net.getNodeList()) {
- String sname = net.getRow(n).get(CyNode.NAME,
String.class);
- assertNotNull("Source name is NULL", sname);
-
- if (source.equals(sname)) {
- List<CyNode> neigh = net.getNeighborList(n,
CyEdge.Type.ANY);
- assertEquals("wrong number of neighbors",
count, neigh.size());
-
- for (CyNode nn : neigh) {
- String tname =
net.getRow(nn).get(CyNode.NAME, String.class);
- assertNotNull("Target name is NULL",
tname);
-
- if (tname.equals(target)) {
- List<CyEdge> con =
net.getConnectingEdgeList(n, nn, CyEdge.Type.ANY);
- assertTrue("Connecting edge
list is empty", con.size() > 0);
-
- for (CyEdge e : con) {
- String inter =
net.getRow(e).get(CyEdge.INTERACTION, String.class);
- assertNotNull("Edge
interaction is NULL", inter);
-
- if
(inter.equals(interaction)) {
- return;
- }
- }
- }
- }
- }
- }
- fail("couldn't find interaction: " + source + " " + interaction
+ " " + target);
- }
-
- /**
- * Assuming we only create one network.
- */
- protected CyNetwork checkSingleNetwork(CyNetworkView[] views, int
numNodes, int numEdges) {
- assertNotNull(views);
- assertEquals(1, views.length);
-
- CyNetwork net = views[0].getModel();
-
- assertNotNull(net);
-
- assertEquals(numNodes, net.getNodeCount());
- assertEquals(numEdges, net.getEdgeCount());
-
- return net;
- }
-}
Modified:
core3/impl/trunk/io-impl/impl/src/test/java/org/cytoscape/io/internal/read/gml/GMLNetworkReaderTest.java
===================================================================
---
core3/impl/trunk/io-impl/impl/src/test/java/org/cytoscape/io/internal/read/gml/GMLNetworkReaderTest.java
2012-03-11 18:53:13 UTC (rev 28489)
+++
core3/impl/trunk/io-impl/impl/src/test/java/org/cytoscape/io/internal/read/gml/GMLNetworkReaderTest.java
2012-03-12 18:20:16 UTC (rev 28490)
@@ -8,7 +8,7 @@
import java.io.File;
import java.io.FileInputStream;
-import org.cytoscape.io.internal.read.AbstractNetworkViewReaderTester;
+import org.cytoscape.io.internal.read.AbstractNetworkReaderTest;
import org.cytoscape.io.internal.util.UnrecognizedVisualPropertyManager;
import org.cytoscape.model.CyNetwork;
import org.cytoscape.model.CyTableFactory;
@@ -22,7 +22,7 @@
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
-public class GMLNetworkReaderTest extends AbstractNetworkViewReaderTester {
+public class GMLNetworkReaderTest extends AbstractNetworkReaderTest {
@Mock private RenderingEngineManager renderingEngineManager;
@Mock private VisualLexicon lexicon;
private UnrecognizedVisualPropertyManager unrecognizedVisualPropertyMgr;
Modified:
core3/impl/trunk/io-impl/impl/src/test/java/org/cytoscape/io/internal/read/sif/SIFNetworkViewReaderTest.java
===================================================================
---
core3/impl/trunk/io-impl/impl/src/test/java/org/cytoscape/io/internal/read/sif/SIFNetworkViewReaderTest.java
2012-03-11 18:53:13 UTC (rev 28489)
+++
core3/impl/trunk/io-impl/impl/src/test/java/org/cytoscape/io/internal/read/sif/SIFNetworkViewReaderTest.java
2012-03-12 18:20:16 UTC (rev 28490)
@@ -8,7 +8,7 @@
import java.io.FileInputStream;
import org.cytoscape.event.CyEventHelper;
-import org.cytoscape.io.internal.read.AbstractNetworkViewReaderTester;
+import org.cytoscape.io.internal.read.AbstractNetworkReaderTest;
import org.cytoscape.model.CyNetwork;
import org.cytoscape.model.CyNode;
import org.cytoscape.model.CyEdge;
@@ -16,7 +16,7 @@
import org.cytoscape.work.TaskIterator;
import org.junit.Test;
-public class SIFNetworkViewReaderTest extends AbstractNetworkViewReaderTester {
+public class SIFNetworkViewReaderTest extends AbstractNetworkReaderTest {
/**
* 'typical' means that all lines have the form "node1 pd node2 [node3
node4
Added:
core3/impl/trunk/io-impl/impl/src/test/java/org/cytoscape/io/internal/read/xgmml/AbstractXGMMLReaderTest.java
===================================================================
---
core3/impl/trunk/io-impl/impl/src/test/java/org/cytoscape/io/internal/read/xgmml/AbstractXGMMLReaderTest.java
(rev 0)
+++
core3/impl/trunk/io-impl/impl/src/test/java/org/cytoscape/io/internal/read/xgmml/AbstractXGMMLReaderTest.java
2012-03-12 18:20:16 UTC (rev 28490)
@@ -0,0 +1,39 @@
+package org.cytoscape.io.internal.read.xgmml;
+
+import static org.junit.Assert.*;
+
+import org.junit.Test;
+
+public class AbstractXGMMLReaderTest {
+
+ @Test
+ public void testIsXGMMLTransparency() {
+
assertTrue(AbstractXGMMLReader.isXGMMLTransparency("nodeTransparency"));
+
assertTrue(AbstractXGMMLReader.isXGMMLTransparency("edgeTransparency"));
+ }
+
+ @Test
+ public void testIsOldFont() {
+ assertTrue(AbstractXGMMLReader.isOldFont("nodeLabelFont"));
+ assertTrue(AbstractXGMMLReader.isOldFont("cy:nodeLabelFont"));
+ assertTrue(AbstractXGMMLReader.isOldFont("edgeLabelFont"));
+ assertTrue(AbstractXGMMLReader.isOldFont("cy:edgeLabelFont"));
+ }
+
+ @Test
+ public void testConvertXGMMLTransparencyValue() {
+ assertEquals("0",
AbstractXGMMLReader.convertXGMMLTransparencyValue("0"));
+ assertEquals("0",
AbstractXGMMLReader.convertXGMMLTransparencyValue("0.0"));
+ assertEquals("255",
AbstractXGMMLReader.convertXGMMLTransparencyValue("1.0"));
+ assertEquals("26",
AbstractXGMMLReader.convertXGMMLTransparencyValue("0.1"));
+ assertEquals("128",
AbstractXGMMLReader.convertXGMMLTransparencyValue("0.5"));
+ }
+
+ @Test
+ public void testConvertOldFontValue() {
+ assertEquals("ACaslonPro,bold,18",
AbstractXGMMLReader.convertOldFontValue("ACaslonPro-Bold-0-18"));
+ assertEquals("SansSerif,plain,12",
AbstractXGMMLReader.convertOldFontValue("SansSerif-0-12.1"));
+ assertEquals("SansSerif,bold,12",
AbstractXGMMLReader.convertOldFontValue("SansSerif.bold-0.0-12.0"));
+ assertEquals("SansSerif,bold,12",
AbstractXGMMLReader.convertOldFontValue("SansSerif,bold,12"));
+ }
+}
Modified:
core3/impl/trunk/io-impl/impl/src/test/java/org/cytoscape/io/internal/read/xgmml/XGMMLNetworkReaderTest.java
===================================================================
---
core3/impl/trunk/io-impl/impl/src/test/java/org/cytoscape/io/internal/read/xgmml/XGMMLNetworkReaderTest.java
2012-03-11 18:53:13 UTC (rev 28489)
+++
core3/impl/trunk/io-impl/impl/src/test/java/org/cytoscape/io/internal/read/xgmml/XGMMLNetworkReaderTest.java
2012-03-12 18:20:16 UTC (rev 28490)
@@ -1,10 +1,7 @@
package org.cytoscape.io.internal.read.xgmml;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
+import static org.junit.Assert.*;
+import static org.mockito.Mockito.*;
import java.io.ByteArrayInputStream;
import java.io.File;
@@ -12,7 +9,7 @@
import org.cytoscape.ding.NetworkViewTestSupport;
import org.cytoscape.equations.EquationCompiler;
-import org.cytoscape.io.internal.read.AbstractNetworkViewReaderTester;
+import org.cytoscape.io.internal.read.AbstractNetworkReaderTest;
import org.cytoscape.io.internal.read.xgmml.handler.ReadDataManager;
import org.cytoscape.io.internal.util.ReadCache;
import org.cytoscape.io.internal.util.UnrecognizedVisualPropertyManager;
@@ -20,6 +17,7 @@
import org.cytoscape.model.CyNetwork;
import org.cytoscape.model.CyNetworkFactory;
import org.cytoscape.model.CyNode;
+import org.cytoscape.model.CyTable;
import org.cytoscape.model.CyTableFactory;
import org.cytoscape.model.CyTableManager;
import org.cytoscape.model.NetworkTestSupport;
@@ -33,11 +31,11 @@
import org.junit.Before;
import org.junit.Test;
-public class XGMMLNetworkReaderTest extends AbstractNetworkViewReaderTester {
+public class XGMMLNetworkReaderTest extends AbstractNetworkReaderTest {
CyNetworkViewFactory networkViewFactory;
CyNetworkFactory networkFactory;
- CyRootNetworkManager rootNetworkManager;
+ CyRootNetworkManager rootNetworkMgr;
CyTableFactory tableFactory;
RenderingEngineManager renderingEngineMgr;
ReadDataManager readDataMgr;
@@ -59,20 +57,20 @@
NetworkTestSupport networkTestSupport = new
NetworkTestSupport();
networkFactory = networkTestSupport.getNetworkFactory();
- rootNetworkManager = networkTestSupport.getRootNetworkFactory();
+ rootNetworkMgr = networkTestSupport.getRootNetworkFactory();
NetworkViewTestSupport networkViewTestSupport = new
NetworkViewTestSupport();
networkViewFactory =
networkViewTestSupport.getNetworkViewFactory();
readCache = new ReadCache();
- readDataMgr = new ReadDataManager(readCache,
mock(EquationCompiler.class), networkFactory, rootNetworkManager);
+ readDataMgr = new ReadDataManager(readCache,
mock(EquationCompiler.class), networkFactory, rootNetworkMgr);
HandlerFactory handlerFactory = new HandlerFactory(readDataMgr);
handlerFactory.init();
parser = new XGMMLParser(handlerFactory, readDataMgr);
ByteArrayInputStream is = new
ByteArrayInputStream("".getBytes("UTF-8")); // TODO: use XGMML string or load
from file
- reader = new XGMMLNetworkReader(is, networkViewFactory,
networkFactory, renderingEngineMgr, rootNetworkManager,
+ reader = new XGMMLNetworkReader(is, networkViewFactory,
networkFactory, renderingEngineMgr, rootNetworkMgr,
readDataMgr, parser,
unrecognizedVisualPropertyMgr);
CyTableManager tableMgr= mock(CyTableManager.class);
@@ -83,42 +81,34 @@
public void testReadFromTypicalFile() throws Exception {
CyNetworkView[] views = getViews("galFiltered.xgmml");
CyNetwork net = checkSingleNetwork(views, 331, 362);
-
findInteraction(net, "YGR136W", "YGR058W", "pp", 1);
}
-
+
@Test
- public void testIsXGMMLTransparency() {
-
assertTrue(XGMMLNetworkReader.isXGMMLTransparency("nodeTransparency"));
-
assertTrue(XGMMLNetworkReader.isXGMMLTransparency("edgeTransparency"));
+ public void testParseHiddenAtt() throws Exception {
+ CyNetworkView[] views = getViews("hiddenAtt.xgmml");
+ CyNetwork net = checkSingleNetwork(views, 2, 1);
+
+ // Test CyTables
+ CyTable defNetTbl = net.getDefaultNetworkTable();
+ assertNotNull(defNetTbl.getColumn("test"));
+ CyTable hiddenNetTbl = net.getRow(net,
CyNetwork.HIDDEN_ATTRS).getTable();
+ assertNotNull(hiddenNetTbl.getColumn("_private_int"));
+
+ CyTable defNodeTbl = net.getDefaultNodeTable();
+ assertNotNull(defNodeTbl.getColumn("name"));
+ assertNotNull(defNodeTbl.getColumn("list_1"));
+ CyTable hiddenNodeTbl = net.getRow(net.getNodeList().get(0),
CyNetwork.HIDDEN_ATTRS).getTable();
+ assertNotNull(hiddenNodeTbl.getColumn("_private_str"));
+ assertNotNull(hiddenNodeTbl.getColumn("_private_list"));
+
+ CyTable defEdgeTbl = net.getDefaultEdgeTable();
+ assertNotNull(defEdgeTbl.getColumn("name"));
+ CyTable hiddenEdgeTbl = net.getRow(net.getEdgeList().get(0),
CyNetwork.HIDDEN_ATTRS).getTable();
+ assertNotNull(hiddenEdgeTbl.getColumn("_private_real"));
}
@Test
- public void testIsOldFont() {
- assertTrue(XGMMLNetworkReader.isOldFont("nodeLabelFont"));
- assertTrue(XGMMLNetworkReader.isOldFont("cy:nodeLabelFont"));
- assertTrue(XGMMLNetworkReader.isOldFont("edgeLabelFont"));
- assertTrue(XGMMLNetworkReader.isOldFont("cy:edgeLabelFont"));
- }
-
- @Test
- public void testConvertXGMMLTransparencyValue() {
- assertEquals("0",
XGMMLNetworkReader.convertXGMMLTransparencyValue("0"));
- assertEquals("0",
XGMMLNetworkReader.convertXGMMLTransparencyValue("0.0"));
- assertEquals("255",
XGMMLNetworkReader.convertXGMMLTransparencyValue("1.0"));
- assertEquals("26",
XGMMLNetworkReader.convertXGMMLTransparencyValue("0.1"));
- assertEquals("128",
XGMMLNetworkReader.convertXGMMLTransparencyValue("0.5"));
- }
-
- @Test
- public void testConvertOldFontValue() {
- assertEquals("ACaslonPro,bold,18",
XGMMLNetworkReader.convertOldFontValue("ACaslonPro-Bold-0-18"));
- assertEquals("SansSerif,plain,12",
XGMMLNetworkReader.convertOldFontValue("SansSerif-0-12.1"));
- assertEquals("SansSerif,bold,12",
XGMMLNetworkReader.convertOldFontValue("SansSerif.bold-0.0-12.0"));
- assertEquals("SansSerif,bold,12",
XGMMLNetworkReader.convertOldFontValue("SansSerif,bold,12"));
- }
-
- @Test
public void testIsLockedVisualProperty() {
CyNetwork network = mock(CyNetwork.class);
assertFalse(reader.isLockedVisualProperty(network,
"GRAPH_VIEW_ZOOM"));
@@ -159,7 +149,7 @@
private CyNetworkView[] getViews(String file) throws Exception {
File f = new File("./src/test/resources/testData/xgmml/" +
file);
XGMMLNetworkReader snvp = new XGMMLNetworkReader(new
FileInputStream(f), viewFactory, netFactory,
- renderingEngineMgr, rootNetworkManager,
readDataMgr, parser, unrecognizedVisualPropertyMgr);
+ renderingEngineMgr, rootNetworkMgr,
readDataMgr, parser, unrecognizedVisualPropertyMgr);
snvp.run(taskMonitor);
final CyNetwork[] networks = snvp.getNetworks();
Added:
core3/impl/trunk/io-impl/impl/src/test/resources/testData/xgmml/hiddenAtt.xgmml
===================================================================
---
core3/impl/trunk/io-impl/impl/src/test/resources/testData/xgmml/hiddenAtt.xgmml
(rev 0)
+++
core3/impl/trunk/io-impl/impl/src/test/resources/testData/xgmml/hiddenAtt.xgmml
2012-03-12 18:20:16 UTC (rev 28490)
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<graph label="Network A" xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:cy="http://www.cytoscape.org" xmlns="http://www.cs.rpi.edu/XGMML"
+ directed="1">
+
+ <att type="boolean" name="test" value="1" cy:hidden="false" />
+ <att type="integer" name="_private_int" value="1" cy:hidden="true" />
+
+ <node label="node1" id="-1">
+ <att type="string" name="name" value="node 1" />
+ <att type="string" name="_private_str" value="_v1"
cy:hidden="true" />
+ <att type="list" name="list_1">
+ <att type="string" value="a" />
+ <att type="string" value="b" />
+ </att>
+ </node>
+ <node label="node2" id="-2">
+ <att type="string" name="name" value="node 2" />
+ <att type="string" name="_private_str" value="_v2"
cy:hidden="true" />
+ <att type="list" name="_private_list" cy:hidden="true">
+ <att type="string" value="c" />
+ <att type="string" value="d" />
+ </att>
+ </node>
+ <edge label="node1 (DirectedEdge) node2" source="-1" target="-2">
+ <att type="string" name="name" value="node1 (DirectedEdge)
node2" />
+ <att type="real" name="_private_real" value="0.1"
cy:hidden="true" />
+ </edge>
+</graph>
--
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.