This issue is based out of comment https://github.com/apache/zeppelin/pull/3370#issuecomment-511281165, where Injellij shows unknown error.
[Improvement]
* [ZEPPELIN-4244](https://issues.apache.org/jira/browse/ZEPPELIN-4244)
* CI should be green
* Intellij IDE should not show any error
* Does the licenses files need update? N/A
* Is there breaking changes for older versions? N/A
* Does this needs documentation? N/A
Author: Prabhjyot Singh <prabhjyot.singh@cloudera.com>
Closes #3409 from prabhjyotsingh/ZEPPELIN-4244 and squashes the following commits:
|
||
|---|---|---|
| .. | ||
| src | ||
| pom.xml | ||
| README.md | ||
Overview
Java interpreter for Apache Zeppelin
Architecture
Current interpreter implementation supports the static REPL. It compiles the code in memory, execute it and redirect the output to Zeppelin.
Technical overview
-
Upon starting an interpreter, an instance of
JavaCompileris created. -
When the user runs commands with java, the
JavaParsergo through the code to get a class that contains the main method. -
Then it replaces the class name with random class name to avoid overriding while compilation. It creates new out & err stream to get the data in new stream instead of the console, to redirect output to Zeppelin.
-
If there is any error during compilation, it can catch and redirect to Zeppelin.
-
JavaInterpreterUtilscontains useful methods to print out Java collections and leverage Zeppelin's built in visualization.