diff --git a/.classpath b/.classpath index 47375c80c..e2d9d4a17 100644 --- a/.classpath +++ b/.classpath @@ -12,7 +12,7 @@ - + diff --git a/main/src/com/google/refine/expr/MetaParser.java b/main/src/com/google/refine/expr/MetaParser.java index 6126fc571..02bb8b949 100644 --- a/main/src/com/google/refine/expr/MetaParser.java +++ b/main/src/com/google/refine/expr/MetaParser.java @@ -40,6 +40,7 @@ import java.util.Properties; import java.util.Set; import clojure.lang.IFn; +import clojure.lang.RT; import com.google.refine.grel.Parser; @@ -58,6 +59,10 @@ abstract public class MetaParser { } static final protected Map s_languages = new HashMap(); + + // TODO: We should switch from using the internal compiler class +// final static private Var CLOJURE_READ_STRING = RT.var("clojure.core", "read-string"); +// final static private Var CLOJURE_EVAL = RT.var("clojure.core", "eval"); static { registerLanguageParser("grel", "Google Refine Expression Language (GREL)", new LanguageSpecificParser() { @@ -73,9 +78,17 @@ abstract public class MetaParser { @Override public Evaluable parse(String s) throws ParsingException { try { +// RT.load("clojure/core"); // Make sure RT is initialized + Object foo = RT.CURRENT_NS; // Make sure RT is initialized IFn fn = (IFn) clojure.lang.Compiler.load(new StringReader( - "(fn [value cell cells row rowIndex] " + s + ")" - )); + "(fn [value cell cells row rowIndex] " + s + ")" + )); + + // TODO: We should to switch from using Compiler.load + // because it's technically an internal interface +// Object code = CLOJURE_READ_STRING.invoke( +// "(fn [value cell cells row rowIndex] " + s + ")" +// ); return new Evaluable() { private IFn _fn; diff --git a/main/webapp/WEB-INF/lib/clojure-1.4.0.jar b/main/webapp/WEB-INF/lib/clojure-1.4.0.jar deleted file mode 100644 index b8c1b5abd..000000000 Binary files a/main/webapp/WEB-INF/lib/clojure-1.4.0.jar and /dev/null differ diff --git a/main/webapp/WEB-INF/lib/clojure-1.5.1-slim.jar b/main/webapp/WEB-INF/lib/clojure-1.5.1-slim.jar new file mode 100644 index 000000000..8a3cbafbc Binary files /dev/null and b/main/webapp/WEB-INF/lib/clojure-1.5.1-slim.jar differ