Repository: zeppelin
Updated Branches:
  refs/heads/master 6ed3d88a2 -> 50fb42f18


[ZEPPELIN-3163]. Fix checkstyle of python

### What is this PR for?
Fix the code style issue of python module

### What type of PR is it?
[Refactoring]

### Todos
* [ ] - Task

### What is the Jira issue?
* https://issues.apache.org/jira/browse/ZEPPELIN-3163

### How should this be tested?
* CI pass

### Screenshots (if appropriate)

### Questions:
* Does the licenses files need update? No
* Is there breaking changes for older versions? No
* Does this needs documentation? NO

Author: Jeff Zhang <zjf...@apache.org>

Closes #3023 from zjffdu/ZEPPELIN-3163 and squashes the following commits:

e89c41108 [Jeff Zhang] [ZEPPELIN-3163]. Fix checkstyle of python


Project: http://git-wip-us.apache.org/repos/asf/zeppelin/repo
Commit: http://git-wip-us.apache.org/repos/asf/zeppelin/commit/50fb42f1
Tree: http://git-wip-us.apache.org/repos/asf/zeppelin/tree/50fb42f1
Diff: http://git-wip-us.apache.org/repos/asf/zeppelin/diff/50fb42f1

Branch: refs/heads/master
Commit: 50fb42f186a2f439f72f5c17353ec726a00cb8ef
Parents: 6ed3d88
Author: Jeff Zhang <zjf...@apache.org>
Authored: Fri Jun 15 15:01:49 2018 +0800
Committer: Jeff Zhang <zjf...@apache.org>
Committed: Sun Jun 17 11:02:21 2018 +0800

----------------------------------------------------------------------
 python/pom.xml                                  |  7 ++
 .../apache/zeppelin/python/IPythonClient.java   |  4 +-
 .../zeppelin/python/IPythonInterpreter.java     | 39 ++++-----
 .../zeppelin/python/PythonCondaInterpreter.java | 55 +++++++-----
 .../python/PythonDockerInterpreter.java         | 44 ++++++----
 .../zeppelin/python/PythonInterpreter.java      | 23 +++--
 .../python/PythonInterpreterPandasSql.java      | 40 ++++-----
 .../zeppelin/python/PythonZeppelinContext.java  | 30 +++----
 .../python/BasePythonInterpreterTest.java       | 64 +++++++++-----
 .../zeppelin/python/IPythonInterpreterTest.java | 24 +++---
 .../python/PythonInterpreterMatplotlibTest.java | 32 +++----
 .../python/PythonInterpreterPandasSqlTest.java  | 91 ++++++++++----------
 12 files changed, 247 insertions(+), 206 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/zeppelin/blob/50fb42f1/python/pom.xml
----------------------------------------------------------------------
diff --git a/python/pom.xml b/python/pom.xml
index 289755d..f919063 100644
--- a/python/pom.xml
+++ b/python/pom.xml
@@ -214,6 +214,13 @@
         <artifactId>maven-resources-plugin</artifactId>
       </plugin>
 
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-checkstyle-plugin</artifactId>
+        <configuration>
+          <skip>false</skip>
+        </configuration>
+      </plugin>
     </plugins>
   </build>
 

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/50fb42f1/python/src/main/java/org/apache/zeppelin/python/IPythonClient.java
----------------------------------------------------------------------
diff --git a/python/src/main/java/org/apache/zeppelin/python/IPythonClient.java 
b/python/src/main/java/org/apache/zeppelin/python/IPythonClient.java
index b3bc7fd..b9c897b 100644
--- a/python/src/main/java/org/apache/zeppelin/python/IPythonClient.java
+++ b/python/src/main/java/org/apache/zeppelin/python/IPythonClient.java
@@ -38,10 +38,8 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
 import java.security.SecureRandom;
+import java.util.Iterator;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicBoolean;
 

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/50fb42f1/python/src/main/java/org/apache/zeppelin/python/IPythonInterpreter.java
----------------------------------------------------------------------
diff --git 
a/python/src/main/java/org/apache/zeppelin/python/IPythonInterpreter.java 
b/python/src/main/java/org/apache/zeppelin/python/IPythonInterpreter.java
index 2daa986..2865399 100644
--- a/python/src/main/java/org/apache/zeppelin/python/IPythonInterpreter.java
+++ b/python/src/main/java/org/apache/zeppelin/python/IPythonInterpreter.java
@@ -1,19 +1,19 @@
 /*
-* Licensed to the Apache Software Foundation (ASF) under one or more
-* contributor license agreements.  See the NOTICE file distributed with
-* this work for additional information regarding copyright ownership.
-* The ASF licenses this file to You under the Apache License, Version 2.0
-* (the "License"); you may not use this file except in compliance with
-* the License.  You may obtain a copy of the License at
-*
-*  http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 
 package org.apache.zeppelin.python;
 
@@ -26,7 +26,6 @@ import org.apache.commons.exec.ExecuteWatchdog;
 import org.apache.commons.exec.LogOutputStream;
 import org.apache.commons.exec.PumpStreamHandler;
 import org.apache.commons.exec.environment.EnvironmentUtils;
-import org.apache.commons.httpclient.util.ExceptionUtil;
 import org.apache.commons.io.FileUtils;
 import org.apache.commons.io.IOUtils;
 import org.apache.commons.lang.StringUtils;
@@ -60,8 +59,6 @@ import java.io.InputStream;
 import java.net.URISyntaxException;
 import java.net.URL;
 import java.nio.file.Files;
-import java.nio.file.Path;
-import java.nio.file.Paths;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
@@ -157,7 +154,7 @@ public class IPythonInterpreter extends Interpreter 
implements ExecuteResultHand
   /**
    * non-empty return value mean the errors when checking ipython prerequisite.
    * empty value mean IPython prerequisite is meet.
-   * 
+   *
    * @param pythonExec
    * @return
    */
@@ -398,11 +395,11 @@ public class IPythonInterpreter extends Interpreter 
implements ExecuteResultHand
     LOGGER.warn("Exception happens in Python Process", e);
   }
 
-  private static class ProcessLogOutputStream extends LogOutputStream {
+  static class ProcessLogOutputStream extends LogOutputStream {
 
     private Logger logger;
 
-    public ProcessLogOutputStream(Logger logger) {
+    ProcessLogOutputStream(Logger logger) {
       this.logger = logger;
     }
 

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/50fb42f1/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 8d3e972..8c8fdb6 100644
--- 
a/python/src/main/java/org/apache/zeppelin/python/PythonCondaInterpreter.java
+++ 
b/python/src/main/java/org/apache/zeppelin/python/PythonCondaInterpreter.java
@@ -1,31 +1,44 @@
 /*
-* Licensed to the Apache Software Foundation (ASF) under one or more
-* contributor license agreements.  See the NOTICE file distributed with
-* this work for additional information regarding copyright ownership.
-* The ASF licenses this file to You under the Apache License, Version 2.0
-* (the "License"); you may not use this file except in compliance with
-* the License.  You may obtain a copy of the License at
-*
-*  http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package org.apache.zeppelin.python;
 
 import org.apache.commons.lang.StringUtils;
-import org.apache.zeppelin.interpreter.*;
+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.interpreter.LazyOpenInterpreter;
 import org.apache.zeppelin.scheduler.Scheduler;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import java.io.*;
-import java.util.*;
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
@@ -161,7 +174,7 @@ public class PythonCondaInterpreter extends Interpreter {
     PythonInterpreter python = null;
     Interpreter p =
         
getInterpreterInTheSameSessionByClassName(PythonInterpreter.class.getName());
-    return (PythonInterpreter) ((LazyOpenInterpreter)p).getInnerInterpreter();
+    return (PythonInterpreter) ((LazyOpenInterpreter) p).getInnerInterpreter();
   }
 
   public static String runCondaCommandForTextOutput(String title, List<String> 
commands)
@@ -410,7 +423,7 @@ public class PythonCondaInterpreter extends Interpreter {
         BufferedReader br = new BufferedReader(isr);
         String line = null;
         long startTime = System.currentTimeMillis();
-        while ( (line = br.readLine()) != null) {
+        while ((line = br.readLine()) != null) {
           output.append(line + "\n");
           // logging per 5 seconds
           if ((System.currentTimeMillis() - startTime) > 5000) {
@@ -428,7 +441,7 @@ public class PythonCondaInterpreter extends Interpreter {
     }
   }
 
-  public static String runCommand(String ... command)
+  public static String runCommand(String... command)
       throws IOException, InterruptedException {
 
     List<String> list = new ArrayList<>(command.length);

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/50fb42f1/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 b528efa..f4fe609 100644
--- 
a/python/src/main/java/org/apache/zeppelin/python/PythonDockerInterpreter.java
+++ 
b/python/src/main/java/org/apache/zeppelin/python/PythonDockerInterpreter.java
@@ -1,27 +1,37 @@
 /*
-* Licensed to the Apache Software Foundation (ASF) under one or more
-* contributor license agreements.  See the NOTICE file distributed with
-* this work for additional information regarding copyright ownership.
-* The ASF licenses this file to You under the Apache License, Version 2.0
-* (the "License"); you may not use this file except in compliance with
-* the License.  You may obtain a copy of the License at
-*
-*  http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package org.apache.zeppelin.python;
 
-import org.apache.zeppelin.interpreter.*;
+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.LazyOpenInterpreter;
+import org.apache.zeppelin.interpreter.WrappedInterpreter;
 import org.apache.zeppelin.scheduler.Scheduler;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import java.io.*;
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
 import java.nio.file.Paths;
 import java.util.Properties;
 import java.util.regex.Matcher;

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/50fb42f1/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 95cfc82..a5c6d5c 100644
--- a/python/src/main/java/org/apache/zeppelin/python/PythonInterpreter.java
+++ b/python/src/main/java/org/apache/zeppelin/python/PythonInterpreter.java
@@ -47,11 +47,9 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import py4j.GatewayServer;
 
-import java.io.BufferedReader;
 import java.io.File;
 import java.io.FileOutputStream;
 import java.io.IOException;
-import java.io.InputStreamReader;
 import java.net.Inet4Address;
 import java.net.InetAddress;
 import java.net.UnknownHostException;
@@ -62,9 +60,9 @@ 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.
+ * 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.
  */
 public class PythonInterpreter extends Interpreter implements 
ExecuteResultHandler {
   private static final Logger LOGGER = 
LoggerFactory.getLogger(PythonInterpreter.class);
@@ -141,7 +139,8 @@ public class PythonInterpreter extends Interpreter 
implements ExecuteResultHandl
         InetAddress.getByName(serverAddress),
         GatewayServer.DEFAULT_CONNECT_TIMEOUT,
         GatewayServer.DEFAULT_READ_TIMEOUT,
-        (List) null);;
+        (List) null);
+    ;
     gatewayServer.start();
     LOGGER.info("Starting GatewayServer at " + serverAddress + ":" + port);
 
@@ -367,6 +366,7 @@ public class PythonInterpreter extends Interpreter 
implements ExecuteResultHandl
         try {
           statementFinishedNotifier.wait(1000);
         } catch (InterruptedException e) {
+          // ignore this exception
         }
       }
     }
@@ -522,7 +522,7 @@ public class PythonInterpreter extends Interpreter 
implements ExecuteResultHandl
     }
 
     List<InterpreterCompletion> results = new LinkedList<>();
-    for (String name: completionList) {
+    for (String name : completionList) {
       results.add(new InterpreterCompletion(name, name, StringUtils.EMPTY));
     }
     return results;
@@ -538,8 +538,7 @@ public class PythonInterpreter extends Interpreter 
implements ExecuteResultHandl
     String completionScriptText = "";
     try {
       completionScriptText = text.substring(0, cursor);
-    }
-    catch (Exception e) {
+    } catch (Exception e) {
       LOGGER.error(e.toString());
       return null;
     }
@@ -558,13 +557,11 @@ public class PythonInterpreter extends Interpreter 
implements ExecuteResultHandl
 
     if (completionStartPosition == completionEndPosition) {
       completionStartPosition = 0;
-    }
-    else
-    {
+    } else {
       completionStartPosition = completionEndPosition - 
completionStartPosition;
     }
     resultCompletionText = completionScriptText.substring(
-        completionStartPosition , completionEndPosition);
+        completionStartPosition, completionEndPosition);
 
     return resultCompletionText;
   }

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/50fb42f1/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 db65960..644a193 100644
--- 
a/python/src/main/java/org/apache/zeppelin/python/PythonInterpreterPandasSql.java
+++ 
b/python/src/main/java/org/apache/zeppelin/python/PythonInterpreterPandasSql.java
@@ -1,25 +1,22 @@
 /*
-* Licensed to the Apache Software Foundation (ASF) under one or more
-* contributor license agreements.  See the NOTICE file distributed with
-* this work for additional information regarding copyright ownership.
-* The ASF licenses this file to You under the Apache License, Version 2.0
-* (the "License"); you may not use this file except in compliance with
-* the License.  You may obtain a copy of the License at
-*
-*  http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 
 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;
@@ -29,9 +26,12 @@ import org.apache.zeppelin.interpreter.WrappedInterpreter;
 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
  */
 public class PythonInterpreterPandasSql extends Interpreter {
@@ -90,7 +90,7 @@ public class PythonInterpreterPandasSql extends Interpreter {
     Interpreter python = getPythonInterpreter();
 
     return python.interpret(
-            "__zeppelin__.show(pysqldf('" + st + 
"'))\n__zeppelin__._displayhook()", context);
+        "__zeppelin__.show(pysqldf('" + st + 
"'))\n__zeppelin__._displayhook()", context);
   }
 
   @Override

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/50fb42f1/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 3d476e0..526784e 100644
--- a/python/src/main/java/org/apache/zeppelin/python/PythonZeppelinContext.java
+++ b/python/src/main/java/org/apache/zeppelin/python/PythonZeppelinContext.java
@@ -1,19 +1,19 @@
 /*
-* Licensed to the Apache Software Foundation (ASF) under one or more
-* contributor license agreements.  See the NOTICE file distributed with
-* this work for additional information regarding copyright ownership.
-* The ASF licenses this file to You under the Apache License, Version 2.0
-* (the "License"); you may not use this file except in compliance with
-* the License.  You may obtain a copy of the License at
-*
-*  http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 
 package org.apache.zeppelin.python;
 

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/50fb42f1/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 0a3a606..9697fbf 100644
--- 
a/python/src/test/java/org/apache/zeppelin/python/BasePythonInterpreterTest.java
+++ 
b/python/src/test/java/org/apache/zeppelin/python/BasePythonInterpreterTest.java
@@ -56,10 +56,12 @@ public abstract class BasePythonInterpreterTest {
   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 = 
context.out.toInterpreterResultMessage();
+    List<InterpreterResultMessage> interpreterResultMessages =
+        context.out.toInterpreterResultMessage();
     assertEquals(1, interpreterResultMessages.size());
 
     // single output without print
@@ -109,7 +111,7 @@ public abstract class BasePythonInterpreterTest {
 
     // assignment
     context = getInterpreterContext();
-    result = interpreter.interpret("abc=1",context);
+    result = interpreter.interpret("abc=1", context);
     Thread.sleep(100);
     assertEquals(InterpreterResult.Code.SUCCESS, result.code());
     interpreterResultMessages = context.out.toInterpreterResultMessage();
@@ -117,7 +119,8 @@ public abstract class BasePythonInterpreterTest {
 
     // if block
     context = getInterpreterContext();
-    result = interpreter.interpret("if abc > 
0:\n\tprint('True')\nelse:\n\tprint('False')", context);
+    result =
+        interpreter.interpret("if abc > 
0:\n\tprint('True')\nelse:\n\tprint('False')", context);
     Thread.sleep(100);
     assertEquals(InterpreterResult.Code.SUCCESS, result.code());
     interpreterResultMessages = context.out.toInterpreterResultMessage();
@@ -141,7 +144,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"));
     }
@@ -163,14 +167,14 @@ public abstract class BasePythonInterpreterTest {
     context = getInterpreterContext();
     result = interpreter.interpret(
         "from __future__ import print_function\n" +
-        "def greet(name):\n" +
-        "    print('Hello', name)\n" +
-        "greet('Jack')", context);
+            "def greet(name):\n" +
+            "    print('Hello', name)\n" +
+            "greet('Jack')", context);
     Thread.sleep(100);
     assertEquals(InterpreterResult.Code.SUCCESS, result.code());
     interpreterResultMessages = context.out.toInterpreterResultMessage();
     assertEquals(1, interpreterResultMessages.size());
-    assertEquals("Hello Jack\n",interpreterResultMessages.get(0).getData());
+    assertEquals("Hello Jack\n", interpreterResultMessages.get(0).getData());
 
     // ZEPPELIN-1114
     context = getInterpreterContext();
@@ -223,10 +227,12 @@ public abstract class BasePythonInterpreterTest {
   public void testZeppelinContext() throws InterpreterException, 
InterruptedException, IOException {
     // TextBox
     InterpreterContext context = getInterpreterContext();
-    InterpreterResult result = interpreter.interpret("z.input(name='text_1', 
defaultValue='value_1')", context);
+    InterpreterResult result =
+        interpreter.interpret("z.input(name='text_1', 
defaultValue='value_1')", context);
     Thread.sleep(100);
     assertEquals(InterpreterResult.Code.SUCCESS, result.code());
-    List<InterpreterResultMessage> interpreterResultMessages = 
context.out.toInterpreterResultMessage();
+    List<InterpreterResultMessage> interpreterResultMessages =
+        context.out.toInterpreterResultMessage();
     
assertTrue(interpreterResultMessages.get(0).getData().contains("'value_1'"));
     assertEquals(1, context.getGui().getForms().size());
     assertTrue(context.getGui().getForms().get("text_1") instanceof TextBox);
@@ -236,7 +242,8 @@ 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);
@@ -248,7 +255,8 @@ 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);
@@ -260,7 +268,8 @@ public abstract class BasePythonInterpreterTest {
 
     // Pandas DataFrame
     context = getInterpreterContext();
-    result = interpreter.interpret("import pandas as pd\ndf = 
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());
@@ -268,18 +277,21 @@ 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\ndf = 
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", 
interpreterResultMessages.get(1).getData());
+    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\ndata=[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());
@@ -287,7 +299,8 @@ public abstract class BasePythonInterpreterTest {
 
     // clear output
     context = getInterpreterContext();
-    result = interpreter.interpret("import 
time\nprint(\"Hello\")\ntime.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());
   }
 
@@ -297,11 +310,16 @@ public abstract class BasePythonInterpreterTest {
     String restoreCode = "z = __zeppelin__\n";
     String validCode = "z.input(\"test\")\n";
 
-    assertEquals(InterpreterResult.Code.SUCCESS, 
interpreter.interpret(validCode, getInterpreterContext()).code());
-    assertEquals(InterpreterResult.Code.SUCCESS, 
interpreter.interpret(redefinitionCode, getInterpreterContext()).code());
-    assertEquals(InterpreterResult.Code.ERROR, 
interpreter.interpret(validCode, getInterpreterContext()).code());
-    assertEquals(InterpreterResult.Code.SUCCESS, 
interpreter.interpret(restoreCode, getInterpreterContext()).code());
-    assertEquals(InterpreterResult.Code.SUCCESS, 
interpreter.interpret(validCode, getInterpreterContext()).code());
+    assertEquals(InterpreterResult.Code.SUCCESS,
+        interpreter.interpret(validCode, getInterpreterContext()).code());
+    assertEquals(InterpreterResult.Code.SUCCESS,
+        interpreter.interpret(redefinitionCode, 
getInterpreterContext()).code());
+    assertEquals(InterpreterResult.Code.ERROR,
+        interpreter.interpret(validCode, getInterpreterContext()).code());
+    assertEquals(InterpreterResult.Code.SUCCESS,
+        interpreter.interpret(restoreCode, getInterpreterContext()).code());
+    assertEquals(InterpreterResult.Code.SUCCESS,
+        interpreter.interpret(validCode, getInterpreterContext()).code());
   }
 
   protected InterpreterContext getInterpreterContext() {

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/50fb42f1/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 be72ca9..4b6bfdb 100644
--- 
a/python/src/test/java/org/apache/zeppelin/python/IPythonInterpreterTest.java
+++ 
b/python/src/test/java/org/apache/zeppelin/python/IPythonInterpreterTest.java
@@ -21,11 +21,9 @@ import org.apache.zeppelin.interpreter.Interpreter;
 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.apache.zeppelin.interpreter.InterpreterResultMessage;
 import org.apache.zeppelin.interpreter.LazyOpenInterpreter;
-import org.apache.zeppelin.interpreter.remote.RemoteInterpreterEventClient;
 import org.junit.Test;
 
 import java.io.IOException;
@@ -35,7 +33,6 @@ import java.util.Properties;
 
 import static junit.framework.TestCase.assertTrue;
 import static org.junit.Assert.assertEquals;
-import static org.mockito.Mockito.mock;
 
 
 public class IPythonInterpreterTest extends BasePythonInterpreterTest {
@@ -69,13 +66,15 @@ public class IPythonInterpreterTest extends 
BasePythonInterpreterTest {
   }
 
   @Test
-  public void testIPythonAdvancedFeatures() throws InterpreterException, 
InterruptedException, IOException {
+  public void testIPythonAdvancedFeatures()
+      throws InterpreterException, InterruptedException, IOException {
     // ipython help
     InterpreterContext context = getInterpreterContext();
     InterpreterResult result = interpreter.interpret("range?", context);
     Thread.sleep(100);
     assertEquals(InterpreterResult.Code.SUCCESS, result.code());
-    List<InterpreterResultMessage> interpreterResultMessages = 
context.out.toInterpreterResultMessage();
+    List<InterpreterResultMessage> interpreterResultMessages =
+        context.out.toInterpreterResultMessage();
     
assertTrue(interpreterResultMessages.get(0).getData().contains("range(stop)"));
 
     // timeit
@@ -114,10 +113,12 @@ public class IPythonInterpreterTest extends 
BasePythonInterpreterTest {
   public void testIPythonPlotting() throws InterpreterException, 
InterruptedException, IOException {
     // matplotlib
     InterpreterContext context = getInterpreterContext();
-    InterpreterResult result = interpreter.interpret("%matplotlib 
inline\nimport 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 = 
context.out.toInterpreterResultMessage();
+    List<InterpreterResultMessage> interpreterResultMessages =
+        context.out.toInterpreterResultMessage();
     // the order of IMAGE and TEXT is not determined
     // check there must be one IMAGE output
     boolean hasImageOutput = false;
@@ -203,13 +204,15 @@ public class IPythonInterpreterTest extends 
BasePythonInterpreterTest {
     startInterpreter(properties);
 
     // to make this test can run under both python2 and python3
-    InterpreterResult result = interpreter.interpret("from __future__ import 
print_function", getInterpreterContext());
+    InterpreterResult result =
+        interpreter.interpret("from __future__ import print_function", 
getInterpreterContext());
     assertEquals(InterpreterResult.Code.SUCCESS, result.code());
 
     InterpreterContext context = getInterpreterContext();
     result = interpreter.interpret("print('1'*3000)", context);
     assertEquals(InterpreterResult.Code.ERROR, result.code());
-    List<InterpreterResultMessage> interpreterResultMessages = 
context.out.toInterpreterResultMessage();
+    List<InterpreterResultMessage> interpreterResultMessages =
+        context.out.toInterpreterResultMessage();
     assertEquals(1, interpreterResultMessages.size());
     assertTrue(interpreterResultMessages.get(0).getData().contains("exceeds 
maximum: 3000"));
 
@@ -223,7 +226,8 @@ public class IPythonInterpreterTest extends 
BasePythonInterpreterTest {
     properties.setProperty("zeppelin.ipython.grpc.message_size", "5000");
     startInterpreter(properties);
     // to make this test can run under both python2 and python3
-    result = interpreter.interpret("from __future__ import print_function", 
getInterpreterContext());
+    result =
+        interpreter.interpret("from __future__ import print_function", 
getInterpreterContext());
     assertEquals(InterpreterResult.Code.SUCCESS, result.code());
 
     context = getInterpreterContext();

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/50fb42f1/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 8475331..b6e1a44 100644
--- 
a/python/src/test/java/org/apache/zeppelin/python/PythonInterpreterMatplotlibTest.java
+++ 
b/python/src/test/java/org/apache/zeppelin/python/PythonInterpreterMatplotlibTest.java
@@ -17,30 +17,26 @@
 
 package org.apache.zeppelin.python;
 
-import org.apache.zeppelin.display.AngularObjectRegistry;
-import org.apache.zeppelin.display.GUI;
 import org.apache.zeppelin.interpreter.Interpreter;
 import org.apache.zeppelin.interpreter.InterpreterContext;
-import org.apache.zeppelin.interpreter.InterpreterContextRunner;
 import org.apache.zeppelin.interpreter.InterpreterException;
 import org.apache.zeppelin.interpreter.InterpreterGroup;
 import org.apache.zeppelin.interpreter.InterpreterOutput;
 import org.apache.zeppelin.interpreter.InterpreterOutputListener;
 import org.apache.zeppelin.interpreter.InterpreterResult;
 import org.apache.zeppelin.interpreter.InterpreterResultMessageOutput;
-import org.apache.zeppelin.resource.LocalResourcePool;
-import org.apache.zeppelin.user.AuthenticationInfo;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
 
 import java.io.IOException;
-import java.util.HashMap;
 import java.util.LinkedList;
 import java.util.List;
 import java.util.Properties;
 
-import static org.junit.Assert.*;
+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;
@@ -98,9 +94,12 @@ 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>"));
   }
@@ -122,17 +121,18 @@ 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
     // previous one.
     ret = python.interpret("plt.plot([1, 2, 3])", context);
-    String msg1 =  new String(out.getOutputAt(0).toByteArray());
+    String msg1 = new String(out.getOutputAt(0).toByteArray());
     InterpreterResult.Type type1 = out.getOutputAt(0).getType();
 
     ret2 = python.interpret("plt.show()", context);
-    String msg2 =  new String(out.getOutputAt(0).toByteArray());
+    String msg2 = new String(out.getOutputAt(0).toByteArray());
     InterpreterResult.Type type2 = out.getOutputAt(0).getType();
 
     assertEquals(msg1, msg2);
@@ -155,16 +155,16 @@ public class PythonInterpreterMatplotlibTest implements 
InterpreterOutputListene
     // of FigureManager, causing show() to set the output
     // type to HTML even though the figure is inactive.
     ret = python.interpret("plt.show()", context);
-    String msg1 =  new String(out.getOutputAt(0).toByteArray());
+    String msg1 = new String(out.getOutputAt(0).toByteArray());
     assertNotSame("", msg1);
 
     // Now test that plot can be reshown if it is updated. It should be
     // different from the previous one because it will plot the same line
     // again but in a different color.
     ret = python.interpret("plt.plot([1, 2, 3])", context);
-    msg1 =  new String(out.getOutputAt(1).toByteArray());
+    msg1 = new String(out.getOutputAt(1).toByteArray());
     ret2 = python.interpret("plt.show()", context);
-    String msg2 =  new String(out.getOutputAt(1).toByteArray());
+    String msg2 = new String(out.getOutputAt(1).toByteArray());
 
     assertNotSame(msg1, msg2);
   }

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/50fb42f1/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 fbaa695..9255ad9 100644
--- 
a/python/src/test/java/org/apache/zeppelin/python/PythonInterpreterPandasSqlTest.java
+++ 
b/python/src/test/java/org/apache/zeppelin/python/PythonInterpreterPandasSqlTest.java
@@ -1,38 +1,23 @@
 /*
-* Licensed to the Apache Software Foundation (ASF) under one or more
-* contributor license agreements.  See the NOTICE file distributed with
-* this work for additional information regarding copyright ownership.
-* The ASF licenses this file to You under the Apache License, Version 2.0
-* (the "License"); you may not use this file except in compliance with
-* the License.  You may obtain a copy of the License at
-*
-*  http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 
 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.HashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Properties;
-
-import org.apache.zeppelin.display.AngularObjectRegistry;
-import org.apache.zeppelin.display.GUI;
-import org.apache.zeppelin.interpreter.Interpreter;
 import org.apache.zeppelin.interpreter.InterpreterContext;
-import org.apache.zeppelin.interpreter.InterpreterContextRunner;
 import org.apache.zeppelin.interpreter.InterpreterException;
 import org.apache.zeppelin.interpreter.InterpreterGroup;
 import org.apache.zeppelin.interpreter.InterpreterOutput;
@@ -40,24 +25,30 @@ import 
org.apache.zeppelin.interpreter.InterpreterOutputListener;
 import org.apache.zeppelin.interpreter.InterpreterResult;
 import org.apache.zeppelin.interpreter.InterpreterResult.Type;
 import org.apache.zeppelin.interpreter.InterpreterResultMessageOutput;
-import org.apache.zeppelin.resource.LocalResourcePool;
-import org.apache.zeppelin.user.AuthenticationInfo;
 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>
+ * - <li>Python</li>
+ * - <li>NumPy</li>
+ * - <li>Pandas</li>
+ * - <li>PandaSql</li>
  * <ol>
- *
+ * <p>
  * To run manually on such environment, use:
  * <code>
- *   mvn -Dpython.test.exclude='' test -pl python -am
+ * mvn -Dpython.test.exclude='' test -pl python -am
  * </code>
  */
 public class PythonInterpreterPandasSqlTest implements 
InterpreterOutputListener {
@@ -94,7 +85,6 @@ public class PythonInterpreterPandasSqlTest implements 
InterpreterOutputListener
     intpGroup.put("note", Arrays.asList(python, sql));
 
 
-
     // to make sure python is running.
     InterpreterResult ret = python.interpret("\n", context);
     assertEquals(ret.message().toString(), InterpreterResult.Code.SUCCESS, 
ret.code());
@@ -109,7 +99,8 @@ public class PythonInterpreterPandasSqlTest implements 
InterpreterOutputListener
 
   @Test
   public void dependenciesAreInstalled() throws InterpreterException {
-    InterpreterResult ret = python.interpret("import pandas\nimport 
pandasql\nimport numpy\n", context);
+    InterpreterResult ret =
+        python.interpret("import pandas\nimport pandasql\nimport numpy\n", 
context);
     assertEquals(ret.message().toString(), InterpreterResult.Code.SUCCESS, 
ret.code());
   }
 
@@ -131,7 +122,7 @@ public class PythonInterpreterPandasSqlTest implements 
InterpreterOutputListener
     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]), "+
+    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());
 
@@ -139,12 +130,16 @@ public class PythonInterpreterPandasSqlTest implements 
InterpreterOutputListener
     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());
+    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
@@ -173,8 +168,10 @@ 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"));
@@ -194,4 +191,4 @@ public class PythonInterpreterPandasSqlTest implements 
InterpreterOutputListener
   public void onUpdate(int index, InterpreterResultMessageOutput out) {
 
   }
-}
\ No newline at end of file
+}

Reply via email to