You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@calcite.apache.org by mm...@apache.org on 2018/07/20 17:41:57 UTC

[44/53] [abbrv] calcite git commit: [CALCITE-2409] SparkAdapterTest fails on Windows when '/tmp' directory does not exist (Sergey Nuyanzin)

[CALCITE-2409] SparkAdapterTest fails on Windows when '/tmp' directory does not exist (Sergey Nuyanzin)

Close apache/calcite#756


Project: http://git-wip-us.apache.org/repos/asf/calcite/repo
Commit: http://git-wip-us.apache.org/repos/asf/calcite/commit/008bfd6e
Tree: http://git-wip-us.apache.org/repos/asf/calcite/tree/008bfd6e
Diff: http://git-wip-us.apache.org/repos/asf/calcite/diff/008bfd6e

Branch: refs/heads/site
Commit: 008bfd6e9668f5be01057f73c14334d4b77446e4
Parents: f5cef16
Author: snuyanzin <sn...@gmail.com>
Authored: Wed Jul 11 14:09:59 2018 +0300
Committer: Volodymyr Vysotskyi <vv...@gmail.com>
Committed: Sat Jul 14 08:58:01 2018 +0300

----------------------------------------------------------------------
 .../calcite/adapter/spark/SparkHandlerImpl.java | 43 +++++++++-----------
 1 file changed, 19 insertions(+), 24 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/calcite/blob/008bfd6e/spark/src/main/java/org/apache/calcite/adapter/spark/SparkHandlerImpl.java
----------------------------------------------------------------------
diff --git a/spark/src/main/java/org/apache/calcite/adapter/spark/SparkHandlerImpl.java b/spark/src/main/java/org/apache/calcite/adapter/spark/SparkHandlerImpl.java
index be328ee..6935490 100644
--- a/spark/src/main/java/org/apache/calcite/adapter/spark/SparkHandlerImpl.java
+++ b/spark/src/main/java/org/apache/calcite/adapter/spark/SparkHandlerImpl.java
@@ -29,9 +29,7 @@ import org.apache.calcite.util.javac.JaninoCompiler;
 import org.apache.spark.api.java.JavaSparkContext;
 
 import java.io.File;
-import java.io.IOException;
 import java.io.Serializable;
-import java.io.Writer;
 import java.lang.reflect.Constructor;
 import java.lang.reflect.InvocationTargetException;
 import java.util.Calendar;
@@ -49,7 +47,6 @@ public class SparkHandlerImpl implements CalcitePrepare.SparkHandler {
       new JavaSparkContext("local[1]", "calcite");
 
   private static SparkHandlerImpl instance;
-  private static final File SRC_DIR = new File("/tmp");
   private static final File CLASS_DIR = new File("target/classes");
 
   /** Creates a SparkHandlerImpl. */
@@ -106,32 +103,30 @@ public class SparkHandlerImpl implements CalcitePrepare.SparkHandler {
 
   public ArrayBindable compile(ClassDeclaration expr, String s) {
     final String className = "CalciteProgram" + classId.getAndIncrement();
-    final File file = new File(SRC_DIR, className + ".java");
-    try (Writer w = Util.printWriter(file)) {
-      String source = "public class " + className + "\n"
-          + "    implements " + ArrayBindable.class.getName()
-          + ", " + Serializable.class.getName()
-          + " {\n"
-          + s + "\n"
-          + "}\n";
-
-      System.out.println("======================");
-      System.out.println(source);
-      System.out.println("======================");
-
-      w.write(source);
-      w.close();
-      JaninoCompiler compiler = new JaninoCompiler();
-      compiler.getArgs().setDestdir(CLASS_DIR.getAbsolutePath());
-      compiler.getArgs().setSource(source, file.getAbsolutePath());
-      compiler.getArgs().setFullClassName(className);
-      compiler.compile();
+    final String classFileName = className + ".java";
+    String source = "public class " + className + "\n"
+        + "    implements " + ArrayBindable.class.getName()
+        + ", " + Serializable.class.getName()
+        + " {\n"
+        + s + "\n"
+        + "}\n";
+
+    System.out.println("======================");
+    System.out.println(source);
+    System.out.println("======================");
+
+    JaninoCompiler compiler = new JaninoCompiler();
+    compiler.getArgs().setDestdir(CLASS_DIR.getAbsolutePath());
+    compiler.getArgs().setSource(source, classFileName);
+    compiler.getArgs().setFullClassName(className);
+    compiler.compile();
+    try {
       @SuppressWarnings("unchecked")
       final Class<ArrayBindable> clazz =
           (Class<ArrayBindable>) Class.forName(className);
       final Constructor<ArrayBindable> constructor = clazz.getConstructor();
       return constructor.newInstance();
-    } catch (IOException | ClassNotFoundException | InstantiationException
+    } catch (ClassNotFoundException | InstantiationException
         | IllegalAccessException | NoSuchMethodException
         | InvocationTargetException e) {
       throw new RuntimeException(e);