Author: ruschein
Date: 2010-06-25 15:42:24 -0700 (Fri, 25 Jun 2010)
New Revision: 20670
Modified:
cytoscape/trunk/lib/equations.jar
cytoscape/trunk/src/cytoscape/data/readers/CyAttributesReader.java
cytoscape/trunk/src/cytoscape/data/readers/XGMMLParser.java
Log:
Fixed a trivial bug in getErrorEquation().
Modified: cytoscape/trunk/lib/equations.jar
===================================================================
(Binary files differ)
Modified: cytoscape/trunk/src/cytoscape/data/readers/CyAttributesReader.java
===================================================================
--- cytoscape/trunk/src/cytoscape/data/readers/CyAttributesReader.java
2010-06-25 22:42:10 UTC (rev 20669)
+++ cytoscape/trunk/src/cytoscape/data/readers/CyAttributesReader.java
2010-06-25 22:42:24 UTC (rev 20670)
@@ -67,9 +67,11 @@
private boolean doDecoding;
final Map<String, Map<String, Class>> idsToAttribNameToTypeMapMap;
private List<AttribEquation> attribEquations; // This is where we
collect equations for later addition.
+ private final CyLogger logger;
CyAttributesReader() {
+ logger = CyLogger.getLogger(CyAttributesReader.class);
lineNum = 0;
doDecoding =
Boolean.valueOf(System.getProperty(DECODE_PROPERTY, "true"));
idsToAttribNameToTypeMapMap = new HashMap<String, Map<String,
Class>>();
@@ -122,9 +124,13 @@
if (compiler.compile(attribEquation.getEquation(),
attribNameToTypeMap))
cyAttrs.setAttribute(attribEquation.getID(),
attribEquation.getAttrName(), compiler.getEquation(),
attribEquation.getDataType());
- else
- throw new IllegalStateException("bad equation
on line " + attribEquation.getLineNumber()
- + ": " +
compiler.getLastErrorMsg());
+ else {
+ final String errorMessage =
compiler.getLastErrorMsg();
+ logger.warn("bad equation on line " +
attribEquation.getLineNumber() + ": " + errorMessage);
+ final Equation errorEquation =
Equation.getErrorEquation(attribEquation.getEquation(), errorMessage);
+ cyAttrs.setAttribute(attribEquation.getID(),
attribEquation.getAttrName(), errorEquation,
+
attribEquation.getDataType());
+ }
}
}
@@ -372,7 +378,7 @@
else
message = "failed parsing attributes file at
line: " + lineNum
+ " with exception: " + e.getMessage();
-
CyLogger.getLogger(CyAttributesReader.class).warn(message, e);
+ logger.warn(message, e);
throw new IOException(message);
}
}
@@ -384,7 +390,7 @@
}
catch (IllegalArgumentException iae) {
if (!badDecode) {
-
CyLogger.getLogger(CyAttributesReader.class).info(MessageFormat.format(badDecodeMessage,
lineNum), iae);
+
logger.info(MessageFormat.format(badDecodeMessage, lineNum), iae);
badDecode = true;
}
}
Modified: cytoscape/trunk/src/cytoscape/data/readers/XGMMLParser.java
===================================================================
--- cytoscape/trunk/src/cytoscape/data/readers/XGMMLParser.java 2010-06-25
22:42:10 UTC (rev 20669)
+++ cytoscape/trunk/src/cytoscape/data/readers/XGMMLParser.java 2010-06-25
22:42:24 UTC (rev 20670)
@@ -44,6 +44,7 @@
import cytoscape.logger.CyLogger;
import org.cytoscape.equations.EqnCompiler;
+import org.cytoscape.equations.Equation;
import org.xml.sax.helpers.DefaultHandler;
import org.xml.sax.helpers.AttributesImpl;
@@ -636,11 +637,17 @@
attribNameToTypeMap.put("ID", String.class);
final EqnCompiler compiler = new EqnCompiler();
for (final AttribEquation attribEquation : attribEquations) {
- if (!(compiler.compile(attribEquation.getEquation(),
attribNameToTypeMap)))
- throw new IllegalStateException("failed to
compile an equation in an XGMML input file ("
- +
compiler.getLastErrorMsg() + ")!");
- attribs.setAttribute(attribEquation.getID(),
attribEquation.getAttrName(),
- compiler.getEquation(),
attribEquation.getDataType());
+ if (compiler.compile(attribEquation.getEquation(),
attribNameToTypeMap))
+ attribs.setAttribute(attribEquation.getID(),
attribEquation.getAttrName(),
+ compiler.getEquation(),
attribEquation.getDataType());
+ else {
+ final String errorMessage =
compiler.getLastErrorMsg();
+ logger.warn("failed to compile an equation in
an XGMML input file ("
+ + errorMessage + ")!");
+ final Equation errorEquation =
Equation.getErrorEquation(attribEquation.getEquation(), errorMessage);
+ attribs.setAttribute(attribEquation.getID(),
attribEquation.getAttrName(),
+ errorEquation,
attribEquation.getDataType());
+ }
}
}
--
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.