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:27 UTC

[44/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/jdbc/src/main/java/org/apache/zeppelin/jdbc/JDBCInterpreter.java
----------------------------------------------------------------------
diff --git a/jdbc/src/main/java/org/apache/zeppelin/jdbc/JDBCInterpreter.java b/jdbc/src/main/java/org/apache/zeppelin/jdbc/JDBCInterpreter.java
index 93d2344..228215f 100644
--- a/jdbc/src/main/java/org/apache/zeppelin/jdbc/JDBCInterpreter.java
+++ b/jdbc/src/main/java/org/apache/zeppelin/jdbc/JDBCInterpreter.java
@@ -5,12 +5,12 @@
  * "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
+ * <p>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.
+ * <p>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.jdbc;
 
@@ -19,22 +19,6 @@ import static org.apache.commons.lang.StringUtils.isEmpty;
 import static org.apache.commons.lang.StringUtils.isNotEmpty;
 import static org.apache.hadoop.security.UserGroupInformation.AuthenticationMethod.KERBEROS;
 
-import org.apache.commons.dbcp2.ConnectionFactory;
-import org.apache.commons.dbcp2.DriverManagerConnectionFactory;
-import org.apache.commons.dbcp2.PoolableConnectionFactory;
-import org.apache.commons.dbcp2.PoolingDriver;
-import org.apache.commons.lang.StringUtils;
-import org.apache.commons.lang.exception.ExceptionUtils;
-import org.apache.commons.lang.mutable.MutableBoolean;
-import org.apache.commons.pool2.ObjectPool;
-import org.apache.commons.pool2.impl.GenericObjectPool;
-import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.security.UserGroupInformation;
-import org.apache.hadoop.security.alias.CredentialProvider;
-import org.apache.hadoop.security.alias.CredentialProviderFactory;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
 import java.io.IOException;
 import java.security.PrivilegedExceptionAction;
 import java.sql.Connection;
@@ -54,7 +38,19 @@ import java.util.Set;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 import java.util.concurrent.TimeUnit;
-
+import org.apache.commons.dbcp2.ConnectionFactory;
+import org.apache.commons.dbcp2.DriverManagerConnectionFactory;
+import org.apache.commons.dbcp2.PoolableConnectionFactory;
+import org.apache.commons.dbcp2.PoolingDriver;
+import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang.exception.ExceptionUtils;
+import org.apache.commons.lang.mutable.MutableBoolean;
+import org.apache.commons.pool2.ObjectPool;
+import org.apache.commons.pool2.impl.GenericObjectPool;
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.security.UserGroupInformation;
+import org.apache.hadoop.security.alias.CredentialProvider;
+import org.apache.hadoop.security.alias.CredentialProviderFactory;
 import org.apache.zeppelin.interpreter.InterpreterContext;
 import org.apache.zeppelin.interpreter.InterpreterException;
 import org.apache.zeppelin.interpreter.InterpreterResult;
@@ -67,28 +63,24 @@ import org.apache.zeppelin.scheduler.Scheduler;
 import org.apache.zeppelin.scheduler.SchedulerFactory;
 import org.apache.zeppelin.user.UserCredentials;
 import org.apache.zeppelin.user.UsernamePassword;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
- * JDBC interpreter for Zeppelin. This interpreter can also be used for accessing HAWQ,
- * GreenplumDB, MariaDB, MySQL, Postgres and Redshift.
+ * JDBC interpreter for Zeppelin. This interpreter can also be used for accessing HAWQ, GreenplumDB,
+ * MariaDB, MySQL, Postgres and Redshift.
  *
  * <ul>
- * <li>{@code default.url} - JDBC URL to connect to.</li>
- * <li>{@code default.user} - JDBC user name..</li>
- * <li>{@code default.password} - JDBC password..</li>
- * <li>{@code default.driver.name} - JDBC driver name.</li>
- * <li>{@code common.max.result} - Max number of SQL result to display.</li>
+ *   <li>{@code default.url} - JDBC URL to connect to.
+ *   <li>{@code default.user} - JDBC user name..
+ *   <li>{@code default.password} - JDBC password..
+ *   <li>{@code default.driver.name} - JDBC driver name.
+ *   <li>{@code common.max.result} - Max number of SQL result to display.
  * </ul>
  *
- * <p>
- * How to use: <br/>
- * {@code %jdbc.sql} <br/>
- * {@code
- * SELECT store_id, count(*)
- * FROM retail_demo.order_lineitems_pxf
- * GROUP BY store_id;
- * }
- * </p>
+ * <p>How to use: <br>
+ * {@code %jdbc.sql} <br>
+ * {@code SELECT store_id, count(*) FROM retail_demo.order_lineitems_pxf GROUP BY store_id; }
  */
 public class JDBCInterpreter extends KerberosInterpreter {
   private Logger logger = LoggerFactory.getLogger(JDBCInterpreter.class);
@@ -134,7 +126,7 @@ public class JDBCInterpreter extends KerberosInterpreter {
 
   private static final String CONCURRENT_EXECUTION_KEY = "zeppelin.jdbc.concurrent.use";
   private static final String CONCURRENT_EXECUTION_COUNT =
-          "zeppelin.jdbc.concurrent.max_connection";
+      "zeppelin.jdbc.concurrent.max_connection";
   private static final String DBCP_STRING = "jdbc:apache:commons:dbcp:";
 
   private final HashMap<String, Properties> basePropretiesMap;
@@ -196,8 +188,13 @@ public class JDBCInterpreter extends KerberosInterpreter {
       if (!COMMON_KEY.equals(key)) {
         Properties properties = basePropretiesMap.get(key);
         if (!properties.containsKey(DRIVER_KEY) || !properties.containsKey(URL_KEY)) {
-          logger.error("{} will be ignored. {}.{} and {}.{} is mandatory.",
-              key, DRIVER_KEY, key, key, URL_KEY);
+          logger.error(
+              "{} will be ignored. {}.{} and {}.{} is mandatory.",
+              key,
+              DRIVER_KEY,
+              key,
+              key,
+              URL_KEY);
           removeKeySet.add(key);
         }
       }
@@ -222,20 +219,24 @@ public class JDBCInterpreter extends KerberosInterpreter {
   }
 
   private void setMaxLineResults() {
-    if (basePropretiesMap.containsKey(COMMON_KEY) &&
-        basePropretiesMap.get(COMMON_KEY).containsKey(MAX_LINE_KEY)) {
+    if (basePropretiesMap.containsKey(COMMON_KEY)
+        && basePropretiesMap.get(COMMON_KEY).containsKey(MAX_LINE_KEY)) {
       maxLineResults = Integer.valueOf(basePropretiesMap.get(COMMON_KEY).getProperty(MAX_LINE_KEY));
     }
   }
 
-  private SqlCompleter createOrUpdateSqlCompleter(SqlCompleter sqlCompleter,
-      final Connection connection, String propertyKey, final String buf, final int cursor) {
+  private SqlCompleter createOrUpdateSqlCompleter(
+      SqlCompleter sqlCompleter,
+      final Connection connection,
+      String propertyKey,
+      final String buf,
+      final int cursor) {
     String schemaFiltersKey = String.format("%s.%s", propertyKey, COMPLETER_SCHEMA_FILTERS_KEY);
     String sqlCompleterTtlKey = String.format("%s.%s", propertyKey, COMPLETER_TTL_KEY);
     final String schemaFiltersString = getProperty(schemaFiltersKey);
-    int ttlInSeconds = Integer.valueOf(
-        StringUtils.defaultIfEmpty(getProperty(sqlCompleterTtlKey), DEFAULT_COMPLETER_TTL)
-    );
+    int ttlInSeconds =
+        Integer.valueOf(
+            StringUtils.defaultIfEmpty(getProperty(sqlCompleterTtlKey), DEFAULT_COMPLETER_TTL));
     final SqlCompleter completer;
     if (sqlCompleter == null) {
       completer = new SqlCompleter(ttlInSeconds);
@@ -243,12 +244,13 @@ public class JDBCInterpreter extends KerberosInterpreter {
       completer = sqlCompleter;
     }
     ExecutorService executorService = Executors.newFixedThreadPool(1);
-    executorService.execute(new Runnable() {
-      @Override
-      public void run() {
-        completer.createOrUpdateFromConnection(connection, schemaFiltersString, buf, cursor);
-      }
-    });
+    executorService.execute(
+        new Runnable() {
+          @Override
+          public void run() {
+            completer.createOrUpdateFromConnection(connection, schemaFiltersString, buf, cursor);
+          }
+        });
 
     executorService.shutdown();
 
@@ -322,13 +324,13 @@ public class JDBCInterpreter extends KerberosInterpreter {
   }
 
   private boolean existAccountInBaseProperty(String propertyKey) {
-    return basePropretiesMap.get(propertyKey).containsKey(USER_KEY) &&
-        !isEmpty((String) basePropretiesMap.get(propertyKey).get(USER_KEY)) &&
-        basePropretiesMap.get(propertyKey).containsKey(PASSWORD_KEY);
+    return basePropretiesMap.get(propertyKey).containsKey(USER_KEY)
+        && !isEmpty((String) basePropretiesMap.get(propertyKey).get(USER_KEY))
+        && basePropretiesMap.get(propertyKey).containsKey(PASSWORD_KEY);
   }
 
-  private UsernamePassword getUsernamePassword(InterpreterContext interpreterContext,
-                                               String replName) {
+  private UsernamePassword getUsernamePassword(
+      InterpreterContext interpreterContext, String replName) {
     UserCredentials uc = interpreterContext.getAuthenticationInfo().getUserCredentials();
     if (uc != null) {
       return uc.getUsernamePassword(replName);
@@ -360,8 +362,8 @@ public class JDBCInterpreter extends KerberosInterpreter {
     String user = interpreterContext.getAuthenticationInfo().getUser();
 
     JDBCUserConfigurations jdbcUserConfigurations = getJDBCConfiguration(user);
-    if (basePropretiesMap.get(propertyKey).containsKey(USER_KEY) &&
-        !basePropretiesMap.get(propertyKey).getProperty(USER_KEY).isEmpty()) {
+    if (basePropretiesMap.get(propertyKey).containsKey(USER_KEY)
+        && !basePropretiesMap.get(propertyKey).getProperty(USER_KEY).isEmpty()) {
       String password = getPassword(basePropretiesMap.get(propertyKey));
       if (!isEmpty(password)) {
         basePropretiesMap.get(propertyKey).setProperty(PASSWORD_KEY, password);
@@ -373,8 +375,8 @@ public class JDBCInterpreter extends KerberosInterpreter {
     }
     jdbcUserConfigurations.cleanUserProperty(propertyKey);
 
-    UsernamePassword usernamePassword = getUsernamePassword(interpreterContext,
-            getEntityName(interpreterContext.getReplName()));
+    UsernamePassword usernamePassword =
+        getUsernamePassword(interpreterContext, getEntityName(interpreterContext.getReplName()));
     if (usernamePassword != null) {
       jdbcUserConfigurations.setUserProperty(propertyKey, usernamePassword);
     } else {
@@ -382,13 +384,13 @@ public class JDBCInterpreter extends KerberosInterpreter {
     }
   }
 
-  private void createConnectionPool(String url, String user, String propertyKey,
-      Properties properties) throws SQLException, ClassNotFoundException {
-    ConnectionFactory connectionFactory =
-            new DriverManagerConnectionFactory(url, properties);
+  private void createConnectionPool(
+      String url, String user, String propertyKey, Properties properties)
+      throws SQLException, ClassNotFoundException {
+    ConnectionFactory connectionFactory = new DriverManagerConnectionFactory(url, properties);
 
-    PoolableConnectionFactory poolableConnectionFactory = new PoolableConnectionFactory(
-            connectionFactory, null);
+    PoolableConnectionFactory poolableConnectionFactory =
+        new PoolableConnectionFactory(connectionFactory, null);
     final String maxConnectionLifetime =
         StringUtils.defaultIfEmpty(getProperty("zeppelin.jdbc.maxConnLifetime"), "-1");
     poolableConnectionFactory.setMaxConnLifetimeMillis(Long.parseLong(maxConnectionLifetime));
@@ -402,8 +404,9 @@ public class JDBCInterpreter extends KerberosInterpreter {
     getJDBCConfiguration(user).saveDBDriverPool(propertyKey, driver);
   }
 
-  private Connection getConnectionFromPool(String url, String user, String propertyKey,
-      Properties properties) throws SQLException, ClassNotFoundException {
+  private Connection getConnectionFromPool(
+      String url, String user, String propertyKey, Properties properties)
+      throws SQLException, ClassNotFoundException {
     String jdbcDriver = getJDBCDriverName(user, propertyKey);
 
     if (!getJDBCConfiguration(user).isConnectionInDBDriverPool(propertyKey)) {
@@ -414,7 +417,7 @@ public class JDBCInterpreter extends KerberosInterpreter {
 
   public Connection getConnection(String propertyKey, InterpreterContext interpreterContext)
       throws ClassNotFoundException, SQLException, InterpreterException, IOException {
-    final String user =  interpreterContext.getAuthenticationInfo().getUser();
+    final String user = interpreterContext.getAuthenticationInfo().getUser();
     Connection connection;
     if (propertyKey == null || basePropretiesMap.get(propertyKey) == null) {
       return null;
@@ -437,8 +440,9 @@ public class JDBCInterpreter extends KerberosInterpreter {
       JDBCSecurityImpl.createSecureConfiguration(getProperties(), authType);
       switch (authType) {
         case KERBEROS:
-          if (user == null || "false".equalsIgnoreCase(
-              getProperty("zeppelin.jdbc.auth.kerberos.proxy.enable"))) {
+          if (user == null
+              || "false"
+                  .equalsIgnoreCase(getProperty("zeppelin.jdbc.auth.kerberos.proxy.enable"))) {
             connection = getConnectionFromPool(connectionUrl, user, propertyKey, properties);
           } else {
             if (basePropretiesMap.get(propertyKey).containsKey("proxy.user.property")) {
@@ -446,8 +450,9 @@ public class JDBCInterpreter extends KerberosInterpreter {
             } else {
               UserGroupInformation ugi = null;
               try {
-                ugi = UserGroupInformation.createProxyUser(
-                    user, UserGroupInformation.getCurrentUser());
+                ugi =
+                    UserGroupInformation.createProxyUser(
+                        user, UserGroupInformation.getCurrentUser());
               } catch (Exception e) {
                 logger.error("Error in getCurrentUser", e);
                 throw new InterpreterException("Error in getCurrentUser", e);
@@ -455,12 +460,14 @@ public class JDBCInterpreter extends KerberosInterpreter {
 
               final String poolKey = propertyKey;
               try {
-                connection = ugi.doAs(new PrivilegedExceptionAction<Connection>() {
-                  @Override
-                  public Connection run() throws Exception {
-                    return getConnectionFromPool(connectionUrl, user, poolKey, properties);
-                  }
-                });
+                connection =
+                    ugi.doAs(
+                        new PrivilegedExceptionAction<Connection>() {
+                          @Override
+                          public Connection run() throws Exception {
+                            return getConnectionFromPool(connectionUrl, user, poolKey, properties);
+                          }
+                        });
               } catch (Exception e) {
                 logger.error("Error in doAs", e);
                 throw new InterpreterException("Error in doAs", e);
@@ -480,21 +487,29 @@ public class JDBCInterpreter extends KerberosInterpreter {
   private String appendProxyUserToURL(String url, String user, String propertyKey) {
     StringBuilder connectionUrl = new StringBuilder(url);
 
-    if (user != null && !user.equals("anonymous") &&
-        basePropretiesMap.get(propertyKey).containsKey("proxy.user.property")) {
+    if (user != null
+        && !user.equals("anonymous")
+        && basePropretiesMap.get(propertyKey).containsKey("proxy.user.property")) {
 
       Integer lastIndexOfUrl = connectionUrl.indexOf("?");
       if (lastIndexOfUrl == -1) {
         lastIndexOfUrl = connectionUrl.length();
       }
       logger.info("Using proxy user as :" + user);
-      logger.info("Using proxy property for user as :" +
-          basePropretiesMap.get(propertyKey).getProperty("proxy.user.property"));
-      connectionUrl.insert(lastIndexOfUrl, ";" +
-          basePropretiesMap.get(propertyKey).getProperty("proxy.user.property") + "=" + user + ";");
+      logger.info(
+          "Using proxy property for user as :"
+              + basePropretiesMap.get(propertyKey).getProperty("proxy.user.property"));
+      connectionUrl.insert(
+          lastIndexOfUrl,
+          ";"
+              + basePropretiesMap.get(propertyKey).getProperty("proxy.user.property")
+              + "="
+              + user
+              + ";");
     } else if (user != null && !user.equals("anonymous") && url.contains("hive")) {
-      logger.warn("User impersonation for hive has changed please refer: http://zeppelin.apache" +
-          ".org/docs/latest/interpreter/jdbc.html#apache-hive");
+      logger.warn(
+          "User impersonation for hive has changed please refer: http://zeppelin.apache"
+              + ".org/docs/latest/interpreter/jdbc.html#apache-hive");
     }
 
     return connectionUrl.toString();
@@ -507,7 +522,8 @@ public class JDBCInterpreter extends KerberosInterpreter {
         && isNotEmpty(properties.getProperty(JDBC_JCEKS_CREDENTIAL_KEY))) {
       try {
         Configuration configuration = new Configuration();
-        configuration.set(CredentialProviderFactory.CREDENTIAL_PROVIDER_PATH,
+        configuration.set(
+            CredentialProviderFactory.CREDENTIAL_PROVIDER_PATH,
             properties.getProperty(JDBC_JCEKS_FILE));
         CredentialProvider provider = CredentialProviderFactory.getProviders(configuration).get(0);
         CredentialProvider.CredentialEntry credEntry =
@@ -515,13 +531,18 @@ public class JDBCInterpreter extends KerberosInterpreter {
         if (credEntry != null) {
           return new String(credEntry.getCredential());
         } else {
-          throw new InterpreterException("Failed to retrieve password from JCEKS from key: "
-              + properties.getProperty(JDBC_JCEKS_CREDENTIAL_KEY));
+          throw new InterpreterException(
+              "Failed to retrieve password from JCEKS from key: "
+                  + properties.getProperty(JDBC_JCEKS_CREDENTIAL_KEY));
         }
       } catch (Exception e) {
-        logger.error("Failed to retrieve password from JCEKS \n" +
-            "For file: " + properties.getProperty(JDBC_JCEKS_FILE) +
-            "\nFor key: " + properties.getProperty(JDBC_JCEKS_CREDENTIAL_KEY), e);
+        logger.error(
+            "Failed to retrieve password from JCEKS \n"
+                + "For file: "
+                + properties.getProperty(JDBC_JCEKS_FILE)
+                + "\nFor key: "
+                + properties.getProperty(JDBC_JCEKS_CREDENTIAL_KEY),
+            e);
         throw e;
       }
     }
@@ -617,7 +638,10 @@ public class JDBCInterpreter extends KerberosInterpreter {
         }
       }
 
-      if (!quoteString && !doubleQuoteString && !multiLineComment && !singleLineComment
+      if (!quoteString
+          && !doubleQuoteString
+          && !multiLineComment
+          && !singleLineComment
           && sql.length() > item + 1) {
         if (character == '-' && sql.charAt(item + 1) == '-') {
           singleLineComment = true;
@@ -626,7 +650,10 @@ public class JDBCInterpreter extends KerberosInterpreter {
         }
       }
 
-      if (character == ';' && !quoteString && !doubleQuoteString && !multiLineComment
+      if (character == ';'
+          && !quoteString
+          && !doubleQuoteString
+          && !multiLineComment
           && !singleLineComment) {
         queries.add(StringUtils.trim(query.toString()));
         query = new StringBuilder();
@@ -656,8 +683,8 @@ public class JDBCInterpreter extends KerberosInterpreter {
     return interpreterResult;
   }
 
-  private InterpreterResult executeSql(String propertyKey, String sql,
-      InterpreterContext interpreterContext) {
+  private InterpreterResult executeSql(
+      String propertyKey, String sql, InterpreterContext interpreterContext) {
     Connection connection = null;
     Statement statement;
     ResultSet resultSet = null;
@@ -712,7 +739,7 @@ public class JDBCInterpreter extends KerberosInterpreter {
 
           String statementPrecode =
               getProperty(String.format(STATEMENT_PRECODE_KEY_TEMPLATE, propertyKey));
-          
+
           if (StringUtils.isNotBlank(statementPrecode)) {
             statement.execute(statementPrecode);
           }
@@ -723,37 +750,42 @@ public class JDBCInterpreter extends KerberosInterpreter {
             resultSet = statement.getResultSet();
 
             // Regards that the command is DDL.
-            if (isDDLCommand(statement.getUpdateCount(),
-                resultSet.getMetaData().getColumnCount())) {
-              interpreterResult.add(InterpreterResult.Type.TEXT,
-                  "Query executed successfully.");
+            if (isDDLCommand(
+                statement.getUpdateCount(), resultSet.getMetaData().getColumnCount())) {
+              interpreterResult.add(InterpreterResult.Type.TEXT, "Query executed successfully.");
             } else {
               MutableBoolean isComplete = new MutableBoolean(true);
-              String results = getResults(resultSet,
-                  !containsIgnoreCase(sqlToExecute, EXPLAIN_PREDICATE), isComplete);
+              String results =
+                  getResults(
+                      resultSet, !containsIgnoreCase(sqlToExecute, EXPLAIN_PREDICATE), isComplete);
               interpreterResult.add(results);
               if (!isComplete.booleanValue()) {
-                interpreterResult.add(ResultMessages.getExceedsLimitRowsMessage(getMaxResult(),
-                    String.format("%s.%s", COMMON_KEY, MAX_LINE_KEY)));
+                interpreterResult.add(
+                    ResultMessages.getExceedsLimitRowsMessage(
+                        getMaxResult(), String.format("%s.%s", COMMON_KEY, MAX_LINE_KEY)));
               }
             }
           } else {
             // Response contains either an update count or there are no results.
             int updateCount = statement.getUpdateCount();
-            interpreterResult.add(InterpreterResult.Type.TEXT,
-                "Query executed successfully. Affected rows : " +
-                    updateCount);
+            interpreterResult.add(
+                InterpreterResult.Type.TEXT,
+                "Query executed successfully. Affected rows : " + updateCount);
           }
         } finally {
           if (resultSet != null) {
             try {
               resultSet.close();
-            } catch (SQLException e) { /*ignored*/ }
+            } catch (SQLException e) {
+              /*ignored*/
+            }
           }
           if (statement != null) {
             try {
               statement.close();
-            } catch (SQLException e) { /*ignored*/ }
+            } catch (SQLException e) {
+              /*ignored*/
+            }
           }
         }
       }
@@ -763,23 +795,23 @@ public class JDBCInterpreter extends KerberosInterpreter {
       interpreterResult.add(errorMsg);
       return new InterpreterResult(Code.ERROR, interpreterResult.message());
     } finally {
-      //In case user ran an insert/update/upsert statement
+      // In case user ran an insert/update/upsert statement
       if (connection != null) {
         try {
           if (!connection.getAutoCommit()) {
             connection.commit();
           }
           connection.close();
-        } catch (SQLException e) { /*ignored*/ }
+        } catch (SQLException e) {
+          /*ignored*/
+        }
       }
       getJDBCConfiguration(user).removeStatement(paragraphId);
     }
     return interpreterResult;
   }
 
-  /**
-   * For %table response replace Tab and Newline characters from the content.
-   */
+  /** For %table response replace Tab and Newline characters from the content. */
   private String replaceReservedChars(String str) {
     if (str == null) {
       return EMPTY_COLUMN_VALUE;
@@ -789,8 +821,10 @@ public class JDBCInterpreter extends KerberosInterpreter {
 
   @Override
   public InterpreterResult interpret(String originalCmd, InterpreterContext contextInterpreter) {
-    String cmd = Boolean.parseBoolean(getProperty("zeppelin.jdbc.interpolation")) ?
-            interpolate(originalCmd, contextInterpreter.getResourcePool()) : originalCmd;
+    String cmd =
+        Boolean.parseBoolean(getProperty("zeppelin.jdbc.interpolation"))
+            ? interpolate(originalCmd, contextInterpreter.getResourcePool())
+            : originalCmd;
     logger.debug("Run SQL command '{}'", cmd);
     String propertyKey = getPropertyKey(contextInterpreter);
     cmd = cmd.trim();
@@ -803,7 +837,7 @@ public class JDBCInterpreter extends KerberosInterpreter {
     logger.info("Cancel current query statement.");
     String paragraphId = context.getParagraphId();
     JDBCUserConfigurations jdbcUserConfigurations =
-            getJDBCConfiguration(context.getAuthenticationInfo().getUser());
+        getJDBCConfiguration(context.getAuthenticationInfo().getUser());
     try {
       jdbcUserConfigurations.cancelStatement(paragraphId);
     } catch (SQLException e) {
@@ -839,15 +873,15 @@ public class JDBCInterpreter extends KerberosInterpreter {
   @Override
   public Scheduler getScheduler() {
     String schedulerName = JDBCInterpreter.class.getName() + this.hashCode();
-    return isConcurrentExecution() ?
-            SchedulerFactory.singleton().createOrGetParallelScheduler(schedulerName,
-                getMaxConcurrentConnection())
-            : SchedulerFactory.singleton().createOrGetFIFOScheduler(schedulerName);
+    return isConcurrentExecution()
+        ? SchedulerFactory.singleton()
+            .createOrGetParallelScheduler(schedulerName, getMaxConcurrentConnection())
+        : SchedulerFactory.singleton().createOrGetFIFOScheduler(schedulerName);
   }
 
   @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<>();
     String propertyKey = getPropertyKey(interpreterContext);
     String sqlCompleterKey =

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/55f6c91c/jdbc/src/main/java/org/apache/zeppelin/jdbc/JDBCUserConfigurations.java
----------------------------------------------------------------------
diff --git a/jdbc/src/main/java/org/apache/zeppelin/jdbc/JDBCUserConfigurations.java b/jdbc/src/main/java/org/apache/zeppelin/jdbc/JDBCUserConfigurations.java
index 4eac9fc..e584c06 100644
--- a/jdbc/src/main/java/org/apache/zeppelin/jdbc/JDBCUserConfigurations.java
+++ b/jdbc/src/main/java/org/apache/zeppelin/jdbc/JDBCUserConfigurations.java
@@ -5,28 +5,24 @@
  * "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
+ * <p>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.
+ * <p>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.jdbc;
 
-import org.apache.commons.dbcp2.PoolingDriver;
-
 import java.sql.SQLException;
 import java.sql.Statement;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.Properties;
-
+import org.apache.commons.dbcp2.PoolingDriver;
 import org.apache.zeppelin.user.UsernamePassword;
 
-/**
- * UserConfigurations for JDBC impersonation.
- */
+/** UserConfigurations for JDBC impersonation. */
 public class JDBCUserConfigurations {
   private final Map<String, Statement> paragraphIdStatementMap;
   private final Map<String, PoolingDriver> poolingDriverMap;
@@ -87,6 +83,7 @@ public class JDBCUserConfigurations {
     poolingDriverMap.put(key, driver);
     isSuccessful.put(key, false);
   }
+
   public PoolingDriver removeDBDriverPool(String key) throws SQLException {
     isSuccessful.remove(key);
     return poolingDriverMap.remove(key);

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/55f6c91c/jdbc/src/main/java/org/apache/zeppelin/jdbc/SqlCompleter.java
----------------------------------------------------------------------
diff --git a/jdbc/src/main/java/org/apache/zeppelin/jdbc/SqlCompleter.java b/jdbc/src/main/java/org/apache/zeppelin/jdbc/SqlCompleter.java
index 9f52ecb..0f7f01e 100644
--- a/jdbc/src/main/java/org/apache/zeppelin/jdbc/SqlCompleter.java
+++ b/jdbc/src/main/java/org/apache/zeppelin/jdbc/SqlCompleter.java
@@ -4,11 +4,6 @@ package org.apache.zeppelin.jdbc;
  * This source file is based on code taken from SQLLine 1.0.2 See SQLLine notice in LICENSE
  */
 
-import org.apache.commons.lang.StringUtils;
-import org.apache.commons.lang.math.NumberUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
 import java.io.BufferedReader;
 import java.io.IOException;
 import java.io.InputStreamReader;
@@ -26,54 +21,47 @@ import java.util.Set;
 import java.util.StringTokenizer;
 import java.util.TreeSet;
 import java.util.regex.Pattern;
-
 import jline.console.completer.ArgumentCompleter.ArgumentList;
 import jline.console.completer.ArgumentCompleter.WhitespaceArgumentDelimiter;
-
+import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang.math.NumberUtils;
 import org.apache.zeppelin.completer.CachedCompleter;
 import org.apache.zeppelin.completer.CompletionType;
 import org.apache.zeppelin.completer.StringsCompleter;
 import org.apache.zeppelin.interpreter.thrift.InterpreterCompletion;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
-/**
- * SQL auto complete functionality for the JdbcInterpreter.
- */
+/** SQL auto complete functionality for the JdbcInterpreter. */
 public class SqlCompleter {
   private static Logger logger = LoggerFactory.getLogger(SqlCompleter.class);
 
-  /**
-   * Delimiter that can split SQL statement in keyword list.
-   */
-  private WhitespaceArgumentDelimiter sqlDelimiter = new WhitespaceArgumentDelimiter() {
+  /** Delimiter that can split SQL statement in keyword list. */
+  private WhitespaceArgumentDelimiter sqlDelimiter =
+      new WhitespaceArgumentDelimiter() {
 
-    private Pattern pattern = Pattern.compile(",");
+        private Pattern pattern = Pattern.compile(",");
 
-    @Override
-    public boolean isDelimiterChar(CharSequence buffer, int pos) {
-      return pattern.matcher("" + buffer.charAt(pos)).matches()
+        @Override
+        public boolean isDelimiterChar(CharSequence buffer, int pos) {
+          return pattern.matcher("" + buffer.charAt(pos)).matches()
               || super.isDelimiterChar(buffer, pos);
-    }
-  };
+        }
+      };
 
-  /**
-   * Schema completer.
-   */
+  /** Schema completer. */
   private CachedCompleter schemasCompleter;
 
-  /**
-   * Contain different completer with table list for every schema name.
-   */
+  /** Contain different completer with table list for every schema name. */
   private Map<String, CachedCompleter> tablesCompleters = new HashMap<>();
 
   /**
-   * Contains different completer with column list for every table name
-   * Table names store as schema_name.table_name.
+   * Contains different completer with column list for every table name Table names store as
+   * schema_name.table_name.
    */
   private Map<String, CachedCompleter> columnsCompleters = new HashMap<>();
 
-  /**
-   * Completer for sql keywords.
-   */
+  /** Completer for sql keywords. */
   private CachedCompleter keywordCompleter;
 
   private int ttlInSeconds;
@@ -99,7 +87,11 @@ public class SqlCompleter {
       argumentPosition = argumentList.getArgumentPosition();
     }
 
-    int complete = completeName(cursorArgument, argumentPosition, candidates,
+    int complete =
+        completeName(
+            cursorArgument,
+            argumentPosition,
+            candidates,
             findAliasesInSQL(argumentList.getArguments()));
 
     logger.debug("complete:" + complete + ", size:" + candidates.size());
@@ -110,10 +102,9 @@ public class SqlCompleter {
    * Return list of schema names within the database.
    *
    * @param meta metadata from connection to database
-   * @param schemaFilters a schema name patterns; must match the schema name
-   *        as it is stored in the database; "" retrieves those without a schema;
-   *        <code>null</code> means that the schema name should not be used to narrow
-   *        the search; supports '%'; for example "prod_v_%"
+   * @param schemaFilters a schema name patterns; must match the schema name as it is stored in the
+   *     database; "" retrieves those without a schema; <code>null</code> means that the schema name
+   *     should not be used to narrow the search; supports '%'; for example "prod_v_%"
    * @return set of all schema names in the database
    */
   private static Set<String> getSchemaNames(DatabaseMetaData meta, List<String> schemaFilters) {
@@ -146,10 +137,9 @@ public class SqlCompleter {
    * Return list of catalog names within the database.
    *
    * @param meta metadata from connection to database
-   * @param schemaFilters a catalog name patterns; must match the catalog name
-   *        as it is stored in the database; "" retrieves those without a catalog;
-   *        <code>null</code> means that the schema name should not be used to narrow
-   *        the search; supports '%'; for example "prod_v_%"
+   * @param schemaFilters a catalog name patterns; must match the catalog name as it is stored in
+   *     the database; "" retrieves those without a catalog; <code>null</code> means that the schema
+   *     name should not be used to narrow the search; supports '%'; for example "prod_v_%"
    * @return set of all catalog names in the database
    */
   private static Set<String> getCatalogNames(DatabaseMetaData meta, List<String> schemaFilters) {
@@ -175,8 +165,14 @@ public class SqlCompleter {
   }
 
   private static void fillTableNames(String schema, DatabaseMetaData meta, Set<String> tables) {
-    try (ResultSet tbls = meta.getTables(schema, schema, "%",
-        new String[]{"TABLE", "VIEW", "ALIAS", "SYNONYM", "GLOBAL TEMPORARY", "LOCAL TEMPORARY"})) {
+    try (ResultSet tbls =
+        meta.getTables(
+            schema,
+            schema,
+            "%",
+            new String[] {
+              "TABLE", "VIEW", "ALIAS", "SYNONYM", "GLOBAL TEMPORARY", "LOCAL TEMPORARY"
+            })) {
       while (tbls.next()) {
         String table = tbls.getString("TABLE_NAME");
         tables.add(table);
@@ -192,11 +188,11 @@ public class SqlCompleter {
    * @param schema name of a scheme
    * @param table name of a table
    * @param meta meta metadata from connection to database
-   * @param columns function fills this set, for every table name adds set
-   *        of columns within the table; table name is in format schema_name.table_name
+   * @param columns function fills this set, for every table name adds set of columns within the
+   *     table; table name is in format schema_name.table_name
    */
-  private static void fillColumnNames(String schema, String table, DatabaseMetaData meta,
-      Set<String> columns) {
+  private static void fillColumnNames(
+      String schema, String table, DatabaseMetaData meta, Set<String> columns) {
     try (ResultSet cols = meta.getColumns(schema, schema, table, "%")) {
       while (cols.next()) {
         String column = cols.getString("COLUMN_NAME");
@@ -207,31 +203,34 @@ public class SqlCompleter {
     }
   }
 
-  public static Set<String> getSqlKeywordsCompletions(DatabaseMetaData meta) throws IOException,
-          SQLException {
+  public static Set<String> getSqlKeywordsCompletions(DatabaseMetaData meta)
+      throws IOException, SQLException {
     // Add the default SQL completions
     String keywords =
-            new BufferedReader(new InputStreamReader(
-                    SqlCompleter.class.getResourceAsStream("/ansi.sql.keywords"))).readLine();
+        new BufferedReader(
+                new InputStreamReader(SqlCompleter.class.getResourceAsStream("/ansi.sql.keywords")))
+            .readLine();
 
     Set<String> completions = new TreeSet<>();
 
     if (null != meta) {
       // Add the driver specific SQL completions
       String driverSpecificKeywords =
-              "/" + meta.getDriverName().replace(" ", "-").toLowerCase() + "-sql.keywords";
+          "/" + meta.getDriverName().replace(" ", "-").toLowerCase() + "-sql.keywords";
       logger.info("JDBC DriverName:" + driverSpecificKeywords);
       try {
         if (SqlCompleter.class.getResource(driverSpecificKeywords) != null) {
           String driverKeywords =
-                  new BufferedReader(new InputStreamReader(
+              new BufferedReader(
+                      new InputStreamReader(
                           SqlCompleter.class.getResourceAsStream(driverSpecificKeywords)))
-                          .readLine();
+                  .readLine();
           keywords += "," + driverKeywords.toUpperCase();
         }
       } catch (Exception e) {
-        logger.debug("fail to get driver specific SQL completions for " +
-                driverSpecificKeywords + " : " + e, e);
+        logger.debug(
+            "fail to get driver specific SQL completions for " + driverSpecificKeywords + " : " + e,
+            e);
       }
 
       // Add the keywords from the current JDBC connection
@@ -277,11 +276,11 @@ public class SqlCompleter {
    * Initializes all local completers from database connection.
    *
    * @param connection database connection
-   * @param schemaFiltersString a comma separated schema name patterns, supports '%'  symbol;
-   *        for example "prod_v_%,prod_t_%"
+   * @param schemaFiltersString a comma separated schema name patterns, supports '%' symbol; for
+   *     example "prod_v_%,prod_t_%"
    */
-  public void createOrUpdateFromConnection(Connection connection, String schemaFiltersString,
-      String buffer, int cursor) {
+  public void createOrUpdateFromConnection(
+      Connection connection, String schemaFiltersString, String buffer, int cursor) {
     try (Connection c = connection) {
       if (schemaFiltersString == null) {
         schemaFiltersString = StringUtils.EMPTY;
@@ -297,14 +296,16 @@ public class SqlCompleter {
 
       if (c != null) {
         DatabaseMetaData databaseMetaData = c.getMetaData();
-        if (keywordCompleter == null || keywordCompleter.getCompleter() == null
+        if (keywordCompleter == null
+            || keywordCompleter.getCompleter() == null
             || keywordCompleter.isExpired()) {
           keywords = getSqlKeywordsCompletions(databaseMetaData);
           initKeywords(keywords);
         }
-        if (cursorArgument.needLoadSchemas() &&
-            (schemasCompleter == null || schemasCompleter.getCompleter() == null
-            || schemasCompleter.isExpired())) {
+        if (cursorArgument.needLoadSchemas()
+            && (schemasCompleter == null
+                || schemasCompleter.getCompleter() == null
+                || schemasCompleter.isExpired())) {
           schemas = getSchemaNames(databaseMetaData, schemaFilters);
           catalogs = getCatalogNames(databaseMetaData, schemaFilters);
 
@@ -316,8 +317,8 @@ public class SqlCompleter {
         }
 
         CachedCompleter tablesCompleter = tablesCompleters.get(cursorArgument.getSchema());
-        if (cursorArgument.needLoadTables() &&
-            (tablesCompleter == null || tablesCompleter.isExpired())) {
+        if (cursorArgument.needLoadTables()
+            && (tablesCompleter == null || tablesCompleter.isExpired())) {
           fillTableNames(cursorArgument.getSchema(), databaseMetaData, tables);
           initTables(cursorArgument.getSchema(), tables);
         }
@@ -326,15 +327,21 @@ public class SqlCompleter {
             String.format("%s.%s", cursorArgument.getSchema(), cursorArgument.getTable());
         CachedCompleter columnsCompleter = columnsCompleters.get(schemaTable);
 
-        if (cursorArgument.needLoadColumns() &&
-            (columnsCompleter == null || columnsCompleter.isExpired())) {
-          fillColumnNames(cursorArgument.getSchema(), cursorArgument.getTable(), databaseMetaData,
-              columns);
+        if (cursorArgument.needLoadColumns()
+            && (columnsCompleter == null || columnsCompleter.isExpired())) {
+          fillColumnNames(
+              cursorArgument.getSchema(), cursorArgument.getTable(), databaseMetaData, columns);
           initColumns(schemaTable, columns);
         }
 
-        logger.info("Completer initialized with " + schemas.size() + " schemas, " +
-            columns.size() + " tables and " + keywords.size() + " keywords");
+        logger.info(
+            "Completer initialized with "
+                + schemas.size()
+                + " schemas, "
+                + columns.size()
+                + " tables and "
+                + keywords.size()
+                + " keywords");
       }
 
     } catch (SQLException | IOException e) {
@@ -350,22 +357,22 @@ public class SqlCompleter {
 
   public void initSchemas(Set<String> schemas) {
     if (schemas != null && !schemas.isEmpty()) {
-      schemasCompleter = new CachedCompleter(
-          new StringsCompleter(new TreeSet<>(schemas)), ttlInSeconds);
+      schemasCompleter =
+          new CachedCompleter(new StringsCompleter(new TreeSet<>(schemas)), ttlInSeconds);
     }
   }
 
   public void initTables(String schema, Set<String> tables) {
     if (tables != null && !tables.isEmpty()) {
-      tablesCompleters.put(schema, new CachedCompleter(
-          new StringsCompleter(new TreeSet<>(tables)), ttlInSeconds));
+      tablesCompleters.put(
+          schema, new CachedCompleter(new StringsCompleter(new TreeSet<>(tables)), ttlInSeconds));
     }
   }
 
   public void initColumns(String schemaTable, Set<String> columns) {
     if (columns != null && !columns.isEmpty()) {
-      columnsCompleters.put(schemaTable,
-          new CachedCompleter(new StringsCompleter(columns), ttlInSeconds));
+      columnsCompleters.put(
+          schemaTable, new CachedCompleter(new StringsCompleter(columns), ttlInSeconds));
     }
   }
 
@@ -378,8 +385,8 @@ public class SqlCompleter {
   public Map<String, String> findAliasesInSQL(String[] sqlArguments) {
     Map<String, String> res = new HashMap<>();
     for (int i = 0; i < sqlArguments.length - 1; i++) {
-      if (columnsCompleters.keySet().contains(sqlArguments[i]) &&
-              sqlArguments[i + 1].matches("[a-zA-Z]+")) {
+      if (columnsCompleters.keySet().contains(sqlArguments[i])
+          && sqlArguments[i + 1].matches("[a-zA-Z]+")) {
         res.put(sqlArguments[i + 1], sqlArguments[i]);
       }
     }
@@ -409,8 +416,8 @@ public class SqlCompleter {
    *
    * @return -1 in case of no candidates found, 0 otherwise
    */
-  private int completeTable(String schema, String buffer, int cursor,
-                            List<CharSequence> candidates) {
+  private int completeTable(
+      String schema, String buffer, int cursor, List<CharSequence> candidates) {
     // Wrong schema
     if (schema == null || !tablesCompleters.containsKey(schema)) {
       return -1;
@@ -424,26 +431,31 @@ public class SqlCompleter {
    *
    * @return -1 in case of no candidates found, 0 otherwise
    */
-  private int completeColumn(String schema, String table, String buffer, int cursor,
-                             List<CharSequence> candidates) {
+  private int completeColumn(
+      String schema, String table, String buffer, int cursor, List<CharSequence> candidates) {
     // Wrong schema or wrong table
     if (schema == null || table == null || !columnsCompleters.containsKey(schema + "." + table)) {
       return -1;
     } else {
-      return columnsCompleters.get(schema + "." + table).getCompleter()
+      return columnsCompleters
+          .get(schema + "." + table)
+          .getCompleter()
           .complete(buffer, cursor, candidates);
     }
   }
 
   /**
-   * Complete buffer with a single name. Function will decide what it is:
-   * a schema, a table of a column or a keyword
+   * Complete buffer with a single name. Function will decide what it is: a schema, a table of a
+   * column or a keyword
    *
    * @param aliases for every alias contains table name in format schema_name.table_name
    * @return -1 in case of no candidates found, 0 otherwise
    */
-  public int completeName(String buffer, int cursor, List<InterpreterCompletion> candidates,
-                          Map<String, String> aliases) {
+  public int completeName(
+      String buffer,
+      int cursor,
+      List<InterpreterCompletion> candidates,
+      Map<String, String> aliases) {
     CursorArgument cursorArgument = parseCursorArgument(buffer, cursor);
 
     // find schema and table name if they are
@@ -451,40 +463,42 @@ public class SqlCompleter {
     String table;
     String column;
 
-    if (cursorArgument.getSchema() == null) {             // process all
+    if (cursorArgument.getSchema() == null) { // process all
       List<CharSequence> keywordsCandidates = new ArrayList();
       List<CharSequence> schemaCandidates = new ArrayList<>();
       int keywordsRes = completeKeyword(buffer, cursor, keywordsCandidates);
       int schemaRes = completeSchema(buffer, cursor, schemaCandidates);
       addCompletions(candidates, keywordsCandidates, CompletionType.keyword.name());
       addCompletions(candidates, schemaCandidates, CompletionType.schema.name());
-      return NumberUtils.max(new int[]{keywordsRes, schemaRes});
+      return NumberUtils.max(new int[] {keywordsRes, schemaRes});
     } else {
       schema = cursorArgument.getSchema();
-      if (aliases.containsKey(schema)) {  // process alias case
+      if (aliases.containsKey(schema)) { // process alias case
         String alias = aliases.get(schema);
         int pointPos = alias.indexOf('.');
         schema = alias.substring(0, pointPos);
         table = alias.substring(pointPos + 1);
         column = cursorArgument.getColumn();
         List<CharSequence> columnCandidates = new ArrayList();
-        int columnRes = completeColumn(schema, table, column, cursorArgument.getCursorPosition(),
-            columnCandidates);
+        int columnRes =
+            completeColumn(
+                schema, table, column, cursorArgument.getCursorPosition(), columnCandidates);
         addCompletions(candidates, columnCandidates, CompletionType.column.name());
         // process schema.table case
       } else if (cursorArgument.getTable() != null && cursorArgument.getColumn() == null) {
         List<CharSequence> tableCandidates = new ArrayList();
         table = cursorArgument.getTable();
-        int tableRes = completeTable(schema, table, cursorArgument.getCursorPosition(),
-            tableCandidates);
+        int tableRes =
+            completeTable(schema, table, cursorArgument.getCursorPosition(), tableCandidates);
         addCompletions(candidates, tableCandidates, CompletionType.table.name());
         return tableRes;
       } else {
         List<CharSequence> columnCandidates = new ArrayList();
         table = cursorArgument.getTable();
         column = cursorArgument.getColumn();
-        int columnRes = completeColumn(schema, table, column, cursorArgument.getCursorPosition(),
-            columnCandidates);
+        int columnRes =
+            completeColumn(
+                schema, table, column, cursorArgument.getCursorPosition(), columnCandidates);
         addCompletions(candidates, columnCandidates, CompletionType.column.name());
       }
     }
@@ -497,11 +511,13 @@ public class SqlCompleter {
     return this.sqlDelimiter;
   }
 
-  private void addCompletions(List<InterpreterCompletion> interpreterCompletions,
-      List<CharSequence> candidates, String meta) {
+  private void addCompletions(
+      List<InterpreterCompletion> interpreterCompletions,
+      List<CharSequence> candidates,
+      String meta) {
     for (CharSequence candidate : candidates) {
-      interpreterCompletions.add(new InterpreterCompletion(candidate.toString(),
-          candidate.toString(), meta));
+      interpreterCompletions.add(
+          new InterpreterCompletion(candidate.toString(), candidate.toString(), meta));
     }
   }
 

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/55f6c91c/jdbc/src/main/java/org/apache/zeppelin/jdbc/security/JDBCSecurityImpl.java
----------------------------------------------------------------------
diff --git a/jdbc/src/main/java/org/apache/zeppelin/jdbc/security/JDBCSecurityImpl.java b/jdbc/src/main/java/org/apache/zeppelin/jdbc/security/JDBCSecurityImpl.java
index b093ab2..22f4703 100644
--- a/jdbc/src/main/java/org/apache/zeppelin/jdbc/security/JDBCSecurityImpl.java
+++ b/jdbc/src/main/java/org/apache/zeppelin/jdbc/security/JDBCSecurityImpl.java
@@ -19,31 +19,29 @@ package org.apache.zeppelin.jdbc.security;
 import static org.apache.hadoop.security.UserGroupInformation.AuthenticationMethod.KERBEROS;
 import static org.apache.hadoop.security.UserGroupInformation.AuthenticationMethod.SIMPLE;
 
+import java.io.IOException;
+import java.util.Properties;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.security.UserGroupInformation;
 import org.apache.hadoop.security.UserGroupInformation.AuthenticationMethod;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import java.io.IOException;
-import java.util.Properties;
-
-/**
- * Created for org.apache.zeppelin.jdbc.security on 09/07/16.
- */
+/** Created for org.apache.zeppelin.jdbc.security on 09/07/16. */
 public class JDBCSecurityImpl {
 
   private static final Logger LOGGER = LoggerFactory.getLogger(JDBCSecurityImpl.class);
 
-  /***
+  /**
+   * *
+   *
    * @param properties
    */
-  public static void createSecureConfiguration(Properties properties,
-      AuthenticationMethod authType) {
+  public static void createSecureConfiguration(
+      Properties properties, AuthenticationMethod authType) {
     switch (authType) {
       case KERBEROS:
-        Configuration conf = new
-            org.apache.hadoop.conf.Configuration();
+        Configuration conf = new org.apache.hadoop.conf.Configuration();
         conf.set("hadoop.security.authentication", KERBEROS.toString());
         UserGroupInformation.setConfiguration(conf);
         try {
@@ -57,12 +55,13 @@ public class JDBCSecurityImpl {
                 properties.getProperty("zeppelin.jdbc.principal"),
                 properties.getProperty("zeppelin.jdbc.keytab.location"));
           } else {
-            LOGGER.info("The user has already logged in using Keytab and principal, " +
-                "no action required");
+            LOGGER.info(
+                "The user has already logged in using Keytab and principal, "
+                    + "no action required");
           }
         } catch (IOException e) {
-          LOGGER.error("Failed to get either keytab location or principal name in the " +
-              "interpreter", e);
+          LOGGER.error(
+              "Failed to get either keytab location or principal name in the " + "interpreter", e);
         }
     }
   }
@@ -70,11 +69,14 @@ public class JDBCSecurityImpl {
   public static AuthenticationMethod getAuthtype(Properties properties) {
     AuthenticationMethod authType;
     try {
-      authType = AuthenticationMethod.valueOf(properties.getProperty("zeppelin.jdbc.auth.type")
-          .trim().toUpperCase());
+      authType =
+          AuthenticationMethod.valueOf(
+              properties.getProperty("zeppelin.jdbc.auth.type").trim().toUpperCase());
     } catch (Exception e) {
-      LOGGER.error(String.format("Invalid auth.type detected with value %s, defaulting " +
-          "auth.type to SIMPLE", properties.getProperty("zeppelin.jdbc.auth.type")));
+      LOGGER.error(
+          String.format(
+              "Invalid auth.type detected with value %s, defaulting " + "auth.type to SIMPLE",
+              properties.getProperty("zeppelin.jdbc.auth.type")));
       authType = SIMPLE;
     }
     return authType;

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/55f6c91c/jdbc/src/test/java/org/apache/zeppelin/jdbc/JDBCInterpreterInterpolationTest.java
----------------------------------------------------------------------
diff --git a/jdbc/src/test/java/org/apache/zeppelin/jdbc/JDBCInterpreterInterpolationTest.java b/jdbc/src/test/java/org/apache/zeppelin/jdbc/JDBCInterpreterInterpolationTest.java
index d55f9fe..d602f95 100644
--- a/jdbc/src/test/java/org/apache/zeppelin/jdbc/JDBCInterpreterInterpolationTest.java
+++ b/jdbc/src/test/java/org/apache/zeppelin/jdbc/JDBCInterpreterInterpolationTest.java
@@ -5,24 +5,19 @@
  * "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
+ * <p>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.
+ * <p>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.jdbc;
 
-import com.mockrunner.jdbc.BasicJDBCTestCaseAdapter;
-import org.apache.zeppelin.interpreter.InterpreterContext;
-import org.apache.zeppelin.interpreter.InterpreterResult;
-import org.apache.zeppelin.resource.LocalResourcePool;
-import org.apache.zeppelin.resource.ResourcePool;
-import org.apache.zeppelin.user.AuthenticationInfo;
-import org.junit.Before;
-import org.junit.Test;
+import static java.lang.String.format;
+import static org.junit.Assert.assertEquals;
 
+import com.mockrunner.jdbc.BasicJDBCTestCaseAdapter;
 import java.io.IOException;
 import java.nio.file.Files;
 import java.nio.file.Path;
@@ -30,13 +25,15 @@ import java.sql.Connection;
 import java.sql.DriverManager;
 import java.sql.Statement;
 import java.util.Properties;
+import org.apache.zeppelin.interpreter.InterpreterContext;
+import org.apache.zeppelin.interpreter.InterpreterResult;
+import org.apache.zeppelin.resource.LocalResourcePool;
+import org.apache.zeppelin.resource.ResourcePool;
+import org.apache.zeppelin.user.AuthenticationInfo;
+import org.junit.Before;
+import org.junit.Test;
 
-import static java.lang.String.format;
-import static org.junit.Assert.assertEquals;
-
-/**
- * JDBC interpreter Z-variable interpolation unit tests.
- */
+/** JDBC interpreter Z-variable interpolation unit tests. */
 public class JDBCInterpreterInterpolationTest extends BasicJDBCTestCaseAdapter {
 
   private static String jdbcConnection;
@@ -58,22 +55,24 @@ public class JDBCInterpreterInterpolationTest extends BasicJDBCTestCaseAdapter {
     Connection connection = DriverManager.getConnection(getJdbcConnection());
     Statement statement = connection.createStatement();
     statement.execute(
-          "DROP TABLE IF EXISTS test_table; " +
-          "CREATE TABLE test_table(id varchar(255), name varchar(255));");
+        "DROP TABLE IF EXISTS test_table; "
+            + "CREATE TABLE test_table(id varchar(255), name varchar(255));");
 
     Statement insertStatement = connection.createStatement();
-    insertStatement.execute("insert into test_table(id, name) values " +
-                "('pro', 'processor')," +
-                "('mem', 'memory')," +
-                "('key', 'keyboard')," +
-                "('mou', 'mouse');");
+    insertStatement.execute(
+        "insert into test_table(id, name) values "
+            + "('pro', 'processor'),"
+            + "('mem', 'memory'),"
+            + "('key', 'keyboard'),"
+            + "('mou', 'mouse');");
     resourcePool = new LocalResourcePool("JdbcInterpolationTest");
 
-    interpreterContext = InterpreterContext.builder()
-        .setParagraphId("paragraph_1")
-        .setAuthenticationInfo(new AuthenticationInfo("testUser"))
-        .setResourcePool(resourcePool)
-        .build();
+    interpreterContext =
+        InterpreterContext.builder()
+            .setParagraphId("paragraph_1")
+            .setAuthenticationInfo(new AuthenticationInfo("testUser"))
+            .setResourcePool(resourcePool)
+            .build();
   }
 
   @Test
@@ -110,8 +109,7 @@ public class JDBCInterpreterInterpolationTest extends BasicJDBCTestCaseAdapter {
     assertEquals(InterpreterResult.Code.SUCCESS, interpreterResult.code());
     assertEquals(InterpreterResult.Type.TABLE, interpreterResult.message().get(0).getType());
     assertEquals(1, interpreterResult.message().size());
-    assertEquals("ID\tNAME\nmem\tmemory\n",
-            interpreterResult.message().get(0).getData());
+    assertEquals("ID\tNAME\nmem\tmemory\n", interpreterResult.message().get(0).getData());
   }
 
   @Test
@@ -149,8 +147,7 @@ public class JDBCInterpreterInterpolationTest extends BasicJDBCTestCaseAdapter {
     assertEquals(InterpreterResult.Code.SUCCESS, interpreterResult.code());
     assertEquals(InterpreterResult.Type.TABLE, interpreterResult.message().get(0).getType());
     assertEquals(1, interpreterResult.message().size());
-    assertEquals("ID\tNAME\nkey\tkeyboard\n",
-            interpreterResult.message().get(0).getData());
+    assertEquals("ID\tNAME\nkey\tkeyboard\n", interpreterResult.message().get(0).getData());
   }
 
   @Test
@@ -177,8 +174,7 @@ public class JDBCInterpreterInterpolationTest extends BasicJDBCTestCaseAdapter {
     assertEquals(InterpreterResult.Code.SUCCESS, interpreterResult.code());
     assertEquals(InterpreterResult.Type.TABLE, interpreterResult.message().get(0).getType());
     assertEquals(1, interpreterResult.message().size());
-    assertEquals("ID\tNAME\nkey\tkeyboard\nmou\tmouse\n", 
-                 interpreterResult.message().get(0).getData());
+    assertEquals(
+        "ID\tNAME\nkey\tkeyboard\nmou\tmouse\n", interpreterResult.message().get(0).getData());
   }
-
 }

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/55f6c91c/jdbc/src/test/java/org/apache/zeppelin/jdbc/JDBCInterpreterTest.java
----------------------------------------------------------------------
diff --git a/jdbc/src/test/java/org/apache/zeppelin/jdbc/JDBCInterpreterTest.java b/jdbc/src/test/java/org/apache/zeppelin/jdbc/JDBCInterpreterTest.java
index 62f6550..f66e2dd 100644
--- a/jdbc/src/test/java/org/apache/zeppelin/jdbc/JDBCInterpreterTest.java
+++ b/jdbc/src/test/java/org/apache/zeppelin/jdbc/JDBCInterpreterTest.java
@@ -5,36 +5,31 @@
  * "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
+ * <p>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.
+ * <p>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.jdbc;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-
 import static java.lang.String.format;
-
 import static org.apache.zeppelin.jdbc.JDBCInterpreter.COMMON_MAX_LINE;
 import static org.apache.zeppelin.jdbc.JDBCInterpreter.DEFAULT_DRIVER;
 import static org.apache.zeppelin.jdbc.JDBCInterpreter.DEFAULT_PASSWORD;
+import static org.apache.zeppelin.jdbc.JDBCInterpreter.DEFAULT_PRECODE;
 import static org.apache.zeppelin.jdbc.JDBCInterpreter.DEFAULT_STATEMENT_PRECODE;
-import static org.apache.zeppelin.jdbc.JDBCInterpreter.DEFAULT_USER;
 import static org.apache.zeppelin.jdbc.JDBCInterpreter.DEFAULT_URL;
-import static org.apache.zeppelin.jdbc.JDBCInterpreter.DEFAULT_PRECODE;
+import static org.apache.zeppelin.jdbc.JDBCInterpreter.DEFAULT_USER;
 import static org.apache.zeppelin.jdbc.JDBCInterpreter.PRECODE_KEY_TEMPLATE;
-
-import org.junit.Before;
-import org.junit.Test;
 import static org.apache.zeppelin.jdbc.JDBCInterpreter.STATEMENT_PRECODE_KEY_TEMPLATE;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
 
-
+import com.mockrunner.jdbc.BasicJDBCTestCaseAdapter;
 import java.io.IOException;
 import java.nio.file.Files;
 import java.nio.file.Path;
@@ -47,9 +42,6 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Properties;
-
-import com.mockrunner.jdbc.BasicJDBCTestCaseAdapter;
-
 import org.apache.zeppelin.completer.CompletionType;
 import org.apache.zeppelin.interpreter.InterpreterContext;
 import org.apache.zeppelin.interpreter.InterpreterException;
@@ -61,10 +53,10 @@ import org.apache.zeppelin.scheduler.Scheduler;
 import org.apache.zeppelin.user.AuthenticationInfo;
 import org.apache.zeppelin.user.UserCredentials;
 import org.apache.zeppelin.user.UsernamePassword;
+import org.junit.Before;
+import org.junit.Test;
 
-/**
- * JDBC interpreter unit tests.
- */
+/** JDBC interpreter unit tests. */
 public class JDBCInterpreterTest extends BasicJDBCTestCaseAdapter {
   static String jdbcConnection;
   InterpreterContext interpreterContext;
@@ -95,40 +87,36 @@ public class JDBCInterpreterTest extends BasicJDBCTestCaseAdapter {
     Connection connection = DriverManager.getConnection(getJdbcConnection());
     Statement statement = connection.createStatement();
     statement.execute(
-        "DROP TABLE IF EXISTS test_table; " +
-        "CREATE TABLE test_table(id varchar(255), name varchar(255));");
+        "DROP TABLE IF EXISTS test_table; "
+            + "CREATE TABLE test_table(id varchar(255), name varchar(255));");
 
-    PreparedStatement insertStatement = connection.prepareStatement(
+    PreparedStatement insertStatement =
+        connection.prepareStatement(
             "insert into test_table(id, name) values ('a', 'a_name'),('b', 'b_name'),('c', ?);");
     insertStatement.setString(1, null);
     insertStatement.execute();
-    interpreterContext = InterpreterContext.builder()
-        .setAuthenticationInfo(new AuthenticationInfo("testUser"))
-        .build();
+    interpreterContext =
+        InterpreterContext.builder()
+            .setAuthenticationInfo(new AuthenticationInfo("testUser"))
+            .build();
   }
 
-
   @Test
   public void testForParsePropertyKey() {
     JDBCInterpreter t = new JDBCInterpreter(new Properties());
     Map<String, String> localProperties = new HashMap<>();
-    InterpreterContext interpreterContext = InterpreterContext.builder()
-        .setLocalProperties(localProperties)
-        .build();
+    InterpreterContext interpreterContext =
+        InterpreterContext.builder().setLocalProperties(localProperties).build();
     assertEquals(JDBCInterpreter.DEFAULT_KEY, t.getPropertyKey(interpreterContext));
 
     localProperties = new HashMap<>();
     localProperties.put("db", "mysql");
-    interpreterContext = InterpreterContext.builder()
-        .setLocalProperties(localProperties)
-        .build();
+    interpreterContext = InterpreterContext.builder().setLocalProperties(localProperties).build();
     assertEquals("mysql", t.getPropertyKey(interpreterContext));
 
     localProperties = new HashMap<>();
     localProperties.put("hive", "hive");
-    interpreterContext = InterpreterContext.builder()
-        .setLocalProperties(localProperties)
-        .build();
+    interpreterContext = InterpreterContext.builder().setLocalProperties(localProperties).build();
     assertEquals("hive", t.getPropertyKey(interpreterContext));
   }
 
@@ -147,10 +135,11 @@ public class JDBCInterpreterTest extends BasicJDBCTestCaseAdapter {
     String sqlQuery = "select * from test_table";
     Map<String, String> localProperties = new HashMap<>();
     localProperties.put("db", "fake");
-    InterpreterContext context = InterpreterContext.builder()
-        .setAuthenticationInfo(new AuthenticationInfo("testUser"))
-        .setLocalProperties(localProperties)
-        .build();
+    InterpreterContext context =
+        InterpreterContext.builder()
+            .setAuthenticationInfo(new AuthenticationInfo("testUser"))
+            .setLocalProperties(localProperties)
+            .build();
     InterpreterResult interpreterResult = t.interpret(sqlQuery, context);
 
     // if prefix not found return ERROR and Prefix not found.
@@ -192,17 +181,17 @@ public class JDBCInterpreterTest extends BasicJDBCTestCaseAdapter {
 
   @Test
   public void testSplitSqlQuery() throws SQLException, IOException {
-    String sqlQuery = "insert into test_table(id, name) values ('a', ';\"');" +
-        "select * from test_table;" +
-        "select * from test_table WHERE ID = \";'\";" +
-        "select * from test_table WHERE ID = ';';" +
-        "select '\n', ';';" +
-        "select replace('A\\;B', '\\', 'text');" +
-        "select '\\', ';';" +
-        "select '''', ';';" +
-        "select /*+ scan */ * from test_table;" +
-        "--singleLineComment\nselect * from test_table";
-
+    String sqlQuery =
+        "insert into test_table(id, name) values ('a', ';\"');"
+            + "select * from test_table;"
+            + "select * from test_table WHERE ID = \";'\";"
+            + "select * from test_table WHERE ID = ';';"
+            + "select '\n', ';';"
+            + "select replace('A\\;B', '\\', 'text');"
+            + "select '\\', ';';"
+            + "select '''', ';';"
+            + "select /*+ scan */ * from test_table;"
+            + "--singleLineComment\nselect * from test_table";
 
     Properties properties = new Properties();
     JDBCInterpreter t = new JDBCInterpreter(properties);
@@ -223,10 +212,11 @@ public class JDBCInterpreterTest extends BasicJDBCTestCaseAdapter {
 
   @Test
   public void testQueryWithEscapedCharacters() throws SQLException, IOException {
-    String sqlQuery = "select '\\n', ';';" +
-        "select replace('A\\;B', '\\', 'text');" +
-        "select '\\', ';';" +
-        "select '''', ';'";
+    String sqlQuery =
+        "select '\\n', ';';"
+            + "select replace('A\\;B', '\\', 'text');"
+            + "select '\\', ';';"
+            + "select '''', ';'";
 
     Properties properties = new Properties();
     properties.setProperty("common.max_count", "1000");
@@ -265,15 +255,14 @@ public class JDBCInterpreterTest extends BasicJDBCTestCaseAdapter {
     JDBCInterpreter t = new JDBCInterpreter(properties);
     t.open();
 
-    String sqlQuery = "select * from test_table;" +
-        "select * from test_table WHERE ID = ';';";
+    String sqlQuery = "select * from test_table;" + "select * from test_table WHERE ID = ';';";
     InterpreterResult interpreterResult = t.interpret(sqlQuery, interpreterContext);
     assertEquals(InterpreterResult.Code.SUCCESS, interpreterResult.code());
     assertEquals(2, interpreterResult.message().size());
 
     assertEquals(InterpreterResult.Type.TABLE, interpreterResult.message().get(0).getType());
-    assertEquals("ID\tNAME\na\ta_name\nb\tb_name\nc\tnull\n",
-            interpreterResult.message().get(0).getData());
+    assertEquals(
+        "ID\tNAME\na\ta_name\nb\tb_name\nc\tnull\n", interpreterResult.message().get(0).getData());
 
     assertEquals(InterpreterResult.Type.TABLE, interpreterResult.message().get(1).getType());
     assertEquals("ID\tNAME\n", interpreterResult.message().get(1).getData());
@@ -291,15 +280,14 @@ public class JDBCInterpreterTest extends BasicJDBCTestCaseAdapter {
     JDBCInterpreter t = new JDBCInterpreter(properties);
     t.open();
 
-    String sqlQuery = "select * from test_table;" +
-        "select * from test_table WHERE ID = ';';";
+    String sqlQuery = "select * from test_table;" + "select * from test_table WHERE ID = ';';";
     InterpreterResult interpreterResult = t.interpret(sqlQuery, interpreterContext);
     assertEquals(InterpreterResult.Code.SUCCESS, interpreterResult.code());
     assertEquals(1, interpreterResult.message().size());
 
     assertEquals(InterpreterResult.Type.TABLE, interpreterResult.message().get(0).getType());
-    assertEquals("ID\tNAME\na\ta_name\nb\tb_name\nc\tnull\n",
-            interpreterResult.message().get(0).getData());
+    assertEquals(
+        "ID\tNAME\na\ta_name\nb\tb_name\nc\tnull\n", interpreterResult.message().get(0).getData());
   }
 
   @Test
@@ -323,7 +311,6 @@ public class JDBCInterpreterTest extends BasicJDBCTestCaseAdapter {
     assertEquals("ID\tNAME\nc\tnull\n", interpreterResult.message().get(0).getData());
   }
 
-
   @Test
   public void testSelectQueryMaxResult() throws SQLException, IOException {
     Properties properties = new Properties();
@@ -384,11 +371,11 @@ public class JDBCInterpreterTest extends BasicJDBCTestCaseAdapter {
 
     jdbcInterpreter.interpret("", interpreterContext);
 
-    List<InterpreterCompletion> completionList = jdbcInterpreter.completion("sel", 3,
-            interpreterContext);
+    List<InterpreterCompletion> completionList =
+        jdbcInterpreter.completion("sel", 3, interpreterContext);
 
-    InterpreterCompletion correctCompletionKeyword = new InterpreterCompletion("select", "select",
-            CompletionType.keyword.name());
+    InterpreterCompletion correctCompletionKeyword =
+        new InterpreterCompletion("select", "select", CompletionType.keyword.name());
 
     assertEquals(1, completionList.size());
     assertEquals(true, completionList.contains(correctCompletionKeyword));
@@ -409,8 +396,8 @@ public class JDBCInterpreterTest extends BasicJDBCTestCaseAdapter {
     return properties;
   }
 
-  private AuthenticationInfo getUserAuth(String user, String entityName, String dbUser,
-      String dbPassword) {
+  private AuthenticationInfo getUserAuth(
+      String user, String entityName, String dbUser, String dbPassword) {
     UserCredentials userCredentials = new UserCredentials();
     if (entityName != null && dbUser != null && dbPassword != null) {
       UsernamePassword up = new UsernamePassword(dbUser, dbPassword);
@@ -440,10 +427,11 @@ public class JDBCInterpreterTest extends BasicJDBCTestCaseAdapter {
 
     // user1 runs jdbc1
     jdbc1.open();
-    InterpreterContext ctx1 = InterpreterContext.builder()
-        .setAuthenticationInfo(user1Credential)
-        .setReplName("jdbc1")
-        .build();
+    InterpreterContext ctx1 =
+        InterpreterContext.builder()
+            .setAuthenticationInfo(user1Credential)
+            .setReplName("jdbc1")
+            .build();
     jdbc1.interpret("", ctx1);
 
     JDBCUserConfigurations user1JDBC1Conf = jdbc1.getJDBCConfiguration("user1");
@@ -453,10 +441,11 @@ public class JDBCInterpreterTest extends BasicJDBCTestCaseAdapter {
 
     // user1 runs jdbc2
     jdbc2.open();
-    InterpreterContext ctx2 = InterpreterContext.builder()
-        .setAuthenticationInfo(user1Credential)
-        .setReplName("jdbc2")
-        .build();
+    InterpreterContext ctx2 =
+        InterpreterContext.builder()
+            .setAuthenticationInfo(user1Credential)
+            .setReplName("jdbc2")
+            .build();
     jdbc2.interpret("", ctx2);
 
     JDBCUserConfigurations user1JDBC2Conf = jdbc2.getJDBCConfiguration("user1");
@@ -466,10 +455,11 @@ public class JDBCInterpreterTest extends BasicJDBCTestCaseAdapter {
 
     // user2 runs jdbc1
     jdbc1.open();
-    InterpreterContext ctx3 = InterpreterContext.builder()
-        .setAuthenticationInfo(user2Credential)
-        .setReplName("jdbc1")
-        .build();
+    InterpreterContext ctx3 =
+        InterpreterContext.builder()
+            .setAuthenticationInfo(user2Credential)
+            .setReplName("jdbc1")
+            .build();
     jdbc1.interpret("", ctx3);
 
     JDBCUserConfigurations user2JDBC1Conf = jdbc1.getJDBCConfiguration("user2");
@@ -479,10 +469,11 @@ public class JDBCInterpreterTest extends BasicJDBCTestCaseAdapter {
 
     // user2 runs jdbc2
     jdbc2.open();
-    InterpreterContext ctx4 = InterpreterContext.builder()
-        .setAuthenticationInfo(user2Credential)
-        .setReplName("jdbc2")
-        .build();
+    InterpreterContext ctx4 =
+        InterpreterContext.builder()
+            .setAuthenticationInfo(user2Credential)
+            .setReplName("jdbc2")
+            .build();
     jdbc2.interpret("", ctx4);
 
     JDBCUserConfigurations user2JDBC2Conf = jdbc2.getJDBCConfiguration("user2");
@@ -498,8 +489,9 @@ public class JDBCInterpreterTest extends BasicJDBCTestCaseAdapter {
     properties.setProperty("default.url", getJdbcConnection());
     properties.setProperty("default.user", "");
     properties.setProperty("default.password", "");
-    properties.setProperty(DEFAULT_PRECODE,
-            "create table test_precode (id int); insert into test_precode values (1);");
+    properties.setProperty(
+        DEFAULT_PRECODE,
+        "create table test_precode (id int); insert into test_precode values (1);");
     JDBCInterpreter jdbcInterpreter = new JDBCInterpreter(properties);
     jdbcInterpreter.open();
     jdbcInterpreter.executePrecode(interpreterContext);
@@ -541,17 +533,19 @@ public class JDBCInterpreterTest extends BasicJDBCTestCaseAdapter {
     properties.setProperty("anotherPrefix.url", getJdbcConnection());
     properties.setProperty("anotherPrefix.user", "");
     properties.setProperty("anotherPrefix.password", "");
-    properties.setProperty(String.format(PRECODE_KEY_TEMPLATE, "anotherPrefix"),
-            "create table test_precode_2 (id int); insert into test_precode_2 values (2);");
+    properties.setProperty(
+        String.format(PRECODE_KEY_TEMPLATE, "anotherPrefix"),
+        "create table test_precode_2 (id int); insert into test_precode_2 values (2);");
     JDBCInterpreter jdbcInterpreter = new JDBCInterpreter(properties);
     jdbcInterpreter.open();
 
     Map<String, String> localProperties = new HashMap<>();
     localProperties.put("db", "anotherPrefix");
-    InterpreterContext context = InterpreterContext.builder()
-        .setAuthenticationInfo(new AuthenticationInfo("testUser"))
-        .setLocalProperties(localProperties)
-        .build();
+    InterpreterContext context =
+        InterpreterContext.builder()
+            .setAuthenticationInfo(new AuthenticationInfo("testUser"))
+            .setLocalProperties(localProperties)
+            .build();
     jdbcInterpreter.executePrecode(context);
 
     String sqlQuery = "select * from test_precode_2";
@@ -609,17 +603,19 @@ public class JDBCInterpreterTest extends BasicJDBCTestCaseAdapter {
     properties.setProperty("anotherPrefix.url", getJdbcConnection());
     properties.setProperty("anotherPrefix.user", "");
     properties.setProperty("anotherPrefix.password", "");
-    properties.setProperty(String.format(STATEMENT_PRECODE_KEY_TEMPLATE, "anotherPrefix"),
-            "set @v='statementAnotherPrefix'");
+    properties.setProperty(
+        String.format(STATEMENT_PRECODE_KEY_TEMPLATE, "anotherPrefix"),
+        "set @v='statementAnotherPrefix'");
     JDBCInterpreter jdbcInterpreter = new JDBCInterpreter(properties);
     jdbcInterpreter.open();
 
     Map<String, String> localProperties = new HashMap<>();
     localProperties.put("db", "anotherPrefix");
-    InterpreterContext context = InterpreterContext.builder()
-        .setAuthenticationInfo(new AuthenticationInfo("testUser"))
-        .setLocalProperties(localProperties)
-        .build();
+    InterpreterContext context =
+        InterpreterContext.builder()
+            .setAuthenticationInfo(new AuthenticationInfo("testUser"))
+            .setLocalProperties(localProperties)
+            .build();
 
     String sqlQuery = "select @v";
 
@@ -643,16 +639,17 @@ public class JDBCInterpreterTest extends BasicJDBCTestCaseAdapter {
     JDBCInterpreter t = new JDBCInterpreter(properties);
     t.open();
 
-    String sqlQuery = "/* ; */\n" +
-        "-- /* comment\n" +
-        "--select * from test_table\n" +
-        "select * from test_table; /* some comment ; */\n" +
-        "/*\n" +
-        "select * from test_table;\n" +
-        "*/\n" +
-        "-- a ; b\n" +
-        "select * from test_table WHERE ID = ';--';\n" +
-        "select * from test_table WHERE ID = '/*' -- test";
+    String sqlQuery =
+        "/* ; */\n"
+            + "-- /* comment\n"
+            + "--select * from test_table\n"
+            + "select * from test_table; /* some comment ; */\n"
+            + "/*\n"
+            + "select * from test_table;\n"
+            + "*/\n"
+            + "-- a ; b\n"
+            + "select * from test_table WHERE ID = ';--';\n"
+            + "select * from test_table WHERE ID = '/*' -- test";
 
     InterpreterResult interpreterResult = t.interpret(sqlQuery, interpreterContext);
     assertEquals(InterpreterResult.Code.SUCCESS, interpreterResult.code());