You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@zeppelin.apache.org by jo...@apache.org on 2018/08/26 04:44:22 UTC

[39/49] zeppelin git commit: [ZEPPELIN-3740] Adopt `google-java-format` and `fmt-maven-plugin`

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/55f6c91c/python/src/main/java/org/apache/zeppelin/python/PythonCondaInterpreter.java
----------------------------------------------------------------------
diff --git a/python/src/main/java/org/apache/zeppelin/python/PythonCondaInterpreter.java b/python/src/main/java/org/apache/zeppelin/python/PythonCondaInterpreter.java
index 5eb34e4..43639f7 100644
--- a/python/src/main/java/org/apache/zeppelin/python/PythonCondaInterpreter.java
+++ b/python/src/main/java/org/apache/zeppelin/python/PythonCondaInterpreter.java
@@ -16,18 +16,6 @@
  */
 package org.apache.zeppelin.python;
 
-import org.apache.commons.lang.StringUtils;
-import org.apache.zeppelin.interpreter.Interpreter;
-import org.apache.zeppelin.interpreter.InterpreterContext;
-import org.apache.zeppelin.interpreter.InterpreterException;
-import org.apache.zeppelin.interpreter.InterpreterOutput;
-import org.apache.zeppelin.interpreter.InterpreterResult;
-import org.apache.zeppelin.interpreter.InterpreterResult.Code;
-import org.apache.zeppelin.interpreter.InterpreterResult.Type;
-import org.apache.zeppelin.scheduler.Scheduler;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
 import java.io.BufferedReader;
 import java.io.IOException;
 import java.io.InputStream;
@@ -40,11 +28,19 @@ import java.util.Map;
 import java.util.Properties;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
+import org.apache.commons.lang.StringUtils;
+import org.apache.zeppelin.interpreter.Interpreter;
+import org.apache.zeppelin.interpreter.InterpreterContext;
+import org.apache.zeppelin.interpreter.InterpreterException;
+import org.apache.zeppelin.interpreter.InterpreterOutput;
+import org.apache.zeppelin.interpreter.InterpreterResult;
+import org.apache.zeppelin.interpreter.InterpreterResult.Code;
+import org.apache.zeppelin.interpreter.InterpreterResult.Type;
+import org.apache.zeppelin.scheduler.Scheduler;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
-/**
- * Conda support
- * TODO(zjffdu) Add removing conda env
- */
+/** Conda support TODO(zjffdu) Add removing conda env */
 public class PythonCondaInterpreter extends Interpreter {
   private static Logger logger = LoggerFactory.getLogger(PythonCondaInterpreter.class);
   public static final String ZEPPELIN_PYTHON = "zeppelin.python";
@@ -70,14 +66,10 @@ public class PythonCondaInterpreter extends Interpreter {
   }
 
   @Override
-  public void open() throws InterpreterException {
-
-  }
+  public void open() throws InterpreterException {}
 
   @Override
-  public void close() {
-
-  }
+  public void close() {}
 
   @Override
   public InterpreterResult interpret(String st, InterpreterContext context)
@@ -167,7 +159,6 @@ public class PythonCondaInterpreter extends Interpreter {
         getInterpreterInTheSameSessionByClassName(PythonInterpreter.class, false);
     pythonInterpreter.close();
     pythonInterpreter.open();
-
   }
 
   public static String runCondaCommandForTextOutput(String title, List<String> commands)
@@ -188,8 +179,7 @@ public class PythonCondaInterpreter extends Interpreter {
     return wrapCondaTableOutputStyle(title, envPerName);
   }
 
-  protected Map<String, String> getCondaEnvs()
-      throws IOException, InterruptedException {
+  protected Map<String, String> getCondaEnvs() throws IOException, InterruptedException {
     String result = runCommand("conda", "env", "list");
     Map<String, String> envList = parseCondaCommonStdout(result);
     return envList;
@@ -199,8 +189,7 @@ public class PythonCondaInterpreter extends Interpreter {
     return wrapCondaTableOutputStyle("Environment List", getCondaEnvs());
   }
 
-  private String runCondaEnv(List<String> restArgs)
-      throws IOException, InterruptedException {
+  private String runCondaEnv(List<String> restArgs) throws IOException, InterruptedException {
 
     restArgs.add(0, "conda");
     restArgs.add(1, "env");
@@ -259,8 +248,7 @@ public class PythonCondaInterpreter extends Interpreter {
     return runCondaCommandForTextOutput("Conda Information", commands);
   }
 
-  private String runCondaCreate(List<String> restArgs)
-      throws IOException, InterruptedException {
+  private String runCondaCreate(List<String> restArgs) throws IOException, InterruptedException {
     restArgs.add(0, "conda");
     restArgs.add(1, "create");
     restArgs.add(2, "--yes");
@@ -268,8 +256,7 @@ public class PythonCondaInterpreter extends Interpreter {
     return runCondaCommandForTextOutput("Environment Creation", restArgs);
   }
 
-  private String runCondaInstall(List<String> restArgs)
-      throws IOException, InterruptedException {
+  private String runCondaInstall(List<String> restArgs) throws IOException, InterruptedException {
 
     restArgs.add(0, "conda");
     restArgs.add(1, "install");
@@ -282,8 +269,7 @@ public class PythonCondaInterpreter extends Interpreter {
     return runCondaCommandForTextOutput("Package Installation", restArgs);
   }
 
-  private String runCondaUninstall(List<String> restArgs)
-      throws IOException, InterruptedException {
+  private String runCondaUninstall(List<String> restArgs) throws IOException, InterruptedException {
 
     restArgs.add(0, "conda");
     restArgs.add(1, "uninstall");
@@ -299,12 +285,9 @@ public class PythonCondaInterpreter extends Interpreter {
   public static String wrapCondaBasicOutputStyle(String title, String content) {
     StringBuilder sb = new StringBuilder();
     if (null != title && !title.isEmpty()) {
-      sb.append("<h4>").append(title).append("</h4>\n")
-          .append("</div><br />\n");
+      sb.append("<h4>").append(title).append("</h4>\n").append("</div><br />\n");
     }
-    sb.append("<div style=\"white-space:pre-wrap;\">\n")
-        .append(content)
-        .append("</div>");
+    sb.append("<div style=\"white-space:pre-wrap;\">\n").append(content).append("</div>");
 
     return sb.toString();
   }
@@ -320,11 +303,13 @@ public class PythonCondaInterpreter extends Interpreter {
     for (String name : kv.keySet()) {
       String path = kv.get(name);
 
-      sb.append(String.format("<div style=\"display:table-row\">" +
-              "<div style=\"display:table-cell;width:150px\">%s</div>" +
-              "<div style=\"display:table-cell;\">%s</div>" +
-              "</div>\n",
-          name, path));
+      sb.append(
+          String.format(
+              "<div style=\"display:table-row\">"
+                  + "<div style=\"display:table-cell;width:150px\">%s</div>"
+                  + "<div style=\"display:table-cell;\">%s</div>"
+                  + "</div>\n",
+              name, path));
     }
     sb.append("</div>\n");
 
@@ -352,9 +337,7 @@ public class PythonCondaInterpreter extends Interpreter {
   }
 
   @Override
-  public void cancel(InterpreterContext context) {
-
-  }
+  public void cancel(InterpreterContext context) {}
 
   @Override
   public FormType getFormType() {
@@ -367,8 +350,8 @@ public class PythonCondaInterpreter extends Interpreter {
   }
 
   /**
-   * Use python interpreter's scheduler.
-   * To make sure %python.conda paragraph and %python paragraph runs sequentially
+   * Use python interpreter's scheduler. To make sure %python.conda paragraph and %python paragraph
+   * runs sequentially
    */
   @Override
   public Scheduler getScheduler() {
@@ -381,8 +364,7 @@ public class PythonCondaInterpreter extends Interpreter {
     }
   }
 
-  public static String runCommand(List<String> commands)
-      throws IOException, InterruptedException {
+  public static String runCommand(List<String> commands) throws IOException, InterruptedException {
     logger.info("Starting shell commands: " + StringUtils.join(commands, " "));
     Process process = Runtime.getRuntime().exec(commands.toArray(new String[0]));
     StreamGobbler errorGobbler = new StreamGobbler(process.getErrorStream());
@@ -429,8 +411,7 @@ public class PythonCondaInterpreter extends Interpreter {
     }
   }
 
-  public static String runCommand(String... command)
-      throws IOException, InterruptedException {
+  public static String runCommand(String... command) throws IOException, InterruptedException {
 
     List<String> list = new ArrayList<>(command.length);
     for (String arg : command) {

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/55f6c91c/python/src/main/java/org/apache/zeppelin/python/PythonDockerInterpreter.java
----------------------------------------------------------------------
diff --git a/python/src/main/java/org/apache/zeppelin/python/PythonDockerInterpreter.java b/python/src/main/java/org/apache/zeppelin/python/PythonDockerInterpreter.java
index 52caf35..1774187 100644
--- a/python/src/main/java/org/apache/zeppelin/python/PythonDockerInterpreter.java
+++ b/python/src/main/java/org/apache/zeppelin/python/PythonDockerInterpreter.java
@@ -16,15 +16,6 @@
  */
 package org.apache.zeppelin.python;
 
-import org.apache.zeppelin.interpreter.Interpreter;
-import org.apache.zeppelin.interpreter.InterpreterContext;
-import org.apache.zeppelin.interpreter.InterpreterException;
-import org.apache.zeppelin.interpreter.InterpreterOutput;
-import org.apache.zeppelin.interpreter.InterpreterResult;
-import org.apache.zeppelin.scheduler.Scheduler;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
 import java.io.BufferedReader;
 import java.io.File;
 import java.io.IOException;
@@ -34,10 +25,16 @@ import java.nio.file.Paths;
 import java.util.Properties;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
+import org.apache.zeppelin.interpreter.Interpreter;
+import org.apache.zeppelin.interpreter.InterpreterContext;
+import org.apache.zeppelin.interpreter.InterpreterException;
+import org.apache.zeppelin.interpreter.InterpreterOutput;
+import org.apache.zeppelin.interpreter.InterpreterResult;
+import org.apache.zeppelin.scheduler.Scheduler;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
-/**
- * Helps run python interpreter on a docker container
- */
+/** Helps run python interpreter on a docker container */
 public class PythonDockerInterpreter extends Interpreter {
   Logger logger = LoggerFactory.getLogger(PythonDockerInterpreter.class);
   Pattern activatePattern = Pattern.compile("activate\\s*(.*)");
@@ -61,9 +58,7 @@ public class PythonDockerInterpreter extends Interpreter {
   }
 
   @Override
-  public void close() {
-
-  }
+  public void close() {}
 
   @Override
   public InterpreterResult interpret(String st, InterpreterContext context)
@@ -83,23 +78,26 @@ public class PythonDockerInterpreter extends Interpreter {
       pull(out, image);
 
       // mount pythonscript dir
-      String mountPythonScript = "-v " + pythonWorkDir.getAbsolutePath() +
-          ":/_python_workdir ";
+      String mountPythonScript = "-v " + pythonWorkDir.getAbsolutePath() + ":/_python_workdir ";
 
       // mount zeppelin dir
-      String mountPy4j = "-v " + zeppelinHome.getAbsolutePath() +
-          ":/_zeppelin ";
+      String mountPy4j = "-v " + zeppelinHome.getAbsolutePath() + ":/_zeppelin ";
 
       // set PYTHONPATH
       String pythonPath = ".:/_python_workdir/py4j-src-0.10.7.zip:/_python_workdir";
 
-      setPythonCommand("docker run -i --rm " +
-          mountPythonScript +
-          mountPy4j +
-          "-e PYTHONPATH=\"" + pythonPath + "\" " +
-          image + " " +
-          pythonInterpreter.getPythonExec() + " " +
-          "/_python_workdir/zeppelin_python.py");
+      setPythonCommand(
+          "docker run -i --rm "
+              + mountPythonScript
+              + mountPy4j
+              + "-e PYTHONPATH=\""
+              + pythonPath
+              + "\" "
+              + image
+              + " "
+              + pythonInterpreter.getPythonExec()
+              + " "
+              + "/_python_workdir/zeppelin_python.py");
       restartPythonProcess();
       out.clear();
       return new InterpreterResult(InterpreterResult.Code.SUCCESS, "\"" + image + "\" activated");
@@ -112,7 +110,6 @@ public class PythonDockerInterpreter extends Interpreter {
     }
   }
 
-
   public void setPythonCommand(String cmd) throws InterpreterException {
     pythonInterpreter.setPythonExec(cmd);
   }
@@ -127,9 +124,7 @@ public class PythonDockerInterpreter extends Interpreter {
   }
 
   @Override
-  public void cancel(InterpreterContext context) {
-
-  }
+  public void cancel(InterpreterContext context) {}
 
   @Override
   public FormType getFormType() {
@@ -142,8 +137,8 @@ public class PythonDockerInterpreter extends Interpreter {
   }
 
   /**
-   * Use python interpreter's scheduler.
-   * To make sure %python.docker paragraph and %python paragraph runs sequentially
+   * Use python interpreter's scheduler. To make sure %python.docker paragraph and %python paragraph
+   * runs sequentially
    */
   @Override
   public Scheduler getScheduler() {

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/55f6c91c/python/src/main/java/org/apache/zeppelin/python/PythonInterpreter.java
----------------------------------------------------------------------
diff --git a/python/src/main/java/org/apache/zeppelin/python/PythonInterpreter.java b/python/src/main/java/org/apache/zeppelin/python/PythonInterpreter.java
index fb4ba9c..ebab2db 100644
--- a/python/src/main/java/org/apache/zeppelin/python/PythonInterpreter.java
+++ b/python/src/main/java/org/apache/zeppelin/python/PythonInterpreter.java
@@ -19,6 +19,14 @@ package org.apache.zeppelin.python;
 
 import com.google.common.io.Files;
 import com.google.gson.Gson;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+import java.util.concurrent.atomic.AtomicBoolean;
 import org.apache.commons.exec.CommandLine;
 import org.apache.commons.exec.DefaultExecutor;
 import org.apache.commons.exec.ExecuteException;
@@ -45,19 +53,10 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import py4j.GatewayServer;
 
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-import java.util.concurrent.atomic.AtomicBoolean;
-
 /**
  * Interpreter for Python, it is the first implementation of interpreter for Python, so with less
- * features compared to IPythonInterpreter, but requires less prerequisites than
- * IPythonInterpreter, only python installation is required.
+ * features compared to IPythonInterpreter, but requires less prerequisites than IPythonInterpreter,
+ * only python installation is required.
  */
 public class PythonInterpreter extends Interpreter implements ExecuteResultHandler {
   private static final Logger LOGGER = LoggerFactory.getLogger(PythonInterpreter.class);
@@ -75,7 +74,7 @@ public class PythonInterpreter extends Interpreter implements ExecuteResultHandl
   private long pythonPid = -1;
   private IPythonInterpreter iPythonInterpreter;
   private BaseZeppelinContext zeppelinContext;
-  private String condaPythonExec;  // set by PythonCondaInterpreter
+  private String condaPythonExec; // set by PythonCondaInterpreter
   private boolean usePy4jAuth = false;
 
   public PythonInterpreter(Properties property) {
@@ -86,9 +85,8 @@ public class PythonInterpreter extends Interpreter implements ExecuteResultHandl
   public void open() throws InterpreterException {
     // try IPythonInterpreter first
     iPythonInterpreter = getIPythonInterpreter();
-    if (getProperty("zeppelin.python.useIPython", "true").equals("true") &&
-        StringUtils.isEmpty(
-            iPythonInterpreter.checkIPythonPrerequisite(getPythonExec()))) {
+    if (getProperty("zeppelin.python.useIPython", "true").equals("true")
+        && StringUtils.isEmpty(iPythonInterpreter.checkIPythonPrerequisite(getPythonExec()))) {
       try {
         iPythonInterpreter.open();
         LOGGER.info("IPython is available, Use IPythonInterpreter to replace PythonInterpreter");
@@ -130,8 +128,8 @@ public class PythonInterpreter extends Interpreter implements ExecuteResultHandl
     // container can also connect to this gateway server.
     String serverAddress = PythonUtils.getLocalIP(properties);
     String secret = PythonUtils.createSecret(256);
-    this.gatewayServer = PythonUtils.createGatewayServer(this, serverAddress, port, secret,
-        usePy4jAuth);
+    this.gatewayServer =
+        PythonUtils.createGatewayServer(this, serverAddress, port, secret, usePy4jAuth);
     gatewayServer.start();
 
     // launch python process to connect to the gateway server in JVM side
@@ -154,14 +152,15 @@ public class PythonInterpreter extends Interpreter implements ExecuteResultHandl
     if (usePy4jAuth) {
       env.put("PY4J_GATEWAY_SECRET", secret);
     }
-    LOGGER.info("Launching Python Process Command: " + cmd.getExecutable() +
-        " " + StringUtils.join(cmd.getArguments(), " "));
+    LOGGER.info(
+        "Launching Python Process Command: "
+            + cmd.getExecutable()
+            + " "
+            + StringUtils.join(cmd.getArguments(), " "));
     executor.execute(cmd, env, this);
     pythonScriptRunning.set(true);
   }
 
-
-
   private void createPythonScript() throws IOException {
     // set java.io.tmpdir to /tmp on MacOS, because docker can not share the /var folder which will
     // cause PythonDockerInterpreter fails.
@@ -184,14 +183,12 @@ public class PythonInterpreter extends Interpreter implements ExecuteResultHandl
     return this.iPythonInterpreter != null;
   }
 
-  private void copyResourceToPythonWorkDir(String srcResourceName,
-                                           String dstFileName) throws IOException {
+  private void copyResourceToPythonWorkDir(String srcResourceName, String dstFileName)
+      throws IOException {
     FileOutputStream out = null;
     try {
       out = new FileOutputStream(pythonWorkDir.getAbsoluteFile() + "/" + dstFileName);
-      IOUtils.copy(
-          getClass().getClassLoader().getResourceAsStream(srcResourceName),
-          out);
+      IOUtils.copy(getClass().getClassLoader().getResourceAsStream(srcResourceName), out);
     } finally {
       if (out != null) {
         out.close();
@@ -261,9 +258,7 @@ public class PythonInterpreter extends Interpreter implements ExecuteResultHandl
     this.condaPythonExec = pythonExec;
   }
 
-  /**
-   * Request send to Python Daemon
-   */
+  /** Request send to Python Daemon */
   public class PythonInterpretRequest {
     public String statements;
     public boolean isForCompletion;
@@ -335,9 +330,7 @@ public class PythonInterpreter extends Interpreter implements ExecuteResultHandl
   }
 
   // used by subclass such as PySparkInterpreter to set JobGroup before executing spark code
-  protected void preCallPython(InterpreterContext context) {
-
-  }
+  protected void preCallPython(InterpreterContext context) {}
 
   // blocking call. Send python code to python process and get response
   protected void callPython(PythonInterpretRequest request) {
@@ -366,8 +359,8 @@ public class PythonInterpreter extends Interpreter implements ExecuteResultHandl
     }
 
     if (!pythonScriptRunning.get()) {
-      return new InterpreterResult(Code.ERROR, "python process not running "
-          + outputStream.toString());
+      return new InterpreterResult(
+          Code.ERROR, "python process not running " + outputStream.toString());
     }
 
     outputStream.setInterpreterOutput(context.out);
@@ -395,8 +388,8 @@ public class PythonInterpreter extends Interpreter implements ExecuteResultHandl
 
     if (!pythonScriptInitialized.get()) {
       // timeout. didn't get initialized message
-      errorMessage.add(new InterpreterResultMessage(
-          InterpreterResult.Type.TEXT, "Failed to initialize Python"));
+      errorMessage.add(
+          new InterpreterResultMessage(InterpreterResult.Type.TEXT, "Failed to initialize Python"));
       return new InterpreterResult(Code.ERROR, errorMessage);
     }
 
@@ -457,11 +450,9 @@ public class PythonInterpreter extends Interpreter implements ExecuteResultHandl
     return 0;
   }
 
-
   @Override
-  public List<InterpreterCompletion> completion(String buf, int cursor,
-                                                InterpreterContext interpreterContext)
-      throws InterpreterException {
+  public List<InterpreterCompletion> completion(
+      String buf, int cursor, InterpreterContext interpreterContext) throws InterpreterException {
     if (iPythonInterpreter != null) {
       return iPythonInterpreter.completion(buf, cursor, interpreterContext);
     }
@@ -482,8 +473,7 @@ public class PythonInterpreter extends Interpreter implements ExecuteResultHandl
     String[] completionList = null;
     synchronized (statementFinishedNotifier) {
       long startTime = System.currentTimeMillis();
-      while (statementOutput == null
-          && pythonScriptRunning.get()) {
+      while (statementOutput == null && pythonScriptRunning.get()) {
         try {
           if (System.currentTimeMillis() - startTime > MAX_TIMEOUT_SEC * 1000) {
             LOGGER.error("Python completion didn't have response for {}sec.", MAX_TIMEOUT_SEC);
@@ -502,7 +492,7 @@ public class PythonInterpreter extends Interpreter implements ExecuteResultHandl
       Gson gson = new Gson();
       completionList = gson.fromJson(statementOutput, String[].class);
     }
-    //end code for completion
+    // end code for completion
     if (completionList == null) {
       return new LinkedList<>();
     }
@@ -538,7 +528,6 @@ public class PythonInterpreter extends Interpreter implements ExecuteResultHandl
       if (indexOfReverseSeqPostion < completionStartPosition && indexOfReverseSeqPostion > 0) {
         completionStartPosition = indexOfReverseSeqPostion;
       }
-
     }
 
     if (completionStartPosition == completionEndPosition) {
@@ -546,8 +535,8 @@ public class PythonInterpreter extends Interpreter implements ExecuteResultHandl
     } else {
       completionStartPosition = completionEndPosition - completionStartPosition;
     }
-    resultCompletionText = completionScriptText.substring(
-        completionStartPosition, completionEndPosition);
+    resultCompletionText =
+        completionScriptText.substring(completionStartPosition, completionEndPosition);
 
     return resultCompletionText;
   }
@@ -575,8 +564,8 @@ public class PythonInterpreter extends Interpreter implements ExecuteResultHandl
         IOUtils.toString(getClass().getClassLoader().getResourceAsStream(resourceName));
     try {
       // Add hook explicitly, otherwise python will fail to execute the statement
-      InterpreterResult result = interpret(bootstrapCode + "\n" + "__zeppelin__._displayhook()",
-          InterpreterContext.get());
+      InterpreterResult result =
+          interpret(bootstrapCode + "\n" + "__zeppelin__._displayhook()", InterpreterContext.get());
       if (result.code() != Code.SUCCESS) {
         throw new IOException("Fail to run bootstrap script: " + resourceName);
       }

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/55f6c91c/python/src/main/java/org/apache/zeppelin/python/PythonInterpreterPandasSql.java
----------------------------------------------------------------------
diff --git a/python/src/main/java/org/apache/zeppelin/python/PythonInterpreterPandasSql.java b/python/src/main/java/org/apache/zeppelin/python/PythonInterpreterPandasSql.java
index 4fccc3c..fb812bd 100644
--- a/python/src/main/java/org/apache/zeppelin/python/PythonInterpreterPandasSql.java
+++ b/python/src/main/java/org/apache/zeppelin/python/PythonInterpreterPandasSql.java
@@ -17,6 +17,8 @@
 
 package org.apache.zeppelin.python;
 
+import java.io.IOException;
+import java.util.Properties;
 import org.apache.zeppelin.interpreter.Interpreter;
 import org.apache.zeppelin.interpreter.InterpreterContext;
 import org.apache.zeppelin.interpreter.InterpreterException;
@@ -24,13 +26,10 @@ import org.apache.zeppelin.interpreter.InterpreterResult;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import java.io.IOException;
-import java.util.Properties;
-
 /**
  * SQL over Pandas DataFrame interpreter for %python group
- * <p>
- * Match experience of %sparpk.sql over Spark DataFrame
+ *
+ * <p>Match experience of %sparpk.sql over Spark DataFrame
  */
 public class PythonInterpreterPandasSql extends Interpreter {
   private static final Logger LOG = LoggerFactory.getLogger(PythonInterpreterPandasSql.class);
@@ -73,9 +72,7 @@ public class PythonInterpreterPandasSql extends Interpreter {
   }
 
   @Override
-  public void cancel(InterpreterContext context) {
-
-  }
+  public void cancel(InterpreterContext context) {}
 
   @Override
   public FormType getFormType() {
@@ -86,5 +83,4 @@ public class PythonInterpreterPandasSql extends Interpreter {
   public int getProgress(InterpreterContext context) {
     return 0;
   }
-
 }

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/55f6c91c/python/src/main/java/org/apache/zeppelin/python/PythonUtils.java
----------------------------------------------------------------------
diff --git a/python/src/main/java/org/apache/zeppelin/python/PythonUtils.java b/python/src/main/java/org/apache/zeppelin/python/PythonUtils.java
index 996518b..3cf2493 100644
--- a/python/src/main/java/org/apache/zeppelin/python/PythonUtils.java
+++ b/python/src/main/java/org/apache/zeppelin/python/PythonUtils.java
@@ -17,11 +17,6 @@
 
 package org.apache.zeppelin.python;
 
-import org.apache.commons.codec.binary.Base64;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import py4j.GatewayServer;
-
 import java.io.IOException;
 import java.net.Inet4Address;
 import java.net.InetAddress;
@@ -29,28 +24,36 @@ import java.net.UnknownHostException;
 import java.security.SecureRandom;
 import java.util.List;
 import java.util.Properties;
+import org.apache.commons.codec.binary.Base64;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import py4j.GatewayServer;
 
 public class PythonUtils {
 
   private static final Logger LOGGER = LoggerFactory.getLogger(PythonUtils.class);
 
-  public static GatewayServer createGatewayServer(Object entryPoint,
-                                                  String serverAddress,
-                                                  int port,
-                                                  String secretKey,
-                                                  boolean useAuth) throws IOException {
-    LOGGER.info("Launching GatewayServer at " + serverAddress + ":" + port +
-        ", useAuth: " + useAuth);
+  public static GatewayServer createGatewayServer(
+      Object entryPoint, String serverAddress, int port, String secretKey, boolean useAuth)
+      throws IOException {
+    LOGGER.info(
+        "Launching GatewayServer at " + serverAddress + ":" + port + ", useAuth: " + useAuth);
     if (useAuth) {
       try {
-        Class clz = Class.forName("py4j.GatewayServer$GatewayServerBuilder", true,
-            Thread.currentThread().getContextClassLoader());
+        Class clz =
+            Class.forName(
+                "py4j.GatewayServer$GatewayServerBuilder",
+                true,
+                Thread.currentThread().getContextClassLoader());
         Object builder = clz.getConstructor(Object.class).newInstance(entryPoint);
         builder.getClass().getMethod("authToken", String.class).invoke(builder, secretKey);
         builder.getClass().getMethod("javaPort", int.class).invoke(builder, port);
-        builder.getClass().getMethod("javaAddress", InetAddress.class).invoke(builder,
-            InetAddress.getByName(serverAddress));
-        builder.getClass()
+        builder
+            .getClass()
+            .getMethod("javaAddress", InetAddress.class)
+            .invoke(builder, InetAddress.getByName(serverAddress));
+        builder
+            .getClass()
             .getMethod("callbackClient", int.class, InetAddress.class, String.class)
             .invoke(builder, port, InetAddress.getByName(serverAddress), secretKey);
         return (GatewayServer) builder.getClass().getMethod("build").invoke(builder);
@@ -58,7 +61,8 @@ public class PythonUtils {
         throw new IOException(e);
       }
     } else {
-      return new GatewayServer(entryPoint,
+      return new GatewayServer(
+          entryPoint,
           port,
           GatewayServer.DEFAULT_PYTHON_PORT,
           InetAddress.getByName(serverAddress),
@@ -72,8 +76,7 @@ public class PythonUtils {
   public static String getLocalIP(Properties properties) {
     // zeppelin.python.gatewayserver_address is only for unit test on travis.
     // Because the FQDN would fail unit test on travis ci.
-    String gatewayserver_address =
-        properties.getProperty("zeppelin.python.gatewayserver_address");
+    String gatewayserver_address = properties.getProperty("zeppelin.python.gatewayserver_address");
     if (gatewayserver_address != null) {
       return gatewayserver_address;
     }

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/55f6c91c/python/src/main/java/org/apache/zeppelin/python/PythonZeppelinContext.java
----------------------------------------------------------------------
diff --git a/python/src/main/java/org/apache/zeppelin/python/PythonZeppelinContext.java b/python/src/main/java/org/apache/zeppelin/python/PythonZeppelinContext.java
index 526784e..57b41bf 100644
--- a/python/src/main/java/org/apache/zeppelin/python/PythonZeppelinContext.java
+++ b/python/src/main/java/org/apache/zeppelin/python/PythonZeppelinContext.java
@@ -17,15 +17,12 @@
 
 package org.apache.zeppelin.python;
 
-import org.apache.zeppelin.interpreter.BaseZeppelinContext;
-import org.apache.zeppelin.interpreter.InterpreterHookRegistry;
-
 import java.util.List;
 import java.util.Map;
+import org.apache.zeppelin.interpreter.BaseZeppelinContext;
+import org.apache.zeppelin.interpreter.InterpreterHookRegistry;
 
-/**
- * ZeppelinContext for Python
- */
+/** ZeppelinContext for Python */
 public class PythonZeppelinContext extends BaseZeppelinContext {
 
   public PythonZeppelinContext(InterpreterHookRegistry hooks, int maxResult) {

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/55f6c91c/python/src/test/java/org/apache/zeppelin/python/BasePythonInterpreterTest.java
----------------------------------------------------------------------
diff --git a/python/src/test/java/org/apache/zeppelin/python/BasePythonInterpreterTest.java b/python/src/test/java/org/apache/zeppelin/python/BasePythonInterpreterTest.java
index a51c053..81189e7 100644
--- a/python/src/test/java/org/apache/zeppelin/python/BasePythonInterpreterTest.java
+++ b/python/src/test/java/org/apache/zeppelin/python/BasePythonInterpreterTest.java
@@ -17,6 +17,12 @@
 
 package org.apache.zeppelin.python;
 
+import static junit.framework.TestCase.assertTrue;
+import static org.junit.Assert.assertEquals;
+import static org.mockito.Mockito.mock;
+
+import java.io.IOException;
+import java.util.List;
 import org.apache.zeppelin.display.ui.CheckBox;
 import org.apache.zeppelin.display.ui.Password;
 import org.apache.zeppelin.display.ui.Select;
@@ -34,13 +40,6 @@ import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
 
-import java.io.IOException;
-import java.util.List;
-
-import static junit.framework.TestCase.assertTrue;
-import static org.junit.Assert.assertEquals;
-import static org.mockito.Mockito.mock;
-
 public abstract class BasePythonInterpreterTest {
 
   protected InterpreterGroup intpGroup;
@@ -52,13 +51,11 @@ public abstract class BasePythonInterpreterTest {
   @After
   public abstract void tearDown() throws InterpreterException;
 
-
   @Test
   public void testPythonBasics() throws InterpreterException, InterruptedException, IOException {
 
     InterpreterContext context = getInterpreterContext();
-    InterpreterResult result =
-        interpreter.interpret("import sys\nprint(sys.version[0])", context);
+    InterpreterResult result = interpreter.interpret("import sys\nprint(sys.version[0])", context);
     assertEquals(InterpreterResult.Code.SUCCESS, result.code());
     Thread.sleep(100);
     List<InterpreterResultMessage> interpreterResultMessages =
@@ -145,8 +142,8 @@ public abstract class BasePythonInterpreterTest {
     if (interpreter instanceof IPythonInterpreter) {
       interpreterResultMessages = context.out.toInterpreterResultMessage();
       assertEquals(1, interpreterResultMessages.size());
-      assertTrue(interpreterResultMessages.get(0).getData().contains(
-          "name 'unknown' is not defined"));
+      assertTrue(
+          interpreterResultMessages.get(0).getData().contains("name 'unknown' is not defined"));
     } else if (interpreter instanceof PythonInterpreter) {
       assertTrue(result.message().get(0).getData().contains("name 'unknown' is not defined"));
     }
@@ -166,11 +163,13 @@ public abstract class BasePythonInterpreterTest {
 
     // ZEPPELIN-1133
     context = getInterpreterContext();
-    result = interpreter.interpret(
-        "from __future__ import print_function\n" +
-            "def greet(name):\n" +
-            "    print('Hello', name)\n" +
-            "greet('Jack')", context);
+    result =
+        interpreter.interpret(
+            "from __future__ import print_function\n"
+                + "def greet(name):\n"
+                + "    print('Hello', name)\n"
+                + "greet('Jack')",
+            context);
     Thread.sleep(100);
     assertEquals(InterpreterResult.Code.SUCCESS, result.code());
     interpreterResultMessages = context.out.toInterpreterResultMessage();
@@ -195,8 +194,8 @@ public abstract class BasePythonInterpreterTest {
     assertEquals(0, interpreterResultMessages.size());
 
     context = getInterpreterContext();
-    result = interpreter.interpret(
-        "# print('Hello')\n# print('How are u?')\n# time.sleep(1)", context);
+    result =
+        interpreter.interpret("# print('Hello')\n# print('How are u?')\n# time.sleep(1)", context);
     Thread.sleep(100);
     assertEquals(InterpreterResult.Code.SUCCESS, result.code());
     interpreterResultMessages = context.out.toInterpreterResultMessage();
@@ -259,8 +258,7 @@ public abstract class BasePythonInterpreterTest {
 
     // Password
     context = getInterpreterContext();
-    result =
-        interpreter.interpret("z.password(name='pwd_1')", context);
+    result = interpreter.interpret("z.password(name='pwd_1')", context);
     Thread.sleep(100);
     assertEquals(InterpreterResult.Code.SUCCESS, result.code());
     assertTrue(context.getGui().getForms().get("pwd_1") instanceof Password);
@@ -269,8 +267,11 @@ public abstract class BasePythonInterpreterTest {
 
     // Select
     context = getInterpreterContext();
-    result = interpreter.interpret("z.select(name='select_1'," +
-        " options=[('value_1', 'name_1'), ('value_2', 'name_2')])", context);
+    result =
+        interpreter.interpret(
+            "z.select(name='select_1',"
+                + " options=[('value_1', 'name_1'), ('value_2', 'name_2')])",
+            context);
     assertEquals(InterpreterResult.Code.SUCCESS, result.code());
     assertEquals(1, context.getGui().getForms().size());
     assertTrue(context.getGui().getForms().get("select_1") instanceof Select);
@@ -282,8 +283,11 @@ public abstract class BasePythonInterpreterTest {
 
     // CheckBox
     context = getInterpreterContext();
-    result = interpreter.interpret("z.checkbox(name='checkbox_1'," +
-        "options=[('value_1', 'name_1'), ('value_2', 'name_2')])", context);
+    result =
+        interpreter.interpret(
+            "z.checkbox(name='checkbox_1',"
+                + "options=[('value_1', 'name_1'), ('value_2', 'name_2')])",
+            context);
     assertEquals(InterpreterResult.Code.SUCCESS, result.code());
     assertEquals(1, context.getGui().getForms().size());
     assertTrue(context.getGui().getForms().get("checkbox_1") instanceof CheckBox);
@@ -295,8 +299,11 @@ public abstract class BasePythonInterpreterTest {
 
     // Pandas DataFrame
     context = getInterpreterContext();
-    result = interpreter.interpret("import pandas as pd\n" +
-        "df = pd.DataFrame({'id':[1,2,3], 'name':['a','b','c']})\nz.show(df)", context);
+    result =
+        interpreter.interpret(
+            "import pandas as pd\n"
+                + "df = pd.DataFrame({'id':[1,2,3], 'name':['a','b','c']})\nz.show(df)",
+            context);
     assertEquals(InterpreterResult.Code.SUCCESS, result.code());
     interpreterResultMessages = context.out.toInterpreterResultMessage();
     assertEquals(1, interpreterResultMessages.size());
@@ -304,21 +311,28 @@ public abstract class BasePythonInterpreterTest {
     assertEquals("id\tname\n1\ta\n2\tb\n3\tc\n", interpreterResultMessages.get(0).getData());
 
     context = getInterpreterContext();
-    result = interpreter.interpret("import pandas as pd\n" +
-        "df = pd.DataFrame({'id':[1,2,3,4], 'name':['a','b','c', 'd']})\nz.show(df)", context);
+    result =
+        interpreter.interpret(
+            "import pandas as pd\n"
+                + "df = pd.DataFrame({'id':[1,2,3,4], 'name':['a','b','c', 'd']})\nz.show(df)",
+            context);
     assertEquals(InterpreterResult.Code.SUCCESS, result.code());
     interpreterResultMessages = context.out.toInterpreterResultMessage();
     assertEquals(2, interpreterResultMessages.size());
     assertEquals(InterpreterResult.Type.TABLE, interpreterResultMessages.get(0).getType());
     assertEquals("id\tname\n1\ta\n2\tb\n3\tc\n", interpreterResultMessages.get(0).getData());
     assertEquals(InterpreterResult.Type.HTML, interpreterResultMessages.get(1).getType());
-    assertEquals("<font color=red>Results are limited by 3.</font>\n",
+    assertEquals(
+        "<font color=red>Results are limited by 3.</font>\n",
         interpreterResultMessages.get(1).getData());
 
     // z.show(matplotlib)
     context = getInterpreterContext();
-    result = interpreter.interpret("import matplotlib.pyplot as plt\n" +
-        "data=[1,1,2,3,4]\nplt.figure()\nplt.plot(data)\nz.show(plt)", context);
+    result =
+        interpreter.interpret(
+            "import matplotlib.pyplot as plt\n"
+                + "data=[1,1,2,3,4]\nplt.figure()\nplt.plot(data)\nz.show(plt)",
+            context);
     assertEquals(InterpreterResult.Code.SUCCESS, result.code());
     interpreterResultMessages = context.out.toInterpreterResultMessage();
     assertEquals(1, interpreterResultMessages.size());
@@ -326,8 +340,11 @@ public abstract class BasePythonInterpreterTest {
 
     // clear output
     context = getInterpreterContext();
-    result = interpreter.interpret("import time\nprint(\"Hello\")\n" +
-        "time.sleep(0.5)\nz.getInterpreterContext().out().clear()\nprint(\"world\")\n", context);
+    result =
+        interpreter.interpret(
+            "import time\nprint(\"Hello\")\n"
+                + "time.sleep(0.5)\nz.getInterpreterContext().out().clear()\nprint(\"world\")\n",
+            context);
     assertEquals("%text world\n", context.out.getCurrentOutput().toString());
   }
 
@@ -337,15 +354,20 @@ public abstract class BasePythonInterpreterTest {
     String restoreCode = "z = __zeppelin__\n";
     String validCode = "z.input(\"test\")\n";
 
-    assertEquals(InterpreterResult.Code.SUCCESS,
+    assertEquals(
+        InterpreterResult.Code.SUCCESS,
         interpreter.interpret(validCode, getInterpreterContext()).code());
-    assertEquals(InterpreterResult.Code.SUCCESS,
+    assertEquals(
+        InterpreterResult.Code.SUCCESS,
         interpreter.interpret(redefinitionCode, getInterpreterContext()).code());
-    assertEquals(InterpreterResult.Code.ERROR,
+    assertEquals(
+        InterpreterResult.Code.ERROR,
         interpreter.interpret(validCode, getInterpreterContext()).code());
-    assertEquals(InterpreterResult.Code.SUCCESS,
+    assertEquals(
+        InterpreterResult.Code.SUCCESS,
         interpreter.interpret(restoreCode, getInterpreterContext()).code());
-    assertEquals(InterpreterResult.Code.SUCCESS,
+    assertEquals(
+        InterpreterResult.Code.SUCCESS,
         interpreter.interpret(validCode, getInterpreterContext()).code());
   }
 

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/55f6c91c/python/src/test/java/org/apache/zeppelin/python/IPythonInterpreterTest.java
----------------------------------------------------------------------
diff --git a/python/src/test/java/org/apache/zeppelin/python/IPythonInterpreterTest.java b/python/src/test/java/org/apache/zeppelin/python/IPythonInterpreterTest.java
index 4b6bfdb..5fba6ba 100644
--- a/python/src/test/java/org/apache/zeppelin/python/IPythonInterpreterTest.java
+++ b/python/src/test/java/org/apache/zeppelin/python/IPythonInterpreterTest.java
@@ -17,6 +17,13 @@
 
 package org.apache.zeppelin.python;
 
+import static junit.framework.TestCase.assertTrue;
+import static org.junit.Assert.assertEquals;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Properties;
 import org.apache.zeppelin.interpreter.Interpreter;
 import org.apache.zeppelin.interpreter.InterpreterContext;
 import org.apache.zeppelin.interpreter.InterpreterException;
@@ -26,15 +33,6 @@ import org.apache.zeppelin.interpreter.InterpreterResultMessage;
 import org.apache.zeppelin.interpreter.LazyOpenInterpreter;
 import org.junit.Test;
 
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Properties;
-
-import static junit.framework.TestCase.assertTrue;
-import static org.junit.Assert.assertEquals;
-
-
 public class IPythonInterpreterTest extends BasePythonInterpreterTest {
 
   protected Properties initIntpProperties() {
@@ -113,8 +111,11 @@ public class IPythonInterpreterTest extends BasePythonInterpreterTest {
   public void testIPythonPlotting() throws InterpreterException, InterruptedException, IOException {
     // matplotlib
     InterpreterContext context = getInterpreterContext();
-    InterpreterResult result = interpreter.interpret("%matplotlib inline\n" +
-        "import matplotlib.pyplot as plt\ndata=[1,1,2,3,4]\nplt.figure()\nplt.plot(data)", context);
+    InterpreterResult result =
+        interpreter.interpret(
+            "%matplotlib inline\n"
+                + "import matplotlib.pyplot as plt\ndata=[1,1,2,3,4]\nplt.figure()\nplt.plot(data)",
+            context);
     Thread.sleep(100);
     assertEquals(InterpreterResult.Code.SUCCESS, result.code());
     List<InterpreterResultMessage> interpreterResultMessages =
@@ -144,10 +145,13 @@ public class IPythonInterpreterTest extends BasePythonInterpreterTest {
     // bokeh
     // bokeh initialization
     context = getInterpreterContext();
-    result = interpreter.interpret("from bokeh.io import output_notebook, show\n" +
-        "from bokeh.plotting import figure\n" +
-        "import bkzep\n" +
-        "output_notebook(notebook_type='zeppelin')", context);
+    result =
+        interpreter.interpret(
+            "from bokeh.io import output_notebook, show\n"
+                + "from bokeh.plotting import figure\n"
+                + "import bkzep\n"
+                + "output_notebook(notebook_type='zeppelin')",
+            context);
     Thread.sleep(100);
     assertEquals(InterpreterResult.Code.SUCCESS, result.code());
     interpreterResultMessages = context.out.toInterpreterResultMessage();
@@ -159,12 +163,15 @@ public class IPythonInterpreterTest extends BasePythonInterpreterTest {
 
     // bokeh plotting
     context = getInterpreterContext();
-    result = interpreter.interpret("from bokeh.plotting import figure, output_file, show\n" +
-        "x = [1, 2, 3, 4, 5]\n" +
-        "y = [6, 7, 2, 4, 5]\n" +
-        "p = figure(title=\"simple line example\", x_axis_label='x', y_axis_label='y')\n" +
-        "p.line(x, y, legend=\"Temp.\", line_width=2)\n" +
-        "show(p)", context);
+    result =
+        interpreter.interpret(
+            "from bokeh.plotting import figure, output_file, show\n"
+                + "x = [1, 2, 3, 4, 5]\n"
+                + "y = [6, 7, 2, 4, 5]\n"
+                + "p = figure(title=\"simple line example\", x_axis_label='x', y_axis_label='y')\n"
+                + "p.line(x, y, legend=\"Temp.\", line_width=2)\n"
+                + "show(p)",
+            context);
     Thread.sleep(100);
     assertEquals(InterpreterResult.Code.SUCCESS, result.code());
     interpreterResultMessages = context.out.toInterpreterResultMessage();
@@ -176,10 +183,13 @@ public class IPythonInterpreterTest extends BasePythonInterpreterTest {
 
     // ggplot
     context = getInterpreterContext();
-    result = interpreter.interpret("from ggplot import *\n" +
-        "ggplot(diamonds, aes(x='price', fill='cut')) +\\\n" +
-        "    geom_density(alpha=0.25) +\\\n" +
-        "    facet_wrap(\"clarity\")", context);
+    result =
+        interpreter.interpret(
+            "from ggplot import *\n"
+                + "ggplot(diamonds, aes(x='price', fill='cut')) +\\\n"
+                + "    geom_density(alpha=0.25) +\\\n"
+                + "    facet_wrap(\"clarity\")",
+            context);
     Thread.sleep(100);
     assertEquals(InterpreterResult.Code.SUCCESS, result.code());
     interpreterResultMessages = context.out.toInterpreterResultMessage();
@@ -234,5 +244,4 @@ public class IPythonInterpreterTest extends BasePythonInterpreterTest {
     result = interpreter.interpret("print('1'*3000)", context);
     assertEquals(InterpreterResult.Code.SUCCESS, result.code());
   }
-
 }

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/55f6c91c/python/src/test/java/org/apache/zeppelin/python/PythonCondaInterpreterTest.java
----------------------------------------------------------------------
diff --git a/python/src/test/java/org/apache/zeppelin/python/PythonCondaInterpreterTest.java b/python/src/test/java/org/apache/zeppelin/python/PythonCondaInterpreterTest.java
index a2cdac8..1a8ab03 100644
--- a/python/src/test/java/org/apache/zeppelin/python/PythonCondaInterpreterTest.java
+++ b/python/src/test/java/org/apache/zeppelin/python/PythonCondaInterpreterTest.java
@@ -17,14 +17,14 @@
 
 package org.apache.zeppelin.python;
 
-
-import org.apache.zeppelin.interpreter.InterpreterContext;
-import org.apache.zeppelin.interpreter.InterpreterException;
-import org.apache.zeppelin.interpreter.InterpreterGroup;
-import org.apache.zeppelin.interpreter.InterpreterOutput;
-import org.apache.zeppelin.interpreter.InterpreterResult;
-import org.junit.Before;
-import org.junit.Test;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
 
 import java.io.IOException;
 import java.util.Arrays;
@@ -33,15 +33,13 @@ import java.util.List;
 import java.util.Map;
 import java.util.Properties;
 import java.util.regex.Matcher;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.when;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
+import org.apache.zeppelin.interpreter.InterpreterContext;
+import org.apache.zeppelin.interpreter.InterpreterException;
+import org.apache.zeppelin.interpreter.InterpreterGroup;
+import org.apache.zeppelin.interpreter.InterpreterOutput;
+import org.apache.zeppelin.interpreter.InterpreterResult;
+import org.junit.Before;
+import org.junit.Test;
 
 public class PythonCondaInterpreterTest {
   private PythonCondaInterpreter conda;
@@ -105,14 +103,14 @@ public class PythonCondaInterpreterTest {
   }
 
   @Test
-  public void testParseCondaCommonStdout()
-      throws IOException, InterruptedException {
+  public void testParseCondaCommonStdout() throws IOException, InterruptedException {
 
-    StringBuilder sb = new StringBuilder()
-        .append("# comment1\n")
-        .append("# comment2\n")
-        .append("env1     /location1\n")
-        .append("env2     /location2\n");
+    StringBuilder sb =
+        new StringBuilder()
+            .append("# comment1\n")
+            .append("# comment2\n")
+            .append("env1     /location1\n")
+            .append("env2     /location2\n");
 
     Map<String, String> locationPerEnv =
         PythonCondaInterpreter.parseCondaCommonStdout(sb.toString());
@@ -123,20 +121,15 @@ public class PythonCondaInterpreterTest {
 
   @Test
   public void testGetRestArgsFromMatcher() {
-    Matcher m =
-        PythonCondaInterpreter.PATTERN_COMMAND_ENV.matcher("env remove --name test --yes");
+    Matcher m = PythonCondaInterpreter.PATTERN_COMMAND_ENV.matcher("env remove --name test --yes");
     m.matches();
 
     List<String> restArgs = PythonCondaInterpreter.getRestArgsFromMatcher(m);
-    List<String> expected = Arrays.asList(new String[]{"remove", "--name", "test", "--yes"});
+    List<String> expected = Arrays.asList(new String[] {"remove", "--name", "test", "--yes"});
     assertEquals(expected, restArgs);
   }
 
   private InterpreterContext getInterpreterContext() {
-    return InterpreterContext.builder()
-        .setInterpreterOut(new InterpreterOutput(null))
-        .build();
+    return InterpreterContext.builder().setInterpreterOut(new InterpreterOutput(null)).build();
   }
-
-
 }

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/55f6c91c/python/src/test/java/org/apache/zeppelin/python/PythonDockerInterpreterTest.java
----------------------------------------------------------------------
diff --git a/python/src/test/java/org/apache/zeppelin/python/PythonDockerInterpreterTest.java b/python/src/test/java/org/apache/zeppelin/python/PythonDockerInterpreterTest.java
index 04bb414..39041f2 100644
--- a/python/src/test/java/org/apache/zeppelin/python/PythonDockerInterpreterTest.java
+++ b/python/src/test/java/org/apache/zeppelin/python/PythonDockerInterpreterTest.java
@@ -16,18 +16,6 @@
  */
 package org.apache.zeppelin.python;
 
-import org.apache.zeppelin.interpreter.InterpreterContext;
-import org.apache.zeppelin.interpreter.InterpreterException;
-import org.apache.zeppelin.interpreter.InterpreterGroup;
-import org.apache.zeppelin.interpreter.InterpreterOutput;
-import org.junit.Before;
-import org.junit.Test;
-import org.mockito.Mockito;
-
-import java.io.File;
-import java.util.Arrays;
-import java.util.Properties;
-
 import static org.mockito.Matchers.any;
 import static org.mockito.Matchers.anyString;
 import static org.mockito.Mockito.doReturn;
@@ -36,6 +24,17 @@ import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 
+import java.io.File;
+import java.util.Arrays;
+import java.util.Properties;
+import org.apache.zeppelin.interpreter.InterpreterContext;
+import org.apache.zeppelin.interpreter.InterpreterException;
+import org.apache.zeppelin.interpreter.InterpreterGroup;
+import org.apache.zeppelin.interpreter.InterpreterOutput;
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.Mockito;
+
 public class PythonDockerInterpreterTest {
   private PythonDockerInterpreter docker;
   private PythonInterpreter python;
@@ -77,8 +76,6 @@ public class PythonDockerInterpreterTest {
   }
 
   private InterpreterContext getInterpreterContext() {
-    return InterpreterContext.builder()
-        .setInterpreterOut(new InterpreterOutput(null))
-        .build();
+    return InterpreterContext.builder().setInterpreterOut(new InterpreterOutput(null)).build();
   }
 }

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/55f6c91c/python/src/test/java/org/apache/zeppelin/python/PythonInterpreterMatplotlibTest.java
----------------------------------------------------------------------
diff --git a/python/src/test/java/org/apache/zeppelin/python/PythonInterpreterMatplotlibTest.java b/python/src/test/java/org/apache/zeppelin/python/PythonInterpreterMatplotlibTest.java
index 8326612..1fb2418 100644
--- a/python/src/test/java/org/apache/zeppelin/python/PythonInterpreterMatplotlibTest.java
+++ b/python/src/test/java/org/apache/zeppelin/python/PythonInterpreterMatplotlibTest.java
@@ -17,6 +17,14 @@
 
 package org.apache.zeppelin.python;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotSame;
+import static org.junit.Assert.assertTrue;
+
+import java.io.IOException;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Properties;
 import org.apache.zeppelin.display.AngularObjectRegistry;
 import org.apache.zeppelin.interpreter.Interpreter;
 import org.apache.zeppelin.interpreter.InterpreterContext;
@@ -30,15 +38,6 @@ import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
 
-import java.io.IOException;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Properties;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotSame;
-import static org.junit.Assert.assertTrue;
-
 public class PythonInterpreterMatplotlibTest implements InterpreterOutputListener {
   private InterpreterGroup intpGroup;
   private PythonInterpreter python;
@@ -64,10 +63,11 @@ public class PythonInterpreterMatplotlibTest implements InterpreterOutputListene
 
     out = new InterpreterOutput(this);
 
-    context = InterpreterContext.builder()
-        .setInterpreterOut(out)
-        .setAngularObjectRegistry(new AngularObjectRegistry(intpGroup.getId(), null))
-        .build();
+    context =
+        InterpreterContext.builder()
+            .setInterpreterOut(out)
+            .setAngularObjectRegistry(new AngularObjectRegistry(intpGroup.getId(), null))
+            .build();
     InterpreterContext.set(context);
 
     python.open();
@@ -98,12 +98,16 @@ public class PythonInterpreterMatplotlibTest implements InterpreterOutputListene
     ret = python.interpret("plt.plot([1, 2, 3])", context);
     ret = python.interpret("plt.show()", context);
 
-    assertEquals(new String(out.getOutputAt(0).toByteArray()),
-        InterpreterResult.Code.SUCCESS, ret.code());
-    assertEquals(new String(out.getOutputAt(0).toByteArray()),
-        InterpreterResult.Type.TEXT, out.getOutputAt(0).getType());
-    assertEquals(new String(out.getOutputAt(1).toByteArray()),
-        InterpreterResult.Type.HTML, out.getOutputAt(1).getType());
+    assertEquals(
+        new String(out.getOutputAt(0).toByteArray()), InterpreterResult.Code.SUCCESS, ret.code());
+    assertEquals(
+        new String(out.getOutputAt(0).toByteArray()),
+        InterpreterResult.Type.TEXT,
+        out.getOutputAt(0).getType());
+    assertEquals(
+        new String(out.getOutputAt(1).toByteArray()),
+        InterpreterResult.Type.HTML,
+        out.getOutputAt(1).getType());
     assertTrue(new String(out.getOutputAt(1).toByteArray()).contains("data:image/png;base64"));
     assertTrue(new String(out.getOutputAt(1).toByteArray()).contains("<div>"));
   }
@@ -125,8 +129,8 @@ public class PythonInterpreterMatplotlibTest implements InterpreterOutputListene
     // type to HTML.
     ret = python.interpret("plt.show()", context);
 
-    assertEquals(new String(out.getOutputAt(0).toByteArray()),
-        InterpreterResult.Code.SUCCESS, ret.code());
+    assertEquals(
+        new String(out.getOutputAt(0).toByteArray()), InterpreterResult.Code.SUCCESS, ret.code());
     assertEquals(0, ret.message().size());
 
     // Now test that new plot is drawn. It should be identical to the
@@ -173,19 +177,12 @@ public class PythonInterpreterMatplotlibTest implements InterpreterOutputListene
     assertNotSame(msg1, msg2);
   }
 
-
   @Override
-  public void onUpdateAll(InterpreterOutput out) {
-
-  }
+  public void onUpdateAll(InterpreterOutput out) {}
 
   @Override
-  public void onAppend(int index, InterpreterResultMessageOutput out, byte[] line) {
-
-  }
+  public void onAppend(int index, InterpreterResultMessageOutput out, byte[] line) {}
 
   @Override
-  public void onUpdate(int index, InterpreterResultMessageOutput out) {
-
-  }
+  public void onUpdate(int index, InterpreterResultMessageOutput out) {}
 }

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/55f6c91c/python/src/test/java/org/apache/zeppelin/python/PythonInterpreterPandasSqlTest.java
----------------------------------------------------------------------
diff --git a/python/src/test/java/org/apache/zeppelin/python/PythonInterpreterPandasSqlTest.java b/python/src/test/java/org/apache/zeppelin/python/PythonInterpreterPandasSqlTest.java
index 8f6cab2..9d4c445 100644
--- a/python/src/test/java/org/apache/zeppelin/python/PythonInterpreterPandasSqlTest.java
+++ b/python/src/test/java/org/apache/zeppelin/python/PythonInterpreterPandasSqlTest.java
@@ -17,6 +17,13 @@
 
 package org.apache.zeppelin.python;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
+import java.io.IOException;
+import java.util.Arrays;
+import java.util.Properties;
 import org.apache.zeppelin.interpreter.InterpreterContext;
 import org.apache.zeppelin.interpreter.InterpreterException;
 import org.apache.zeppelin.interpreter.InterpreterGroup;
@@ -29,25 +36,17 @@ import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
 
-import java.io.IOException;
-import java.util.Arrays;
-import java.util.Properties;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-
 /**
  * In order for this test to work, test env must have installed:
+ *
  * <ol>
- * - <li>Python</li>
- * - <li>NumPy</li>
- * - <li>Pandas</li>
- * - <li>PandaSql</li>
- * <ol>
- * <p>
- * To run manually on such environment, use:
- * <code>
+ *   -
+ *   <li>Python -
+ *   <li>NumPy -
+ *   <li>Pandas -
+ *   <li>PandaSql
+ *       <ol>
+ *         <p>To run manually on such environment, use: <code>
  * mvn -Dpython.test.exclude='' test -pl python -am
  * </code>
  */
@@ -70,9 +69,7 @@ public class PythonInterpreterPandasSqlTest implements InterpreterOutputListener
     intpGroup = new InterpreterGroup();
 
     out = new InterpreterOutput(this);
-    context = InterpreterContext.builder()
-        .setInterpreterOut(out)
-        .build();
+    context = InterpreterContext.builder().setInterpreterOut(out).build();
     InterpreterContext.set(context);
 
     python = new PythonInterpreter(p);
@@ -84,7 +81,6 @@ public class PythonInterpreterPandasSqlTest implements InterpreterOutputListener
 
     intpGroup.put("note", Arrays.asList(python, sql));
 
-
     // to make sure python is running.
     InterpreterResult ret = python.interpret("print(\"python initialized\")\n", context);
     assertEquals(ret.message().toString(), InterpreterResult.Code.SUCCESS, ret.code());
@@ -118,36 +114,40 @@ public class PythonInterpreterPandasSqlTest implements InterpreterOutputListener
   public void sqlOverTestDataPrintsTable() throws IOException, InterpreterException {
     InterpreterResult ret;
     // given
-    //String expectedTable = "name\tage\n\nmoon\t33\n\npark\t34";
+    // String expectedTable = "name\tage\n\nmoon\t33\n\npark\t34";
     ret = python.interpret("import pandas as pd", context);
     ret = python.interpret("import numpy as np", context);
     // DataFrame df2 \w test data
-    ret = python.interpret("df2 = pd.DataFrame({ 'age'  : np.array([33, 51, 51, 34]), " +
-        "'name' : pd.Categorical(['moon','jobs','gates','park'])})", context);
+    ret =
+        python.interpret(
+            "df2 = pd.DataFrame({ 'age'  : np.array([33, 51, 51, 34]), "
+                + "'name' : pd.Categorical(['moon','jobs','gates','park'])})",
+            context);
     assertEquals(ret.message().toString(), InterpreterResult.Code.SUCCESS, ret.code());
 
-    //when
+    // when
     ret = sql.interpret("select name, age from df2 where age < 40", context);
 
-    //then
-    assertEquals(new String(out.getOutputAt(1).toByteArray()),
-        InterpreterResult.Code.SUCCESS, ret.code());
-    assertEquals(new String(out.getOutputAt(1).toByteArray()), Type.TABLE,
-        out.getOutputAt(1).getType());
+    // then
+    assertEquals(
+        new String(out.getOutputAt(1).toByteArray()), InterpreterResult.Code.SUCCESS, ret.code());
+    assertEquals(
+        new String(out.getOutputAt(1).toByteArray()), Type.TABLE, out.getOutputAt(1).getType());
     assertTrue(new String(out.getOutputAt(1).toByteArray()).indexOf("moon\t33") > 0);
     assertTrue(new String(out.getOutputAt(1).toByteArray()).indexOf("park\t34") > 0);
 
-    assertEquals(InterpreterResult.Code.SUCCESS,
-        sql.interpret("select case when name==\"aa\" then name else name end from df2",
-            context).code());
+    assertEquals(
+        InterpreterResult.Code.SUCCESS,
+        sql.interpret("select case when name==\"aa\" then name else name end from df2", context)
+            .code());
   }
 
   @Test
   public void badSqlSyntaxFails() throws IOException, InterpreterException {
-    //when
+    // when
     InterpreterResult ret = sql.interpret("select wrong syntax", context);
 
-    //then
+    // then
     assertNotNull("Interpreter returned 'null'", ret);
     assertEquals(ret.toString(), InterpreterResult.Code.ERROR, ret.code());
   }
@@ -168,27 +168,21 @@ public class PythonInterpreterPandasSqlTest implements InterpreterOutputListener
     ret = python.interpret("z.show(df1, show_index=True)", context);
 
     // then
-    assertEquals(new String(out.getOutputAt(0).toByteArray()),
-        InterpreterResult.Code.SUCCESS, ret.code());
-    assertEquals(new String(out.getOutputAt(1).toByteArray()),
-        Type.TABLE, out.getOutputAt(1).getType());
+    assertEquals(
+        new String(out.getOutputAt(0).toByteArray()), InterpreterResult.Code.SUCCESS, ret.code());
+    assertEquals(
+        new String(out.getOutputAt(1).toByteArray()), Type.TABLE, out.getOutputAt(1).getType());
     assertTrue(new String(out.getOutputAt(1).toByteArray()).contains("index_name"));
     assertTrue(new String(out.getOutputAt(1).toByteArray()).contains("nan"));
     assertTrue(new String(out.getOutputAt(1).toByteArray()).contains("6.7"));
   }
 
   @Override
-  public void onUpdateAll(InterpreterOutput out) {
-
-  }
+  public void onUpdateAll(InterpreterOutput out) {}
 
   @Override
-  public void onAppend(int index, InterpreterResultMessageOutput out, byte[] line) {
-
-  }
+  public void onAppend(int index, InterpreterResultMessageOutput out, byte[] line) {}
 
   @Override
-  public void onUpdate(int index, InterpreterResultMessageOutput out) {
-
-  }
+  public void onUpdate(int index, InterpreterResultMessageOutput out) {}
 }

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/55f6c91c/python/src/test/java/org/apache/zeppelin/python/PythonInterpreterTest.java
----------------------------------------------------------------------
diff --git a/python/src/test/java/org/apache/zeppelin/python/PythonInterpreterTest.java b/python/src/test/java/org/apache/zeppelin/python/PythonInterpreterTest.java
index 8748c00..10c6a8e 100644
--- a/python/src/test/java/org/apache/zeppelin/python/PythonInterpreterTest.java
+++ b/python/src/test/java/org/apache/zeppelin/python/PythonInterpreterTest.java
@@ -17,6 +17,16 @@
 
 package org.apache.zeppelin.python;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
+import java.io.IOException;
+import java.util.LinkedList;
+import java.util.Properties;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 import org.apache.zeppelin.interpreter.Interpreter;
 import org.apache.zeppelin.interpreter.InterpreterContext;
 import org.apache.zeppelin.interpreter.InterpreterException;
@@ -25,18 +35,6 @@ import org.apache.zeppelin.interpreter.InterpreterResult;
 import org.apache.zeppelin.interpreter.LazyOpenInterpreter;
 import org.junit.Test;
 
-import java.io.IOException;
-import java.util.LinkedList;
-import java.util.Properties;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-
-
 public class PythonInterpreterTest extends BasePythonInterpreterTest {
 
   @Override
@@ -67,7 +65,7 @@ public class PythonInterpreterTest extends BasePythonInterpreterTest {
   public void testCodeCompletion() throws InterpreterException, IOException, InterruptedException {
     super.testCodeCompletion();
 
-    //TODO(zjffdu) PythonInterpreter doesn't support this kind of code completion for now.
+    // TODO(zjffdu) PythonInterpreter doesn't support this kind of code completion for now.
     // completion
     //    InterpreterContext context = getInterpreterContext();
     //    List<InterpreterCompletion> completions = interpreter.completion("ab", 2, context);
@@ -95,7 +93,8 @@ public class PythonInterpreterTest extends BasePythonInterpreterTest {
 
   @Test
   public void testCancelIntp() throws InterruptedException, InterpreterException {
-    assertEquals(InterpreterResult.Code.SUCCESS,
+    assertEquals(
+        InterpreterResult.Code.SUCCESS,
         interpreter.interpret("a = 1\n", getInterpreterContext()).code());
     Thread t = new Thread(new infinityPythonJob());
     t.start();

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/55f6c91c/sap/src/main/java/org/apache/zeppelin/sap/UniverseInterpreter.java
----------------------------------------------------------------------
diff --git a/sap/src/main/java/org/apache/zeppelin/sap/UniverseInterpreter.java b/sap/src/main/java/org/apache/zeppelin/sap/UniverseInterpreter.java
index 17da1c9..cdeeacb 100644
--- a/sap/src/main/java/org/apache/zeppelin/sap/UniverseInterpreter.java
+++ b/sap/src/main/java/org/apache/zeppelin/sap/UniverseInterpreter.java
@@ -17,6 +17,10 @@
 
 package org.apache.zeppelin.sap;
 
+import java.util.*;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.concurrent.TimeUnit;
 import org.apache.commons.lang.StringUtils;
 import org.apache.zeppelin.interpreter.Interpreter;
 import org.apache.zeppelin.interpreter.InterpreterContext;
@@ -27,15 +31,7 @@ import org.apache.zeppelin.sap.universe.*;
 import org.apache.zeppelin.scheduler.Scheduler;
 import org.apache.zeppelin.scheduler.SchedulerFactory;
 
-
-import java.util.*;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-import java.util.concurrent.TimeUnit;
-
-/**
- * SAP Universe interpreter for Zeppelin.
- */
+/** SAP Universe interpreter for Zeppelin. */
 public class UniverseInterpreter extends Interpreter {
 
   public UniverseInterpreter(Properties properties) {
@@ -51,8 +47,8 @@ public class UniverseInterpreter extends Interpreter {
   private static final char NEWLINE = '\n';
   private static final char TAB = '\t';
   private static final String TABLE_MAGIC_TAG = "%table ";
-  private static final String EMPTY_DATA_MESSAGE = "%html\n" +
-      "<h4><center><b>No Data Available</b></center></h4>";
+  private static final String EMPTY_DATA_MESSAGE =
+      "%html\n" + "<h4><center><b>No Data Available</b></center></h4>";
 
   private static final String CONCURRENT_EXECUTION_KEY = "universe.concurrent.use";
   private static final String CONCURRENT_EXECUTION_COUNT = "universe.concurrent.maxConnection";
@@ -63,10 +59,10 @@ public class UniverseInterpreter extends Interpreter {
     String password = getProperty("universe.password");
     String apiUrl = getProperty("universe.api.url");
     String authType = getProperty("universe.authType");
-    final int queryTimeout = Integer.parseInt(
-        StringUtils.defaultIfEmpty(getProperty("universe.queryTimeout"), "7200000"));
-    this.client =
-        new UniverseClient(user, password, apiUrl, authType, queryTimeout);
+    final int queryTimeout =
+        Integer.parseInt(
+            StringUtils.defaultIfEmpty(getProperty("universe.queryTimeout"), "7200000"));
+    this.client = new UniverseClient(user, password, apiUrl, authType, queryTimeout);
     this.universeUtil = new UniverseUtil();
   }
 
@@ -82,8 +78,10 @@ public class UniverseInterpreter extends Interpreter {
   @Override
   public InterpreterResult interpret(String originalSt, InterpreterContext context)
       throws InterpreterException {
-    final String st = Boolean.parseBoolean(getProperty("universe.interpolation", "false")) ?
-        interpolate(originalSt, context.getResourcePool()) : originalSt;
+    final String st =
+        Boolean.parseBoolean(getProperty("universe.interpolation", "false"))
+            ? interpolate(originalSt, context.getResourcePool())
+            : originalSt;
     try {
       InterpreterResult interpreterResult = new InterpreterResult(InterpreterResult.Code.SUCCESS);
       String paragraphId = context.getParagraphId();
@@ -125,7 +123,7 @@ public class UniverseInterpreter extends Interpreter {
       try {
         client.closeSession(context.getParagraphId());
       } catch (Exception e) {
-        logger.error("Error close SAP session", e );
+        logger.error("Error close SAP session", e);
       }
     }
   }
@@ -135,7 +133,7 @@ public class UniverseInterpreter extends Interpreter {
     try {
       client.closeSession(context.getParagraphId());
     } catch (Exception e) {
-      logger.error("Error close SAP session", e );
+      logger.error("Error close SAP session", e);
     }
   }
 
@@ -150,16 +148,15 @@ public class UniverseInterpreter extends Interpreter {
   }
 
   @Override
-  public List<InterpreterCompletion> completion(String buf, int cursor,
-                                                InterpreterContext interpreterContext)
-      throws InterpreterException {
+  public List<InterpreterCompletion> completion(
+      String buf, int cursor, InterpreterContext interpreterContext) throws InterpreterException {
     List<InterpreterCompletion> candidates = new ArrayList<>();
 
     try {
       universeCompleter = createOrUpdateUniverseCompleter(interpreterContext, buf, cursor);
       universeCompleter.complete(buf, cursor, candidates);
     } catch (UniverseException e) {
-      logger.error("Error update completer", e );
+      logger.error("Error update completer", e);
     }
 
     return candidates;
@@ -168,9 +165,9 @@ public class UniverseInterpreter extends Interpreter {
   @Override
   public Scheduler getScheduler() {
     String schedulerName = UniverseInterpreter.class.getName() + this.hashCode();
-    return isConcurrentExecution() ?
-        SchedulerFactory.singleton().createOrGetParallelScheduler(schedulerName,
-            getMaxConcurrentConnection())
+    return isConcurrentExecution()
+        ? SchedulerFactory.singleton()
+            .createOrGetParallelScheduler(schedulerName, getMaxConcurrentConnection())
         : SchedulerFactory.singleton().createOrGetFIFOScheduler(schedulerName);
   }
 
@@ -212,8 +209,8 @@ public class UniverseInterpreter extends Interpreter {
     return str.replace(TAB, WHITESPACE).replace(NEWLINE, WHITESPACE);
   }
 
-  private UniverseCompleter createOrUpdateUniverseCompleter(InterpreterContext interpreterContext,
-                                                            final String buf, final int cursor)
+  private UniverseCompleter createOrUpdateUniverseCompleter(
+      InterpreterContext interpreterContext, final String buf, final int cursor)
       throws UniverseException {
     final UniverseCompleter completer;
     if (universeCompleter == null) {
@@ -224,12 +221,13 @@ public class UniverseInterpreter extends Interpreter {
     try {
       final String token = client.getToken(interpreterContext.getParagraphId());
       ExecutorService executorService = Executors.newFixedThreadPool(1);
-      executorService.execute(new Runnable() {
-        @Override
-        public void run() {
-          completer.createOrUpdate(client, token, buf, cursor);
-        }
-      });
+      executorService.execute(
+          new Runnable() {
+            @Override
+            public void run() {
+              completer.createOrUpdate(client, token, buf, cursor);
+            }
+          });
 
       executorService.shutdown();
 
@@ -240,7 +238,7 @@ public class UniverseInterpreter extends Interpreter {
       try {
         client.closeSession(interpreterContext.getParagraphId());
       } catch (Exception e) {
-        logger.error("Error close SAP session", e );
+        logger.error("Error close SAP session", e);
       }
     }
     return completer;