Author: ruschein
Date: 2010-06-28 08:00:55 -0700 (Mon, 28 Jun 2010)
New Revision: 20676
Modified:
corelibs/trunk/equations/src/org/cytoscape/equations/Equation.java
corelibs/trunk/equations/src/org/cytoscape/equations/builtins/Error.java
Log:
Enabled "error equations" to have an arbitrary return type.
Modified: corelibs/trunk/equations/src/org/cytoscape/equations/Equation.java
===================================================================
--- corelibs/trunk/equations/src/org/cytoscape/equations/Equation.java
2010-06-26 00:11:29 UTC (rev 20675)
+++ corelibs/trunk/equations/src/org/cytoscape/equations/Equation.java
2010-06-28 15:00:55 UTC (rev 20676)
@@ -77,9 +77,10 @@
* A factory method that returns an Equation that always fails at
runtime.
*
* @param equation an arbitrary string that is usually a
syntactically invalid equation
+ * @param type the return type of the error equation
* @param errorMessage the runtime error message that the returned
equation will produce
*/
- public static Equation getErrorEquation(final String equation, final
String errorMessage) {
+ public static Equation getErrorEquation(final String equation, final
Class type, final String errorMessage) {
final EqnCompiler compiler = new EqnCompiler();
final Map<String, Class> attribNameToTypeMap = new
HashMap<String, Class>();
if (!compiler.compile("=ERROR(\"" + escapeQuotes(errorMessage)
+ "\")", attribNameToTypeMap))
@@ -88,7 +89,7 @@
final Equation errorEquation = compiler.getEquation();
return new Equation(equation, errorEquation.attribReferences,
errorEquation.code,
- errorEquation.sourceLocations,
errorEquation.type);
+ errorEquation.sourceLocations, type);
}
private static String escapeQuotes(final String s) {
Modified:
corelibs/trunk/equations/src/org/cytoscape/equations/builtins/Error.java
===================================================================
--- corelibs/trunk/equations/src/org/cytoscape/equations/builtins/Error.java
2010-06-26 00:11:29 UTC (rev 20675)
+++ corelibs/trunk/equations/src/org/cytoscape/equations/builtins/Error.java
2010-06-28 15:00:55 UTC (rev 20676)
@@ -54,7 +54,7 @@
*/
public String getUsageDescription() { return "Call this with
\"ERROR(message)\""; }
- public Class getReturnType() { return String.class; }
+ public Class getReturnType() { return Object.class; }
/**
* @return Double.class or null if there is not exactly 1 arg or the
arg is not of type Double or Long
@@ -63,7 +63,7 @@
if (argTypes.length != 1 || argTypes[0] != String.class)
return null;
- return String.class;
+ return Object.class;
}
/**
--
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.