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.

Reply via email to