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/29 10:07:43 UTC

[47/50] [abbrv] zeppelin git commit: Revert "[ZEPPELIN-3740] Adopt `google-java-format` and `fmt-maven-plugin`"

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/0d746fa2/elasticsearch/src/main/java/org/apache/zeppelin/elasticsearch/client/HttpBasedClient.java
----------------------------------------------------------------------
diff --git a/elasticsearch/src/main/java/org/apache/zeppelin/elasticsearch/client/HttpBasedClient.java b/elasticsearch/src/main/java/org/apache/zeppelin/elasticsearch/client/HttpBasedClient.java
index 722f0a4..f2a9f02 100644
--- a/elasticsearch/src/main/java/org/apache/zeppelin/elasticsearch/client/HttpBasedClient.java
+++ b/elasticsearch/src/main/java/org/apache/zeppelin/elasticsearch/client/HttpBasedClient.java
@@ -21,28 +21,34 @@ import com.google.common.base.Joiner;
 import com.google.gson.Gson;
 import com.google.gson.GsonBuilder;
 import com.google.gson.JsonParseException;
+
+import org.apache.commons.lang3.StringUtils;
+import org.json.JSONArray;
+import org.json.JSONObject;
+
+import java.io.UnsupportedEncodingException;
+import java.net.URLEncoder;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.Properties;
+
 import com.mashape.unirest.http.HttpResponse;
 import com.mashape.unirest.http.JsonNode;
 import com.mashape.unirest.http.Unirest;
 import com.mashape.unirest.http.exceptions.UnirestException;
 import com.mashape.unirest.request.HttpRequest;
 import com.mashape.unirest.request.HttpRequestWithBody;
-import java.io.UnsupportedEncodingException;
-import java.net.URLEncoder;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Properties;
-import org.apache.commons.lang3.StringUtils;
+
 import org.apache.zeppelin.elasticsearch.ElasticsearchInterpreter;
 import org.apache.zeppelin.elasticsearch.action.ActionException;
 import org.apache.zeppelin.elasticsearch.action.ActionResponse;
 import org.apache.zeppelin.elasticsearch.action.AggWrapper;
 import org.apache.zeppelin.elasticsearch.action.AggWrapper.AggregationType;
 import org.apache.zeppelin.elasticsearch.action.HitWrapper;
-import org.json.JSONArray;
-import org.json.JSONObject;
 
-/** Elasticsearch client using the HTTP API. */
+/**
+ * Elasticsearch client using the HTTP API.
+ */
 public class HttpBasedClient implements ElasticsearchClient {
   private static final String QUERY_STRING_TEMPLATE =
       "{ \"query\": { \"query_string\": { \"query\": \"_Q_\", \"analyze_wildcard\": \"true\" } } }";
@@ -112,11 +118,8 @@ public class HttpBasedClient implements ElasticsearchClient {
               } else {
                 // There are differences: to avoid problems with some special characters
                 // such as / and # in id, use a "terms" query
-                buffer
-                    .append("/_search?source=")
-                    .append(
-                        URLEncoder.encode(
-                            "{\"query\":{\"terms\":{\"_id\":[\"" + id + "\"]}}}", "UTF-8"));
+                buffer.append("/_search?source=").append(URLEncoder
+                      .encode("{\"query\":{\"terms\":{\"_id\":[\"" + id + "\"]}}}", "UTF-8"));
               }
             } else {
               buffer.append("/").append(id);
@@ -151,31 +154,28 @@ public class HttpBasedClient implements ElasticsearchClient {
       if (isSucceeded) {
         final JsonNode body = new JsonNode(result.getBody());
         if (body.getObject().has("_index")) {
-          response =
-              new ActionResponse()
-                  .succeeded(true)
-                  .hit(
-                      new HitWrapper(
-                          getFieldAsString(body, "_index"),
-                          getFieldAsString(body, "_type"),
-                          getFieldAsString(body, "_id"),
-                          getFieldAsString(body, "_source")));
+          response = new ActionResponse()
+              .succeeded(true)
+              .hit(new HitWrapper(
+                  getFieldAsString(body, "_index"),
+                  getFieldAsString(body, "_type"),
+                  getFieldAsString(body, "_id"),
+                  getFieldAsString(body, "_source")));
         } else {
           final JSONArray hits = getFieldAsArray(body.getObject(), "hits/hits");
           final JSONObject hit = (JSONObject) hits.iterator().next();
-          response =
-              new ActionResponse()
-                  .succeeded(true)
-                  .hit(
-                      new HitWrapper(
-                          hit.getString("_index"),
-                          hit.getString("_type"),
-                          hit.getString("_id"),
-                          hit.opt("_source").toString()));
+          response = new ActionResponse()
+              .succeeded(true)
+              .hit(new HitWrapper(
+                  hit.getString("_index"),
+                  hit.getString("_type"),
+                  hit.getString("_id"),
+                  hit.opt("_source").toString()));
         }
       } else {
         if (result.getStatus() == 404) {
-          response = new ActionResponse().succeeded(false);
+          response = new ActionResponse()
+              .succeeded(false);
         } else {
           throw new ActionException(result.getBody());
         }
@@ -200,15 +200,13 @@ public class HttpBasedClient implements ElasticsearchClient {
 
       if (isSucceeded) {
         final JsonNode body = new JsonNode(result.getBody());
-        response =
-            new ActionResponse()
-                .succeeded(true)
-                .hit(
-                    new HitWrapper(
-                        getFieldAsString(body, "_index"),
-                        getFieldAsString(body, "_type"),
-                        getFieldAsString(body, "_id"),
-                        null));
+        response = new ActionResponse()
+            .succeeded(true)
+            .hit(new HitWrapper(
+                getFieldAsString(body, "_index"),
+                getFieldAsString(body, "_type"),
+                getFieldAsString(body, "_id"),
+                null));
       } else {
         throw new ActionException(result.getBody());
       }
@@ -231,8 +229,7 @@ public class HttpBasedClient implements ElasticsearchClient {
       request
           .header("Accept", "application/json")
           .header("Content-Type", "application/json")
-          .body(data)
-          .getHttpRequest();
+          .body(data).getHttpRequest();
       if (StringUtils.isNotEmpty(username)) {
         request.basicAuth(username, password);
       }
@@ -241,15 +238,13 @@ public class HttpBasedClient implements ElasticsearchClient {
       final boolean isSucceeded = isSucceeded(result);
 
       if (isSucceeded) {
-        response =
-            new ActionResponse()
-                .succeeded(true)
-                .hit(
-                    new HitWrapper(
-                        getFieldAsString(result, "_index"),
-                        getFieldAsString(result, "_type"),
-                        getFieldAsString(result, "_id"),
-                        null));
+        response = new ActionResponse()
+            .succeeded(true)
+            .hit(new HitWrapper(
+                getFieldAsString(result, "_index"),
+                getFieldAsString(result, "_type"),
+                getFieldAsString(result, "_id"),
+                null));
       } else {
         throw new ActionException(result.getBody().toString());
       }
@@ -275,9 +270,9 @@ public class HttpBasedClient implements ElasticsearchClient {
     }
 
     try {
-      final HttpRequestWithBody request =
-          Unirest.post(getUrl(indices, types) + "/_search?size=" + size)
-              .header("Content-Type", "application/json");
+      final HttpRequestWithBody request = Unirest
+          .post(getUrl(indices, types) + "/_search?size=" + size)
+          .header("Content-Type", "application/json");
 
       if (StringUtils.isNoneEmpty(query)) {
         request.header("Accept", "application/json").body(query);
@@ -293,7 +288,9 @@ public class HttpBasedClient implements ElasticsearchClient {
       if (isSucceeded(result)) {
         final long total = getFieldAsLong(result, "hits/total");
 
-        response = new ActionResponse().succeeded(true).totalHits(total);
+        response = new ActionResponse()
+            .succeeded(true)
+            .totalHits(total);
 
         if (containsAggs(result)) {
           JSONObject aggregationsMap = body.getJSONObject("aggregations");
@@ -301,7 +298,7 @@ public class HttpBasedClient implements ElasticsearchClient {
             aggregationsMap = body.getJSONObject("aggs");
           }
 
-          for (final String key : aggregationsMap.keySet()) {
+          for (final String key: aggregationsMap.keySet()) {
             final JSONObject aggResult = aggregationsMap.getJSONObject(key);
             if (aggResult.has("buckets")) {
               // Multi-bucket aggregations
@@ -322,13 +319,13 @@ public class HttpBasedClient implements ElasticsearchClient {
 
           while (iter.hasNext()) {
             final JSONObject hit = (JSONObject) iter.next();
-            final Object data = hit.opt("_source") != null ? hit.opt("_source") : hit.opt("fields");
-            response.addHit(
-                new HitWrapper(
-                    hit.getString("_index"),
-                    hit.getString("_type"),
-                    hit.getString("_id"),
-                    data.toString()));
+            final Object data =
+                hit.opt("_source") != null ? hit.opt("_source") : hit.opt("fields");
+            response.addHit(new HitWrapper(
+                hit.getString("_index"),
+                hit.getString("_type"),
+                hit.getString("_id"),
+                data.toString()));
           }
         }
       } else {
@@ -342,13 +339,14 @@ public class HttpBasedClient implements ElasticsearchClient {
   }
 
   private boolean containsAggs(HttpResponse<JsonNode> result) {
-    return result.getBody() != null
-        && (result.getBody().getObject().has("aggregations")
-            || result.getBody().getObject().has("aggs"));
+    return result.getBody() != null &&
+        (result.getBody().getObject().has("aggregations") ||
+            result.getBody().getObject().has("aggs"));
   }
 
   @Override
-  public void close() {}
+  public void close() {
+  }
 
   @Override
   public String toString() {

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/0d746fa2/elasticsearch/src/main/java/org/apache/zeppelin/elasticsearch/client/TransportBasedClient.java
----------------------------------------------------------------------
diff --git a/elasticsearch/src/main/java/org/apache/zeppelin/elasticsearch/client/TransportBasedClient.java b/elasticsearch/src/main/java/org/apache/zeppelin/elasticsearch/client/TransportBasedClient.java
index 0ea43cb..2af37bd 100644
--- a/elasticsearch/src/main/java/org/apache/zeppelin/elasticsearch/client/TransportBasedClient.java
+++ b/elasticsearch/src/main/java/org/apache/zeppelin/elasticsearch/client/TransportBasedClient.java
@@ -20,21 +20,8 @@ package org.apache.zeppelin.elasticsearch.client;
 import com.google.gson.Gson;
 import com.google.gson.GsonBuilder;
 import com.google.gson.JsonSyntaxException;
-import java.io.IOException;
-import java.net.InetAddress;
-import java.net.UnknownHostException;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-import java.util.Set;
+
 import org.apache.commons.lang3.StringUtils;
-import org.apache.zeppelin.elasticsearch.ElasticsearchInterpreter;
-import org.apache.zeppelin.elasticsearch.action.ActionResponse;
-import org.apache.zeppelin.elasticsearch.action.AggWrapper;
-import org.apache.zeppelin.elasticsearch.action.HitWrapper;
 import org.elasticsearch.action.delete.DeleteResponse;
 import org.elasticsearch.action.get.GetResponse;
 import org.elasticsearch.action.index.IndexResponse;
@@ -58,63 +45,96 @@ import org.elasticsearch.search.aggregations.bucket.InternalSingleBucketAggregat
 import org.elasticsearch.search.aggregations.bucket.MultiBucketsAggregation;
 import org.elasticsearch.search.aggregations.metrics.InternalMetricsAggregation;
 
-/** Elasticsearch client using the transport protocol. */
+import java.io.IOException;
+import java.net.InetAddress;
+import java.net.UnknownHostException;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+import java.util.Set;
+
+import org.apache.zeppelin.elasticsearch.ElasticsearchInterpreter;
+import org.apache.zeppelin.elasticsearch.action.ActionResponse;
+import org.apache.zeppelin.elasticsearch.action.AggWrapper;
+import org.apache.zeppelin.elasticsearch.action.HitWrapper;
+
+/**
+ * Elasticsearch client using the transport protocol.
+ */
 public class TransportBasedClient implements ElasticsearchClient {
   private final Gson gson = new GsonBuilder().setPrettyPrinting().create();
   private final Client client;
 
   public TransportBasedClient(Properties props) throws UnknownHostException {
-    final String host = props.getProperty(ElasticsearchInterpreter.ELASTICSEARCH_HOST);
-    final int port =
-        Integer.parseInt(props.getProperty(ElasticsearchInterpreter.ELASTICSEARCH_PORT));
+    final String host =
+        props.getProperty(ElasticsearchInterpreter.ELASTICSEARCH_HOST);
+    final int port = Integer.parseInt(
+        props.getProperty(ElasticsearchInterpreter.ELASTICSEARCH_PORT));
     final String clusterName =
         props.getProperty(ElasticsearchInterpreter.ELASTICSEARCH_CLUSTER_NAME);
 
-    final Settings settings =
-        Settings.settingsBuilder().put("cluster.name", clusterName).put(props).build();
+    final Settings settings = Settings.settingsBuilder()
+        .put("cluster.name", clusterName)
+        .put(props)
+        .build();
 
-    client =
-        TransportClient.builder()
-            .settings(settings)
-            .build()
-            .addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName(host), port));
+    client = TransportClient.builder().settings(settings).build()
+        .addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName(host), port));
   }
 
   @Override
   public ActionResponse get(String index, String type, String id) {
-    final GetResponse getResp = client.prepareGet(index, type, id).get();
+    final GetResponse getResp = client
+        .prepareGet(index, type, id)
+        .get();
 
     return new ActionResponse()
         .succeeded(getResp.isExists())
-        .hit(
-            new HitWrapper(
-                getResp.getIndex(),
-                getResp.getType(),
-                getResp.getId(),
-                getResp.getSourceAsString()));
+        .hit(new HitWrapper(
+            getResp.getIndex(),
+            getResp.getType(),
+            getResp.getId(),
+            getResp.getSourceAsString()));
   }
 
   @Override
   public ActionResponse delete(String index, String type, String id) {
-    final DeleteResponse delResp = client.prepareDelete(index, type, id).get();
+    final DeleteResponse delResp = client
+        .prepareDelete(index, type, id)
+        .get();
 
     return new ActionResponse()
         .succeeded(delResp.isFound())
-        .hit(new HitWrapper(delResp.getIndex(), delResp.getType(), delResp.getId(), null));
+        .hit(new HitWrapper(
+            delResp.getIndex(),
+            delResp.getType(),
+            delResp.getId(),
+            null));
   }
 
   @Override
   public ActionResponse index(String index, String type, String id, String data) {
-    final IndexResponse idxResp = client.prepareIndex(index, type, id).setSource(data).get();
+    final IndexResponse idxResp = client
+        .prepareIndex(index, type, id)
+        .setSource(data)
+        .get();
 
     return new ActionResponse()
         .succeeded(idxResp.isCreated())
-        .hit(new HitWrapper(idxResp.getIndex(), idxResp.getType(), idxResp.getId(), null));
+        .hit(new HitWrapper(
+            idxResp.getIndex(),
+            idxResp.getType(),
+            idxResp.getId(),
+            null));
   }
 
   @Override
   public ActionResponse search(String[] indices, String[] types, String query, int size) {
-    final SearchRequestBuilder reqBuilder = new SearchRequestBuilder(client, SearchAction.INSTANCE);
+    final SearchRequestBuilder reqBuilder = new SearchRequestBuilder(
+        client, SearchAction.INSTANCE);
     reqBuilder.setIndices();
 
     if (indices != null) {
@@ -141,13 +161,14 @@ public class TransportBasedClient implements ElasticsearchClient {
 
     final SearchResponse searchResp = reqBuilder.get();
 
-    final ActionResponse actionResp =
-        new ActionResponse().succeeded(true).totalHits(searchResp.getHits().getTotalHits());
+    final ActionResponse actionResp = new ActionResponse()
+        .succeeded(true)
+        .totalHits(searchResp.getHits().getTotalHits());
 
     if (searchResp.getAggregations() != null) {
       setAggregations(searchResp.getAggregations(), actionResp);
     } else {
-      for (final SearchHit hit : searchResp.getHits()) {
+      for (final SearchHit hit: searchResp.getHits()) {
         // Fields can be found either in _source, or in fields (it depends on the query)
         // => specific for elasticsearch's version < 5
         //
@@ -172,15 +193,11 @@ public class TransportBasedClient implements ElasticsearchClient {
     final Aggregation agg = aggregations.asList().get(0);
 
     if (agg instanceof InternalMetricsAggregation) {
-      actionResp.addAggregation(
-          new AggWrapper(
-              AggWrapper.AggregationType.SIMPLE,
-              XContentHelper.toString((InternalMetricsAggregation) agg).toString()));
+      actionResp.addAggregation(new AggWrapper(AggWrapper.AggregationType.SIMPLE,
+          XContentHelper.toString((InternalMetricsAggregation) agg).toString()));
     } else if (agg instanceof InternalSingleBucketAggregation) {
-      actionResp.addAggregation(
-          new AggWrapper(
-              AggWrapper.AggregationType.SIMPLE,
-              XContentHelper.toString((InternalSingleBucketAggregation) agg).toString()));
+      actionResp.addAggregation(new AggWrapper(AggWrapper.AggregationType.SIMPLE,
+          XContentHelper.toString((InternalSingleBucketAggregation) agg).toString()));
     } else if (agg instanceof InternalMultiBucketAggregation) {
       final Set<String> headerKeys = new HashSet<>();
       final List<Map<String, Object>> buckets = new LinkedList<>();

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/0d746fa2/elasticsearch/src/test/java/org/apache/zeppelin/elasticsearch/ElasticsearchInterpreterTest.java
----------------------------------------------------------------------
diff --git a/elasticsearch/src/test/java/org/apache/zeppelin/elasticsearch/ElasticsearchInterpreterTest.java b/elasticsearch/src/test/java/org/apache/zeppelin/elasticsearch/ElasticsearchInterpreterTest.java
index c6e7966..4a412aa 100644
--- a/elasticsearch/src/test/java/org/apache/zeppelin/elasticsearch/ElasticsearchInterpreterTest.java
+++ b/elasticsearch/src/test/java/org/apache/zeppelin/elasticsearch/ElasticsearchInterpreterTest.java
@@ -21,6 +21,20 @@ import static org.elasticsearch.common.xcontent.XContentFactory.jsonBuilder;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 
+import org.apache.commons.lang.math.RandomUtils;
+import org.elasticsearch.action.admin.indices.delete.DeleteIndexRequest;
+import org.elasticsearch.client.Client;
+import org.elasticsearch.common.settings.Settings;
+import org.elasticsearch.node.Node;
+import org.elasticsearch.node.NodeBuilder;
+import org.junit.AfterClass;
+import org.junit.Assert;
+import org.junit.BeforeClass;
+import org.junit.experimental.theories.DataPoint;
+import org.junit.experimental.theories.Theories;
+import org.junit.experimental.theories.Theory;
+import org.junit.runner.RunWith;
+
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -29,25 +43,13 @@ import java.util.List;
 import java.util.Properties;
 import java.util.UUID;
 import java.util.concurrent.atomic.AtomicInteger;
-import org.apache.commons.lang.math.RandomUtils;
+
 import org.apache.zeppelin.completer.CompletionType;
 import org.apache.zeppelin.display.AngularObjectRegistry;
 import org.apache.zeppelin.interpreter.InterpreterContext;
 import org.apache.zeppelin.interpreter.InterpreterResult;
 import org.apache.zeppelin.interpreter.InterpreterResult.Code;
 import org.apache.zeppelin.interpreter.thrift.InterpreterCompletion;
-import org.elasticsearch.action.admin.indices.delete.DeleteIndexRequest;
-import org.elasticsearch.client.Client;
-import org.elasticsearch.common.settings.Settings;
-import org.elasticsearch.node.Node;
-import org.elasticsearch.node.NodeBuilder;
-import org.junit.AfterClass;
-import org.junit.Assert;
-import org.junit.BeforeClass;
-import org.junit.experimental.theories.DataPoint;
-import org.junit.experimental.theories.Theories;
-import org.junit.experimental.theories.Theory;
-import org.junit.runner.RunWith;
 
 @RunWith(Theories.class)
 public class ElasticsearchInterpreterTest {
@@ -57,8 +59,8 @@ public class ElasticsearchInterpreterTest {
   private static Client elsClient;
   private static Node elsNode;
 
-  private static final String[] METHODS = {"GET", "PUT", "DELETE", "POST"};
-  private static final int[] STATUS = {200, 404, 500, 403};
+  private static final String[] METHODS = { "GET", "PUT", "DELETE", "POST" };
+  private static final int[] STATUS = { 200, 404, 500, 403 };
 
   private static final String ELS_CLUSTER_NAME = "zeppelin-elasticsearch-interpreter-test";
   private static final String ELS_HOST = "localhost";
@@ -70,8 +72,7 @@ public class ElasticsearchInterpreterTest {
 
   @BeforeClass
   public static void populate() throws IOException {
-    final Settings settings =
-        Settings.settingsBuilder()
+    final Settings settings = Settings.settingsBuilder()
             .put("cluster.name", ELS_CLUSTER_NAME)
             .put("network.host", ELS_HOST)
             .put("http.port", ELS_HTTP_PORT)
@@ -82,58 +83,46 @@ public class ElasticsearchInterpreterTest {
     elsNode = NodeBuilder.nodeBuilder().settings(settings).node();
     elsClient = elsNode.client();
 
-    elsClient
-        .admin()
-        .indices()
-        .prepareCreate("logs")
-        .addMapping(
-            "http",
-            jsonBuilder()
-                .startObject()
-                .startObject("http")
-                .startObject("properties")
-                .startObject("content_length")
-                .field("type", "integer")
-                .endObject()
-                .endObject()
-                .endObject()
-                .endObject())
-        .get();
+    elsClient.admin().indices().prepareCreate("logs")
+      .addMapping("http", jsonBuilder()
+        .startObject().startObject("http").startObject("properties")
+          .startObject("content_length")
+            .field("type", "integer")
+          .endObject()
+        .endObject().endObject().endObject()).get();
 
     for (int i = 0; i < 48; i++) {
-      elsClient
-          .prepareIndex("logs", "http", "" + i)
-          .setRefresh(true)
-          .setSource(
-              jsonBuilder()
-                  .startObject()
-                  .field("date", new Date())
-                  .startObject("request")
-                  .field("method", METHODS[RandomUtils.nextInt(METHODS.length)])
-                  .field("url", "/zeppelin/" + UUID.randomUUID().toString())
-                  .field("headers", Arrays.asList("Accept: *.*", "Host: apache.org"))
-                  .endObject()
-                  .field("status", STATUS[RandomUtils.nextInt(STATUS.length)])
-                  .field("content_length", RandomUtils.nextInt(2000)))
-          .get();
+      elsClient.prepareIndex("logs", "http", "" + i)
+        .setRefresh(true)
+        .setSource(jsonBuilder()
+          .startObject()
+            .field("date", new Date())
+            .startObject("request")
+              .field("method", METHODS[RandomUtils.nextInt(METHODS.length)])
+              .field("url", "/zeppelin/" + UUID.randomUUID().toString())
+              .field("headers", Arrays.asList("Accept: *.*", "Host: apache.org"))
+            .endObject()
+            .field("status", STATUS[RandomUtils.nextInt(STATUS.length)])
+            .field("content_length", RandomUtils.nextInt(2000))
+          )
+        .get();
     }
 
     for (int i = 1; i < 3; i++) {
-      elsClient
-          .prepareIndex("logs", "http", "very/strange/id#" + i)
-          .setRefresh(true)
-          .setSource(
-              jsonBuilder()
-                  .startObject()
-                  .field("date", new Date())
-                  .startObject("request")
-                  .field("method", METHODS[RandomUtils.nextInt(METHODS.length)])
-                  .field("url", "/zeppelin/" + UUID.randomUUID().toString())
-                  .field("headers", Arrays.asList("Accept: *.*", "Host: apache.org"))
-                  .endObject()
-                  .field("status", STATUS[RandomUtils.nextInt(STATUS.length)])
-                  .field("content_length", RandomUtils.nextInt(2000)))
-          .get();
+      elsClient.prepareIndex("logs", "http", "very/strange/id#" + i)
+        .setRefresh(true)
+        .setSource(jsonBuilder()
+            .startObject()
+              .field("date", new Date())
+              .startObject("request")
+                .field("method", METHODS[RandomUtils.nextInt(METHODS.length)])
+                .field("url", "/zeppelin/" + UUID.randomUUID().toString())
+                .field("headers", Arrays.asList("Accept: *.*", "Host: apache.org"))
+              .endObject()
+              .field("status", STATUS[RandomUtils.nextInt(STATUS.length)])
+              .field("content_length", RandomUtils.nextInt(2000))
+            )
+        .get();
     }
 
     final Properties props = new Properties();
@@ -192,8 +181,8 @@ public class ElasticsearchInterpreterTest {
     assertNotNull(ctx.getAngularObjectRegistry().get("count_testCount", null, null));
     assertEquals(50L, ctx.getAngularObjectRegistry().get("count_testCount", null, null).get());
 
-    res =
-        interpreter.interpret("count /logs { \"query\": { \"match\": { \"status\": 500 } } }", ctx);
+    res = interpreter.interpret("count /logs { \"query\": { \"match\": { \"status\": 500 } } }",
+            ctx);
     assertEquals(Code.SUCCESS, res.code());
   }
 
@@ -230,19 +219,15 @@ public class ElasticsearchInterpreterTest {
     res = interpreter.interpret("search /logs {{{hello}}}", ctx);
     assertEquals(Code.ERROR, res.code());
 
-    res =
-        interpreter.interpret(
-            "search /logs { \"query\": { \"match\": { \"status\": 500 } } }", ctx);
+    res = interpreter.interpret("search /logs { \"query\": { \"match\": { \"status\": 500 } } }",
+            ctx);
     assertEquals(Code.SUCCESS, res.code());
 
     res = interpreter.interpret("search /logs status:404", ctx);
     assertEquals(Code.SUCCESS, res.code());
 
-    res =
-        interpreter.interpret(
-            "search /logs { \"fields\": [ \"date\", \"request.headers\" ], "
-                + "\"query\": { \"match\": { \"status\": 500 } } }",
-            ctx);
+    res = interpreter.interpret("search /logs { \"fields\": [ \"date\", \"request.headers\" ], " +
+            "\"query\": { \"match\": { \"status\": 500 } } }", ctx);
     assertEquals(Code.SUCCESS, res.code());
   }
 
@@ -251,75 +236,50 @@ public class ElasticsearchInterpreterTest {
     final InterpreterContext ctx = buildContext("agg");
 
     // Single-value metric
-    InterpreterResult res =
-        interpreter.interpret(
-            "search /logs { \"aggs\" : "
-                + "{ \"distinct_status_count\" : "
-                + " { \"cardinality\" : { \"field\" : \"status\" } } } }",
-            ctx);
+    InterpreterResult res = interpreter.interpret("search /logs { \"aggs\" : " +
+            "{ \"distinct_status_count\" : " +
+            " { \"cardinality\" : { \"field\" : \"status\" } } } }", ctx);
     assertEquals(Code.SUCCESS, res.code());
 
     // Multi-value metric
-    res =
-        interpreter.interpret(
-            "search /logs { \"aggs\" : { \"content_length_stats\" : "
-                + " { \"extended_stats\" : { \"field\" : \"content_length\" } } } }",
-            ctx);
+    res = interpreter.interpret("search /logs { \"aggs\" : { \"content_length_stats\" : " +
+            " { \"extended_stats\" : { \"field\" : \"content_length\" } } } }", ctx);
     assertEquals(Code.SUCCESS, res.code());
 
     // Single bucket
-    res =
-        interpreter.interpret(
-            "search /logs { \"aggs\" : { "
-                + " \"200_OK\" : { \"filter\" : { \"term\": { \"status\": \"200\" } }, "
-                + "   \"aggs\" : { \"avg_length\" : { \"avg\" : "
-                + "{ \"field\" : \"content_length\" } } } } } }",
-            ctx);
+    res = interpreter.interpret("search /logs { \"aggs\" : { " +
+            " \"200_OK\" : { \"filter\" : { \"term\": { \"status\": \"200\" } }, " +
+            "   \"aggs\" : { \"avg_length\" : { \"avg\" : " +
+            "{ \"field\" : \"content_length\" } } } } } }", ctx);
     assertEquals(Code.SUCCESS, res.code());
 
     // Multi-buckets
-    res =
-        interpreter.interpret(
-            "search /logs { \"aggs\" : { \"status_count\" : "
-                + " { \"terms\" : { \"field\" : \"status\" } } } }",
-            ctx);
+    res = interpreter.interpret("search /logs { \"aggs\" : { \"status_count\" : " +
+            " { \"terms\" : { \"field\" : \"status\" } } } }", ctx);
     assertEquals(Code.SUCCESS, res.code());
 
-    res =
-        interpreter.interpret(
-            "search /logs { \"aggs\" : { "
-                + " \"length\" : { \"terms\": { \"field\": \"status\" }, "
-                + "   \"aggs\" : { \"sum_length\" : { \"sum\" : { \"field\" : \"content_length\" } }, "
-                + "\"sum_status\" : { \"sum\" : { \"field\" : \"status\" } } } } } }",
-            ctx);
+    res = interpreter.interpret("search /logs { \"aggs\" : { " +
+            " \"length\" : { \"terms\": { \"field\": \"status\" }, " +
+            "   \"aggs\" : { \"sum_length\" : { \"sum\" : { \"field\" : \"content_length\" } }, " +
+            "\"sum_status\" : { \"sum\" : { \"field\" : \"status\" } } } } } }", ctx);
     assertEquals(Code.SUCCESS, res.code());
   }
 
   @Theory
   public void testIndex(ElasticsearchInterpreter interpreter) {
-    InterpreterResult res =
-        interpreter.interpret(
-            "index /logs { \"date\": \""
-                + new Date()
-                + "\", \"method\": \"PUT\", \"status\": \"500\" }",
-            null);
+    InterpreterResult res = interpreter.interpret("index /logs { \"date\": \"" + new Date() +
+            "\", \"method\": \"PUT\", \"status\": \"500\" }", null);
     assertEquals(Code.ERROR, res.code());
 
     res = interpreter.interpret("index /logs/http { bad ", null);
     assertEquals(Code.ERROR, res.code());
 
-    res =
-        interpreter.interpret(
-            "index /logs/http { \"date\": \"2015-12-06T14:54:23.368Z\", "
-                + "\"method\": \"PUT\", \"status\": \"500\" }",
-            null);
+    res = interpreter.interpret("index /logs/http { \"date\": \"2015-12-06T14:54:23.368Z\", " +
+            "\"method\": \"PUT\", \"status\": \"500\" }", null);
     assertEquals(Code.SUCCESS, res.code());
 
-    res =
-        interpreter.interpret(
-            "index /logs/http/1000 { \"date\": "
-                + "\"2015-12-06T14:54:23.368Z\", \"method\": \"PUT\", \"status\": \"500\" }",
-            null);
+    res = interpreter.interpret("index /logs/http/1000 { \"date\": " +
+            "\"2015-12-06T14:54:23.368Z\", \"method\": \"PUT\", \"status\": \"500\" }", null);
     assertEquals(Code.SUCCESS, res.code());
   }
 
@@ -348,10 +308,10 @@ public class ElasticsearchInterpreterTest {
 
   @Theory
   public void testCompletion(ElasticsearchInterpreter interpreter) {
-    final List<InterpreterCompletion> expectedResultOne =
-        Arrays.asList(new InterpreterCompletion("count", "count", CompletionType.command.name()));
-    final List<InterpreterCompletion> expectedResultTwo =
-        Arrays.asList(new InterpreterCompletion("help", "help", CompletionType.command.name()));
+    final List<InterpreterCompletion> expectedResultOne = Arrays.asList(
+            new InterpreterCompletion("count", "count", CompletionType.command.name()));
+    final List<InterpreterCompletion> expectedResultTwo = Arrays.asList(
+            new InterpreterCompletion("help", "help", CompletionType.command.name()));
 
     final List<InterpreterCompletion> resultOne = interpreter.completion("co", 0, null);
     final List<InterpreterCompletion> resultTwo = interpreter.completion("he", 0, null);

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/0d746fa2/file/pom.xml
----------------------------------------------------------------------
diff --git a/file/pom.xml b/file/pom.xml
index e649991..ed0ef3f 100644
--- a/file/pom.xml
+++ b/file/pom.xml
@@ -91,6 +91,13 @@
       <plugin>
         <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/0d746fa2/file/src/main/java/org/apache/zeppelin/file/FileInterpreter.java
----------------------------------------------------------------------
diff --git a/file/src/main/java/org/apache/zeppelin/file/FileInterpreter.java b/file/src/main/java/org/apache/zeppelin/file/FileInterpreter.java
index fc2096f..eea5650 100644
--- a/file/src/main/java/org/apache/zeppelin/file/FileInterpreter.java
+++ b/file/src/main/java/org/apache/zeppelin/file/FileInterpreter.java
@@ -1,19 +1,26 @@
 /**
- * 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
+ * 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
  *
- * <p>http://www.apache.org/licenses/LICENSE-2.0
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- * <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
+ * 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.file;
 
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
 import java.nio.file.Path;
 import java.nio.file.Paths;
 import java.util.ArrayList;
@@ -21,6 +28,7 @@ import java.util.HashSet;
 import java.util.List;
 import java.util.Properties;
 import java.util.StringTokenizer;
+
 import org.apache.zeppelin.interpreter.Interpreter;
 import org.apache.zeppelin.interpreter.InterpreterContext;
 import org.apache.zeppelin.interpreter.InterpreterException;
@@ -30,10 +38,11 @@ import org.apache.zeppelin.interpreter.InterpreterResult.Type;
 import org.apache.zeppelin.interpreter.thrift.InterpreterCompletion;
 import org.apache.zeppelin.scheduler.Scheduler;
 import org.apache.zeppelin.scheduler.SchedulerFactory;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
-/** File interpreter for Zeppelin. */
+/**
+ * File interpreter for Zeppelin.
+ *
+ */
 public abstract class FileInterpreter extends Interpreter {
   Logger logger = LoggerFactory.getLogger(FileInterpreter.class);
   String currentDir = null;
@@ -44,7 +53,9 @@ public abstract class FileInterpreter extends Interpreter {
     currentDir = new String("/");
   }
 
-  /** Handling the arguments of the command. */
+  /**
+   * Handling the arguments of the command.
+   */
   public class CommandArgs {
     public String input = null;
     public String command = null;
@@ -58,12 +69,12 @@ public abstract class FileInterpreter extends Interpreter {
     }
 
     private void parseArg(String arg) {
-      if (arg.charAt(0) == '-') { // handle flags
+      if (arg.charAt(0) == '-') {                   // handle flags
         for (int i = 0; i < arg.length(); i++) {
           Character c = arg.charAt(i);
           flags.add(c);
         }
-      } else { // handle other args
+      } else {                                      // handle other args
         args.add(arg);
       }
     }
@@ -88,7 +99,7 @@ public abstract class FileInterpreter extends Interpreter {
   public abstract boolean isDirectory(String path);
 
   // Combine paths, takes care of arguments such as ..
-  protected String getNewPath(String argument) {
+  protected String getNewPath(String argument){
     Path arg = Paths.get(argument);
     Path ret = arg.isAbsolute() ? arg : Paths.get(currentDir, argument);
     return ret.normalize().toString();
@@ -134,7 +145,8 @@ public abstract class FileInterpreter extends Interpreter {
   }
 
   @Override
-  public void cancel(InterpreterContext context) {}
+  public void cancel(InterpreterContext context) {
+  }
 
   @Override
   public FormType getFormType() {
@@ -148,13 +160,13 @@ public abstract class FileInterpreter extends Interpreter {
 
   @Override
   public Scheduler getScheduler() {
-    return SchedulerFactory.singleton()
-        .createOrGetFIFOScheduler(FileInterpreter.class.getName() + this.hashCode());
+    return SchedulerFactory.singleton().createOrGetFIFOScheduler(
+        FileInterpreter.class.getName() + this.hashCode());
   }
 
   @Override
-  public List<InterpreterCompletion> completion(
-      String buf, int cursor, InterpreterContext interpreterContext) {
+  public List<InterpreterCompletion> completion(String buf, int cursor,
+      InterpreterContext interpreterContext) {
     return null;
   }
 }

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/0d746fa2/file/src/main/java/org/apache/zeppelin/file/HDFSCommand.java
----------------------------------------------------------------------
diff --git a/file/src/main/java/org/apache/zeppelin/file/HDFSCommand.java b/file/src/main/java/org/apache/zeppelin/file/HDFSCommand.java
index 7c70eb7..6b3dc4b 100644
--- a/file/src/main/java/org/apache/zeppelin/file/HDFSCommand.java
+++ b/file/src/main/java/org/apache/zeppelin/file/HDFSCommand.java
@@ -1,35 +1,47 @@
 /**
- * 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
+ * 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
  *
- * <p>http://www.apache.org/licenses/LICENSE-2.0
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- * <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
+ * 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.file;
 
+import org.slf4j.Logger;
+
 import java.io.BufferedReader;
 import java.io.InputStreamReader;
 import java.net.HttpURLConnection;
 import java.net.URL;
+
 import javax.ws.rs.core.UriBuilder;
-import org.slf4j.Logger;
 
-/** Definition and HTTP invocation methods for all WebHDFS commands. */
+/**
+ * Definition and HTTP invocation methods for all WebHDFS commands.
+ */
 public class HDFSCommand {
-  /** Type of HTTP request. */
+  /**
+   * Type of HTTP request.
+   */
   public enum HttpType {
     GET,
     PUT
   }
 
-  /** Definition of WebHDFS operator. */
+  /**
+   * Definition of WebHDFS operator.
+   */
   public class Op {
     public String op;
     public HttpType cmd;
@@ -42,7 +54,9 @@ public class HDFSCommand {
     }
   }
 
-  /** Definition of argument to an operator. */
+  /**
+   * Definition of argument to an operator.
+   */
   public class Arg {
     public String key;
     public String value;
@@ -72,9 +86,11 @@ public class HDFSCommand {
   }
 
   public String checkArgs(Op op, String path, Arg[] args) throws Exception {
-    if (op == null
-        || path == null
-        || (op.minArgs > 0 && (args == null || args.length != op.minArgs))) {
+    if (op == null ||
+        path == null ||
+        (op.minArgs > 0 &&
+            (args == null ||
+                args.length != op.minArgs))) {
       String a = "";
       a = (op != null) ? a + op.op + "\n" : a;
       a = (path != null) ? a + path + "\n" : a;
@@ -94,7 +110,10 @@ public class HDFSCommand {
     }
 
     // Build URI
-    UriBuilder builder = UriBuilder.fromPath(url).path(path).queryParam("op", op.op);
+    UriBuilder builder = UriBuilder
+        .fromPath(url)
+        .path(path)
+        .queryParam("op", op.op);
 
     if (args != null) {
       for (Arg a : args) {
@@ -113,7 +132,8 @@ public class HDFSCommand {
       logger.info("Sending 'GET' request to URL : " + hdfsUrl);
       logger.info("Response Code : " + responseCode);
       StringBuffer response = new StringBuffer();
-      try (BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream())); ) {
+      try (BufferedReader in = new BufferedReader(
+              new InputStreamReader(con.getInputStream()));) {
         String inputLine;
         while ((inputLine = in.readLine()) != null) {
           response.append(inputLine);

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/0d746fa2/file/src/main/java/org/apache/zeppelin/file/HDFSFileInterpreter.java
----------------------------------------------------------------------
diff --git a/file/src/main/java/org/apache/zeppelin/file/HDFSFileInterpreter.java b/file/src/main/java/org/apache/zeppelin/file/HDFSFileInterpreter.java
index 3d33e06..b27dcb6 100644
--- a/file/src/main/java/org/apache/zeppelin/file/HDFSFileInterpreter.java
+++ b/file/src/main/java/org/apache/zeppelin/file/HDFSFileInterpreter.java
@@ -1,33 +1,42 @@
 /**
- * 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
+ * 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
  *
- * <p>http://www.apache.org/licenses/LICENSE-2.0
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- * <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
+ * 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.file;
 
 import com.google.gson.Gson;
+
 import com.google.gson.annotations.SerializedName;
+import org.apache.commons.lang.StringUtils;
+
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 import java.util.Properties;
-import org.apache.commons.lang.StringUtils;
+
 import org.apache.zeppelin.completer.CompletionType;
 import org.apache.zeppelin.interpreter.InterpreterContext;
 import org.apache.zeppelin.interpreter.InterpreterException;
 import org.apache.zeppelin.interpreter.thrift.InterpreterCompletion;
 
-/** HDFS implementation of File interpreter for Zeppelin. */
+/**
+ * HDFS implementation of File interpreter for Zeppelin.
+ */
 public class HDFSFileInterpreter extends FileInterpreter {
   static final String HDFS_URL = "hdfs.url";
   static final String HDFS_USER = "hdfs.user";
@@ -45,7 +54,7 @@ public class HDFSFileInterpreter extends FileInterpreter {
     gson = new Gson();
   }
 
-  public HDFSFileInterpreter(Properties property) {
+  public HDFSFileInterpreter(Properties property){
     super(property);
     prepare();
   }
@@ -53,7 +62,7 @@ public class HDFSFileInterpreter extends FileInterpreter {
   /**
    * Status of one file.
    *
-   * <p>matches returned JSON
+   * matches returned JSON
    */
   public class OneFileStatus {
     public long accessTime;
@@ -92,7 +101,7 @@ public class HDFSFileInterpreter extends FileInterpreter {
   /**
    * Status of one file.
    *
-   * <p>matches returned JSON
+   * matches returned JSON
    */
   public class SingleFileStatus {
     @SerializedName("FileStatus")
@@ -102,7 +111,7 @@ public class HDFSFileInterpreter extends FileInterpreter {
   /**
    * Status of all files in a directory.
    *
-   * <p>matches returned JSON
+   * matches returned JSON
    */
   public class MultiFileStatus {
     @SerializedName("FileStatus")
@@ -112,7 +121,7 @@ public class HDFSFileInterpreter extends FileInterpreter {
   /**
    * Status of all files in a directory.
    *
-   * <p>matches returned JSON
+   * matches returned JSON
    */
   public class AllFileStatus {
     @SerializedName("FileStatuses")
@@ -137,25 +146,26 @@ public class HDFSFileInterpreter extends FileInterpreter {
   }
 
   @Override
-  public void close() {}
+  public void close() {
+  }
 
   private String listDir(String path) throws Exception {
     return cmd.runCommand(cmd.listStatus, path, null);
   }
 
-  private String listPermission(OneFileStatus fs) {
+  private String listPermission(OneFileStatus fs){
     StringBuilder sb = new StringBuilder();
     sb.append(fs.type.equalsIgnoreCase("Directory") ? 'd' : '-');
     int p = Integer.parseInt(fs.permission, 16);
     sb.append(((p & 0x400) == 0) ? '-' : 'r');
     sb.append(((p & 0x200) == 0) ? '-' : 'w');
     sb.append(((p & 0x100) == 0) ? '-' : 'x');
-    sb.append(((p & 0x40) == 0) ? '-' : 'r');
-    sb.append(((p & 0x20) == 0) ? '-' : 'w');
-    sb.append(((p & 0x10) == 0) ? '-' : 'x');
-    sb.append(((p & 0x4) == 0) ? '-' : 'r');
-    sb.append(((p & 0x2) == 0) ? '-' : 'w');
-    sb.append(((p & 0x1) == 0) ? '-' : 'x');
+    sb.append(((p & 0x40)  == 0) ? '-' : 'r');
+    sb.append(((p & 0x20)  == 0) ? '-' : 'w');
+    sb.append(((p & 0x10)  == 0) ? '-' : 'x');
+    sb.append(((p & 0x4)   == 0) ? '-' : 'r');
+    sb.append(((p & 0x2)   == 0) ? '-' : 'w');
+    sb.append(((p & 0x1)   == 0) ? '-' : 'x');
     return sb.toString();
   }
 
@@ -170,7 +180,7 @@ public class HDFSFileInterpreter extends FileInterpreter {
       sb.append(((fs.replication == 0) ? "-" : fs.replication) + "\t ");
       sb.append(fs.owner + "\t");
       sb.append(fs.group + "\t");
-      if (args.flags.contains(new Character('h'))) { // human readable
+      if (args.flags.contains(new Character('h'))){ //human readable
         sb.append(humanReadableByteCount(fs.length) + "\t\t");
       } else {
         sb.append(fs.length + "\t");
@@ -214,19 +224,17 @@ public class HDFSFileInterpreter extends FileInterpreter {
     }
 
     try {
-      // see if directory.
+      //see if directory.
       if (isDirectory(path)) {
         String sfs = listDir(path);
         if (sfs != null) {
           AllFileStatus allFiles = gson.fromJson(sfs, AllFileStatus.class);
 
-          if (allFiles != null
-              && allFiles.fileStatuses != null
-              && allFiles.fileStatuses.fileStatus != null) {
-            int length =
-                cmd.maxLength < allFiles.fileStatuses.fileStatus.length
-                    ? cmd.maxLength
-                    : allFiles.fileStatuses.fileStatus.length;
+          if (allFiles != null &&
+                  allFiles.fileStatuses != null &&
+                  allFiles.fileStatuses.fileStatus != null) {
+            int length = cmd.maxLength < allFiles.fileStatuses.fileStatus.length ? cmd.maxLength :
+                    allFiles.fileStatuses.fileStatus.length;
             for (int index = 0; index < length; index++) {
               OneFileStatus fs = allFiles.fileStatuses.fileStatus[index];
               all = all + listOne(path, fs) + '\n';
@@ -263,8 +271,8 @@ public class HDFSFileInterpreter extends FileInterpreter {
   }
 
   @Override
-  public List<InterpreterCompletion> completion(
-      String buf, int cursor, InterpreterContext interpreterContext) {
+  public List<InterpreterCompletion> completion(String buf, int cursor,
+      InterpreterContext interpreterContext) {
     logger.info("Completion request at position\t" + cursor + " in string " + buf);
     final List<InterpreterCompletion> suggestions = new ArrayList<>();
     if (StringUtils.isEmpty(buf)) {
@@ -274,16 +282,19 @@ public class HDFSFileInterpreter extends FileInterpreter {
       return suggestions;
     }
 
-    // part of a command == no spaces
-    if (buf.split(" ").length == 1) {
+    //part of a command == no spaces
+    if (buf.split(" ").length == 1){
       if ("cd".contains(buf)) {
-        suggestions.add(new InterpreterCompletion("cd", "cd", CompletionType.command.name()));
+        suggestions.add(new InterpreterCompletion("cd", "cd",
+                CompletionType.command.name()));
       }
       if ("ls".contains(buf)) {
-        suggestions.add(new InterpreterCompletion("ls", "ls", CompletionType.command.name()));
+        suggestions.add(new InterpreterCompletion("ls", "ls",
+                CompletionType.command.name()));
       }
       if ("pwd".contains(buf)) {
-        suggestions.add(new InterpreterCompletion("pwd", "pwd", CompletionType.command.name()));
+        suggestions.add(new InterpreterCompletion("pwd", "pwd",
+                CompletionType.command.name()));
       }
 
       return suggestions;
@@ -291,36 +302,35 @@ public class HDFSFileInterpreter extends FileInterpreter {
 
     // last word will contain the path we're working with.
     String lastToken = buf.substring(buf.lastIndexOf(" ") + 1);
-    if (lastToken.startsWith("-")) { // flag not path
+    if (lastToken.startsWith("-")) { //flag not path
       return null;
     }
 
-    String localPath = ""; // all things before the last '/'
-    String unfinished = lastToken; // unfished filenames or directories
+    String localPath = ""; //all things before the last '/'
+    String unfinished = lastToken; //unfished filenames or directories
     if (lastToken.contains("/")) {
       localPath = lastToken.substring(0, lastToken.lastIndexOf('/') + 1);
       unfinished = lastToken.substring(lastToken.lastIndexOf('/') + 1);
     }
-    String globalPath = getNewPath(localPath); // adjust for cwd
+    String globalPath = getNewPath(localPath); //adjust for cwd
 
-    if (isDirectory(globalPath)) {
+    if (isDirectory(globalPath)){
       try {
         String fileStatusString = listDir(globalPath);
         if (fileStatusString != null) {
           AllFileStatus allFiles = gson.fromJson(fileStatusString, AllFileStatus.class);
 
-          if (allFiles != null
-              && allFiles.fileStatuses != null
-              && allFiles.fileStatuses.fileStatus != null) {
+          if (allFiles != null &&
+                  allFiles.fileStatuses != null &&
+                  allFiles.fileStatuses.fileStatus != null) {
             for (OneFileStatus fs : allFiles.fileStatuses.fileStatus) {
               if (fs.pathSuffix.contains(unfinished)) {
-                // only suggest the text after the last .
+                //only suggest the text after the last .
                 String beforeLastPeriod = unfinished.substring(0, unfinished.lastIndexOf('.') + 1);
-                // beforeLastPeriod should be the start of fs.pathSuffix, so take the end of it.
+                //beforeLastPeriod should be the start of fs.pathSuffix, so take the end of it.
                 String suggestedFinish = fs.pathSuffix.substring(beforeLastPeriod.length());
-                suggestions.add(
-                    new InterpreterCompletion(
-                        suggestedFinish, suggestedFinish, CompletionType.path.name()));
+                suggestions.add(new InterpreterCompletion(suggestedFinish, suggestedFinish,
+                    CompletionType.path.name()));
               }
             }
             return suggestions;
@@ -334,7 +344,7 @@ public class HDFSFileInterpreter extends FileInterpreter {
       logger.info("path is not a directory.  No values suggested.");
     }
 
-    // Error in string.
+    //Error in string.
     return null;
   }
 }

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/0d746fa2/file/src/test/java/org/apache/zeppelin/file/HDFSFileInterpreterTest.java
----------------------------------------------------------------------
diff --git a/file/src/test/java/org/apache/zeppelin/file/HDFSFileInterpreterTest.java b/file/src/test/java/org/apache/zeppelin/file/HDFSFileInterpreterTest.java
index 6267245..aa69886 100644
--- a/file/src/test/java/org/apache/zeppelin/file/HDFSFileInterpreterTest.java
+++ b/file/src/test/java/org/apache/zeppelin/file/HDFSFileInterpreterTest.java
@@ -1,34 +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
+ * 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
  *
- * <p>http://www.apache.org/licenses/LICENSE-2.0
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- * <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
+ * 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.file;
 
 import static org.junit.Assert.assertNull;
 
 import com.google.gson.Gson;
+
+import junit.framework.TestCase;
+
+import org.junit.Test;
+import org.slf4j.Logger;
+
 import java.util.Arrays;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Properties;
-import junit.framework.TestCase;
+
 import org.apache.zeppelin.completer.CompletionType;
 import org.apache.zeppelin.interpreter.InterpreterResult;
 import org.apache.zeppelin.interpreter.thrift.InterpreterCompletion;
-import org.junit.Test;
-import org.slf4j.Logger;
 
-/** Tests Interpreter by running pre-determined commands against mock file system. */
+/**
+ * Tests Interpreter by running pre-determined commands against mock file system.
+ */
 public class HDFSFileInterpreterTest extends TestCase {
   @Test
   public void testMaxLength() {
@@ -111,10 +121,10 @@ public class HDFSFileInterpreterTest extends TestCase {
     assertEquals(result1.message().get(0).getData(), result11.message().get(0).getData());
 
     // auto completion test
-    List expectedResultOne =
-        Arrays.asList(new InterpreterCompletion("ls", "ls", CompletionType.command.name()));
-    List expectedResultTwo =
-        Arrays.asList(new InterpreterCompletion("pwd", "pwd", CompletionType.command.name()));
+    List expectedResultOne = Arrays.asList(
+            new InterpreterCompletion("ls", "ls", CompletionType.command.name()));
+    List expectedResultTwo = Arrays.asList(
+            new InterpreterCompletion("pwd", "pwd", CompletionType.command.name()));
     List<InterpreterCompletion> resultOne = t.completion("l", 0, null);
     List<InterpreterCompletion> resultTwo = t.completion("p", 0, null);
 
@@ -125,93 +135,93 @@ public class HDFSFileInterpreterTest extends TestCase {
   }
 }
 
-/** Store command results from curl against a real file system. */
+/**
+ * Store command results from curl against a real file system.
+ */
 class MockFileSystem {
   HashMap<String, String> mfs = new HashMap<>();
   static final String FILE_STATUSES =
-      "{\"accessTime\":0,\"blockSize\":0,\"childrenNum\":1,\"fileId\":16389,"
-          + "\"group\":\"hadoop\",\"length\":0,\"modificationTime\":1438548219672,"
-          + "\"owner\":\"yarn\",\"pathSuffix\":\"app-logs\",\"permission\":\"777\","
-          + "\"replication\":0,\"storagePolicy\":0,\"type\":\"DIRECTORY\"},\n"
-          + "{\"accessTime\":0,\"blockSize\":0,\"childrenNum\":1,\"fileId\":16395,"
-          + "\"group\":\"hdfs\",\"length\":0,\"modificationTime\":1438548030045,"
-          + "\"owner\":\"hdfs\",\"pathSuffix\":\"hdp\",\"permission\":\"755\","
-          + "\"replication\":0,\"storagePolicy\":0,\"type\":\"DIRECTORY\"},\n"
-          + "{\"accessTime\":0,\"blockSize\":0,\"childrenNum\":1,\"fileId\":16390,"
-          + "\"group\":\"hdfs\",\"length\":0,\"modificationTime\":1438547985336,"
-          + "\"owner\":\"mapred\",\"pathSuffix\":\"mapred\",\"permission\":\"755\","
-          + "\"replication\":0,\"storagePolicy\":0,\"type\":\"DIRECTORY\"},\n"
-          + "{\"accessTime\":0,\"blockSize\":0,\"childrenNum\":2,\"fileId\":16392,"
-          + "\"group\":\"hdfs\",\"length\":0,\"modificationTime\":1438547985346,"
-          + "\"owner\":\"hdfs\",\"pathSuffix\":\"mr-history\",\"permission\":\"755\","
-          + "\"replication\":0,\"storagePolicy\":0,\"type\":\"DIRECTORY\"},\n"
-          + "{\"accessTime\":0,\"blockSize\":0,\"childrenNum\":1,\"fileId\":16400,"
-          + "\"group\":\"hdfs\",\"length\":0,\"modificationTime\":1438548089725,"
-          + "\"owner\":\"hdfs\",\"pathSuffix\":\"system\",\"permission\":\"755\","
-          + "\"replication\":0,\"storagePolicy\":0,\"type\":\"DIRECTORY\"},\n"
-          + "{\"accessTime\":0,\"blockSize\":0,\"childrenNum\":1,\"fileId\":16386,"
-          + "\"group\":\"hdfs\",\"length\":0,\"modificationTime\":1438548150089,"
-          + "\"owner\":\"hdfs\",\"pathSuffix\":\"tmp\",\"permission\":\"777\","
-          + "\"replication\":0,\"storagePolicy\":0,\"type\":\"DIRECTORY\"},\n"
-          + "{\"accessTime\":0,\"blockSize\":0,\"childrenNum\":1,\"fileId\":16387,"
-          + "\"group\":\"hdfs\",\"length\":0,\"modificationTime\":1438547921792,"
-          + "\"owner\":\"hdfs\",\"pathSuffix\":\"user\",\"permission\":\"755\","
-          + "\"replication\":0,\"storagePolicy\":0,\"type\":\"DIRECTORY\"}\n";
+          "{\"accessTime\":0,\"blockSize\":0,\"childrenNum\":1,\"fileId\":16389," +
+                  "\"group\":\"hadoop\",\"length\":0,\"modificationTime\":1438548219672," +
+                  "\"owner\":\"yarn\",\"pathSuffix\":\"app-logs\",\"permission\":\"777\"," +
+                  "\"replication\":0,\"storagePolicy\":0,\"type\":\"DIRECTORY\"},\n" +
+                  "{\"accessTime\":0,\"blockSize\":0,\"childrenNum\":1,\"fileId\":16395," +
+                  "\"group\":\"hdfs\",\"length\":0,\"modificationTime\":1438548030045," +
+                  "\"owner\":\"hdfs\",\"pathSuffix\":\"hdp\",\"permission\":\"755\"," +
+                  "\"replication\":0,\"storagePolicy\":0,\"type\":\"DIRECTORY\"},\n" +
+                  "{\"accessTime\":0,\"blockSize\":0,\"childrenNum\":1,\"fileId\":16390," +
+                  "\"group\":\"hdfs\",\"length\":0,\"modificationTime\":1438547985336," +
+                  "\"owner\":\"mapred\",\"pathSuffix\":\"mapred\",\"permission\":\"755\"," +
+                  "\"replication\":0,\"storagePolicy\":0,\"type\":\"DIRECTORY\"},\n" +
+                  "{\"accessTime\":0,\"blockSize\":0,\"childrenNum\":2,\"fileId\":16392," +
+                  "\"group\":\"hdfs\",\"length\":0,\"modificationTime\":1438547985346," +
+                  "\"owner\":\"hdfs\",\"pathSuffix\":\"mr-history\",\"permission\":\"755\"," +
+                  "\"replication\":0,\"storagePolicy\":0,\"type\":\"DIRECTORY\"},\n" +
+                  "{\"accessTime\":0,\"blockSize\":0,\"childrenNum\":1,\"fileId\":16400," +
+                  "\"group\":\"hdfs\",\"length\":0,\"modificationTime\":1438548089725," +
+                  "\"owner\":\"hdfs\",\"pathSuffix\":\"system\",\"permission\":\"755\"," +
+                  "\"replication\":0,\"storagePolicy\":0,\"type\":\"DIRECTORY\"},\n" +
+                  "{\"accessTime\":0,\"blockSize\":0,\"childrenNum\":1,\"fileId\":16386," +
+                  "\"group\":\"hdfs\",\"length\":0,\"modificationTime\":1438548150089," +
+                  "\"owner\":\"hdfs\",\"pathSuffix\":\"tmp\",\"permission\":\"777\"," +
+                  "\"replication\":0,\"storagePolicy\":0,\"type\":\"DIRECTORY\"},\n" +
+                  "{\"accessTime\":0,\"blockSize\":0,\"childrenNum\":1,\"fileId\":16387," +
+                  "\"group\":\"hdfs\",\"length\":0,\"modificationTime\":1438547921792," +
+                  "\"owner\":\"hdfs\",\"pathSuffix\":\"user\",\"permission\":\"755\"," +
+                  "\"replication\":0,\"storagePolicy\":0,\"type\":\"DIRECTORY\"}\n";
 
   void addListStatusData() {
-    mfs.put("/?op=LISTSTATUS", "{\"FileStatuses\":{\"FileStatus\":[\n" + FILE_STATUSES + "]}}");
-    mfs.put(
-        "/user?op=LISTSTATUS",
-        "{\"FileStatuses\":{\"FileStatus\":[\n"
-            + "        {\"accessTime\":0,\"blockSize\":0,\"childrenNum\":4,\"fileId\":16388,"
-            + "\"group\":\"hdfs\",\"length\":0,\"modificationTime\":1441253161263,"
-            + "\"owner\":\"ambari-qa\",\"pathSuffix\":\"ambari-qa\",\"permission\":\"770\","
-            + "\"replication\":0,\"storagePolicy\":0,\"type\":\"DIRECTORY\"}\n"
-            + "        ]}}");
-    mfs.put(
-        "/tmp?op=LISTSTATUS",
-        "{\"FileStatuses\":{\"FileStatus\":[\n"
-            + "        {\"accessTime\":1441253097489,\"blockSize\":134217728,\"childrenNum\":0,"
-            + "\"fileId\":16400,\"group\":\"hdfs\",\"length\":1645,"
-            + "\"modificationTime\":1441253097517,\"owner\":\"hdfs\","
-            + "\"pathSuffix\":\"ida8c06540_date040315\",\"permission\":\"755\","
-            + "\"replication\":3,\"storagePolicy\":0,\"type\":\"FILE\"}\n"
-            + "        ]}}");
-    mfs.put(
-        "/mr-history/done?op=LISTSTATUS",
-        "{\"FileStatuses\":{\"FileStatus\":[\n"
-            + "{\"accessTime\":0,\"blockSize\":0,\"childrenNum\":1,\"fileId\":16433,"
-            + "\"group\":\"hadoop\",\"length\":0,\"modificationTime\":1441253197481,"
-            + "\"owner\":\"mapred\",\"pathSuffix\":\"2015\",\"permission\":\"770\","
-            + "\"replication\":0,\"storagePolicy\":0,\"type\":\"DIRECTORY\"}\n"
-            + "]}}");
+    mfs.put("/?op=LISTSTATUS",
+        "{\"FileStatuses\":{\"FileStatus\":[\n" + FILE_STATUSES +
+            "]}}"
+    );
+    mfs.put("/user?op=LISTSTATUS", "{\"FileStatuses\":{\"FileStatus\":[\n" +
+           "        {\"accessTime\":0,\"blockSize\":0,\"childrenNum\":4,\"fileId\":16388," +
+               "\"group\":\"hdfs\",\"length\":0,\"modificationTime\":1441253161263," +
+               "\"owner\":\"ambari-qa\",\"pathSuffix\":\"ambari-qa\",\"permission\":\"770\"," +
+               "\"replication\":0,\"storagePolicy\":0,\"type\":\"DIRECTORY\"}\n" +
+           "        ]}}"
+    );
+    mfs.put("/tmp?op=LISTSTATUS",
+        "{\"FileStatuses\":{\"FileStatus\":[\n" +
+            "        {\"accessTime\":1441253097489,\"blockSize\":134217728,\"childrenNum\":0," +
+                "\"fileId\":16400,\"group\":\"hdfs\",\"length\":1645," +
+                "\"modificationTime\":1441253097517,\"owner\":\"hdfs\"," +
+                "\"pathSuffix\":\"ida8c06540_date040315\",\"permission\":\"755\"," +
+                "\"replication\":3,\"storagePolicy\":0,\"type\":\"FILE\"}\n" +
+            "        ]}}"
+    );
+    mfs.put("/mr-history/done?op=LISTSTATUS",
+        "{\"FileStatuses\":{\"FileStatus\":[\n" +
+        "{\"accessTime\":0,\"blockSize\":0,\"childrenNum\":1,\"fileId\":16433," +
+                "\"group\":\"hadoop\",\"length\":0,\"modificationTime\":1441253197481," +
+                "\"owner\":\"mapred\",\"pathSuffix\":\"2015\",\"permission\":\"770\"," +
+                "\"replication\":0,\"storagePolicy\":0,\"type\":\"DIRECTORY\"}\n" +
+        "]}}"
+    );
   }
 
   void addGetFileStatusData() {
-    mfs.put(
-        "/?op=GETFILESTATUS",
-        "{\"FileStatus\":{\"accessTime\":0,\"blockSize\":0,\"childrenNum\":7,\"fileId\":16385,"
-            + "\"group\":\"hdfs\",\"length\":0,\"modificationTime\":1438548089725,"
-            + "\"owner\":\"hdfs\",\"pathSuffix\":\"\",\"permission\":\"755\","
-            + "\"replication\":0,\"storagePolicy\":0,\"type\":\"DIRECTORY\"}}");
-    mfs.put(
-        "/user?op=GETFILESTATUS",
-        "{\"FileStatus\":{\"accessTime\":0,\"blockSize\":0,\"childrenNum\":1,\"fileId\":16387,"
-            + "\"group\":\"hdfs\",\"length\":0,\"modificationTime\":1441253043188,"
-            + "\"owner\":\"hdfs\",\"pathSuffix\":\"\",\"permission\":\"755\","
-            + "\"replication\":0,\"storagePolicy\":0,\"type\":\"DIRECTORY\"}}");
-    mfs.put(
-        "/tmp?op=GETFILESTATUS",
-        "{\"FileStatus\":{\"accessTime\":0,\"blockSize\":0,\"childrenNum\":1,\"fileId\":16386,"
-            + "\"group\":\"hdfs\",\"length\":0,\"modificationTime\":1441253097489,"
-            + "\"owner\":\"hdfs\",\"pathSuffix\":\"\",\"permission\":\"777\","
-            + "\"replication\":0,\"storagePolicy\":0,\"type\":\"DIRECTORY\"}}");
-    mfs.put(
-        "/mr-history/done?op=GETFILESTATUS",
-        "{\"FileStatus\":{\"accessTime\":0,\"blockSize\":0,\"childrenNum\":1,\"fileId\":16393,"
-            + "\"group\":\"hadoop\",\"length\":0,\"modificationTime\":1441253197480,"
-            + "\"owner\":\"mapred\",\"pathSuffix\":\"\",\"permission\":\"777\","
-            + "\"replication\":0,\"storagePolicy\":0,\"type\":\"DIRECTORY\"}}");
+    mfs.put("/?op=GETFILESTATUS",
+        "{\"FileStatus\":{\"accessTime\":0,\"blockSize\":0,\"childrenNum\":7,\"fileId\":16385," +
+                "\"group\":\"hdfs\",\"length\":0,\"modificationTime\":1438548089725," +
+                "\"owner\":\"hdfs\",\"pathSuffix\":\"\",\"permission\":\"755\"," +
+                "\"replication\":0,\"storagePolicy\":0,\"type\":\"DIRECTORY\"}}");
+    mfs.put("/user?op=GETFILESTATUS",
+        "{\"FileStatus\":{\"accessTime\":0,\"blockSize\":0,\"childrenNum\":1,\"fileId\":16387," +
+                "\"group\":\"hdfs\",\"length\":0,\"modificationTime\":1441253043188," +
+                "\"owner\":\"hdfs\",\"pathSuffix\":\"\",\"permission\":\"755\"," +
+                "\"replication\":0,\"storagePolicy\":0,\"type\":\"DIRECTORY\"}}");
+    mfs.put("/tmp?op=GETFILESTATUS",
+        "{\"FileStatus\":{\"accessTime\":0,\"blockSize\":0,\"childrenNum\":1,\"fileId\":16386," +
+                "\"group\":\"hdfs\",\"length\":0,\"modificationTime\":1441253097489," +
+                "\"owner\":\"hdfs\",\"pathSuffix\":\"\",\"permission\":\"777\"," +
+                "\"replication\":0,\"storagePolicy\":0,\"type\":\"DIRECTORY\"}}");
+    mfs.put("/mr-history/done?op=GETFILESTATUS",
+        "{\"FileStatus\":{\"accessTime\":0,\"blockSize\":0,\"childrenNum\":1,\"fileId\":16393," +
+                "\"group\":\"hadoop\",\"length\":0,\"modificationTime\":1441253197480," +
+                "\"owner\":\"mapred\",\"pathSuffix\":\"\",\"permission\":\"777\"," +
+                "\"replication\":0,\"storagePolicy\":0,\"type\":\"DIRECTORY\"}}");
   }
 
   public void addMockData(HDFSCommand.Op op) {
@@ -228,7 +238,9 @@ class MockFileSystem {
   }
 }
 
-/** Run commands against mock file system that simulates webhdfs responses. */
+/**
+ * Run commands against mock file system that simulates webhdfs responses.
+ */
 class MockHDFSCommand extends HDFSCommand {
   MockFileSystem fs = null;
 
@@ -259,14 +271,15 @@ class MockHDFSCommand extends HDFSCommand {
   }
 }
 
-/** Mock Interpreter - uses Mock HDFS command. */
+/**
+ * Mock Interpreter - uses Mock HDFS command.
+ */
 class MockHDFSFileInterpreter extends HDFSFileInterpreter {
   @Override
   public void prepare() {
     // Run commands against mock File System instead of WebHDFS
-    int i =
-        Integer.parseInt(
-            getProperty(HDFS_MAXLENGTH) == null ? "1000" : getProperty(HDFS_MAXLENGTH));
+    int i = Integer.parseInt(getProperty(HDFS_MAXLENGTH) == null ? "1000"
+            : getProperty(HDFS_MAXLENGTH));
     cmd = new MockHDFSCommand("", "", logger, i);
     gson = new Gson();
   }

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/0d746fa2/flink/pom.xml
----------------------------------------------------------------------
diff --git a/flink/pom.xml b/flink/pom.xml
index ffba436..217813b 100644
--- a/flink/pom.xml
+++ b/flink/pom.xml
@@ -297,6 +297,14 @@
       <plugin>
         <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>
 </project>

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/0d746fa2/flink/src/main/java/org/apache/zeppelin/flink/FlinkInterpreter.java
----------------------------------------------------------------------
diff --git a/flink/src/main/java/org/apache/zeppelin/flink/FlinkInterpreter.java b/flink/src/main/java/org/apache/zeppelin/flink/FlinkInterpreter.java
index cab30b6..c14407d 100644
--- a/flink/src/main/java/org/apache/zeppelin/flink/FlinkInterpreter.java
+++ b/flink/src/main/java/org/apache/zeppelin/flink/FlinkInterpreter.java
@@ -17,9 +17,6 @@
 
 package org.apache.zeppelin.flink;
 
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Properties;
 import org.apache.flink.api.scala.ExecutionEnvironment;
 import org.apache.zeppelin.interpreter.Interpreter;
 import org.apache.zeppelin.interpreter.InterpreterContext;
@@ -27,6 +24,10 @@ import org.apache.zeppelin.interpreter.InterpreterException;
 import org.apache.zeppelin.interpreter.InterpreterResult;
 import org.apache.zeppelin.interpreter.thrift.InterpreterCompletion;
 
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Properties;
+
 public class FlinkInterpreter extends Interpreter {
 
   private FlinkScalaInterpreter innerIntp;
@@ -43,11 +44,8 @@ public class FlinkInterpreter extends Interpreter {
 
     // bind ZeppelinContext
     int maxRow = Integer.parseInt(getProperty("zeppelin.flink.maxResult", "1000"));
-    this.z =
-        new FlinkZeppelinContext(
-            innerIntp.getBatchTableEnviroment(),
-            getInterpreterGroup().getInterpreterHookRegistry(),
-            maxRow);
+    this.z = new FlinkZeppelinContext(innerIntp.getBatchTableEnviroment(),
+        getInterpreterGroup().getInterpreterHookRegistry(), maxRow);
     List<String> modifiers = new ArrayList<>();
     modifiers.add("@transient");
     this.innerIntp.bind("z", z.getClass().getCanonicalName(), z, modifiers);
@@ -68,7 +66,9 @@ public class FlinkInterpreter extends Interpreter {
   }
 
   @Override
-  public void cancel(InterpreterContext context) throws InterpreterException {}
+  public void cancel(InterpreterContext context) throws InterpreterException {
+
+  }
 
   @Override
   public FormType getFormType() throws InterpreterException {
@@ -81,8 +81,10 @@ public class FlinkInterpreter extends Interpreter {
   }
 
   @Override
-  public List<InterpreterCompletion> completion(
-      String buf, int cursor, InterpreterContext interpreterContext) throws InterpreterException {
+  public List<InterpreterCompletion> completion(String buf,
+                                                int cursor,
+                                                InterpreterContext interpreterContext)
+      throws InterpreterException {
     return innerIntp.completion(buf, cursor, interpreterContext);
   }
 
@@ -97,4 +99,5 @@ public class FlinkInterpreter extends Interpreter {
   FlinkZeppelinContext getZeppelinContext() {
     return this.z;
   }
+
 }

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/0d746fa2/flink/src/main/java/org/apache/zeppelin/flink/FlinkSQLInterpreter.java
----------------------------------------------------------------------
diff --git a/flink/src/main/java/org/apache/zeppelin/flink/FlinkSQLInterpreter.java b/flink/src/main/java/org/apache/zeppelin/flink/FlinkSQLInterpreter.java
index 25830a7..1ac3547 100644
--- a/flink/src/main/java/org/apache/zeppelin/flink/FlinkSQLInterpreter.java
+++ b/flink/src/main/java/org/apache/zeppelin/flink/FlinkSQLInterpreter.java
@@ -17,12 +17,14 @@
 
 package org.apache.zeppelin.flink;
 
-import java.util.Properties;
+
 import org.apache.zeppelin.interpreter.Interpreter;
 import org.apache.zeppelin.interpreter.InterpreterContext;
 import org.apache.zeppelin.interpreter.InterpreterException;
 import org.apache.zeppelin.interpreter.InterpreterResult;
 
+import java.util.Properties;
+
 public class FlinkSQLInterpreter extends Interpreter {
 
   private FlinkSQLScalaInterpreter sqlScalaInterpreter;
@@ -31,18 +33,21 @@ public class FlinkSQLInterpreter extends Interpreter {
     super(properties);
   }
 
+
   @Override
   public void open() throws InterpreterException {
     FlinkInterpreter flinkInterpreter =
         getInterpreterInTheSameSessionByClassName(FlinkInterpreter.class);
     FlinkZeppelinContext z = flinkInterpreter.getZeppelinContext();
     int maxRow = Integer.parseInt(getProperty("zeppelin.flink.maxResult", "1000"));
-    this.sqlScalaInterpreter =
-        new FlinkSQLScalaInterpreter(flinkInterpreter.getInnerScalaInterpreter(), z, maxRow);
+    this.sqlScalaInterpreter = new FlinkSQLScalaInterpreter(
+        flinkInterpreter.getInnerScalaInterpreter(), z, maxRow);
   }
 
   @Override
-  public void close() throws InterpreterException {}
+  public void close() throws InterpreterException {
+
+  }
 
   @Override
   public InterpreterResult interpret(String st, InterpreterContext context)
@@ -51,7 +56,9 @@ public class FlinkSQLInterpreter extends Interpreter {
   }
 
   @Override
-  public void cancel(InterpreterContext context) throws InterpreterException {}
+  public void cancel(InterpreterContext context) throws InterpreterException {
+
+  }
 
   @Override
   public FormType getFormType() throws InterpreterException {

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/0d746fa2/flink/src/test/java/org/apache/zeppelin/flink/FlinkInterpreterTest.java
----------------------------------------------------------------------
diff --git a/flink/src/test/java/org/apache/zeppelin/flink/FlinkInterpreterTest.java b/flink/src/test/java/org/apache/zeppelin/flink/FlinkInterpreterTest.java
index bec8389..0c42139 100644
--- a/flink/src/test/java/org/apache/zeppelin/flink/FlinkInterpreterTest.java
+++ b/flink/src/test/java/org/apache/zeppelin/flink/FlinkInterpreterTest.java
@@ -16,15 +16,7 @@
  */
 package org.apache.zeppelin.flink;
 
-import static org.junit.Assert.assertArrayEquals;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
 
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Properties;
 import org.apache.zeppelin.display.AngularObjectRegistry;
 import org.apache.zeppelin.display.ui.CheckBox;
 import org.apache.zeppelin.display.ui.Select;
@@ -41,6 +33,16 @@ import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
 
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Properties;
+
+import static org.junit.Assert.assertArrayEquals;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
 public class FlinkInterpreterTest {
 
   private FlinkInterpreter interpreter;
@@ -69,8 +71,8 @@ public class FlinkInterpreterTest {
 
   @Test
   public void testBasicScala() throws InterpreterException, IOException {
-    InterpreterResult result =
-        interpreter.interpret("val a=\"hello world\"", getInterpreterContext());
+    InterpreterResult result = interpreter.interpret("val a=\"hello world\"",
+        getInterpreterContext());
     assertEquals(InterpreterResult.Code.SUCCESS, result.code());
     assertEquals("a: String = hello world\n", output);
 
@@ -100,42 +102,38 @@ public class FlinkInterpreterTest {
     result = interpreter.interpret("/*comment here*/", getInterpreterContext());
     assertEquals(InterpreterResult.Code.SUCCESS, result.code());
 
-    result =
-        interpreter.interpret("/*comment here*/\nprint(\"hello world\")", getInterpreterContext());
+    result = interpreter.interpret("/*comment here*/\nprint(\"hello world\")",
+        getInterpreterContext());
     assertEquals(InterpreterResult.Code.SUCCESS, result.code());
 
     // multiple line comment
-    result = interpreter.interpret("/*line 1 \n line 2*/", getInterpreterContext());
+    result = interpreter.interpret("/*line 1 \n line 2*/",
+        getInterpreterContext());
     assertEquals(InterpreterResult.Code.SUCCESS, result.code());
 
     // test function
-    result =
-        interpreter.interpret("def add(x:Int, y:Int)\n{ return x+y }", getInterpreterContext());
+    result = interpreter.interpret("def add(x:Int, y:Int)\n{ return x+y }",
+        getInterpreterContext());
     assertEquals(InterpreterResult.Code.SUCCESS, result.code());
 
     result = interpreter.interpret("print(add(1,2))", getInterpreterContext());
     assertEquals(InterpreterResult.Code.SUCCESS, result.code());
 
-    result =
-        interpreter.interpret(
-            "/*line 1 \n line 2*/print(\"hello world\")", getInterpreterContext());
+    result = interpreter.interpret("/*line 1 \n line 2*/print(\"hello world\")",
+        getInterpreterContext());
     assertEquals(InterpreterResult.Code.SUCCESS, result.code());
 
     // companion object
-    result =
-        interpreter.interpret(
-            "class Counter {\n "
-                + "var value: Long = 0} \n"
-                + "object Counter {\n def apply(x: Long) = new Counter()\n}",
-            getInterpreterContext());
+    result = interpreter.interpret("class Counter {\n " +
+        "var value: Long = 0} \n" +
+        "object Counter {\n def apply(x: Long) = new Counter()\n}", getInterpreterContext());
     assertEquals(InterpreterResult.Code.SUCCESS, result.code());
 
     // case class
-    result =
-        interpreter.interpret(
-            "case class Bank(age:Integer, job:String, marital : String, education : String,"
-                + " balance : Integer)\n",
-            getInterpreterContext());
+    result = interpreter.interpret(
+        "case class Bank(age:Integer, job:String, marital : String, education : String," +
+            " balance : Integer)\n",
+        getInterpreterContext());
     assertEquals(InterpreterResult.Code.SUCCESS, result.code());
 
     // ZeppelinContext
@@ -143,12 +141,14 @@ public class FlinkInterpreterTest {
     result = interpreter.interpret("val ds = benv.fromElements(1,2,3)\nz.show(ds)", context);
     assertEquals(InterpreterResult.Code.SUCCESS, result.code());
     assertEquals(InterpreterResult.Type.TABLE, messageOutput.get(0).getType());
-    assertEquals(
-        "f0\n" + "1\n" + "2\n" + "3\n",
-        messageOutput.get(0).toInterpreterResultMessage().getData());
+    assertEquals("f0\n" +
+        "1\n" +
+        "2\n" +
+        "3\n", messageOutput.get(0).toInterpreterResultMessage().getData());
 
     context = getInterpreterContext();
-    result = interpreter.interpret("z.input(\"name\", \"default_name\")", context);
+    result = interpreter.interpret("z.input(\"name\", \"default_name\")",
+        context);
     assertEquals(InterpreterResult.Code.SUCCESS, result.code());
     assertEquals(1, context.getGui().getForms().size());
     assertTrue(context.getGui().getForms().get("name") instanceof TextBox);
@@ -157,11 +157,8 @@ public class FlinkInterpreterTest {
     assertEquals("default_name", textBox.getDefaultValue());
 
     context = getInterpreterContext();
-    result =
-        interpreter.interpret(
-            "z.checkbox(\"checkbox_1\", "
-                + "Seq(\"value_2\"), Seq((\"value_1\", \"name_1\"), (\"value_2\", \"name_2\")))",
-            context);
+    result = interpreter.interpret("z.checkbox(\"checkbox_1\", " +
+        "Seq(\"value_2\"), Seq((\"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);
@@ -176,11 +173,8 @@ public class FlinkInterpreterTest {
     assertEquals("name_2", checkBox.getOptions()[1].getDisplayName());
 
     context = getInterpreterContext();
-    result =
-        interpreter.interpret(
-            "z.select(\"select_1\", Seq(\"value_2\"), "
-                + "Seq((\"value_1\", \"name_1\"), (\"value_2\", \"name_2\")))",
-            context);
+    result = interpreter.interpret("z.select(\"select_1\", Seq(\"value_2\"), " +
+        "Seq((\"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);
@@ -198,25 +192,24 @@ public class FlinkInterpreterTest {
 
   @Test
   public void testCompletion() throws InterpreterException {
-    InterpreterResult result =
-        interpreter.interpret("val a=\"hello world\"", getInterpreterContext());
+    InterpreterResult result = interpreter.interpret("val a=\"hello world\"",
+        getInterpreterContext());
     assertEquals(InterpreterResult.Code.SUCCESS, result.code());
     assertEquals("a: String = hello world\n", output);
 
-    List<InterpreterCompletion> completions =
-        interpreter.completion("a.", 2, getInterpreterContext());
+    List<InterpreterCompletion> completions = interpreter.completion("a.", 2,
+        getInterpreterContext());
     assertTrue(completions.size() > 0);
   }
 
+
   // Disable it for now as there's extra std output from flink shell.
   @Test
   public void testWordCount() throws InterpreterException, IOException {
-    interpreter.interpret(
-        "val text = benv.fromElements(\"To be or not to be\")", getInterpreterContext());
-    interpreter.interpret(
-        "val counts = text.flatMap { _.toLowerCase.split(\" \") }"
-            + ".map { (_, 1) }.groupBy(0).sum(1)",
+    interpreter.interpret("val text = benv.fromElements(\"To be or not to be\")",
         getInterpreterContext());
+    interpreter.interpret("val counts = text.flatMap { _.toLowerCase.split(\" \") }" +
+        ".map { (_, 1) }.groupBy(0).sum(1)", getInterpreterContext());
     InterpreterResult result = interpreter.interpret("counts.print()", getInterpreterContext());
     assertEquals(InterpreterResult.Code.SUCCESS, result.code());
 
@@ -232,31 +225,31 @@ public class FlinkInterpreterTest {
   private InterpreterContext getInterpreterContext() {
     output = "";
     messageOutput = new ArrayList<>();
-    InterpreterContext context =
-        InterpreterContext.builder()
-            .setInterpreterOut(new InterpreterOutput(null))
-            .setAngularObjectRegistry(new AngularObjectRegistry("flink", null))
-            .build();
-    context.out =
-        new InterpreterOutput(
-            new InterpreterOutputListener() {
-              @Override
-              public void onUpdateAll(InterpreterOutput out) {}
-
-              @Override
-              public void onAppend(int index, InterpreterResultMessageOutput out, byte[] line) {
-                try {
-                  output = out.toInterpreterResultMessage().getData();
-                } catch (IOException e) {
-                  e.printStackTrace();
-                }
-              }
-
-              @Override
-              public void onUpdate(int index, InterpreterResultMessageOutput out) {
-                messageOutput.add(out);
-              }
-            });
+    InterpreterContext context = InterpreterContext.builder()
+        .setInterpreterOut(new InterpreterOutput(null))
+        .setAngularObjectRegistry(new AngularObjectRegistry("flink", null))
+        .build();
+    context.out = new InterpreterOutput(
+        new InterpreterOutputListener() {
+          @Override
+          public void onUpdateAll(InterpreterOutput out) {
+
+          }
+
+          @Override
+          public void onAppend(int index, InterpreterResultMessageOutput out, byte[] line) {
+            try {
+              output = out.toInterpreterResultMessage().getData();
+            } catch (IOException e) {
+              e.printStackTrace();
+            }
+          }
+
+          @Override
+          public void onUpdate(int index, InterpreterResultMessageOutput out) {
+            messageOutput.add(out);
+          }
+        });
     return context;
   }
 }