Author: ruschein
Date: 2010-06-25 15:58:22 -0700 (Fri, 25 Jun 2010)
New Revision: 20671

Modified:
   corelibs/trunk/equations/src/org/cytoscape/equations/Equation.java
Log:
Fixed a yet another bug in getErrorEquation().

Modified: corelibs/trunk/equations/src/org/cytoscape/equations/Equation.java
===================================================================
--- corelibs/trunk/equations/src/org/cytoscape/equations/Equation.java  
2010-06-25 22:42:24 UTC (rev 20670)
+++ corelibs/trunk/equations/src/org/cytoscape/equations/Equation.java  
2010-06-25 22:58:22 UTC (rev 20671)
@@ -82,7 +82,7 @@
        public static Equation getErrorEquation(final String equation, final 
String errorMessage) {
                final EqnCompiler compiler = new EqnCompiler();
                final Map<String, Class> attribNameToTypeMap = new 
HashMap<String, Class>();
-               if (!compiler.compile("=ERROR(\"" + errorMessage + "\")", 
attribNameToTypeMap))
+               if (!compiler.compile("=ERROR(\"" + escapeQuotes(errorMessage) 
+ "\")", attribNameToTypeMap))
                        throw new IllegalStateException("internal error in 
Equation.getErrorEquation().  This should *never* happen!");
 
                final Equation errorEquation = compiler.getEquation();
@@ -90,4 +90,16 @@
                return new Equation(equation, errorEquation.attribReferences, 
errorEquation.code,
                                    errorEquation.sourceLocations, 
errorEquation.type);
        }
+
+       private static  String escapeQuotes(final String s) {
+               final StringBuilder builder = new StringBuilder();
+               for (int i = 0; i < s.length(); ++i) {
+                       final char ch = s.charAt(i);
+                       if (ch == '"')
+                               builder.append('\\');
+                       builder.append(ch);
+               }
+
+               return builder.toString();
+       }
 }

-- 
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