http://git-wip-us.apache.org/repos/asf/zeppelin/blob/0d746fa2/zeppelin-server/src/test/java/org/apache/zeppelin/service/NotebookServiceTest.java
----------------------------------------------------------------------
diff --git 
a/zeppelin-server/src/test/java/org/apache/zeppelin/service/NotebookServiceTest.java
 
b/zeppelin-server/src/test/java/org/apache/zeppelin/service/NotebookServiceTest.java
index 45965fe..ad13dae 100644
--- 
a/zeppelin-server/src/test/java/org/apache/zeppelin/service/NotebookServiceTest.java
+++ 
b/zeppelin-server/src/test/java/org/apache/zeppelin/service/NotebookServiceTest.java
@@ -17,20 +17,6 @@
 
 package org.apache.zeppelin.service;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.reset;
-import static org.mockito.Mockito.verify;
-
-import java.io.IOException;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
 import org.apache.zeppelin.conf.ZeppelinConfiguration;
 import org.apache.zeppelin.notebook.Note;
 import org.apache.zeppelin.notebook.Paragraph;
@@ -41,6 +27,21 @@ import org.junit.AfterClass;
 import org.junit.BeforeClass;
 import org.junit.Test;
 
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.reset;
+import static org.mockito.Mockito.verify;
+
 public class NotebookServiceTest extends AbstractTestRestApi {
 
   private static NotebookService notebookService;
@@ -52,8 +53,8 @@ public class NotebookServiceTest extends AbstractTestRestApi {
 
   @BeforeClass
   public static void setUp() throws Exception {
-    System.setProperty(
-        ZeppelinConfiguration.ConfVars.ZEPPELIN_HELIUM_REGISTRY.getVarName(), 
"helium");
+    
System.setProperty(ZeppelinConfiguration.ConfVars.ZEPPELIN_HELIUM_REGISTRY.getVarName(),
+        "helium");
     AbstractTestRestApi.startUp(NotebookServiceTest.class.getSimpleName());
     notebookService = ZeppelinServer.notebookWsServer.getNotebookService();
   }
@@ -115,8 +116,8 @@ public class NotebookServiceTest extends 
AbstractTestRestApi {
 
     // clone note
     reset(callback);
-    Note clonedNote =
-        notebookService.cloneNote(importedNote.getId(), "Cloned Note", 
context, callback);
+    Note clonedNote = notebookService.cloneNote(importedNote.getId(), "Cloned 
Note", context,
+        callback);
     assertEquals(importedNote.getParagraphCount(), 
clonedNote.getParagraphCount());
     verify(callback).onSuccess(clonedNote, context);
   }
@@ -131,23 +132,16 @@ public class NotebookServiceTest extends 
AbstractTestRestApi {
 
     // add paragraph
     reset(callback);
-    Paragraph p =
-        notebookService.insertParagraph(note1.getId(), 1, new HashMap<>(), 
context, callback);
+    Paragraph p = notebookService.insertParagraph(note1.getId(), 1, new 
HashMap<>(), context,
+        callback);
     assertNotNull(p);
     verify(callback).onSuccess(p, context);
     assertEquals(2, note1.getParagraphCount());
 
     // update paragraph
     reset(callback);
-    notebookService.updateParagraph(
-        note1.getId(),
-        p.getId(),
-        "my_title",
-        "my_text",
-        new HashMap<>(),
-        new HashMap<>(),
-        context,
-        callback);
+    notebookService.updateParagraph(note1.getId(), p.getId(), "my_title", 
"my_text",
+        new HashMap<>(), new HashMap<>(), context, callback);
     assertEquals("my_title", p.getTitle());
     assertEquals("my_text", p.getText());
 
@@ -159,52 +153,22 @@ public class NotebookServiceTest extends 
AbstractTestRestApi {
 
     // run paragraph asynchronously
     reset(callback);
-    boolean runStatus =
-        notebookService.runParagraph(
-            note1.getId(),
-            p.getId(),
-            "my_title",
-            "1+1",
-            new HashMap<>(),
-            new HashMap<>(),
-            false,
-            false,
-            context,
-            callback);
+    boolean runStatus = notebookService.runParagraph(note1.getId(), p.getId(), 
"my_title", "1+1",
+        new HashMap<>(), new HashMap<>(), false, false, context, callback);
     assertTrue(runStatus);
     verify(callback).onSuccess(p, context);
 
     // run paragraph synchronously via correct code
     reset(callback);
-    runStatus =
-        notebookService.runParagraph(
-            note1.getId(),
-            p.getId(),
-            "my_title",
-            "1+1",
-            new HashMap<>(),
-            new HashMap<>(),
-            false,
-            true,
-            context,
-            callback);
+    runStatus = notebookService.runParagraph(note1.getId(), p.getId(), 
"my_title", "1+1",
+        new HashMap<>(), new HashMap<>(), false, true, context, callback);
     assertTrue(runStatus);
     verify(callback).onSuccess(p, context);
 
     // run paragraph synchronously via invalid code
     reset(callback);
-    runStatus =
-        notebookService.runParagraph(
-            note1.getId(),
-            p.getId(),
-            "my_title",
-            "invalid_code",
-            new HashMap<>(),
-            new HashMap<>(),
-            false,
-            true,
-            context,
-            callback);
+    runStatus = notebookService.runParagraph(note1.getId(), p.getId(), 
"my_title", "invalid_code",
+        new HashMap<>(), new HashMap<>(), false, true, context, callback);
     assertFalse(runStatus);
     // TODO(zjffdu) Enable it after ZEPPELIN-3699
     // assertNotNull(p.getResult());

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/0d746fa2/zeppelin-server/src/test/java/org/apache/zeppelin/socket/NotebookServerTest.java
----------------------------------------------------------------------
diff --git 
a/zeppelin-server/src/test/java/org/apache/zeppelin/socket/NotebookServerTest.java
 
b/zeppelin-server/src/test/java/org/apache/zeppelin/socket/NotebookServerTest.java
index a9bc448..03e7ee6 100644
--- 
a/zeppelin-server/src/test/java/org/apache/zeppelin/socket/NotebookServerTest.java
+++ 
b/zeppelin-server/src/test/java/org/apache/zeppelin/socket/NotebookServerTest.java
@@ -16,26 +16,6 @@
  */
 package org.apache.zeppelin.socket;
 
-import static java.util.Arrays.asList;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotEquals;
-import static org.junit.Assert.assertTrue;
-import static org.mockito.Mockito.RETURNS_DEEP_STUBS;
-import static org.mockito.Mockito.anyString;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.never;
-import static org.mockito.Mockito.reset;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import java.io.IOException;
-import java.net.InetAddress;
-import java.net.UnknownHostException;
-import java.util.HashSet;
-import java.util.List;
-import javax.servlet.http.HttpServletRequest;
 import org.apache.zeppelin.conf.ZeppelinConfiguration;
 import org.apache.zeppelin.display.AngularObject;
 import org.apache.zeppelin.display.AngularObjectBuilder;
@@ -57,7 +37,30 @@ import org.junit.Before;
 import org.junit.BeforeClass;
 import org.junit.Test;
 
-/** Basic REST API tests for notebookServer. */
+import javax.servlet.http.HttpServletRequest;
+import java.io.IOException;
+import java.net.InetAddress;
+import java.net.UnknownHostException;
+import java.util.HashSet;
+import java.util.List;
+
+import static java.util.Arrays.asList;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotEquals;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.RETURNS_DEEP_STUBS;
+import static org.mockito.Mockito.anyString;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.reset;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+/**
+ * Basic REST API tests for notebookServer.
+ */
 public class NotebookServerTest extends AbstractTestRestApi {
   private static Notebook notebook;
   private static NotebookServer notebookServer;
@@ -87,13 +90,12 @@ public class NotebookServerTest extends AbstractTestRestApi 
{
     NotebookServer server = new NotebookServer();
     String origin = "http://"; + InetAddress.getLocalHost().getHostName() + 
":8080";
 
-    assertTrue(
-        "Origin " + origin + " is not allowed. Please check your hostname.",
-        server.checkOrigin(mockRequest, origin));
+    assertTrue("Origin " + origin + " is not allowed. Please check your 
hostname.",
+          server.checkOrigin(mockRequest, origin));
   }
 
   @Test
-  public void checkInvalidOrigin() {
+  public void checkInvalidOrigin(){
     NotebookServer server = new NotebookServer();
     assertFalse(server.checkOrigin(mockRequest, "http://evillocalhost:8080";));
   }
@@ -123,13 +125,12 @@ public class NotebookServerTest extends 
AbstractTestRestApi {
     Paragraph paragraph = createdNote.getParagraphs().get(0);
     String paragraphId = paragraph.getId();
 
-    String[] patches =
-        new String[] {
-          "@@ -0,0 +1,3 @@\n+ABC\n", // ABC
-          "@@ -1,3 +1,4 @@\n ABC\n+%0A\n", // press Enter
-          "@@ -1,4 +1,7 @@\n ABC%0A\n+abc\n", // abc
-          "@@ -1,7 +1,45 @@\n ABC\n-%0Aabc\n+ ssss%0Aabc ssss\n" // add text 
in two string
-        };
+    String[] patches = new String[]{
+        "@@ -0,0 +1,3 @@\n+ABC\n",            // ABC
+        "@@ -1,3 +1,4 @@\n ABC\n+%0A\n",      // press Enter
+        "@@ -1,4 +1,7 @@\n ABC%0A\n+abc\n",   // abc
+        "@@ -1,7 +1,45 @@\n ABC\n-%0Aabc\n+ ssss%0Aabc ssss\n" // add text in 
two string
+    };
 
     int sock1SendCount = 0;
     int sock2SendCount = 0;
@@ -167,14 +168,14 @@ public class NotebookServerTest extends 
AbstractTestRestApi {
 
   @Test
   public void testMakeSureNoAngularObjectBroadcastToWebsocketWhoFireTheEvent()
-      throws IOException, InterruptedException {
+          throws IOException, InterruptedException {
     // create a notebook
     Note note1 = notebook.createNote(anonymous);
 
     // get reference to interpreterGroup
     InterpreterGroup interpreterGroup = null;
-    List<InterpreterSetting> settings =
-        
notebook.getInterpreterSettingManager().getInterpreterSettings(note1.getId());
+    List<InterpreterSetting> settings = notebook.getInterpreterSettingManager()
+            .getInterpreterSettings(note1.getId());
     for (InterpreterSetting setting : settings) {
       if (setting.getName().equals("md")) {
         interpreterGroup = setting.getOrCreateInterpreterGroup("anonymous", 
"sharedProcess");
@@ -219,14 +220,13 @@ public class NotebookServerTest extends 
AbstractTestRestApi {
     reset(sock2);
 
     // update object from sock1
-    notebookServer.onMessage(
-        sock1,
+    notebookServer.onMessage(sock1,
         new Message(OP.ANGULAR_OBJECT_UPDATED)
-            .put("noteId", note1.getId())
-            .put("name", "object1")
-            .put("value", "value1")
-            .put("interpreterGroupId", interpreterGroup.getId())
-            .toJson());
+        .put("noteId", note1.getId())
+        .put("name", "object1")
+        .put("value", "value1")
+        .put("interpreterGroupId", interpreterGroup.getId()).toJson());
+
 
     // expect object is broadcasted except for where the update is created
     verify(sock1, times(0)).send(anyString());
@@ -237,39 +237,35 @@ public class NotebookServerTest extends 
AbstractTestRestApi {
 
   @Test
   public void testImportNotebook() throws IOException {
-    String msg =
-        "{\"op\":\"IMPORT_NOTE\",\"data\":"
-            + "{\"note\":{\"paragraphs\": [{\"text\": \"Test "
-            + "paragraphs import\","
-            + "\"progressUpdateIntervalMs\":500,"
-            + "\"config\":{},\"settings\":{}}],"
-            + "\"name\": \"Test Zeppelin notebook import\",\"config\": "
-            + "{}}}}";
+    String msg = "{\"op\":\"IMPORT_NOTE\",\"data\":" +
+        "{\"note\":{\"paragraphs\": [{\"text\": \"Test " +
+        "paragraphs import\"," + "\"progressUpdateIntervalMs\":500," +
+        "\"config\":{},\"settings\":{}}]," +
+        "\"name\": \"Test Zeppelin notebook import\",\"config\": " +
+        "{}}}}";
     Message messageReceived = notebookServer.deserializeMessage(msg);
     Note note = null;
     try {
       note = notebookServer.importNote(null, messageReceived);
     } catch (NullPointerException e) {
-      // broadcastNoteList(); failed nothing to worry.
-      LOG.error(
-          "Exception in NotebookServerTest while testImportNotebook, failed 
nothing to " + "worry ",
-          e);
+      //broadcastNoteList(); failed nothing to worry.
+      LOG.error("Exception in NotebookServerTest while testImportNotebook, 
failed nothing to " +
+          "worry ", e);
     }
 
     assertNotEquals(null, notebook.getNote(note.getId()));
     assertEquals("Test Zeppelin notebook import", 
notebook.getNote(note.getId()).getName());
-    assertEquals(
-        "Test paragraphs import", 
notebook.getNote(note.getId()).getParagraphs().get(0).getText());
+    assertEquals("Test paragraphs import", 
notebook.getNote(note.getId()).getParagraphs().get(0)
+            .getText());
     notebook.removeNote(note.getId(), anonymous);
   }
 
   @Test
   public void bindAngularObjectToRemoteForParagraphs() throws Exception {
-    // Given
+    //Given
     final String varName = "name";
     final String value = "DuyHai DOAN";
-    final Message messageReceived =
-        new Message(OP.ANGULAR_OBJECT_CLIENT_BIND)
+    final Message messageReceived = new Message(OP.ANGULAR_OBJECT_CLIENT_BIND)
             .put("noteId", "noteId")
             .put("name", varName)
             .put("value", value)
@@ -289,22 +285,20 @@ public class NotebookServerTest extends 
AbstractTestRestApi {
 
     
when(paragraph.getBindedInterpreter().getInterpreterGroup()).thenReturn(mdGroup);
 
-    final AngularObject<String> ao1 =
-        AngularObjectBuilder.build(varName, value, "noteId", "paragraphId");
+    final AngularObject<String> ao1 = AngularObjectBuilder.build(varName, 
value, "noteId",
+            "paragraphId");
 
     when(mdRegistry.addAndNotifyRemoteProcess(varName, value, "noteId", 
"paragraphId"))
-        .thenReturn(ao1);
+            .thenReturn(ao1);
 
     NotebookSocket conn = mock(NotebookSocket.class);
     NotebookSocket otherConn = mock(NotebookSocket.class);
 
-    final String mdMsg1 =
-        server.serializeMessage(
-            new Message(OP.ANGULAR_OBJECT_UPDATE)
-                .put("angularObject", ao1)
-                .put("interpreterGroupId", "mdGroup")
-                .put("noteId", "noteId")
-                .put("paragraphId", "paragraphId"));
+    final String mdMsg1 =  server.serializeMessage(new 
Message(OP.ANGULAR_OBJECT_UPDATE)
+            .put("angularObject", ao1)
+            .put("interpreterGroupId", "mdGroup")
+            .put("noteId", "noteId")
+            .put("paragraphId", "paragraphId"));
 
     server.getConnectionManager().noteSocketMap.put("noteId", asList(conn, 
otherConn));
 
@@ -319,11 +313,10 @@ public class NotebookServerTest extends 
AbstractTestRestApi {
 
   @Test
   public void bindAngularObjectToLocalForParagraphs() throws Exception {
-    // Given
+    //Given
     final String varName = "name";
     final String value = "DuyHai DOAN";
-    final Message messageReceived =
-        new Message(OP.ANGULAR_OBJECT_CLIENT_BIND)
+    final Message messageReceived = new Message(OP.ANGULAR_OBJECT_CLIENT_BIND)
             .put("noteId", "noteId")
             .put("name", varName)
             .put("value", value)
@@ -342,21 +335,19 @@ public class NotebookServerTest extends 
AbstractTestRestApi {
 
     
when(paragraph.getBindedInterpreter().getInterpreterGroup()).thenReturn(mdGroup);
 
-    final AngularObject<String> ao1 =
-        AngularObjectBuilder.build(varName, value, "noteId", "paragraphId");
+    final AngularObject<String> ao1 = AngularObjectBuilder.build(varName, 
value, "noteId",
+            "paragraphId");
 
     when(mdRegistry.add(varName, value, "noteId", 
"paragraphId")).thenReturn(ao1);
 
     NotebookSocket conn = mock(NotebookSocket.class);
     NotebookSocket otherConn = mock(NotebookSocket.class);
 
-    final String mdMsg1 =
-        server.serializeMessage(
-            new Message(OP.ANGULAR_OBJECT_UPDATE)
-                .put("angularObject", ao1)
-                .put("interpreterGroupId", "mdGroup")
-                .put("noteId", "noteId")
-                .put("paragraphId", "paragraphId"));
+    final String mdMsg1 =  server.serializeMessage(new 
Message(OP.ANGULAR_OBJECT_UPDATE)
+            .put("angularObject", ao1)
+            .put("interpreterGroupId", "mdGroup")
+            .put("noteId", "noteId")
+            .put("paragraphId", "paragraphId"));
 
     server.getConnectionManager().noteSocketMap.put("noteId", asList(conn, 
otherConn));
 
@@ -369,11 +360,10 @@ public class NotebookServerTest extends 
AbstractTestRestApi {
 
   @Test
   public void unbindAngularObjectFromRemoteForParagraphs() throws Exception {
-    // Given
+    //Given
     final String varName = "name";
     final String value = "val";
-    final Message messageReceived =
-        new Message(OP.ANGULAR_OBJECT_CLIENT_UNBIND)
+    final Message messageReceived = new 
Message(OP.ANGULAR_OBJECT_CLIENT_UNBIND)
             .put("noteId", "noteId")
             .put("name", varName)
             .put("paragraphId", "paragraphId");
@@ -391,19 +381,17 @@ public class NotebookServerTest extends 
AbstractTestRestApi {
 
     
when(paragraph.getBindedInterpreter().getInterpreterGroup()).thenReturn(mdGroup);
 
-    final AngularObject<String> ao1 =
-        AngularObjectBuilder.build(varName, value, "noteId", "paragraphId");
+    final AngularObject<String> ao1 = AngularObjectBuilder.build(varName, 
value, "noteId",
+            "paragraphId");
     when(mdRegistry.removeAndNotifyRemoteProcess(varName, "noteId", 
"paragraphId")).thenReturn(ao1);
     NotebookSocket conn = mock(NotebookSocket.class);
     NotebookSocket otherConn = mock(NotebookSocket.class);
 
-    final String mdMsg1 =
-        server.serializeMessage(
-            new Message(OP.ANGULAR_OBJECT_REMOVE)
-                .put("angularObject", ao1)
-                .put("interpreterGroupId", "mdGroup")
-                .put("noteId", "noteId")
-                .put("paragraphId", "paragraphId"));
+    final String mdMsg1 =  server.serializeMessage(new 
Message(OP.ANGULAR_OBJECT_REMOVE)
+            .put("angularObject", ao1)
+            .put("interpreterGroupId", "mdGroup")
+            .put("noteId", "noteId")
+            .put("paragraphId", "paragraphId"));
 
     server.getConnectionManager().noteSocketMap.put("noteId", asList(conn, 
otherConn));
 
@@ -418,11 +406,10 @@ public class NotebookServerTest extends 
AbstractTestRestApi {
 
   @Test
   public void unbindAngularObjectFromLocalForParagraphs() throws Exception {
-    // Given
+    //Given
     final String varName = "name";
     final String value = "val";
-    final Message messageReceived =
-        new Message(OP.ANGULAR_OBJECT_CLIENT_UNBIND)
+    final Message messageReceived = new 
Message(OP.ANGULAR_OBJECT_CLIENT_UNBIND)
             .put("noteId", "noteId")
             .put("name", varName)
             .put("paragraphId", "paragraphId");
@@ -440,21 +427,19 @@ public class NotebookServerTest extends 
AbstractTestRestApi {
 
     
when(paragraph.getBindedInterpreter().getInterpreterGroup()).thenReturn(mdGroup);
 
-    final AngularObject<String> ao1 =
-        AngularObjectBuilder.build(varName, value, "noteId", "paragraphId");
+    final AngularObject<String> ao1 = AngularObjectBuilder.build(varName, 
value, "noteId",
+            "paragraphId");
 
     when(mdRegistry.remove(varName, "noteId", "paragraphId")).thenReturn(ao1);
 
     NotebookSocket conn = mock(NotebookSocket.class);
     NotebookSocket otherConn = mock(NotebookSocket.class);
 
-    final String mdMsg1 =
-        server.serializeMessage(
-            new Message(OP.ANGULAR_OBJECT_REMOVE)
-                .put("angularObject", ao1)
-                .put("interpreterGroupId", "mdGroup")
-                .put("noteId", "noteId")
-                .put("paragraphId", "paragraphId"));
+    final String mdMsg1 =  server.serializeMessage(new 
Message(OP.ANGULAR_OBJECT_REMOVE)
+            .put("angularObject", ao1)
+            .put("interpreterGroupId", "mdGroup")
+            .put("noteId", "noteId")
+            .put("paragraphId", "paragraphId"));
     server.getConnectionManager().noteSocketMap.put("noteId", asList(conn, 
otherConn));
 
     // When
@@ -483,12 +468,10 @@ public class NotebookServerTest extends 
AbstractTestRestApi {
       defaultInterpreterId = settings.get(0).getId();
     }
     // create note from sock1
-    notebookServer.onMessage(
-        sock1,
+    notebookServer.onMessage(sock1,
         new Message(OP.NEW_NOTE)
-            .put("name", noteName)
-            .put("defaultInterpreterId", defaultInterpreterId)
-            .toJson());
+        .put("name", noteName)
+        .put("defaultInterpreterId", defaultInterpreterId).toJson());
 
     int sendCount = 2;
     if 
(ZeppelinConfiguration.create().isZeppelinNotebookCollaborativeModeEnable()) {
@@ -506,12 +489,8 @@ public class NotebookServerTest extends 
AbstractTestRestApi {
     }
 
     if (settings.size() > 1) {
-      assertEquals(
-          notebook
-              .getInterpreterSettingManager()
-              .getDefaultInterpreterSetting(createdNote.getId())
-              .getId(),
-          defaultInterpreterId);
+      
assertEquals(notebook.getInterpreterSettingManager().getDefaultInterpreterSetting(
+              createdNote.getId()).getId(), defaultInterpreterId);
     }
     notebook.removeNote(createdNote.getId(), anonymous);
   }

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/0d746fa2/zeppelin-server/src/test/java/org/apache/zeppelin/ticket/TicketContainerTest.java
----------------------------------------------------------------------
diff --git 
a/zeppelin-server/src/test/java/org/apache/zeppelin/ticket/TicketContainerTest.java
 
b/zeppelin-server/src/test/java/org/apache/zeppelin/ticket/TicketContainerTest.java
index e1a5d3b..02f48f7 100644
--- 
a/zeppelin-server/src/test/java/org/apache/zeppelin/ticket/TicketContainerTest.java
+++ 
b/zeppelin-server/src/test/java/org/apache/zeppelin/ticket/TicketContainerTest.java
@@ -56,3 +56,4 @@ public class TicketContainerTest {
     assertFalse(ok);
   }
 }
+

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/0d746fa2/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/Helium.java
----------------------------------------------------------------------
diff --git 
a/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/Helium.java 
b/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/Helium.java
index b767a40..399aea8 100644
--- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/Helium.java
+++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/Helium.java
@@ -17,9 +17,6 @@
 package org.apache.zeppelin.helium;
 
 import com.google.gson.Gson;
-import java.io.File;
-import java.io.IOException;
-import java.util.*;
 import org.apache.commons.io.FileUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.zeppelin.interpreter.Interpreter;
@@ -33,7 +30,13 @@ import org.apache.zeppelin.resource.*;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-/** Manages helium packages */
+import java.io.File;
+import java.io.IOException;
+import java.util.*;
+
+/**
+ * Manages helium packages
+ */
 public class Helium {
   private Logger logger = LoggerFactory.getLogger(Helium.class);
   private List<HeliumRegistry> registry = new LinkedList<>();
@@ -156,8 +159,8 @@ public class Helium {
    * @param refresh
    * @param packageName
    */
-  public Map<String, List<HeliumPackageSearchResult>> getAllPackageInfo(
-      boolean refresh, String packageName) {
+  public Map<String, List<HeliumPackageSearchResult>> 
getAllPackageInfo(boolean refresh,
+                                                                        String 
packageName) {
     Map<String, String> enabledPackageInfo = heliumConf.getEnabledPackages();
 
     synchronized (registry) {
@@ -167,7 +170,8 @@ public class Helium {
             for (HeliumPackage pkg : r.getAll()) {
               String name = pkg.getName();
 
-              if (!StringUtils.isEmpty(packageName) && 
!name.equals(packageName)) {
+              if (!StringUtils.isEmpty(packageName) &&
+                  !name.equals(packageName)) {
                 continue;
               }
 
@@ -184,7 +188,8 @@ public class Helium {
         }
       } else {
         for (String name : allPackages.keySet()) {
-          if (!StringUtils.isEmpty(packageName) && !name.equals(packageName)) {
+          if (!StringUtils.isEmpty(packageName) &&
+              !name.equals(packageName)) {
             continue;
           }
 
@@ -203,14 +208,12 @@ public class Helium {
       // sort version (artifact)
       for (String name : allPackages.keySet()) {
         List<HeliumPackageSearchResult> packages = allPackages.get(name);
-        Collections.sort(
-            packages,
-            new Comparator<HeliumPackageSearchResult>() {
-              @Override
-              public int compare(HeliumPackageSearchResult o1, 
HeliumPackageSearchResult o2) {
-                return 
o2.getPkg().getArtifact().compareTo(o1.getPkg().getArtifact());
-              }
-            });
+        Collections.sort(packages, new Comparator<HeliumPackageSearchResult>() 
{
+          @Override
+          public int compare(HeliumPackageSearchResult o1, 
HeliumPackageSearchResult o2) {
+            return 
o2.getPkg().getArtifact().compareTo(o1.getPkg().getArtifact());
+          }
+        });
       }
       return allPackages;
     }
@@ -256,8 +259,7 @@ public class Helium {
     Map<String, List<HeliumPackageSearchResult>> infos = 
getAllPackageInfo(false, pkgName);
     List<HeliumPackageSearchResult> packages = infos.get(pkgName);
     if (StringUtils.isBlank(artifact)) {
-      return packages.get(0);
-      /** return the FIRST package */
+      return packages.get(0); /** return the FIRST package */
     } else {
       for (HeliumPackageSearchResult pkg : packages) {
         if (pkg.getPkg().getArtifact().equals(artifact)) {
@@ -362,12 +364,11 @@ public class Helium {
     for (List<HeliumPackageSearchResult> pkgs : allPackages.values()) {
       for (HeliumPackageSearchResult pkg : pkgs) {
         if (pkg.getPkg().getType() == HeliumType.APPLICATION && 
pkg.isEnabled()) {
-          ResourceSet resources =
-              ApplicationLoader.findRequiredResourceSet(
-                  pkg.getPkg().getResources(),
-                  paragraph.getNote().getId(),
-                  paragraph.getId(),
-                  allResources);
+          ResourceSet resources = ApplicationLoader.findRequiredResourceSet(
+              pkg.getPkg().getResources(),
+              paragraph.getNote().getId(),
+              paragraph.getId(),
+              allResources);
           if (resources == null) {
             continue;
           } else {
@@ -421,19 +422,20 @@ public class Helium {
   }
 
   private boolean canBundle(HeliumPackageSearchResult pkgInfo) {
-    return (pkgInfo.isEnabled() && 
HeliumPackage.isBundleType(pkgInfo.getPkg().getType()));
+    return (pkgInfo.isEnabled() &&
+        HeliumPackage.isBundleType(pkgInfo.getPkg().getType()));
   }
 
   /**
    * Get enabled package list in order
-   *
    * @return
    */
   public List<String> getVisualizationPackageOrder() {
     return heliumConf.getBundleDisplayOrder();
   }
 
-  public void setVisualizationPackageOrder(List<String> orderedPackageList) 
throws IOException {
+  public void setVisualizationPackageOrder(List<String> orderedPackageList)
+      throws IOException {
     heliumConf.setBundleDisplayOrder(orderedPackageList);
     saveConfig();
   }
@@ -452,12 +454,14 @@ public class Helium {
     HeliumPackage enabledPackage = result.getPkg();
 
     Map<String, Object> configSpec = enabledPackage.getConfig();
-    Map<String, Object> configPersisted = 
getPackagePersistedConfig(enabledPackage.getArtifact());
+    Map<String, Object> configPersisted =
+        getPackagePersistedConfig(enabledPackage.getArtifact());
 
     return createMixedConfig(configPersisted, configSpec);
   }
 
-  public Map<String, Map<String, Object>> getPackageConfig(String pkgName, 
String artifact) {
+  public Map<String, Map<String, Object>> getPackageConfig(String pkgName,
+                                                           String artifact) {
 
     HeliumPackageSearchResult result = getPackageInfo(pkgName, artifact);
 
@@ -468,13 +472,14 @@ public class Helium {
     HeliumPackage requestedPackage = result.getPkg();
 
     Map<String, Object> configSpec = requestedPackage.getConfig();
-    Map<String, Object> configPersisted = getPackagePersistedConfig(artifact);
+    Map<String, Object> configPersisted =
+        getPackagePersistedConfig(artifact);
 
     return createMixedConfig(configPersisted, configSpec);
   }
 
-  private static Map<String, Map<String, Object>> createMixedConfig(
-      Map<String, Object> persisted, Map<String, Object> spec) {
+  private static Map<String, Map<String, Object>> 
createMixedConfig(Map<String, Object> persisted,
+                                                                   Map<String, 
Object> spec) {
     Map<String, Map<String, Object>> mixed = new HashMap<>();
     mixed.put("confPersisted", persisted);
     mixed.put("confSpec", spec);
@@ -489,8 +494,8 @@ public class Helium {
   private ResourceSet getAllResourcesExcept(String interpreterGroupExcludsion) 
{
     ResourceSet resourceSet = new ResourceSet();
     for (ManagedInterpreterGroup intpGroup : 
interpreterSettingManager.getAllInterpreterGroup()) {
-      if (interpreterGroupExcludsion != null
-          && intpGroup.getId().equals(interpreterGroupExcludsion)) {
+      if (interpreterGroupExcludsion != null &&
+          intpGroup.getId().equals(interpreterGroupExcludsion)) {
         continue;
       }
 
@@ -501,15 +506,14 @@ public class Helium {
           resourceSet.addAll(localPool.getAll());
         }
       } else if (remoteInterpreterProcess.isRunning()) {
-        List<String> resourceList =
-            remoteInterpreterProcess.callRemoteFunction(
-                new RemoteInterpreterProcess.RemoteFunction<List<String>>() {
-                  @Override
-                  public List<String> call(RemoteInterpreterService.Client 
client)
-                      throws Exception {
-                    return client.resourcePoolGetAll();
-                  }
-                });
+        List<String> resourceList = 
remoteInterpreterProcess.callRemoteFunction(
+            new RemoteInterpreterProcess.RemoteFunction<List<String>>() {
+              @Override
+              public List<String> call(RemoteInterpreterService.Client client) 
throws Exception {
+                return client.resourcePoolGetAll();
+              }
+            }
+        );
         Gson gson = new Gson();
         for (String res : resourceList) {
           resourceSet.add(gson.fromJson(res, Resource.class));

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/0d746fa2/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/HeliumApplicationFactory.java
----------------------------------------------------------------------
diff --git 
a/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/HeliumApplicationFactory.java
 
b/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/HeliumApplicationFactory.java
index a09f10a..707a230 100644
--- 
a/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/HeliumApplicationFactory.java
+++ 
b/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/HeliumApplicationFactory.java
@@ -16,8 +16,6 @@
  */
 package org.apache.zeppelin.helium;
 
-import java.util.List;
-import java.util.concurrent.ExecutorService;
 import org.apache.zeppelin.interpreter.*;
 import org.apache.zeppelin.interpreter.remote.RemoteAngularObjectRegistry;
 import org.apache.zeppelin.interpreter.remote.RemoteInterpreterProcess;
@@ -29,7 +27,12 @@ import org.apache.zeppelin.scheduler.Job;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-/** HeliumApplicationFactory */
+import java.util.List;
+import java.util.concurrent.ExecutorService;
+
+/**
+ * HeliumApplicationFactory
+ */
 public class HeliumApplicationFactory implements ApplicationEventListener, 
NotebookEventListener {
   private final Logger logger = 
LoggerFactory.getLogger(HeliumApplicationFactory.class);
   private final ExecutorService executor;
@@ -37,27 +40,29 @@ public class HeliumApplicationFactory implements 
ApplicationEventListener, Noteb
   private ApplicationEventListener applicationEventListener;
 
   public HeliumApplicationFactory() {
-    executor =
-        
ExecutorFactory.singleton().createOrGet(HeliumApplicationFactory.class.getName(),
 10);
+    executor = ExecutorFactory.singleton().createOrGet(
+        HeliumApplicationFactory.class.getName(), 10);
   }
 
   private boolean isRemote(InterpreterGroup group) {
     return group.getAngularObjectRegistry() instanceof 
RemoteAngularObjectRegistry;
   }
 
-  /** Load pkg and run task */
+
+  /**
+   * Load pkg and run task
+   */
   public String loadAndRun(HeliumPackage pkg, Paragraph paragraph) {
     ApplicationState appState = paragraph.createOrGetApplicationState(pkg);
-    onLoad(
-        paragraph.getNote().getId(),
-        paragraph.getId(),
-        appState.getId(),
+    onLoad(paragraph.getNote().getId(), paragraph.getId(), appState.getId(),
         appState.getHeliumPackage());
     executor.submit(new LoadApplication(appState, pkg, paragraph));
     return appState.getId();
   }
 
-  /** Load application and run in the remote process */
+  /**
+   * Load application and run in the remote process
+   */
   private class LoadApplication implements Runnable {
     private final HeliumPackage pkg;
     private final Paragraph paragraph;
@@ -109,16 +114,19 @@ public class HeliumApplicationFactory implements 
ApplicationEventListener, Noteb
         final String pkgInfo = pkg.toJson();
         final String appId = appState.getId();
 
-        RemoteApplicationResult ret =
-            intpProcess.callRemoteFunction(
-                new 
RemoteInterpreterProcess.RemoteFunction<RemoteApplicationResult>() {
-                  @Override
-                  public RemoteApplicationResult 
call(RemoteInterpreterService.Client client)
-                      throws Exception {
-                    return client.loadApplication(
-                        appId, pkgInfo, paragraph.getNote().getId(), 
paragraph.getId());
-                  }
-                });
+        RemoteApplicationResult ret = intpProcess.callRemoteFunction(
+            new 
RemoteInterpreterProcess.RemoteFunction<RemoteApplicationResult>() {
+              @Override
+              public RemoteApplicationResult 
call(RemoteInterpreterService.Client client)
+                  throws Exception {
+                return client.loadApplication(
+                    appId,
+                    pkgInfo,
+                    paragraph.getNote().getId(),
+                    paragraph.getId());
+              }
+            }
+        );
         if (ret.isSuccess()) {
           appStatusChange(paragraph, appState.getId(), 
ApplicationState.Status.LOADED);
         } else {
@@ -130,7 +138,6 @@ public class HeliumApplicationFactory implements 
ApplicationEventListener, Noteb
 
   /**
    * Get ApplicationState
-   *
    * @param paragraph
    * @param appId
    * @return
@@ -140,7 +147,8 @@ public class HeliumApplicationFactory implements 
ApplicationEventListener, Noteb
   }
 
   /**
-   * Unload application It does not remove ApplicationState
+   * Unload application
+   * It does not remove ApplicationState
    *
    * @param paragraph
    * @param appId
@@ -149,7 +157,9 @@ public class HeliumApplicationFactory implements 
ApplicationEventListener, Noteb
     executor.execute(new UnloadApplication(paragraph, appId));
   }
 
-  /** Unload application task */
+  /**
+   * Unload application task
+   */
   private class UnloadApplication implements Runnable {
     private final Paragraph paragraph;
     private final String appId;
@@ -203,15 +213,15 @@ public class HeliumApplicationFactory implements 
ApplicationEventListener, Noteb
           throw new ApplicationException("Target interpreter process is not 
running");
         }
 
-        RemoteApplicationResult ret =
-            intpProcess.callRemoteFunction(
-                new 
RemoteInterpreterProcess.RemoteFunction<RemoteApplicationResult>() {
-                  @Override
-                  public RemoteApplicationResult 
call(RemoteInterpreterService.Client client)
-                      throws Exception {
-                    return client.unloadApplication(appsToUnload.getId());
-                  }
-                });
+        RemoteApplicationResult ret = intpProcess.callRemoteFunction(
+            new 
RemoteInterpreterProcess.RemoteFunction<RemoteApplicationResult>() {
+              @Override
+              public RemoteApplicationResult 
call(RemoteInterpreterService.Client client)
+                  throws Exception {
+                return client.unloadApplication(appsToUnload.getId());
+              }
+            }
+        );
         if (ret.isSuccess()) {
           appStatusChange(paragraph, appsToUnload.getId(), 
ApplicationState.Status.UNLOADED);
         } else {
@@ -222,7 +232,8 @@ public class HeliumApplicationFactory implements 
ApplicationEventListener, Noteb
   }
 
   /**
-   * Run application It does not remove ApplicationState
+   * Run application
+   * It does not remove ApplicationState
    *
    * @param paragraph
    * @param appId
@@ -231,7 +242,9 @@ public class HeliumApplicationFactory implements 
ApplicationEventListener, Noteb
     executor.execute(new RunApplication(paragraph, appId));
   }
 
-  /** Run application task */
+  /**
+   * Run application task
+   */
   private class RunApplication implements Runnable {
     private final Paragraph paragraph;
     private final String appId;
@@ -265,7 +278,8 @@ public class HeliumApplicationFactory implements 
ApplicationEventListener, Noteb
     private void run(final ApplicationState app) throws ApplicationException {
       synchronized (app) {
         if (app.getStatus() != ApplicationState.Status.LOADED) {
-          throw new ApplicationException("Can't run application status " + 
app.getStatus());
+          throw new ApplicationException(
+              "Can't run application status " + app.getStatus());
         }
 
         Interpreter intp = null;
@@ -280,15 +294,15 @@ public class HeliumApplicationFactory implements 
ApplicationEventListener, Noteb
         if (intpProcess == null) {
           throw new ApplicationException("Target interpreter process is not 
running");
         }
-        RemoteApplicationResult ret =
-            intpProcess.callRemoteFunction(
-                new 
RemoteInterpreterProcess.RemoteFunction<RemoteApplicationResult>() {
-                  @Override
-                  public RemoteApplicationResult 
call(RemoteInterpreterService.Client client)
-                      throws Exception {
-                    return client.runApplication(app.getId());
-                  }
-                });
+        RemoteApplicationResult ret = intpProcess.callRemoteFunction(
+            new 
RemoteInterpreterProcess.RemoteFunction<RemoteApplicationResult>() {
+              @Override
+              public RemoteApplicationResult 
call(RemoteInterpreterService.Client client)
+                  throws Exception {
+                return client.runApplication(app.getId());
+              }
+            }
+        );
         if (ret.isSuccess()) {
           // success
         } else {
@@ -316,12 +330,8 @@ public class HeliumApplicationFactory implements 
ApplicationEventListener, Noteb
 
   @Override
   public void onOutputUpdated(
-      String noteId,
-      String paragraphId,
-      int index,
-      String appId,
-      InterpreterResult.Type type,
-      String output) {
+      String noteId, String paragraphId, int index, String appId,
+      InterpreterResult.Type type, String output) {
     ApplicationState appToUpdate = getAppState(noteId, paragraphId, appId);
 
     if (appToUpdate != null) {
@@ -354,7 +364,9 @@ public class HeliumApplicationFactory implements 
ApplicationEventListener, Noteb
     }
   }
 
-  private void appStatusChange(Paragraph paragraph, String appId, 
ApplicationState.Status status) {
+  private void appStatusChange(Paragraph paragraph,
+                               String appId,
+                               ApplicationState.Status status) {
     ApplicationState app = paragraph.getApplicationState(appId);
     app.setStatus(status);
     onStatusChange(paragraph.getNote().getId(), paragraph.getId(), appId, 
status.toString());
@@ -398,10 +410,13 @@ public class HeliumApplicationFactory implements 
ApplicationEventListener, Noteb
   }
 
   @Override
-  public void onNoteRemove(Note note) {}
+  public void onNoteRemove(Note note) {
+  }
 
   @Override
-  public void onNoteCreate(Note note) {}
+  public void onNoteCreate(Note note) {
+
+  }
 
   @Override
   public void onParagraphRemove(Paragraph paragraph) {
@@ -413,7 +428,9 @@ public class HeliumApplicationFactory implements 
ApplicationEventListener, Noteb
   }
 
   @Override
-  public void onParagraphCreate(Paragraph p) {}
+  public void onParagraphCreate(Paragraph p) {
+
+  }
 
   @Override
   public void onParagraphStatusChange(Paragraph p, Job.Status status) {

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/0d746fa2/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/HeliumBundleFactory.java
----------------------------------------------------------------------
diff --git 
a/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/HeliumBundleFactory.java
 
b/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/HeliumBundleFactory.java
index 5777184..3b5aa3b 100644
--- 
a/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/HeliumBundleFactory.java
+++ 
b/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/HeliumBundleFactory.java
@@ -17,14 +17,13 @@
 package org.apache.zeppelin.helium;
 
 import com.github.eirslett.maven.plugins.frontend.lib.*;
+
 import com.google.common.base.Charsets;
 import com.google.common.io.Resources;
 import com.google.gson.Gson;
 import com.google.gson.reflect.TypeToken;
 import com.google.gson.stream.JsonReader;
-import java.io.*;
-import java.net.URI;
-import java.util.*;
+
 import org.apache.commons.compress.archivers.tar.TarArchiveEntry;
 import org.apache.commons.compress.archivers.tar.TarArchiveInputStream;
 import org.apache.commons.compress.compressors.gzip.GzipCompressorInputStream;
@@ -36,11 +35,18 @@ import org.apache.log4j.PatternLayout;
 import org.apache.log4j.WriterAppender;
 import org.apache.log4j.spi.Filter;
 import org.apache.log4j.spi.LoggingEvent;
-import org.apache.zeppelin.conf.ZeppelinConfiguration;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-/** Load helium visualization & spell */
+import java.io.*;
+import java.net.URI;
+import java.util.*;
+
+import org.apache.zeppelin.conf.ZeppelinConfiguration;
+
+/**
+ * Load helium visualization & spell
+ */
 public class HeliumBundleFactory {
   private Logger logger = LoggerFactory.getLogger(HeliumBundleFactory.class);
   private static final String NODE_VERSION = "v6.9.1";
@@ -76,7 +82,7 @@ public class HeliumBundleFactory {
   private Gson gson;
   private boolean nodeAndNpmInstalled = false;
 
-  private ByteArrayOutputStream out = new ByteArrayOutputStream();
+  private ByteArrayOutputStream out  = new ByteArrayOutputStream();
 
   public HeliumBundleFactory(
       ZeppelinConfiguration conf,
@@ -84,8 +90,7 @@ public class HeliumBundleFactory {
       File moduleDownloadPath,
       File tabledataModulePath,
       File visualizationModulePath,
-      File spellModulePath)
-      throws TaskRunnerException {
+      File spellModulePath) throws TaskRunnerException {
     this(conf, nodeInstallationDir, moduleDownloadPath);
     this.tabledataModulePath = tabledataModulePath;
     this.visualizationModulePath = visualizationModulePath;
@@ -93,8 +98,9 @@ public class HeliumBundleFactory {
   }
 
   private HeliumBundleFactory(
-      ZeppelinConfiguration conf, File nodeInstallationDir, File 
moduleDownloadPath)
-      throws TaskRunnerException {
+      ZeppelinConfiguration conf,
+      File nodeInstallationDir,
+      File moduleDownloadPath) throws TaskRunnerException {
     this.heliumLocalRepoDirectory = new File(moduleDownloadPath, 
HELIUM_LOCAL_REPO);
     this.heliumBundleDirectory = new File(heliumLocalRepoDirectory, 
HELIUM_BUNDLES_DIR);
     this.heliumLocalModuleDirectory = new File(heliumLocalRepoDirectory, 
HELIUM_LOCAL_MODULE_DIR);
@@ -103,11 +109,11 @@ public class HeliumBundleFactory {
     this.defaultNpmInstallerUrl = conf.getHeliumNpmInstallerUrl();
     this.defaultYarnInstallerUrl = conf.getHeliumYarnInstallerUrl();
 
-    nodeInstallationDirectory =
-        (nodeInstallationDir == null) ? heliumLocalRepoDirectory : 
nodeInstallationDir;
+    nodeInstallationDirectory = (nodeInstallationDir == null) ?
+        heliumLocalRepoDirectory : nodeInstallationDir;
 
-    frontEndPluginFactory =
-        new FrontendPluginFactory(heliumLocalRepoDirectory, 
nodeInstallationDirectory);
+    frontEndPluginFactory = new FrontendPluginFactory(
+            heliumLocalRepoDirectory, nodeInstallationDirectory);
 
     gson = new Gson();
   }
@@ -117,20 +123,20 @@ public class HeliumBundleFactory {
       return;
     }
     try {
-      NodeInstaller nodeInstaller =
-          
frontEndPluginFactory.getNodeInstaller(getProxyConfig(isSecure(defaultNodeInstallerUrl)));
+      NodeInstaller nodeInstaller = frontEndPluginFactory
+              
.getNodeInstaller(getProxyConfig(isSecure(defaultNodeInstallerUrl)));
       nodeInstaller.setNodeVersion(NODE_VERSION);
       nodeInstaller.setNodeDownloadRoot(defaultNodeInstallerUrl);
       nodeInstaller.install();
 
-      NPMInstaller npmInstaller =
-          
frontEndPluginFactory.getNPMInstaller(getProxyConfig(isSecure(defaultNpmInstallerUrl)));
+      NPMInstaller npmInstaller = frontEndPluginFactory
+              
.getNPMInstaller(getProxyConfig(isSecure(defaultNpmInstallerUrl)));
       npmInstaller.setNpmVersion(NPM_VERSION);
       npmInstaller.setNpmDownloadRoot(defaultNpmInstallerUrl + "/" + 
NPM_PACKAGE_NAME + "/-/");
       npmInstaller.install();
 
-      YarnInstaller yarnInstaller =
-          
frontEndPluginFactory.getYarnInstaller(getProxyConfig(isSecure(defaultYarnInstallerUrl)));
+      YarnInstaller yarnInstaller = frontEndPluginFactory
+              
.getYarnInstaller(getProxyConfig(isSecure(defaultYarnInstallerUrl)));
       yarnInstaller.setYarnVersion(YARN_VERSION);
       yarnInstaller.setYarnDownloadRoot(defaultYarnInstallerUrl);
       yarnInstaller.install();
@@ -148,15 +154,11 @@ public class HeliumBundleFactory {
   private ProxyConfig getProxyConfig(boolean isSecure) {
     List<ProxyConfig.Proxy> proxies = new LinkedList<>();
 
-    String httpProxy =
-        StringUtils.isBlank(System.getenv("http_proxy"))
-            ? System.getenv("HTTP_PROXY")
-            : System.getenv("http_proxy");
+    String httpProxy = StringUtils.isBlank(System.getenv("http_proxy")) ?
+            System.getenv("HTTP_PROXY") : System.getenv("http_proxy");
 
-    String httpsProxy =
-        StringUtils.isBlank(System.getenv("https_proxy"))
-            ? System.getenv("HTTPS_PROXY")
-            : System.getenv("https_proxy");
+    String httpsProxy = StringUtils.isBlank(System.getenv("https_proxy")) ?
+            System.getenv("HTTPS_PROXY") : System.getenv("https_proxy");
 
     try {
       if (isSecure && StringUtils.isNotBlank(httpsProxy))
@@ -185,10 +187,8 @@ public class HeliumBundleFactory {
         username = authority[0];
       }
     }
-    String nonProxyHosts =
-        StringUtils.isBlank(System.getenv("no_proxy"))
-            ? System.getenv("NO_PROXY")
-            : System.getenv("no_proxy");
+    String nonProxyHosts = StringUtils.isBlank(System.getenv("no_proxy")) ?
+            System.getenv("NO_PROXY") : System.getenv("no_proxy");
     return new ProxyConfig.Proxy(proxyId, protocol, host, port, username, 
password, nonProxyHosts);
   }
 
@@ -214,8 +214,8 @@ public class HeliumBundleFactory {
 
   private static List<String> unTgz(File tarFile, File directory) throws 
IOException {
     List<String> result = new ArrayList<>();
-    try (TarArchiveInputStream in =
-        new TarArchiveInputStream(new GzipCompressorInputStream(new 
FileInputStream(tarFile)))) {
+    try (TarArchiveInputStream in = new TarArchiveInputStream(
+            new GzipCompressorInputStream(new FileInputStream(tarFile)))) {
       TarArchiveEntry entry = in.getNextTarEntry();
       while (entry != null) {
         if (entry.isDirectory()) {
@@ -237,35 +237,34 @@ public class HeliumBundleFactory {
     return result;
   }
 
-  /** @return main file name of this helium package (relative path) */
-  private String downloadPackage(
-      HeliumPackage pkg,
-      String[] nameAndVersion,
-      File bundleDir,
-      String templateWebpackConfig,
-      String templatePackageJson,
-      FrontendPluginFactory fpf)
-      throws IOException, TaskRunnerException {
+  /**
+   * @return main file name of this helium package (relative path)
+   */
+  private String downloadPackage(HeliumPackage pkg, String[] nameAndVersion, 
File bundleDir,
+                                String templateWebpackConfig, String 
templatePackageJson,
+                                FrontendPluginFactory fpf) throws IOException, 
TaskRunnerException {
     if (bundleDir.exists()) {
       FileUtils.deleteQuietly(bundleDir);
     }
     FileUtils.forceMkdir(bundleDir);
 
-    FileFilter copyFilter =
-        new FileFilter() {
-          @Override
-          public boolean accept(File pathname) {
-            String fileName = pathname.getName();
-            if (fileName.startsWith(".") || fileName.startsWith("#") || 
fileName.startsWith("~")) {
-              return false;
-            } else {
-              return true;
-            }
-          }
-        };
+    FileFilter copyFilter = new FileFilter() {
+      @Override
+      public boolean accept(File pathname) {
+        String fileName = pathname.getName();
+        if (fileName.startsWith(".") || fileName.startsWith("#") || 
fileName.startsWith("~")) {
+          return false;
+        } else {
+          return true;
+        }
+      }
+    };
 
     if (isLocalPackage(pkg)) {
-      FileUtils.copyDirectory(new File(pkg.getArtifact()), bundleDir, 
copyFilter);
+      FileUtils.copyDirectory(
+              new File(pkg.getArtifact()),
+              bundleDir,
+              copyFilter);
     } else {
       // if online package
       String version = nameAndVersion[1];
@@ -277,7 +276,7 @@ public class HeliumBundleFactory {
       File extracted = new File(heliumBundleDirectory, "package");
       FileUtils.deleteDirectory(extracted);
       List<String> entries = unTgz(tgz, heliumBundleDirectory);
-      for (String entry : entries) logger.debug("Extracted " + entry);
+      for (String entry: entries) logger.debug("Extracted " + entry);
       tgz.delete();
       FileUtils.copyDirectory(extracted, bundleDir);
       FileUtils.deleteDirectory(extracted);
@@ -286,22 +285,20 @@ public class HeliumBundleFactory {
     // 1. setup package.json
     File existingPackageJson = new File(bundleDir, "package.json");
     JsonReader reader = new JsonReader(new FileReader(existingPackageJson));
-    Map<String, Object> packageJson =
-        gson.fromJson(reader, new TypeToken<Map<String, Object>>() 
{}.getType());
+    Map<String, Object> packageJson = gson.fromJson(reader,
+            new TypeToken<Map<String, Object>>(){}.getType());
     Map<String, String> existingDeps = (Map<String, String>) 
packageJson.get("dependencies");
     String mainFileName = (String) packageJson.get("main");
 
     StringBuilder dependencies = new StringBuilder();
     int index = 0;
-    for (Map.Entry<String, String> e : existingDeps.entrySet()) {
+    for (Map.Entry<String, String> e: existingDeps.entrySet()) {
       dependencies.append("    \"").append(e.getKey()).append("\": ");
-      if (e.getKey().equals("zeppelin-vis")
-          || e.getKey().equals("zeppelin-tabledata")
-          || e.getKey().equals("zeppelin-spell")) {
-        dependencies
-            .append("\"file:../../" + HELIUM_LOCAL_MODULE_DIR + "/")
-            .append(e.getKey())
-            .append("\"");
+      if (e.getKey().equals("zeppelin-vis") ||
+          e.getKey().equals("zeppelin-tabledata") ||
+          e.getKey().equals("zeppelin-spell")) {
+        dependencies.append("\"file:../../" + HELIUM_LOCAL_MODULE_DIR + "/")
+                .append(e.getKey()).append("\"");
       } else {
         dependencies.append("\"").append(e.getValue()).append("\"");
       }
@@ -324,8 +321,8 @@ public class HeliumBundleFactory {
     return mainFileName;
   }
 
-  private void prepareSource(HeliumPackage pkg, String[] moduleNameVersion, 
String mainFileName)
-      throws IOException {
+  private void prepareSource(HeliumPackage pkg, String[] moduleNameVersion,
+                            String mainFileName) throws IOException {
     StringBuilder loadJsImport = new StringBuilder();
     StringBuilder loadJsRegister = new StringBuilder();
     String className = "bundles" + pkg.getName().replaceAll("[-_]", "");
@@ -335,7 +332,10 @@ public class HeliumBundleFactory {
       mainFileName = mainFileName.substring(0, mainFileName.length() - 3);
     }
 
-    loadJsImport.append("import ").append(className).append(" from \"../" + 
mainFileName + "\"\n");
+    loadJsImport
+        .append("import ")
+        .append(className)
+        .append(" from \"../" + mainFileName + "\"\n");
 
     loadJsRegister.append(HELIUM_BUNDLES_VAR + ".push({\n");
     loadJsRegister.append("id: \"" + moduleNameVersion[0] + "\",\n");
@@ -347,17 +347,17 @@ public class HeliumBundleFactory {
 
     File srcDir = getHeliumPackageSourceDirectory(pkg.getName());
     FileUtils.forceMkdir(srcDir);
-    FileUtils.write(
-        new File(srcDir, HELIUM_BUNDLES_SRC), 
loadJsImport.append(loadJsRegister).toString());
+    FileUtils.write(new File(srcDir, HELIUM_BUNDLES_SRC),
+            loadJsImport.append(loadJsRegister).toString());
   }
 
   private synchronized void installNodeModules(FrontendPluginFactory fpf) 
throws IOException {
     try {
       out.reset();
       String commandForNpmInstall =
-          String.format(
-              "install --fetch-retries=%d --fetch-retry-factor=%d " + 
"--fetch-retry-mintimeout=%d",
-              FETCH_RETRY_COUNT, FETCH_RETRY_FACTOR_COUNT, 
FETCH_RETRY_MIN_TIMEOUT);
+              String.format("install --fetch-retries=%d 
--fetch-retry-factor=%d " +
+                              "--fetch-retry-mintimeout=%d",
+                      FETCH_RETRY_COUNT, FETCH_RETRY_FACTOR_COUNT, 
FETCH_RETRY_MIN_TIMEOUT);
       logger.info("Installing required node modules");
       yarnCommand(fpf, commandForNpmInstall);
       logger.info("Installed required node modules");
@@ -366,8 +366,8 @@ public class HeliumBundleFactory {
     }
   }
 
-  private synchronized File bundleHeliumPackage(FrontendPluginFactory fpf, 
File bundleDir)
-      throws IOException {
+  private synchronized File bundleHeliumPackage(FrontendPluginFactory fpf,
+                                               File bundleDir) throws 
IOException {
     try {
       out.reset();
       logger.info("Bundling helium packages");
@@ -380,7 +380,8 @@ public class HeliumBundleFactory {
     String bundleStdoutResult = new String(out.toByteArray());
     File heliumBundle = new File(bundleDir, HELIUM_BUNDLE);
     if (!heliumBundle.isFile()) {
-      throw new IOException("Can't create bundle: \n" + bundleStdoutResult);
+      throw new IOException(
+              "Can't create bundle: \n" + bundleStdoutResult);
     }
 
     WebpackResult result = getWebpackResultFromOutput(bundleStdoutResult);
@@ -392,8 +393,9 @@ public class HeliumBundleFactory {
     return heliumBundle;
   }
 
-  public synchronized File buildPackage(
-      HeliumPackage pkg, boolean rebuild, boolean recopyLocalModule) throws 
IOException {
+  public synchronized File buildPackage(HeliumPackage pkg,
+                                        boolean rebuild,
+                                        boolean recopyLocalModule) throws 
IOException {
     if (pkg == null) {
       return null;
     }
@@ -424,20 +426,20 @@ public class HeliumBundleFactory {
       FileUtils.deleteQuietly(heliumLocalRepoDirectory);
       FileUtils.forceMkdir(heliumLocalRepoDirectory);
     }
-    FrontendPluginFactory fpf = new FrontendPluginFactory(bundleDir, 
nodeInstallationDirectory);
+    FrontendPluginFactory fpf = new FrontendPluginFactory(
+            bundleDir, nodeInstallationDirectory);
 
     // resources: webpack.js, package.json
-    String templateWebpackConfig =
-        Resources.toString(Resources.getResource("helium/webpack.config.js"), 
Charsets.UTF_8);
-    String templatePackageJson =
-        Resources.toString(Resources.getResource("helium/" + PACKAGE_JSON), 
Charsets.UTF_8);
+    String templateWebpackConfig = Resources.toString(
+        Resources.getResource("helium/webpack.config.js"), Charsets.UTF_8);
+    String templatePackageJson = Resources.toString(
+        Resources.getResource("helium/" + PACKAGE_JSON), Charsets.UTF_8);
 
     // 2. download helium package using `npm pack`
     String mainFileName = null;
     try {
-      mainFileName =
-          downloadPackage(
-              pkg, moduleNameVersion, bundleDir, templateWebpackConfig, 
templatePackageJson, fpf);
+      mainFileName = downloadPackage(pkg, moduleNameVersion, bundleDir,
+              templateWebpackConfig, templatePackageJson, fpf);
     } catch (TaskRunnerException e) {
       throw new IOException(e);
     }
@@ -476,34 +478,36 @@ public class HeliumBundleFactory {
     }
   }
 
-  private void copyFrameworkModule(boolean recopy, FileFilter filter, File 
src, File dest)
-      throws IOException {
+  private void copyFrameworkModule(boolean recopy, FileFilter filter,
+                           File src, File dest) throws IOException {
     if (src != null) {
       if (recopy && dest.exists()) {
         FileUtils.deleteDirectory(dest);
       }
 
       if (!dest.exists()) {
-        FileUtils.copyDirectory(src, dest, filter);
+        FileUtils.copyDirectory(
+            src,
+            dest,
+            filter);
       }
     }
   }
 
   private void deleteYarnCache() {
-    FilenameFilter filter =
-        new FilenameFilter() {
-          @Override
-          public boolean accept(File dir, String name) {
-            if ((name.startsWith("npm-zeppelin-vis-")
-                    || name.startsWith("npm-zeppelin-tabledata-")
-                    || name.startsWith("npm-zeppelin-spell-"))
-                && dir.isDirectory()) {
-              return true;
-            }
+    FilenameFilter filter = new FilenameFilter() {
+      @Override
+      public boolean accept(File dir, String name) {
+        if ((name.startsWith("npm-zeppelin-vis-") ||
+            name.startsWith("npm-zeppelin-tabledata-") ||
+            name.startsWith("npm-zeppelin-spell-")) &&
+            dir.isDirectory()) {
+          return true;
+        }
 
-            return false;
-          }
-        };
+        return false;
+      }
+    };
 
     File[] localModuleCaches = yarnCacheDir.listFiles(filter);
     if (localModuleCaches != null) {
@@ -513,38 +517,42 @@ public class HeliumBundleFactory {
     }
   }
 
-  void copyFrameworkModulesToInstallPath(boolean recopy) throws IOException {
+  void copyFrameworkModulesToInstallPath(boolean recopy)
+      throws IOException {
 
-    FileFilter npmPackageCopyFilter =
-        new FileFilter() {
-          @Override
-          public boolean accept(File pathname) {
-            String fileName = pathname.getName();
-            if (fileName.startsWith(".") || fileName.startsWith("#") || 
fileName.startsWith("~")) {
-              return false;
-            } else {
-              return true;
-            }
-          }
-        };
+    FileFilter npmPackageCopyFilter = new FileFilter() {
+      @Override
+      public boolean accept(File pathname) {
+        String fileName = pathname.getName();
+        if (fileName.startsWith(".") || fileName.startsWith("#") || 
fileName.startsWith("~")) {
+          return false;
+        } else {
+          return true;
+        }
+      }
+    };
 
     FileUtils.forceMkdir(heliumLocalModuleDirectory);
     // should delete yarn caches for local modules since they might be updated
     deleteYarnCache();
 
     // install tabledata module
-    File tabledataModuleInstallPath = new File(heliumLocalModuleDirectory, 
"zeppelin-tabledata");
-    copyFrameworkModule(
-        recopy, npmPackageCopyFilter, tabledataModulePath, 
tabledataModuleInstallPath);
+    File tabledataModuleInstallPath = new File(heliumLocalModuleDirectory,
+        "zeppelin-tabledata");
+    copyFrameworkModule(recopy, npmPackageCopyFilter,
+        tabledataModulePath, tabledataModuleInstallPath);
 
     // install visualization module
-    File visModuleInstallPath = new File(heliumLocalModuleDirectory, 
"zeppelin-vis");
-    copyFrameworkModule(
-        recopy, npmPackageCopyFilter, visualizationModulePath, 
visModuleInstallPath);
+    File visModuleInstallPath = new File(heliumLocalModuleDirectory,
+        "zeppelin-vis");
+    copyFrameworkModule(recopy, npmPackageCopyFilter,
+        visualizationModulePath, visModuleInstallPath);
 
     // install spell module
-    File spellModuleInstallPath = new File(heliumLocalModuleDirectory, 
"zeppelin-spell");
-    copyFrameworkModule(recopy, npmPackageCopyFilter, spellModulePath, 
spellModuleInstallPath);
+    File spellModuleInstallPath = new File(heliumLocalModuleDirectory,
+        "zeppelin-spell");
+    copyFrameworkModule(recopy, npmPackageCopyFilter,
+        spellModulePath, spellModuleInstallPath);
   }
 
   private WebpackResult getWebpackResultFromOutput(String output) {
@@ -601,7 +609,8 @@ public class HeliumBundleFactory {
         return null;
       }
       try {
-        NpmPackage npmPackage = 
NpmPackage.fromJson(FileUtils.readFileToString(packageJson));
+        NpmPackage npmPackage = NpmPackage.fromJson(
+            FileUtils.readFileToString(packageJson));
 
         String[] nameVersion = new String[2];
         nameVersion[0] = npmPackage.name;
@@ -618,7 +627,9 @@ public class HeliumBundleFactory {
       if ((pos = artifact.indexOf('@')) > 0) {
         nameVersion[0] = artifact.substring(0, pos);
         nameVersion[1] = artifact.substring(pos + 1);
-      } else if ((pos = artifact.indexOf('^')) > 0 || (pos = 
artifact.indexOf('~')) > 0) {
+      } else if (
+          (pos = artifact.indexOf('^')) > 0 ||
+              (pos = artifact.indexOf('~')) > 0) {
         nameVersion[0] = artifact.substring(0, pos);
         nameVersion[1] = artifact.substring(pos);
       } else {
@@ -631,13 +642,9 @@ public class HeliumBundleFactory {
 
   synchronized void install(HeliumPackage pkg) throws TaskRunnerException {
     String commandForNpmInstallArtifact =
-        String.format(
-            "install %s --fetch-retries=%d --fetch-retry-factor=%d "
-                + "--fetch-retry-mintimeout=%d",
-            pkg.getArtifact(),
-            FETCH_RETRY_COUNT,
-            FETCH_RETRY_FACTOR_COUNT,
-            FETCH_RETRY_MIN_TIMEOUT);
+        String.format("install %s --fetch-retries=%d --fetch-retry-factor=%d " 
+
+                        "--fetch-retry-mintimeout=%d", pkg.getArtifact(),
+                FETCH_RETRY_COUNT, FETCH_RETRY_FACTOR_COUNT, 
FETCH_RETRY_MIN_TIMEOUT);
     npmCommand(commandForNpmInstallArtifact);
   }
 
@@ -646,8 +653,7 @@ public class HeliumBundleFactory {
   }
 
   private void npmCommand(String args, Map<String, String> env) throws 
TaskRunnerException {
-    NpmRunner npm =
-        frontEndPluginFactory.getNpmRunner(
+    NpmRunner npm = frontEndPluginFactory.getNpmRunner(
             getProxyConfig(isSecure(defaultNpmInstallerUrl)), 
defaultNpmInstallerUrl);
     npm.execute(args, env);
   }
@@ -660,36 +666,37 @@ public class HeliumBundleFactory {
     yarnCommand(fpf, args, new HashMap<String, String>());
   }
 
-  private void yarnCommand(FrontendPluginFactory fpf, String args, Map<String, 
String> env)
-      throws TaskRunnerException {
-    YarnRunner yarn =
-        fpf.getYarnRunner(getProxyConfig(isSecure(defaultNpmInstallerUrl)), 
defaultNpmInstallerUrl);
+  private void yarnCommand(FrontendPluginFactory fpf,
+                           String args, Map<String, String> env) throws 
TaskRunnerException {
+    YarnRunner yarn = fpf.getYarnRunner(
+            getProxyConfig(isSecure(defaultNpmInstallerUrl)), 
defaultNpmInstallerUrl);
     yarn.execute(args, env);
   }
 
   private synchronized void configureLogger() {
-    org.apache.log4j.Logger npmLogger =
-        org.apache.log4j.Logger.getLogger(
-            
"com.github.eirslett.maven.plugins.frontend.lib.DefaultYarnRunner");
+    org.apache.log4j.Logger npmLogger = org.apache.log4j.Logger.getLogger(
+        "com.github.eirslett.maven.plugins.frontend.lib.DefaultYarnRunner");
     Enumeration appenders = 
org.apache.log4j.Logger.getRootLogger().getAllAppenders();
 
     if (appenders != null) {
       while (appenders.hasMoreElements()) {
         Appender appender = (Appender) appenders.nextElement();
-        appender.addFilter(
-            new Filter() {
-
-              @Override
-              public int decide(LoggingEvent loggingEvent) {
-                if 
(loggingEvent.getLoggerName().contains("DefaultYarnRunner")) {
-                  return DENY;
-                } else {
-                  return NEUTRAL;
-                }
-              }
-            });
+        appender.addFilter(new Filter() {
+
+          @Override
+          public int decide(LoggingEvent loggingEvent) {
+            if (loggingEvent.getLoggerName().contains("DefaultYarnRunner")) {
+              return DENY;
+            } else {
+              return NEUTRAL;
+            }
+          }
+        });
       }
     }
-    npmLogger.addAppender(new WriterAppender(new PatternLayout("%m%n"), out));
+    npmLogger.addAppender(new WriterAppender(
+        new PatternLayout("%m%n"),
+        out
+    ));
   }
 }

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/0d746fa2/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/HeliumConf.java
----------------------------------------------------------------------
diff --git 
a/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/HeliumConf.java 
b/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/HeliumConf.java
index 07ac07e..c7fec86 100644
--- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/HeliumConf.java
+++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/HeliumConf.java
@@ -18,26 +18,30 @@ package org.apache.zeppelin.helium;
 
 import com.google.gson.Gson;
 import com.google.gson.GsonBuilder;
-import java.util.*;
 import org.apache.zeppelin.common.JsonSerializable;
 
-/** Helium config. This object will be persisted to conf/helium.conf */
+import java.util.*;
+
+/**
+ * Helium config. This object will be persisted to conf/helium.conf
+ */
 public class HeliumConf implements JsonSerializable {
-  private static final Gson gson =
-      new GsonBuilder()
-          .setPrettyPrinting()
-          .registerTypeAdapter(HeliumRegistry.class, new 
HeliumRegistrySerializer())
-          .create();
+  private static final Gson gson =  new GsonBuilder()
+    .setPrettyPrinting()
+    .registerTypeAdapter(HeliumRegistry.class, new HeliumRegistrySerializer())
+    .create();
 
   // enabled packages {name, version}
   private Map<String, String> enabled = Collections.synchronizedMap(new 
HashMap<String, String>());
 
   // {artifact, {configKey, configValue}}
   private Map<String, Map<String, Object>> packageConfig =
-      Collections.synchronizedMap(new HashMap<String, Map<String, Object>>());
+      Collections.synchronizedMap(
+          new HashMap<String, Map<String, Object>>());
 
   // enabled visualization package display order
-  private List<String> bundleDisplayOrder = Collections.synchronizedList(new 
LinkedList<String>());
+  private List<String> bundleDisplayOrder =
+          Collections.synchronizedList(new LinkedList<String>());
 
   public Map<String, String> getEnabledPackages() {
     return new HashMap<>(enabled);
@@ -47,21 +51,26 @@ public class HeliumConf implements JsonSerializable {
     enabled.put(name, artifact);
   }
 
-  public void updatePackageConfig(String artifact, Map<String, Object> 
newConfig) {
+  public void updatePackageConfig(String artifact,
+                                  Map<String, Object> newConfig) {
     if (!packageConfig.containsKey(artifact)) {
-      packageConfig.put(artifact, Collections.synchronizedMap(new 
HashMap<String, Object>()));
+      packageConfig.put(artifact,
+          Collections.synchronizedMap(new HashMap<String, Object>()));
     }
     packageConfig.put(artifact, newConfig);
   }
 
-  /** @return versioned package config `{artifact, {configKey, configVal}}` */
-  public Map<String, Map<String, Object>> getAllPackageConfigs() {
+  /**
+   * @return versioned package config `{artifact, {configKey, configVal}}`
+   */
+  public Map<String, Map<String, Object>> getAllPackageConfigs () {
     return packageConfig;
   }
 
   public Map<String, Object> getPackagePersistedConfig(String artifact) {
     if (!packageConfig.containsKey(artifact)) {
-      packageConfig.put(artifact, Collections.synchronizedMap(new 
HashMap<String, Object>()));
+      packageConfig.put(artifact,
+          Collections.synchronizedMap(new HashMap<String, Object>()));
     }
 
     return packageConfig.get(artifact);

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/0d746fa2/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/HeliumLocalRegistry.java
----------------------------------------------------------------------
diff --git 
a/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/HeliumLocalRegistry.java
 
b/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/HeliumLocalRegistry.java
index 5f62c4b..7328dca 100644
--- 
a/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/HeliumLocalRegistry.java
+++ 
b/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/HeliumLocalRegistry.java
@@ -18,16 +18,19 @@ package org.apache.zeppelin.helium;
 
 import com.google.gson.Gson;
 import com.google.gson.stream.JsonReader;
+import org.apache.commons.io.FileUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
 import java.io.File;
 import java.io.IOException;
 import java.io.StringReader;
 import java.util.LinkedList;
 import java.util.List;
-import org.apache.commons.io.FileUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
-/** Simple Helium registry on local filesystem */
+/**
+ * Simple Helium registry on local filesystem
+ */
 public class HeliumLocalRegistry extends HeliumRegistry {
   private Logger logger = LoggerFactory.getLogger(HeliumLocalRegistry.class);
 
@@ -36,6 +39,7 @@ public class HeliumLocalRegistry extends HeliumRegistry {
   public HeliumLocalRegistry(String name, String uri) {
     super(name, uri);
     gson = new Gson();
+
   }
 
   @Override
@@ -43,7 +47,7 @@ public class HeliumLocalRegistry extends HeliumRegistry {
     List<HeliumPackage> result = new LinkedList<>();
 
     File file = new File(uri());
-    File[] files = file.listFiles();
+    File [] files = file.listFiles();
     if (files == null) {
       return result;
     }
@@ -72,4 +76,5 @@ public class HeliumLocalRegistry extends HeliumRegistry {
       return null;
     }
   }
+
 }

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/0d746fa2/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/HeliumOnlineRegistry.java
----------------------------------------------------------------------
diff --git 
a/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/HeliumOnlineRegistry.java
 
b/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/HeliumOnlineRegistry.java
index b868472..e54687a 100644
--- 
a/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/HeliumOnlineRegistry.java
+++ 
b/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/HeliumOnlineRegistry.java
@@ -18,23 +18,12 @@ package org.apache.zeppelin.helium;
 
 import com.google.gson.Gson;
 import com.google.gson.reflect.TypeToken;
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.net.URI;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.UUID;
 import org.apache.commons.io.FileUtils;
 import org.apache.commons.lang.StringUtils;
 import org.apache.http.HttpHost;
 import org.apache.http.HttpResponse;
-import org.apache.http.client.HttpClient;
 import org.apache.http.client.config.RequestConfig;
+import org.apache.http.client.HttpClient;
 import org.apache.http.client.methods.HttpGet;
 import org.apache.http.impl.client.HttpClientBuilder;
 import org.apache.zeppelin.conf.ZeppelinConfiguration;
@@ -42,11 +31,32 @@ import org.apache.zeppelin.util.Util;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.net.URI;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.UUID;
+
 /**
- * This registry reads helium package json data from specified url.
+ * This registry reads helium package json data
+ * from specified url.
  *
- * <p>File should be look like [ "packageName": { "0.0.1": json serialized 
HeliumPackage class,
- * "0.0.2": json serialized HeliumPackage class, ... }, ... ]
+ * File should be look like
+ * [
+ *    "packageName": {
+ *       "0.0.1": json serialized HeliumPackage class,
+ *       "0.0.2": json serialized HeliumPackage class,
+ *       ...
+ *    },
+ *    ...
+ * ]
  */
 public class HeliumOnlineRegistry extends HeliumRegistry {
   private Logger logger = LoggerFactory.getLogger(HeliumOnlineRegistry.class);
@@ -64,11 +74,10 @@ public class HeliumOnlineRegistry extends HeliumRegistry {
 
   @Override
   public synchronized List<HeliumPackage> getAll() throws IOException {
-    HttpClient client =
-        HttpClientBuilder.create()
-            .setUserAgent("ApacheZeppelin/" + Util.getVersion())
-            .setProxy(getProxy(uri()))
-            .build();
+    HttpClient client = HttpClientBuilder.create()
+        .setUserAgent("ApacheZeppelin/" + Util.getVersion())
+        .setProxy(getProxy(uri()))
+        .build();
     HttpGet get = new HttpGet(uri());
     HttpResponse response;
     try {
@@ -76,8 +85,10 @@ public class HeliumOnlineRegistry extends HeliumRegistry {
       if ((get.getURI().getHost().equals(cfg.getS3Endpoint()))) {
         if (cfg.getS3Timeout() != null) {
           int timeout = Integer.valueOf(cfg.getS3Timeout());
-          RequestConfig requestCfg =
-              
RequestConfig.custom().setConnectTimeout(timeout).setSocketTimeout(timeout).build();
+          RequestConfig requestCfg = RequestConfig.custom()
+                  .setConnectTimeout(timeout)
+                  .setSocketTimeout(timeout)
+                  .build();
           get.setConfig(requestCfg);
         }
       }
@@ -95,11 +106,13 @@ public class HeliumOnlineRegistry extends HeliumRegistry {
       List<HeliumPackage> packageList = new LinkedList<>();
 
       BufferedReader reader;
-      reader = new BufferedReader(new 
InputStreamReader(response.getEntity().getContent()));
+      reader = new BufferedReader(
+          new InputStreamReader(response.getEntity().getContent()));
 
-      List<Map<String, Map<String, HeliumPackage>>> packages =
-          gson.fromJson(
-              reader, new TypeToken<List<Map<String, Map<String, 
HeliumPackage>>>>() {}.getType());
+      List<Map<String, Map<String, HeliumPackage>>> packages = gson.fromJson(
+          reader,
+          new TypeToken<List<Map<String, Map<String, HeliumPackage>>>>() {
+          }.getType());
       reader.close();
 
       for (Map<String, Map<String, HeliumPackage>> pkg : packages) {
@@ -114,27 +127,25 @@ public class HeliumOnlineRegistry extends HeliumRegistry {
   }
 
   private HttpHost getProxy(String uri) {
-    String httpProxy =
-        StringUtils.isBlank(System.getenv("http_proxy"))
-            ? System.getenv("HTTP_PROXY")
-            : System.getenv("http_proxy");
+    String httpProxy = StringUtils.isBlank(System.getenv("http_proxy")) ?
+            System.getenv("HTTP_PROXY") : System.getenv("http_proxy");
 
-    String httpsProxy =
-        StringUtils.isBlank(System.getenv("https_proxy"))
-            ? System.getenv("HTTPS_PROXY")
-            : System.getenv("https_proxy");
+    String httpsProxy = StringUtils.isBlank(System.getenv("https_proxy")) ?
+            System.getenv("HTTPS_PROXY") : System.getenv("https_proxy");
 
     try {
       String scheme = new URI(uri).getScheme();
       if (scheme.toLowerCase().startsWith("https") && 
StringUtils.isNotBlank(httpsProxy)) {
         URI httpsProxyUri = new URI(httpsProxy);
-        return new HttpHost(
-            httpsProxyUri.getHost(), httpsProxyUri.getPort(), 
httpsProxyUri.getScheme());
-      } else if (scheme.toLowerCase().startsWith("http") && 
StringUtils.isNotBlank(httpProxy)) {
+        return new HttpHost(httpsProxyUri.getHost(),
+                httpsProxyUri.getPort(), httpsProxyUri.getScheme());
+      }
+      else if (scheme.toLowerCase().startsWith("http") && 
StringUtils.isNotBlank(httpProxy)){
         URI httpProxyUri = new URI(httpProxy);
-        return new HttpHost(
-            httpProxyUri.getHost(), httpProxyUri.getPort(), 
httpProxyUri.getScheme());
-      } else return null;
+        return new HttpHost(httpProxyUri.getHost(),
+                httpProxyUri.getPort(), httpProxyUri.getScheme());
+      }
+      else return null;
     } catch (Exception ex) {
       logger.error(ex.getMessage(), ex);
       return null;
@@ -146,7 +157,9 @@ public class HeliumOnlineRegistry extends HeliumRegistry {
       if (registryCacheFile.isFile()) {
         try {
           return gson.fromJson(
-              new FileReader(registryCacheFile), new 
TypeToken<List<HeliumPackage>>() {}.getType());
+              new FileReader(registryCacheFile),
+              new TypeToken<List<HeliumPackage>>() {
+              }.getType());
         } catch (FileNotFoundException e) {
           logger.error(e.getMessage(), e);
           return new LinkedList<>();

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/0d746fa2/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/HeliumPackageSearchResult.java
----------------------------------------------------------------------
diff --git 
a/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/HeliumPackageSearchResult.java
 
b/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/HeliumPackageSearchResult.java
index 63d8b9e..36b6115 100644
--- 
a/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/HeliumPackageSearchResult.java
+++ 
b/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/HeliumPackageSearchResult.java
@@ -16,7 +16,9 @@
  */
 package org.apache.zeppelin.helium;
 
-/** search result */
+/**
+ * search result
+ */
 public class HeliumPackageSearchResult {
   private final String registry;
   private final HeliumPackage pkg;
@@ -24,7 +26,6 @@ public class HeliumPackageSearchResult {
 
   /**
    * Create search result item
-   *
    * @param registry registry name
    * @param pkg package information
    */

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/0d746fa2/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/HeliumPackageSuggestion.java
----------------------------------------------------------------------
diff --git 
a/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/HeliumPackageSuggestion.java
 
b/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/HeliumPackageSuggestion.java
index adb69a2..9df6abc 100644
--- 
a/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/HeliumPackageSuggestion.java
+++ 
b/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/HeliumPackageSuggestion.java
@@ -21,7 +21,9 @@ import java.util.Comparator;
 import java.util.LinkedList;
 import java.util.List;
 
-/** Suggested apps */
+/**
+ * Suggested apps
+ */
 public class HeliumPackageSuggestion {
   private final List<HeliumPackageSearchResult> available = new LinkedList<>();
 
@@ -30,20 +32,21 @@ public class HeliumPackageSuggestion {
    * provides n - 'favorite' list, based on occurrence of apps in notebook
    */
 
-  public HeliumPackageSuggestion() {}
+  public HeliumPackageSuggestion() {
+
+  }
 
   public void addAvailablePackage(HeliumPackageSearchResult r) {
     available.add(r);
+
   }
 
   public void sort() {
-    Collections.sort(
-        available,
-        new Comparator<HeliumPackageSearchResult>() {
-          @Override
-          public int compare(HeliumPackageSearchResult o1, 
HeliumPackageSearchResult o2) {
-            return o1.getPkg().getName().compareTo(o2.getPkg().getName());
-          }
-        });
+    Collections.sort(available, new Comparator<HeliumPackageSearchResult>() {
+      @Override
+      public int compare(HeliumPackageSearchResult o1, 
HeliumPackageSearchResult o2) {
+        return o1.getPkg().getName().compareTo(o2.getPkg().getName());
+      }
+    });
   }
 }

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/0d746fa2/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/HeliumRegistry.java
----------------------------------------------------------------------
diff --git 
a/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/HeliumRegistry.java 
b/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/HeliumRegistry.java
index d2b2dd4..125ad92 100644
--- 
a/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/HeliumRegistry.java
+++ 
b/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/HeliumRegistry.java
@@ -17,9 +17,12 @@
 package org.apache.zeppelin.helium;
 
 import java.io.IOException;
+import java.net.URI;
 import java.util.List;
 
-/** Helium package registry */
+/**
+ * Helium package registry
+ */
 public abstract class HeliumRegistry {
   private final String name;
   private final String uri;
@@ -28,14 +31,11 @@ public abstract class HeliumRegistry {
     this.name = name;
     this.uri = uri;
   }
-
   public String name() {
     return name;
   }
-
   public String uri() {
     return uri;
   }
-
   public abstract List<HeliumPackage> getAll() throws IOException;
 }

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/0d746fa2/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/HeliumRegistrySerializer.java
----------------------------------------------------------------------
diff --git 
a/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/HeliumRegistrySerializer.java
 
b/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/HeliumRegistrySerializer.java
index 2e63925..3abcb9f 100644
--- 
a/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/HeliumRegistrySerializer.java
+++ 
b/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/HeliumRegistrySerializer.java
@@ -17,20 +17,26 @@
 package org.apache.zeppelin.helium;
 
 import com.google.gson.*;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
 import java.lang.reflect.Constructor;
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Type;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import java.net.URI;
+import java.net.URISyntaxException;
 
-/** HeliumRegistrySerializer (and deserializer) for gson */
+/**
+ * HeliumRegistrySerializer (and deserializer) for gson
+ */
 public class HeliumRegistrySerializer
     implements JsonSerializer<HeliumRegistry>, 
JsonDeserializer<HeliumRegistry> {
   Logger logger = LoggerFactory.getLogger(HeliumRegistrySerializer.class);
 
   @Override
-  public HeliumRegistry deserialize(
-      JsonElement json, Type type, JsonDeserializationContext 
jsonDeserializationContext)
+  public HeliumRegistry deserialize(JsonElement json,
+                                Type type,
+                                JsonDeserializationContext 
jsonDeserializationContext)
       throws JsonParseException {
     JsonObject jsonObject = json.getAsJsonObject();
     String className = jsonObject.get("class").getAsString();
@@ -44,19 +50,17 @@ public class HeliumRegistrySerializer
       Constructor<HeliumRegistry> constructor = 
cls.getConstructor(String.class, String.class);
       HeliumRegistry registry = constructor.newInstance(name, uri);
       return registry;
-    } catch (ClassNotFoundException
-        | NoSuchMethodException
-        | IllegalAccessException
-        | InstantiationException
-        | InvocationTargetException e) {
+    } catch (ClassNotFoundException | NoSuchMethodException | 
IllegalAccessException |
+        InstantiationException | InvocationTargetException e) {
       logger.error(e.getMessage(), e);
       return null;
     }
   }
 
   @Override
-  public JsonElement serialize(
-      HeliumRegistry heliumRegistry, Type type, JsonSerializationContext 
jsonSerializationContext) {
+  public JsonElement serialize(HeliumRegistry heliumRegistry,
+                               Type type,
+                               JsonSerializationContext 
jsonSerializationContext) {
     JsonObject json = new JsonObject();
     json.addProperty("class", heliumRegistry.getClass().getName());
     json.addProperty("uri", heliumRegistry.uri());

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/0d746fa2/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/NpmPackage.java
----------------------------------------------------------------------
diff --git 
a/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/NpmPackage.java 
b/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/NpmPackage.java
index f643f12..c2234c6 100644
--- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/NpmPackage.java
+++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/NpmPackage.java
@@ -17,10 +17,13 @@
 package org.apache.zeppelin.helium;
 
 import com.google.gson.Gson;
-import java.util.Map;
 import org.apache.zeppelin.common.JsonSerializable;
 
-/** To read package.json */
+import java.util.Map;
+
+/**
+ * To read package.json
+ */
 public class NpmPackage implements JsonSerializable {
   private static final Gson gson = new Gson();
 

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/0d746fa2/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/WebpackResult.java
----------------------------------------------------------------------
diff --git 
a/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/WebpackResult.java 
b/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/WebpackResult.java
index 3d0fb6e..4175cad 100644
--- 
a/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/WebpackResult.java
+++ 
b/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/WebpackResult.java
@@ -19,12 +19,14 @@ package org.apache.zeppelin.helium;
 import com.google.gson.Gson;
 import org.apache.zeppelin.common.JsonSerializable;
 
-/** Represetns webpack json format result */
+/**
+ * Represetns webpack json format result
+ */
 public class WebpackResult implements JsonSerializable {
   private static final Gson gson = new Gson();
 
-  public final String[] errors = new String[0];
-  public final String[] warnings = new String[0];
+  public final String [] errors = new String[0];
+  public final String [] warnings = new String[0];
 
   public String toJson() {
     return gson.toJson(this);

Reply via email to