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