You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@zeppelin.apache.org by mi...@apache.org on 2016/10/25 05:51:19 UTC

[2/3] zeppelin git commit: [ZEPPELIN-1549] Change NotebookID variable name to NoteID

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/4f6a0e34/zeppelin-server/src/test/java/org/apache/zeppelin/rest/ZeppelinRestApiTest.java
----------------------------------------------------------------------
diff --git a/zeppelin-server/src/test/java/org/apache/zeppelin/rest/ZeppelinRestApiTest.java b/zeppelin-server/src/test/java/org/apache/zeppelin/rest/ZeppelinRestApiTest.java
index 3b92c14..692b4da 100644
--- a/zeppelin-server/src/test/java/org/apache/zeppelin/rest/ZeppelinRestApiTest.java
+++ b/zeppelin-server/src/test/java/org/apache/zeppelin/rest/ZeppelinRestApiTest.java
@@ -29,10 +29,8 @@ import org.apache.commons.httpclient.methods.GetMethod;
 import org.apache.commons.httpclient.methods.PostMethod;
 import org.apache.commons.httpclient.methods.PutMethod;
 import org.apache.commons.lang3.StringUtils;
-import org.apache.zeppelin.interpreter.InterpreterSetting;
 import org.apache.zeppelin.notebook.Note;
 import org.apache.zeppelin.notebook.Paragraph;
-import org.apache.zeppelin.scheduler.Job.Status;
 import org.apache.zeppelin.server.ZeppelinServer;
 import org.apache.zeppelin.user.AuthenticationInfo;
 import org.junit.AfterClass;
@@ -84,8 +82,8 @@ public class ZeppelinRestApiTest extends AbstractTestRestApi {
   }
 
   @Test
-  public void testGetNotebookInfo() throws IOException {
-    LOG.info("testGetNotebookInfo");
+  public void testGetNoteInfo() throws IOException {
+    LOG.info("testGetNoteInfo");
     // Create note to get info
     Note note = ZeppelinServer.notebook.createNote(anonymous);
     assertNotNull("can't create new note", note);
@@ -98,10 +96,10 @@ public class ZeppelinRestApiTest extends AbstractTestRestApi {
     paragraph.setText(paragraphText);
     note.persist(anonymous);
 
-    String sourceNoteID = note.getId();
-    GetMethod get = httpGet("/notebook/" + sourceNoteID);
-    LOG.info("testGetNotebookInfo \n" + get.getResponseBodyAsString());
-    assertThat("test notebook get method:", get, isAllowed());
+    String sourceNoteId = note.getId();
+    GetMethod get = httpGet("/notebook/" + sourceNoteId);
+    LOG.info("testGetNoteInfo \n" + get.getResponseBodyAsString());
+    assertThat("test note get method:", get, isAllowed());
 
     Map<String, Object> resp = gson.fromJson(get.getResponseBodyAsString(), new TypeToken<Map<String, Object>>() {
     }.getType());
@@ -115,45 +113,45 @@ public class ZeppelinRestApiTest extends AbstractTestRestApi {
     assertTrue(paragraphs.size() > 0);
     assertEquals(paragraphText, paragraphs.get(0).get("text"));
     //
-    ZeppelinServer.notebook.removeNote(sourceNoteID, anonymous);
+    ZeppelinServer.notebook.removeNote(sourceNoteId, anonymous);
   }
 
   @Test
-  public void testNotebookCreateWithName() throws IOException {
+  public void testNoteCreateWithName() throws IOException {
     String noteName = "Test note name";
-    testNotebookCreate(noteName);
+    testNoteCreate(noteName);
   }
 
   @Test
-  public void testNotebookCreateNoName() throws IOException {
-    testNotebookCreate("");
+  public void testNoteCreateNoName() throws IOException {
+    testNoteCreate("");
   }
 
   @Test
-  public void testNotebookCreateWithParagraphs() throws IOException {
-    // Call Create Notebook REST API
+  public void testNoteCreateWithParagraphs() throws IOException {
+    // Call Create Note REST API
     String noteName = "test";
     String jsonRequest = "{\"name\":\"" + noteName + "\", \"paragraphs\": [" +
         "{\"title\": \"title1\", \"text\": \"text1\"}," +
         "{\"title\": \"title2\", \"text\": \"text2\"}" +
         "]}";
     PostMethod post = httpPost("/notebook/", jsonRequest);
-    LOG.info("testNotebookCreate \n" + post.getResponseBodyAsString());
-    assertThat("test notebook create method:", post, isCreated());
+    LOG.info("testNoteCreate \n" + post.getResponseBodyAsString());
+    assertThat("test note create method:", post, isCreated());
 
     Map<String, Object> resp = gson.fromJson(post.getResponseBodyAsString(), new TypeToken<Map<String, Object>>() {
     }.getType());
 
-    String newNotebookId =  (String) resp.get("body");
-    LOG.info("newNotebookId:=" + newNotebookId);
-    Note newNote = ZeppelinServer.notebook.getNote(newNotebookId);
+    String newNoteId =  (String) resp.get("body");
+    LOG.info("newNoteId:=" + newNoteId);
+    Note newNote = ZeppelinServer.notebook.getNote(newNoteId);
     assertNotNull("Can not find new note by id", newNote);
     // This is partial test as newNote is in memory but is not persistent
     String newNoteName = newNote.getName();
     LOG.info("new note name is: " + newNoteName);
     String expectedNoteName = noteName;
     if (noteName.isEmpty()) {
-      expectedNoteName = "Note " + newNotebookId;
+      expectedNoteName = "Note " + newNoteId;
     }
     assertEquals("compare note name", expectedNoteName, newNoteName);
     assertEquals("initial paragraph check failed", 3, newNote.getParagraphs().size());
@@ -165,34 +163,34 @@ public class ZeppelinRestApiTest extends AbstractTestRestApi {
       assertTrue("paragraph text check failed", p.getText().startsWith("text"));
     }
     // cleanup
-    ZeppelinServer.notebook.removeNote(newNotebookId, anonymous);
+    ZeppelinServer.notebook.removeNote(newNoteId, anonymous);
     post.releaseConnection();
   }
 
-  private void testNotebookCreate(String noteName) throws IOException {
-    // Call Create Notebook REST API
+  private void testNoteCreate(String noteName) throws IOException {
+    // Call Create Note REST API
     String jsonRequest = "{\"name\":\"" + noteName + "\"}";
     PostMethod post = httpPost("/notebook/", jsonRequest);
-    LOG.info("testNotebookCreate \n" + post.getResponseBodyAsString());
-    assertThat("test notebook create method:", post, isCreated());
+    LOG.info("testNoteCreate \n" + post.getResponseBodyAsString());
+    assertThat("test note create method:", post, isCreated());
 
     Map<String, Object> resp = gson.fromJson(post.getResponseBodyAsString(), new TypeToken<Map<String, Object>>() {
     }.getType());
 
-    String newNotebookId =  (String) resp.get("body");
-    LOG.info("newNotebookId:=" + newNotebookId);
-    Note newNote = ZeppelinServer.notebook.getNote(newNotebookId);
+    String newNoteId =  (String) resp.get("body");
+    LOG.info("newNoteId:=" + newNoteId);
+    Note newNote = ZeppelinServer.notebook.getNote(newNoteId);
     assertNotNull("Can not find new note by id", newNote);
     // This is partial test as newNote is in memory but is not persistent
     String newNoteName = newNote.getName();
     LOG.info("new note name is: " + newNoteName);
     String expectedNoteName = noteName;
     if (noteName.isEmpty()) {
-      expectedNoteName = "Note " + newNotebookId;
+      expectedNoteName = "Note " + newNoteId;
     }
     assertEquals("compare note name", expectedNoteName, newNoteName);
     // cleanup
-    ZeppelinServer.notebook.removeNote(newNotebookId, anonymous);
+    ZeppelinServer.notebook.removeNote(newNoteId, anonymous);
     post.releaseConnection();
 
   }
@@ -203,20 +201,20 @@ public class ZeppelinRestApiTest extends AbstractTestRestApi {
     //Create note and get ID
     Note note = ZeppelinServer.notebook.createNote(anonymous);
     String noteId = note.getId();
-    testDeleteNotebook(noteId);
+    testDeleteNote(noteId);
   }
 
   @Test
   public void testDeleteNoteBadId() throws IOException {
     LOG.info("testDeleteNoteBadId");
-    testDeleteNotebook("2AZFXEX97");
-    testDeleteNotebook("bad_ID");
+    testDeleteNote("2AZFXEX97");
+    testDeleteNote("bad_ID");
   }
 
 
   @Test
-  public void testExportNotebook() throws IOException {
-    LOG.info("testExportNotebook");
+  public void testexportNote() throws IOException {
+    LOG.info("testexportNote");
     Note note = ZeppelinServer.notebook.createNote(anonymous);
     assertNotNull("can't create new note", note);
     note.setName("source note for export");
@@ -226,11 +224,11 @@ public class ZeppelinRestApiTest extends AbstractTestRestApi {
     paragraph.setConfig(config);
     paragraph.setText("%md This is my new paragraph in my new note");
     note.persist(anonymous);
-    String sourceNoteID = note.getId();
-    // Call export Notebook REST API
-    GetMethod get = httpGet("/notebook/export/" + sourceNoteID);
-    LOG.info("testNotebookExport \n" + get.getResponseBodyAsString());
-    assertThat("test notebook export method:", get, isAllowed());
+    String sourceNoteId = note.getId();
+    // Call export Note REST API
+    GetMethod get = httpGet("/notebook/export/" + sourceNoteId);
+    LOG.info("testNoteExport \n" + get.getResponseBodyAsString());
+    assertThat("test note export method:", get, isAllowed());
 
     Map<String, Object> resp =
         gson.fromJson(get.getResponseBodyAsString(),
@@ -239,7 +237,7 @@ public class ZeppelinRestApiTest extends AbstractTestRestApi {
     String exportJSON = (String) resp.get("body");
     assertNotNull("Can not find new notejson", exportJSON);
     LOG.info("export JSON:=" + exportJSON);
-    ZeppelinServer.notebook.removeNote(sourceNoteID, anonymous);
+    ZeppelinServer.notebook.removeNote(sourceNoteId, anonymous);
     get.releaseConnection();
 
   }
@@ -248,8 +246,8 @@ public class ZeppelinRestApiTest extends AbstractTestRestApi {
   public void testImportNotebook() throws IOException {
     Map<String, Object> resp;
     String noteName = "source note for import";
-    LOG.info("testImortNotebook");
-    // create test notebook
+    LOG.info("testImortNote");
+    // create test note
     Note note = ZeppelinServer.notebook.createNote(anonymous);
     assertNotNull("can't create new note", note);
     note.setName(noteName);
@@ -259,10 +257,10 @@ public class ZeppelinRestApiTest extends AbstractTestRestApi {
     paragraph.setConfig(config);
     paragraph.setText("%md This is my new paragraph in my new note");
     note.persist(anonymous);
-    String sourceNoteID = note.getId();
+    String sourceNoteId = note.getId();
     // get note content as JSON
-    String oldJson = getNoteContent(sourceNoteID);
-    // call notebook post
+    String oldJson = getNoteContent(sourceNoteId);
+    // call note post
     PostMethod importPost = httpPost("/notebook/import/", oldJson);
     assertThat(importPost, isCreated());
     resp =
@@ -270,7 +268,7 @@ public class ZeppelinRestApiTest extends AbstractTestRestApi {
             new TypeToken<Map<String, Object>>() {}.getType());
     String importId = (String) resp.get("body");
 
-    assertNotNull("Did not get back a notebook id in body", importId);
+    assertNotNull("Did not get back a note id in body", importId);
     Note newNote = ZeppelinServer.notebook.getNote(importId);
     assertEquals("Compare note names", noteName, newNote.getName());
     assertEquals("Compare paragraphs count", note.getParagraphs().size(), newNote.getParagraphs()
@@ -295,22 +293,22 @@ public class ZeppelinRestApiTest extends AbstractTestRestApi {
     return body;
   }
 
-  private void testDeleteNotebook(String notebookId) throws IOException {
+  private void testDeleteNote(String noteId) throws IOException {
 
-    DeleteMethod delete = httpDelete(("/notebook/" + notebookId));
-    LOG.info("testDeleteNotebook delete response\n" + delete.getResponseBodyAsString());
+    DeleteMethod delete = httpDelete(("/notebook/" + noteId));
+    LOG.info("testDeleteNote delete response\n" + delete.getResponseBodyAsString());
     assertThat("Test delete method:", delete, isAllowed());
     delete.releaseConnection();
     // make sure note is deleted
-    if (!notebookId.isEmpty()) {
-      Note deletedNote = ZeppelinServer.notebook.getNote(notebookId);
+    if (!noteId.isEmpty()) {
+      Note deletedNote = ZeppelinServer.notebook.getNote(noteId);
       assertNull("Deleted note should be null", deletedNote);
     }
   }
 
   @Test
-  public void testCloneNotebook() throws IOException, CloneNotSupportedException, IllegalArgumentException {
-    LOG.info("testCloneNotebook");
+  public void testCloneNote() throws IOException, CloneNotSupportedException, IllegalArgumentException {
+    LOG.info("testCloneNote");
     // Create note to clone
     Note note = ZeppelinServer.notebook.createNote(anonymous);
     assertNotNull("can't create new note", note);
@@ -321,21 +319,21 @@ public class ZeppelinRestApiTest extends AbstractTestRestApi {
     paragraph.setConfig(config);
     paragraph.setText("%md This is my new paragraph in my new note");
     note.persist(anonymous);
-    String sourceNoteID = note.getId();
+    String sourceNoteId = note.getId();
 
     String noteName = "clone Note Name";
-    // Call Clone Notebook REST API
+    // Call Clone Note REST API
     String jsonRequest = "{\"name\":\"" + noteName + "\"}";
-    PostMethod post = httpPost("/notebook/" + sourceNoteID, jsonRequest);
-    LOG.info("testNotebookClone \n" + post.getResponseBodyAsString());
-    assertThat("test notebook clone method:", post, isCreated());
+    PostMethod post = httpPost("/notebook/" + sourceNoteId, jsonRequest);
+    LOG.info("testNoteClone \n" + post.getResponseBodyAsString());
+    assertThat("test note clone method:", post, isCreated());
 
     Map<String, Object> resp = gson.fromJson(post.getResponseBodyAsString(), new TypeToken<Map<String, Object>>() {
     }.getType());
 
-    String newNotebookId =  (String) resp.get("body");
-    LOG.info("newNotebookId:=" + newNotebookId);
-    Note newNote = ZeppelinServer.notebook.getNote(newNotebookId);
+    String newNoteId =  (String) resp.get("body");
+    LOG.info("newNoteId:=" + newNoteId);
+    Note newNote = ZeppelinServer.notebook.getNote(newNoteId);
     assertNotNull("Can not find new note by id", newNote);
     assertEquals("Compare note names", noteName, newNote.getName());
     assertEquals("Compare paragraphs count", note.getParagraphs().size(), newNote.getParagraphs().size());
@@ -346,16 +344,16 @@ public class ZeppelinRestApiTest extends AbstractTestRestApi {
   }
 
   @Test
-  public void testListNotebooks() throws IOException {
-    LOG.info("testListNotebooks");
+  public void testListNotes() throws IOException {
+    LOG.info("testListNotes");
     GetMethod get = httpGet("/notebook/ ");
-    assertThat("List notebooks method", get, isAllowed());
+    assertThat("List notes method", get, isAllowed());
     Map<String, Object> resp = gson.fromJson(get.getResponseBodyAsString(), new TypeToken<Map<String, Object>>() {
     }.getType());
     List<Map<String, String>> body = (List<Map<String, String>>) resp.get("body");
     //TODO(khalid): anonymous or specific user notes?
     HashSet<String> anonymous = Sets.newHashSet("anonymous");
-    assertEquals("List notebooks are equal", ZeppelinServer.notebook.getAllNotes(anonymous).size(), body.size());
+    assertEquals("List notes are equal", ZeppelinServer.notebook.getAllNotes(anonymous).size(), body.size());
     get.releaseConnection();
   }
 
@@ -374,7 +372,7 @@ public class ZeppelinRestApiTest extends AbstractTestRestApi {
     
     paragraph.setText("%md This is test paragraph.");
     note.persist(anonymous);
-    String noteID = note.getId();
+    String noteId = note.getId();
 
     note.runAll();
     // wait until job is finished or timeout.
@@ -387,25 +385,25 @@ public class ZeppelinRestApiTest extends AbstractTestRestApi {
       }
     }
     
-    // Call Run Notebook Jobs REST API
-    PostMethod postNoteJobs = httpPost("/notebook/job/" + noteID, "");
-    assertThat("test notebook jobs run:", postNoteJobs, isAllowed());
+    // Call Run note jobs REST API
+    PostMethod postNoteJobs = httpPost("/notebook/job/" + noteId, "");
+    assertThat("test note jobs run:", postNoteJobs, isAllowed());
     postNoteJobs.releaseConnection();
 
-    // Call Stop Notebook Jobs REST API
-    DeleteMethod deleteNoteJobs = httpDelete("/notebook/job/" + noteID);
-    assertThat("test notebook stop:", deleteNoteJobs, isAllowed());
+    // Call Stop note jobs REST API
+    DeleteMethod deleteNoteJobs = httpDelete("/notebook/job/" + noteId);
+    assertThat("test note stop:", deleteNoteJobs, isAllowed());
     deleteNoteJobs.releaseConnection();    
     Thread.sleep(1000);
     
     // Call Run paragraph REST API
-    PostMethod postParagraph = httpPost("/notebook/job/" + noteID + "/" + paragraph.getId(), "");
+    PostMethod postParagraph = httpPost("/notebook/job/" + noteId + "/" + paragraph.getId(), "");
     assertThat("test paragraph run:", postParagraph, isAllowed());
     postParagraph.releaseConnection();    
     Thread.sleep(1000);
     
     // Call Stop paragraph REST API
-    DeleteMethod deleteParagraph = httpDelete("/notebook/job/" + noteID + "/" + paragraph.getId());
+    DeleteMethod deleteParagraph = httpDelete("/notebook/job/" + noteId + "/" + paragraph.getId());
     assertThat("test paragraph stop:", deleteParagraph, isAllowed());
     deleteParagraph.releaseConnection();    
     Thread.sleep(1000);
@@ -415,8 +413,8 @@ public class ZeppelinRestApiTest extends AbstractTestRestApi {
   }
 
   @Test
-  public void testGetNotebookJob() throws IOException, InterruptedException {
-    LOG.info("testGetNotebookJob");
+  public void testGetNoteJob() throws IOException, InterruptedException {
+    LOG.info("testGetNoteJob");
     // Create note to run test.
     Note note = ZeppelinServer.notebook.createNote(anonymous);
     assertNotNull("can't create new note", note);
@@ -430,7 +428,7 @@ public class ZeppelinRestApiTest extends AbstractTestRestApi {
     paragraph.setText("%sh sleep 1");
     paragraph.setAuthenticationInfo(anonymous);
     note.persist(anonymous);
-    String noteID = note.getId();
+    String noteId = note.getId();
 
     note.runAll();
 
@@ -440,12 +438,12 @@ public class ZeppelinRestApiTest extends AbstractTestRestApi {
     }
 
     // assume that status of the paragraph is running
-    GetMethod get = httpGet("/notebook/job/" + noteID);
-    assertThat("test get notebook job: ", get, isAllowed());
+    GetMethod get = httpGet("/notebook/job/" + noteId);
+    assertThat("test get note job: ", get, isAllowed());
     String responseBody = get.getResponseBodyAsString();
     get.releaseConnection();
 
-    LOG.info("test get notebook job: \n" + responseBody);
+    LOG.info("test get note job: \n" + responseBody);
     Map<String, Object> resp = gson.fromJson(responseBody, new TypeToken<Map<String, Object>>() {
     }.getType());
 
@@ -460,7 +458,7 @@ public class ZeppelinRestApiTest extends AbstractTestRestApi {
     while (!paragraph.isTerminated()) {
       Thread.sleep(100);
       if (timeout++ > 10) {
-        LOG.info("testGetNotebookJob timeout job.");
+        LOG.info("testGetNoteJob timeout job.");
         break;
       }
     }
@@ -483,7 +481,7 @@ public class ZeppelinRestApiTest extends AbstractTestRestApi {
 
     paragraph.setText("%spark\nval param = z.input(\"param\").toString\nprintln(param)");
     note.persist(anonymous);
-    String noteID = note.getId();
+    String noteId = note.getId();
 
     note.runAll();
     // wait until job is finished or timeout.
@@ -497,13 +495,13 @@ public class ZeppelinRestApiTest extends AbstractTestRestApi {
     }
 
     // Call Run paragraph REST API
-    PostMethod postParagraph = httpPost("/notebook/job/" + noteID + "/" + paragraph.getId(),
+    PostMethod postParagraph = httpPost("/notebook/job/" + noteId + "/" + paragraph.getId(),
         "{\"params\": {\"param\": \"hello\", \"param2\": \"world\"}}");
     assertThat("test paragraph run:", postParagraph, isAllowed());
     postParagraph.releaseConnection();
     Thread.sleep(1000);
 
-    Note retrNote = ZeppelinServer.notebook.getNote(noteID);
+    Note retrNote = ZeppelinServer.notebook.getNote(noteId);
     Paragraph retrParagraph = retrNote.getParagraph(paragraph.getId());
     Map<String, Object> params = retrParagraph.settings.getParams();
     assertEquals("hello", params.get("param"));
@@ -574,7 +572,7 @@ public class ZeppelinRestApiTest extends AbstractTestRestApi {
     note.persist(anonymous);
 
     GetMethod getNoteJobs = httpGet("/notebook/job/" + note.getId());
-    assertThat("test notebook jobs run:", getNoteJobs, isAllowed());
+    assertThat("test note jobs run:", getNoteJobs, isAllowed());
     Map<String, Object> resp = gson.fromJson(getNoteJobs.getResponseBodyAsString(), new TypeToken<Map<String, Object>>() {
     }.getType());
     List<Map<String, String>> body = (List<Map<String, String>>) resp.get("body");
@@ -722,13 +720,13 @@ public class ZeppelinRestApiTest extends AbstractTestRestApi {
 
     Note note1 = ZeppelinServer.notebook.createNote(anonymous);
     String jsonRequest = "{\"title\": \"title1\", \"text\": \"ThisIsToTestSearchMethodWithPermissions 1\"}";
-    PostMethod postNotebookText = httpPost("/notebook/" + note1.getId() + "/paragraph", jsonRequest);
-    postNotebookText.releaseConnection();
+    PostMethod postNoteText = httpPost("/notebook/" + note1.getId() + "/paragraph", jsonRequest);
+    postNoteText.releaseConnection();
 
     Note note2 = ZeppelinServer.notebook.createNote(anonymous);
     jsonRequest = "{\"title\": \"title1\", \"text\": \"ThisIsToTestSearchMethodWithPermissions 2\"}";
-    postNotebookText = httpPost("/notebook/" + note2.getId() + "/paragraph", jsonRequest);
-    postNotebookText.releaseConnection();
+    postNoteText = httpPost("/notebook/" + note2.getId() + "/paragraph", jsonRequest);
+    postNoteText.releaseConnection();
 
     String jsonPermissions = "{\"owners\":[\"" + username + "\"],\"readers\":[\"" + username + "\"],\"writers\":[\"" + username + "\"]}";
     PutMethod putPermission = httpPut("/notebook/" + note1.getId() + "/permissions", jsonPermissions);
@@ -738,9 +736,9 @@ public class ZeppelinRestApiTest extends AbstractTestRestApi {
     putPermission = httpPut("/notebook/" + note2.getId() + "/permissions", jsonPermissions);
     putPermission.releaseConnection();
 
-    GetMethod searchNotebook = httpGet("/notebook/search?q='ThisIsToTestSearchMethodWithPermissions'");
-    searchNotebook.addRequestHeader("Origin", "http://localhost");
-    Map<String, Object> respSearchResult = gson.fromJson(searchNotebook.getResponseBodyAsString(),
+    GetMethod searchNote = httpGet("/notebook/search?q='ThisIsToTestSearchMethodWithPermissions'");
+    searchNote.addRequestHeader("Origin", "http://localhost");
+    Map<String, Object> respSearchResult = gson.fromJson(searchNote.getResponseBodyAsString(),
         new TypeToken<Map<String, Object>>() {
         }.getType());
     ArrayList searchBody = (ArrayList) respSearchResult.get("body");
@@ -766,7 +764,7 @@ public class ZeppelinRestApiTest extends AbstractTestRestApi {
       }
       getPermission.releaseConnection();
     }
-    searchNotebook.releaseConnection();
+    searchNote.releaseConnection();
     ZeppelinServer.notebook.removeNote(note1.getId(), anonymous);
     ZeppelinServer.notebook.removeNote(note2.getId(), anonymous);
   }
@@ -775,12 +773,12 @@ public class ZeppelinRestApiTest extends AbstractTestRestApi {
   public void testTitleSearch() throws IOException {
     Note note = ZeppelinServer.notebook.createNote(anonymous);
     String jsonRequest = "{\"title\": \"testTitleSearchOfParagraph\", \"text\": \"ThisIsToTestSearchMethodWithTitle \"}";
-    PostMethod postNotebookText = httpPost("/notebook/" + note.getId() + "/paragraph", jsonRequest);
-    postNotebookText.releaseConnection();
+    PostMethod postNoteText = httpPost("/notebook/" + note.getId() + "/paragraph", jsonRequest);
+    postNoteText.releaseConnection();
 
-    GetMethod searchNotebook = httpGet("/notebook/search?q='testTitleSearchOfParagraph'");
-    searchNotebook.addRequestHeader("Origin", "http://localhost");
-    Map<String, Object> respSearchResult = gson.fromJson(searchNotebook.getResponseBodyAsString(),
+    GetMethod searchNote = httpGet("/notebook/search?q='testTitleSearchOfParagraph'");
+    searchNote.addRequestHeader("Origin", "http://localhost");
+    Map<String, Object> respSearchResult = gson.fromJson(searchNote.getResponseBodyAsString(),
         new TypeToken<Map<String, Object>>() {
         }.getType());
     ArrayList searchBody = (ArrayList) respSearchResult.get("body");
@@ -793,7 +791,7 @@ public class ZeppelinRestApiTest extends AbstractTestRestApi {
       }
     }
     assertEquals("Paragraph title hits must be at-least one", true, numberOfTitleHits >= 1);
-    searchNotebook.releaseConnection();
+    searchNote.releaseConnection();
     ZeppelinServer.notebook.removeNote(note.getId(), anonymous);
   }
 

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/4f6a0e34/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 caac043..a2225ab 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
@@ -154,7 +154,7 @@ public class NotebookServerTest extends AbstractTestRestApi {
   @Test
   public void testImportNotebook() throws IOException {
     String msg = "{\"op\":\"IMPORT_NOTE\",\"data\":" +
-        "{\"notebook\":{\"paragraphs\": [{\"text\": \"Test " +
+        "{\"note\":{\"paragraphs\": [{\"text\": \"Test " +
         "paragraphs import\",\"config\":{},\"settings\":{}}]," +
         "\"name\": \"Test Zeppelin notebook import\",\"config\": " +
         "{}}}}";

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/4f6a0e34/zeppelin-web/src/app/home/home.controller.js
----------------------------------------------------------------------
diff --git a/zeppelin-web/src/app/home/home.controller.js b/zeppelin-web/src/app/home/home.controller.js
index 9063e33..171a275 100644
--- a/zeppelin-web/src/app/home/home.controller.js
+++ b/zeppelin-web/src/app/home/home.controller.js
@@ -18,17 +18,17 @@
 
   HomeCtrl.$inject = [
     '$scope',
-    'notebookListDataFactory',
+    'noteListDataFactory',
     'websocketMsgSrv',
     '$rootScope',
     'arrayOrderingSrv',
     'ngToast'
   ];
 
-  function HomeCtrl($scope, notebookListDataFactory, websocketMsgSrv, $rootScope, arrayOrderingSrv, ngToast) {
+  function HomeCtrl($scope, noteListDataFactory, websocketMsgSrv, $rootScope, arrayOrderingSrv, ngToast) {
     ngToast.dismiss();
     var vm = this;
-    vm.notes = notebookListDataFactory;
+    vm.notes = noteListDataFactory;
     vm.websocketMsgSrv = websocketMsgSrv;
     vm.arrayOrderingSrv = arrayOrderingSrv;
 
@@ -42,12 +42,12 @@
     $scope.isReloading = false;
 
     var initHome = function() {
-      websocketMsgSrv.getHomeNotebook();
+      websocketMsgSrv.getHomeNote();
     };
 
     initHome();
 
-    $scope.reloadNotebookList = function() {
+    $scope.reloadNoteList = function() {
       websocketMsgSrv.reloadAllNotesFromRepo();
       $scope.isReloadingNotes = true;
     };

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/4f6a0e34/zeppelin-web/src/app/home/home.html
----------------------------------------------------------------------
diff --git a/zeppelin-web/src/app/home/home.html b/zeppelin-web/src/app/home/home.html
index 1959a47..0f8e968 100644
--- a/zeppelin-web/src/app/home/home.html
+++ b/zeppelin-web/src/app/home/home.html
@@ -47,7 +47,7 @@ limitations under the License.
           <h4>Notebook
             <i ng-class="isReloadingNotes ? 'fa fa-refresh fa-spin' : 'fa fa-refresh'"
               ng-style="!isReloadingNotes && {'cursor': 'pointer'}" style="font-size: 13px;"
-              ng-click="reloadNotebookList();"
+              ng-click="reloadNoteList();"
               tooltip-placement="bottom" tooltip="Reload notes from storage">
             </i>
           </h4>
@@ -59,15 +59,15 @@ limitations under the License.
               <i style="font-size: 15px;" class="icon-notebook"></i> Create new note</a></h5>
             <ul id="notebook-names">
               <li class="filter-names" ng-include="'components/filterNoteNames/filter-note-names.html'"></li>
-              <li ng-repeat="note in home.notes.list | filter:query.q | orderBy:home.arrayOrderingSrv.notebookListOrdering track by $index">
+              <li ng-repeat="note in home.notes.list | filter:query.q | orderBy:home.arrayOrderingSrv.noteListOrdering track by $index">
                 <i style="font-size: 10px;" class="icon-doc"></i>
                 <a style="text-decoration: none;" href="#/notebook/{{note.id}}">{{noteName(note)}}</a>
               </li>
               <div ng-if="!query || query.name === ''">
-                <li ng-repeat="node in home.notes.root.children | orderBy:home.arrayOrderingSrv.notebookListOrdering track by $index" ng-include="'notebook_folder_renderer.html'" />
+                <li ng-repeat="node in home.notes.root.children | orderBy:home.arrayOrderingSrv.noteListOrdering track by $index" ng-include="'notebook_folder_renderer.html'" />
               </div>
               <div ng-if="query && query.name !== ''">
-                <li ng-repeat="note in home.notes.flatList | filter:query.q | orderBy:home.arrayOrderingSrv.notebookListOrdering track by $index">
+                <li ng-repeat="note in home.notes.flatList | filter:query.q | orderBy:home.arrayOrderingSrv.noteListOrdering track by $index">
                   <i style="font-size: 10px;" class="icon-doc"></i>
                   <a style="text-decoration: none;" href="#/notebook/{{note.id}}">{{noteName(note)}}</a>
                 </li>

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/4f6a0e34/zeppelin-web/src/app/jobmanager/jobmanager.controller.js
----------------------------------------------------------------------
diff --git a/zeppelin-web/src/app/jobmanager/jobmanager.controller.js b/zeppelin-web/src/app/jobmanager/jobmanager.controller.js
index d28b374..903a81f 100644
--- a/zeppelin-web/src/app/jobmanager/jobmanager.controller.js
+++ b/zeppelin-web/src/app/jobmanager/jobmanager.controller.js
@@ -34,7 +34,7 @@
       $scope.jobInfomations = [];
       $scope.JobInfomationsByFilter = $scope.jobInfomations;
 
-      websocketMsgSrv.getNotebookJobsList();
+      websocketMsgSrv.getNoteJobsList();
 
       $scope.$on('$destroy', function() {
         websocketMsgSrv.unsubscribeJobManager();
@@ -45,34 +45,34 @@
     ** $scope.$on functions below
     */
 
-    $scope.$on('setNotebookJobs', function(event, responseData) {
+    $scope.$on('setNoteJobs', function(event, responseData) {
       $scope.lastJobServerUnixTime = responseData.lastResponseUnixTime;
       $scope.jobInfomations = responseData.jobs;
-      $scope.jobInfomationsIndexs = $scope.jobInfomations ? _.indexBy($scope.jobInfomations, 'notebookId') : {};
+      $scope.jobInfomationsIndexs = $scope.jobInfomations ? _.indexBy($scope.jobInfomations, 'noteId') : {};
     });
 
-    $scope.$on('setUpdateNotebookJobs', function(event, responseData) {
+    $scope.$on('setUpdateNoteJobs', function(event, responseData) {
       var jobInfomations = $scope.jobInfomations;
       var indexStore = $scope.jobInfomationsIndexs;
       $scope.lastJobServerUnixTime = responseData.lastResponseUnixTime;
       var notes = responseData.jobs;
       notes.map(function(changedItem) {
-        if (indexStore[changedItem.notebookId] === undefined) {
+        if (indexStore[changedItem.noteId] === undefined) {
           var newItem = angular.copy(changedItem);
           jobInfomations.push(newItem);
-          indexStore[changedItem.notebookId] = newItem;
+          indexStore[changedItem.noteId] = newItem;
         } else {
-          var changeOriginTarget = indexStore[changedItem.notebookId];
+          var changeOriginTarget = indexStore[changedItem.noteId];
 
           if (changedItem.isRemoved !== undefined && changedItem.isRemoved === true) {
 
             // remove Item.
-            var removeIndex = _.findIndex(indexStore, changedItem.notebookId);
+            var removeIndex = _.findIndex(indexStore, changedItem.noteId);
             if (removeIndex > -1) {
               indexStore.splice(removeIndex, 1);
             }
 
-            removeIndex = _.findIndex(jobInfomations, {'notebookId': changedItem.notebookId});
+            removeIndex = _.findIndex(jobInfomations, {'noteId': changedItem.noteId});
             if (removeIndex) {
               jobInfomations.splice(removeIndex, 1);
             }
@@ -80,8 +80,8 @@
           } else {
             // change value for item.
             changeOriginTarget.isRunningJob = changedItem.isRunningJob;
-            changeOriginTarget.notebookName = changedItem.notebookName;
-            changeOriginTarget.notebookType = changedItem.notebookType;
+            changeOriginTarget.noteName = changedItem.noteName;
+            changeOriginTarget.noteType = changedItem.noteType;
             changeOriginTarget.interpreter = changedItem.interpreter;
             changeOriginTarget.unixTimeLastRun = changedItem.unixTimeLastRun;
             changeOriginTarget.paragraphs = changedItem.paragraphs;

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/4f6a0e34/zeppelin-web/src/app/jobmanager/jobmanager.html
----------------------------------------------------------------------
diff --git a/zeppelin-web/src/app/jobmanager/jobmanager.html b/zeppelin-web/src/app/jobmanager/jobmanager.html
index 2884b85..f8b78dd 100644
--- a/zeppelin-web/src/app/jobmanager/jobmanager.html
+++ b/zeppelin-web/src/app/jobmanager/jobmanager.html
@@ -23,7 +23,7 @@ limitations under the License.
     </div>
     <div class="row">
       <div class="col-md-12">
-        You can monitor the written notebook. Check the status of the Notebook and can control the action.
+        You can monitor the status of notebook and navigate to note or paragraph.
       </div>
     </div>
   </div>

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/4f6a0e34/zeppelin-web/src/app/jobmanager/jobs/job-control.html
----------------------------------------------------------------------
diff --git a/zeppelin-web/src/app/jobmanager/jobs/job-control.html b/zeppelin-web/src/app/jobmanager/jobs/job-control.html
index 2cd0bf8..e800521 100644
--- a/zeppelin-web/src/app/jobmanager/jobs/job-control.html
+++ b/zeppelin-web/src/app/jobmanager/jobs/job-control.html
@@ -12,16 +12,16 @@ See the License for the specific language governing permissions and
 limitations under the License.
 -->
 
-<div id="{{notebookJob.notebookId}}_control" class="control">
+<div id="{{notebookJob.noteId}}_control" class="control">
   <span>
     {{lastExecuteTime(notebookJob.unixTimeLastRun)}}
   </span>
   <span>
     <span ng-if="notebookJob.isRunningJob === true">
-      Notebook is RUNNING
+      Note is RUNNING
     </span>
     <span ng-if="notebookJob.isRunningJob === false">
-      Notebook is READY
+      Note is READY
     </span>
   </span>
 

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/4f6a0e34/zeppelin-web/src/app/jobmanager/jobs/job-progressBar.html
----------------------------------------------------------------------
diff --git a/zeppelin-web/src/app/jobmanager/jobs/job-progressBar.html b/zeppelin-web/src/app/jobmanager/jobs/job-progressBar.html
index 11e3c17..00b290b 100644
--- a/zeppelin-web/src/app/jobmanager/jobs/job-progressBar.html
+++ b/zeppelin-web/src/app/jobmanager/jobs/job-progressBar.html
@@ -12,8 +12,8 @@ See the License for the specific language governing permissions and
 limitations under the License.
 -->
 
-<div id="{{notebookJob.notebookId}}_runControl" class="runControl">
-  <div id="{{notebookJob.notebookId}}_progress" class="progress" ng-if="notebookJob.isRunningJob === true">
+<div id="{{notebookJob.noteId}}_runControl" class="runControl">
+  <div id="{{notebookJob.noteId}}_progress" class="progress" ng-if="notebookJob.isRunningJob === true">
       <div ng-if="getProgress()>0 && getProgress()<100 && notebookJob.isRunningJob === true"
         class="progress-bar" role="progressbar" ng-style="{width:getProgress()+'%'}"></div>
       <div ng-if="(getProgress()<=0 || getProgress()>=100) && (notebookJob.isRunningJob === true)"

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/4f6a0e34/zeppelin-web/src/app/jobmanager/jobs/job.html
----------------------------------------------------------------------
diff --git a/zeppelin-web/src/app/jobmanager/jobs/job.html b/zeppelin-web/src/app/jobmanager/jobs/job.html
index 0a6ad67..a89b67f 100644
--- a/zeppelin-web/src/app/jobmanager/jobs/job.html
+++ b/zeppelin-web/src/app/jobmanager/jobs/job.html
@@ -17,15 +17,15 @@ limitations under the License.
     <div ng-include src="'app/jobmanager/jobs/job-control.html'"></div>
     <span
       class="job-types"
-      ng-switch="notebookJob.notebookType">
+      ng-switch="notebookJob.noteType">
       <i ng-switch-when="normal" class="icon-doc"></i>
       <i ng-switch-when="cron" class="icon-clock"></i>
       <i ng-switch-default class="icon-question"></i>
     </span>
     &nbsp;
-    <a style="text-decoration: none !important;" ng-href="#/notebook/{{notebookJob.notebookId}}">
+    <a style="text-decoration: none !important;" ng-href="#/notebook/{{notebookJob.noteId}}">
       <span>
-       {{notebookJob.notebookName}}
+       {{notebookJob.noteName}}
       </span>
       <span>
         &nbsp;-&nbsp;
@@ -48,7 +48,7 @@ limitations under the License.
       ng-switch="paragraphJob.status">
       <a ng-switch-when="READY"
          style="text-decoration: none !important;"
-         ng-href="#/notebook/{{notebookJob.notebookId}}/paragraph/{{paragraphJob.id}}">
+         ng-href="#/notebook/{{notebookJob.noteId}}/paragraph/{{paragraphJob.id}}">
         <i style="color: green" class="fa fa-circle-o"
            tooltip-placement="top-left"
            tooltip="{{paragraphJob.name}} is READY">
@@ -56,7 +56,7 @@ limitations under the License.
       </a>
       <a ng-switch-when="FINISHED"
          style="text-decoration: none !important;"
-         ng-href="#/notebook/{{notebookJob.notebookId}}/paragraph/{{paragraphJob.id}}">
+         ng-href="#/notebook/{{notebookJob.noteId}}/paragraph/{{paragraphJob.id}}">
         <i style="color: green" class="fa fa-circle"
            tooltip-placement="top-left"
            tooltip="{{paragraphJob.name}} is FINISHED">
@@ -64,7 +64,7 @@ limitations under the License.
       </a>
       <a ng-switch-when="ABORT"
          style="text-decoration: none !important;"
-         ng-href="#/notebook/{{notebookJob.notebookId}}/paragraph/{{paragraphJob.id}}">
+         ng-href="#/notebook/{{notebookJob.noteId}}/paragraph/{{paragraphJob.id}}">
         <i style="color: orange" class="fa fa-circle"
            tooltip-placement="top-left"
            tooltip="{{paragraphJob.name}} is ABORT">
@@ -72,7 +72,7 @@ limitations under the License.
       </a>
       <a ng-switch-when="ERROR"
          style="text-decoration: none !important;"
-         ng-href="#/notebook/{{notebookJob.notebookId}}/paragraph/{{paragraphJob.id}}">
+         ng-href="#/notebook/{{notebookJob.noteId}}/paragraph/{{paragraphJob.id}}">
         <i style="color: red" class="fa fa-circle"
            tooltip-placement="top-left"
            tooltip="{{paragraphJob.name}} is ERROR">
@@ -80,7 +80,7 @@ limitations under the License.
       </a>
       <a ng-switch-when="PENDING"
          style="text-decoration: none !important;"
-         ng-href="#/notebook/{{notebookJob.notebookId}}/paragraph/{{paragraphJob.id}}">
+         ng-href="#/notebook/{{notebookJob.noteId}}/paragraph/{{paragraphJob.id}}">
         <i style="color: gray" class="fa fa-circle"
            tooltip-placement="top-left"
            tooltip="{{paragraphJob.name}} is PENDING">
@@ -88,7 +88,7 @@ limitations under the License.
       </a>
       <a ng-switch-when="RUNNING"
          style="text-decoration: none !important;"
-         ng-href="#/notebook/{{notebookJob.notebookId}}/paragraph/{{paragraphJob.id}}">
+         ng-href="#/notebook/{{notebookJob.noteId}}/paragraph/{{paragraphJob.id}}">
         <i style="color: blue" class="fa fa-spinner spinAnimation"
            tooltip-placement="top-left"
            tooltip="{{paragraphJob.name}} is RUNNING">
@@ -96,7 +96,7 @@ limitations under the License.
       </a>
       <a ng-switch-default class="icon-question"
          style="text-decoration: none !important;"
-         ng-href="#/notebook/{{notebookJob.notebookId}}/paragraph/{{paragraphJob.id}}">
+         ng-href="#/notebook/{{notebookJob.noteId}}/paragraph/{{paragraphJob.id}}">
         <i class="icon-question"
            tooltip-placement="top-left"
            tooltip="{{paragraphJob.name}} is {{paragraphJob.status}}">

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/4f6a0e34/zeppelin-web/src/app/notebook/notebook-actionBar.html
----------------------------------------------------------------------
diff --git a/zeppelin-web/src/app/notebook/notebook-actionBar.html b/zeppelin-web/src/app/notebook/notebook-actionBar.html
index fcc0e67..38406df 100644
--- a/zeppelin-web/src/app/notebook/notebook-actionBar.html
+++ b/zeppelin-web/src/app/notebook/notebook-actionBar.html
@@ -53,7 +53,7 @@ limitations under the License.
       <button type="button"
               class="btn btn-default btn-xs"
               ng-hide="viewOnly"
-              tooltip-placement="bottom" tooltip="Clone the notebook" data-source-note-name="{{note.name}}"
+              tooltip-placement="bottom" tooltip="Clone this note" data-source-note-name="{{note.name}}"
               data-toggle="modal" data-target="#noteNameModal" data-clone="true"
               >
         <i class="fa fa-copy"></i>
@@ -61,8 +61,8 @@ limitations under the License.
       <button type="button"
               class="btn btn-default btn-xs"
               ng-hide="viewOnly"
-              ng-click="exportNotebook()"
-              tooltip-placement="bottom" tooltip="Export the notebook">
+              ng-click="exportNote()"
+              tooltip-placement="bottom" tooltip="Export this note">
         <i class="fa fa-download"></i>
       </button>
     </span>
@@ -91,9 +91,9 @@ limitations under the License.
                 <button type="button"
                         class="btn btn-default btn-xs"
                         ng-hide="viewOnly"
-                        ng-click="checkpointNotebook(note.checkpoint.message)"
+                        ng-click="checkpointNote(note.checkpoint.message)"
                         style="margin-left: 4px;"
-                        tooltip-placement="bottom" tooltip="Commit the notebook">Commit
+                        tooltip-placement="bottom" tooltip="Commit this note">Commit
                 </button>
               </div>
             </div>
@@ -130,7 +130,7 @@ limitations under the License.
                 class="btn btn-default btn-xs"
                 ng-click="removeNote(note.id)"
                 ng-hide="viewOnly"
-                tooltip-placement="bottom" tooltip="Remove the notebook">
+                tooltip-placement="bottom" tooltip="Remove this note">
           <i class="icon-trash"></i>
         </button>
       </span>

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/4f6a0e34/zeppelin-web/src/app/notebook/notebook.controller.js
----------------------------------------------------------------------
diff --git a/zeppelin-web/src/app/notebook/notebook.controller.js b/zeppelin-web/src/app/notebook/notebook.controller.js
index f2aa67d..6255d73 100644
--- a/zeppelin-web/src/app/notebook/notebook.controller.js
+++ b/zeppelin-web/src/app/notebook/notebook.controller.js
@@ -86,7 +86,7 @@
 
     /** Init the new controller */
     var initNotebook = function() {
-      websocketMsgSrv.getNotebook($routeParams.noteId);
+      websocketMsgSrv.getNote($routeParams.noteId);
       websocketMsgSrv.listRevisionHistory($routeParams.noteId);
       var currentRoute = $route.current;
       if (currentRoute) {
@@ -145,10 +145,10 @@
       BootstrapDialog.confirm({
         closable: true,
         title: '',
-        message: 'Do you want to delete this notebook?',
+        message: 'Do you want to delete this note?',
         callback: function(result) {
           if (result) {
-            websocketMsgSrv.deleteNotebook(noteId);
+            websocketMsgSrv.deleteNote(noteId);
             $location.path('/');
           }
         }
@@ -156,7 +156,7 @@
     };
 
     //Export notebook
-    $scope.exportNotebook = function() {
+    $scope.exportNote = function() {
       var jsonContent = JSON.stringify($scope.note);
       saveAsService.saveAs(jsonContent, $scope.note.name, 'json');
     };
@@ -166,10 +166,10 @@
       BootstrapDialog.confirm({
         closable: true,
         title: '',
-        message: 'Do you want to clone this notebook?',
+        message: 'Do you want to clone this note?',
         callback: function(result) {
           if (result) {
-            websocketMsgSrv.cloneNotebook(noteId);
+            websocketMsgSrv.cloneNote(noteId);
             $location.path('/');
           }
         }
@@ -177,14 +177,14 @@
     };
 
     // checkpoint/commit notebook
-    $scope.checkpointNotebook = function(commitMessage) {
+    $scope.checkpointNote = function(commitMessage) {
       BootstrapDialog.confirm({
         closable: true,
         title: '',
-        message: 'Commit notebook to current repository?',
+        message: 'Commit note to current repository?',
         callback: function(result) {
           if (result) {
-            websocketMsgSrv.checkpointNotebook($routeParams.noteId, commitMessage);
+            websocketMsgSrv.checkpointNote($routeParams.noteId, commitMessage);
           }
         }
       });
@@ -336,13 +336,13 @@
       if (config) {
         $scope.note.config = config;
       }
-      websocketMsgSrv.updateNotebook($scope.note.id, $scope.note.name, $scope.note.config);
+      websocketMsgSrv.updateNote($scope.note.id, $scope.note.name, $scope.note.config);
     };
 
     /** Update the note name */
     $scope.sendNewName = function() {
       if ($scope.note.name) {
-        websocketMsgSrv.updateNotebook($scope.note.id, $scope.note.name, $scope.note.config);
+        websocketMsgSrv.updateNote($scope.note.id, $scope.note.name, $scope.note.config);
       }
     };
 

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/4f6a0e34/zeppelin-web/src/components/arrayOrderingSrv/arrayOrdering.service.js
----------------------------------------------------------------------
diff --git a/zeppelin-web/src/components/arrayOrderingSrv/arrayOrdering.service.js b/zeppelin-web/src/components/arrayOrderingSrv/arrayOrdering.service.js
index 3f7d1b8..7e23ab7 100644
--- a/zeppelin-web/src/components/arrayOrderingSrv/arrayOrdering.service.js
+++ b/zeppelin-web/src/components/arrayOrderingSrv/arrayOrdering.service.js
@@ -19,7 +19,7 @@
   function arrayOrderingSrv() {
     var arrayOrderingSrv = this;
 
-    this.notebookListOrdering = function(note) {
+    this.noteListOrdering = function(note) {
       return arrayOrderingSrv.getNoteName(note);
     };
 

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/4f6a0e34/zeppelin-web/src/components/navbar/navbar-noteList-elem.html
----------------------------------------------------------------------
diff --git a/zeppelin-web/src/components/navbar/navbar-noteList-elem.html b/zeppelin-web/src/components/navbar/navbar-noteList-elem.html
new file mode 100644
index 0000000..6d44b96
--- /dev/null
+++ b/zeppelin-web/src/components/navbar/navbar-noteList-elem.html
@@ -0,0 +1,36 @@
+<!--
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+<a class="notebook-list-item" ng-if="note.id" href="#/notebook/{{note.id}}">
+  <i style="font-size: 10px; margin-right: 5px;" class="icon-doc"></i>
+  <span>{{noteName(note)}}</span>
+</a>
+<li ng-if="!note.id" ng-click="$event.stopPropagation()">
+  <expand-collapse>
+      <div>
+        <a class="notebook-list-item" href="javascript:void(0)">
+          <i style="font-size: 10px; margin-right: 5px;" class="icon-folder"></i>
+          <span>{{noteName(note)}}</span>
+        </a>
+      </div>
+      <div class="expandable" style="color: black;">
+        <ul>
+          <li ng-repeat="note in note.children | orderBy:navbar.arrayOrderingSrv.noteListOrdering track by $index"
+              ng-class="{'active' : navbar.isActive(note.id)}"
+              ng-include="'components/navbar/navbar-noteList-elem.html'">
+          </li>
+        </ul>
+      </div>
+  </expand-collapse>
+</li>

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/4f6a0e34/zeppelin-web/src/components/navbar/navbar-notebookList-elem.html
----------------------------------------------------------------------
diff --git a/zeppelin-web/src/components/navbar/navbar-notebookList-elem.html b/zeppelin-web/src/components/navbar/navbar-notebookList-elem.html
deleted file mode 100644
index 590154f..0000000
--- a/zeppelin-web/src/components/navbar/navbar-notebookList-elem.html
+++ /dev/null
@@ -1,36 +0,0 @@
-<!--
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-<a class="notebook-list-item" ng-if="note.id" href="#/notebook/{{note.id}}">
-  <i style="font-size: 10px; margin-right: 5px;" class="icon-doc"></i>
-  <span>{{noteName(note)}}</span>
-</a>
-<li ng-if="!note.id" ng-click="$event.stopPropagation()">
-  <expand-collapse>
-      <div>
-        <a class="notebook-list-item" href="javascript:void(0)">
-          <i style="font-size: 10px; margin-right: 5px;" class="icon-folder"></i>
-          <span>{{noteName(note)}}</span>
-        </a>
-      </div>
-      <div class="expandable" style="color: black;">
-        <ul>
-          <li ng-repeat="note in note.children | orderBy:navbar.arrayOrderingSrv.notebookListOrdering track by $index"
-              ng-class="{'active' : navbar.isActive(note.id)}"
-              ng-include="'components/navbar/navbar-notebookList-elem.html'">
-          </li>
-        </ul>
-      </div>
-  </expand-collapse>
-</li>

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/4f6a0e34/zeppelin-web/src/components/navbar/navbar.controller.js
----------------------------------------------------------------------
diff --git a/zeppelin-web/src/components/navbar/navbar.controller.js b/zeppelin-web/src/components/navbar/navbar.controller.js
index 8586960..4778669 100644
--- a/zeppelin-web/src/components/navbar/navbar.controller.js
+++ b/zeppelin-web/src/components/navbar/navbar.controller.js
@@ -22,7 +22,7 @@
     '$http',
     '$routeParams',
     '$location',
-    'notebookListDataFactory',
+    'noteListDataFactory',
     'baseUrlSrv',
     'websocketMsgSrv',
     'arrayOrderingSrv',
@@ -30,14 +30,14 @@
   ];
 
   function NavCtrl($scope, $rootScope, $http, $routeParams, $location,
-                   notebookListDataFactory, baseUrlSrv, websocketMsgSrv,
+                   noteListDataFactory, baseUrlSrv, websocketMsgSrv,
                    arrayOrderingSrv, searchService) {
     var vm = this;
     vm.arrayOrderingSrv = arrayOrderingSrv;
     vm.connected = websocketMsgSrv.isConnected();
     vm.isActive = isActive;
     vm.logout = logout;
-    vm.notes = notebookListDataFactory;
+    vm.notes = noteListDataFactory;
     vm.search = search;
     vm.searchForm = searchService;
     vm.showLoginWindow = showLoginWindow;
@@ -57,7 +57,7 @@
     }
 
     function initController() {
-      $scope.isDrawNavbarNotebookList = false;
+      $scope.isDrawNavbarNoteList = false;
       angular.element('#notebook-list').perfectScrollbar({suppressScrollX: true});
 
       angular.element(document).click(function() {
@@ -73,7 +73,7 @@
     }
 
     function loadNotes() {
-      websocketMsgSrv.getNotebookList();
+      websocketMsgSrv.getNoteList();
     }
 
     function logout() {
@@ -113,7 +113,7 @@
     */
 
     $scope.$on('setNoteMenu', function(event, notes) {
-      notebookListDataFactory.setNotes(notes);
+      noteListDataFactory.setNotes(notes);
     });
 
     $scope.$on('setConnectedStatus', function(event, param) {
@@ -129,11 +129,11 @@
     */
     angular.element(document).ready(function() {
       angular.element('.notebook-list-dropdown').on('show.bs.dropdown', function() {
-        $scope.isDrawNavbarNotebookList = true;
+        $scope.isDrawNavbarNoteList = true;
       });
 
       angular.element('.notebook-list-dropdown').on('hide.bs.dropdown', function() {
-        $scope.isDrawNavbarNotebookList = false;
+        $scope.isDrawNavbarNoteList = false;
       });
     });
   }

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/4f6a0e34/zeppelin-web/src/components/navbar/navbar.html
----------------------------------------------------------------------
diff --git a/zeppelin-web/src/components/navbar/navbar.html b/zeppelin-web/src/components/navbar/navbar.html
index 8851409..d2ec728 100644
--- a/zeppelin-web/src/components/navbar/navbar.html
+++ b/zeppelin-web/src/components/navbar/navbar.html
@@ -30,10 +30,10 @@ limitations under the License.
           <ul class="dropdown-menu navbar-dropdown-maxHeight" role="menu">
             <li><a href="" data-toggle="modal" data-target="#noteNameModal"><i class="fa fa-plus"></i> Create new note</a></li>
             <li class="divider"></li>
-            <div id="notebook-list" class="scrollbar-container" ng-if="isDrawNavbarNotebookList">
+            <div id="notebook-list" class="scrollbar-container" ng-if="isDrawNavbarNoteList">
               <li class="filter-names" ng-include="'components/filterNoteNames/filter-note-names.html'"></li>
-              <li ng-repeat="note in navbar.notes.root.children | filter:query.q | orderBy:navbar.arrayOrderingSrv.notebookListOrdering track by $index"
-                  ng-class="{'active' : navbar.isActive(note.id)}" ng-include="'components/navbar/navbar-notebookList-elem.html'">
+              <li ng-repeat="note in navbar.notes.root.children | filter:query.q | orderBy:navbar.arrayOrderingSrv.noteListOrdering track by $index"
+                  ng-class="{'active' : navbar.isActive(note.id)}" ng-include="'components/navbar/navbar-noteList-elem.html'">
               </li>
             </div>
           </ul>
@@ -57,7 +57,7 @@ limitations under the License.
                 id="searchTermId"
                 ng-disabled="!navbar.connected"
                 class="form-control"
-                placeholder="Search your Notebooks"
+                placeholder="Search your Notes"
               />
               <span class="input-group-btn">
                 <button

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/4f6a0e34/zeppelin-web/src/components/noteListDataFactory/noteList.datafactory.js
----------------------------------------------------------------------
diff --git a/zeppelin-web/src/components/noteListDataFactory/noteList.datafactory.js b/zeppelin-web/src/components/noteListDataFactory/noteList.datafactory.js
new file mode 100644
index 0000000..24ddca7
--- /dev/null
+++ b/zeppelin-web/src/components/noteListDataFactory/noteList.datafactory.js
@@ -0,0 +1,69 @@
+/*
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+'use strict';
+(function() {
+
+  angular.module('zeppelinWebApp').factory('noteListDataFactory', noteListDataFactory);
+
+  function noteListDataFactory() {
+    var notes = {
+      root: {children: []},
+      flatList: [],
+
+      setNotes: function(notesList) {
+        // a flat list to boost searching
+        notes.flatList = angular.copy(notesList);
+
+        // construct the folder-based tree
+        notes.root = {children: []};
+        _.reduce(notesList, function(root, note) {
+          var noteName = note.name || note.id;
+          var nodes = noteName.match(/([^\/][^\/]*)/g);
+
+          // recursively add nodes
+          addNode(root, nodes, note.id);
+
+          return root;
+        }, notes.root);
+      }
+    };
+
+    var addNode = function(curDir, nodes, noteId) {
+      if (nodes.length === 1) {  // the leaf
+        curDir.children.push({
+          name: nodes[0],
+          id: noteId
+        });
+      } else {  // a folder node
+        var node = nodes.shift();
+        var dir = _.find(curDir.children,
+          function(c) {return c.name === node && c.children !== undefined;});
+        if (dir !== undefined) { // found an existing dir
+          addNode(dir, nodes, noteId);
+        } else {
+          var newDir = {
+            name: node,
+            hidden: true,
+            children: []
+          };
+          curDir.children.push(newDir);
+          addNode(newDir, nodes, noteId);
+        }
+      }
+    };
+
+    return notes;
+  }
+
+})();

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/4f6a0e34/zeppelin-web/src/components/noteName-create/notename.controller.js
----------------------------------------------------------------------
diff --git a/zeppelin-web/src/components/noteName-create/notename.controller.js b/zeppelin-web/src/components/noteName-create/notename.controller.js
index 5090a77..604254f 100644
--- a/zeppelin-web/src/components/noteName-create/notename.controller.js
+++ b/zeppelin-web/src/components/noteName-create/notename.controller.js
@@ -18,24 +18,24 @@
 
   NotenameCtrl.$inject = [
     '$scope',
-    'notebookListDataFactory',
+    'noteListDataFactory',
     '$routeParams',
     'websocketMsgSrv'
   ];
 
-  function NotenameCtrl($scope, notebookListDataFactory, $routeParams, websocketMsgSrv) {
+  function NotenameCtrl($scope, noteListDataFactory, $routeParams, websocketMsgSrv) {
     var vm = this;
     vm.clone = false;
-    vm.notes = notebookListDataFactory;
+    vm.notes = noteListDataFactory;
     vm.websocketMsgSrv = websocketMsgSrv;
     $scope.note = {};
 
     vm.createNote = function() {
       if (!vm.clone) {
-        vm.websocketMsgSrv.createNotebook($scope.note.notename);
+        vm.websocketMsgSrv.createNote($scope.note.notename);
       } else {
         var noteId = $routeParams.noteId;
-        vm.websocketMsgSrv.cloneNotebook(noteId, $scope.note.notename);
+        vm.websocketMsgSrv.cloneNote(noteId, $scope.note.notename);
       }
     };
 

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/4f6a0e34/zeppelin-web/src/components/noteName-import/notenameImport.controller.js
----------------------------------------------------------------------
diff --git a/zeppelin-web/src/components/noteName-import/notenameImport.controller.js b/zeppelin-web/src/components/noteName-import/notenameImport.controller.js
index abcff43..d2d1b8d 100644
--- a/zeppelin-web/src/components/noteName-import/notenameImport.controller.js
+++ b/zeppelin-web/src/components/noteName-import/notenameImport.controller.js
@@ -112,7 +112,7 @@
         } else {
           result.name = $scope.note.noteImportName;
         }
-        websocketMsgSrv.importNotebook(result);
+        websocketMsgSrv.importNote(result);
         //angular.element('#noteImportModal').modal('hide');
       } else {
         $scope.note.errorText = 'Invalid JSON';

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/4f6a0e34/zeppelin-web/src/components/notebookListDataFactory/notebookList.datafactory.js
----------------------------------------------------------------------
diff --git a/zeppelin-web/src/components/notebookListDataFactory/notebookList.datafactory.js b/zeppelin-web/src/components/notebookListDataFactory/notebookList.datafactory.js
deleted file mode 100644
index 709edf2..0000000
--- a/zeppelin-web/src/components/notebookListDataFactory/notebookList.datafactory.js
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-'use strict';
-(function() {
-
-  angular.module('zeppelinWebApp').factory('notebookListDataFactory', notebookListDataFactory);
-
-  function notebookListDataFactory() {
-    var notes = {
-      root: {children: []},
-      flatList: [],
-
-      setNotes: function(notesList) {
-        // a flat list to boost searching
-        notes.flatList = angular.copy(notesList);
-
-        // construct the folder-based tree
-        notes.root = {children: []};
-        _.reduce(notesList, function(root, note) {
-          var noteName = note.name || note.id;
-          var nodes = noteName.match(/([^\/][^\/]*)/g);
-
-          // recursively add nodes
-          addNode(root, nodes, note.id);
-
-          return root;
-        }, notes.root);
-      }
-    };
-
-    var addNode = function(curDir, nodes, noteId) {
-      if (nodes.length === 1) {  // the leaf
-        curDir.children.push({
-          name: nodes[0],
-          id: noteId
-        });
-      } else {  // a folder node
-        var node = nodes.shift();
-        var dir = _.find(curDir.children,
-          function(c) {return c.name === node && c.children !== undefined;});
-        if (dir !== undefined) { // found an existing dir
-          addNode(dir, nodes, noteId);
-        } else {
-          var newDir = {
-            name: node,
-            hidden: true,
-            children: []
-          };
-          curDir.children.push(newDir);
-          addNode(newDir, nodes, noteId);
-        }
-      }
-    };
-
-    return notes;
-  }
-
-})();

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/4f6a0e34/zeppelin-web/src/components/websocketEvents/websocketEvents.factory.js
----------------------------------------------------------------------
diff --git a/zeppelin-web/src/components/websocketEvents/websocketEvents.factory.js b/zeppelin-web/src/components/websocketEvents/websocketEvents.factory.js
index da261ea..c01b06f 100644
--- a/zeppelin-web/src/components/websocketEvents/websocketEvents.factory.js
+++ b/zeppelin-web/src/components/websocketEvents/websocketEvents.factory.js
@@ -64,10 +64,10 @@
         $location.path('/notebook/' + data.note.id);
       } else if (op === 'NOTES_INFO') {
         $rootScope.$broadcast('setNoteMenu', data.notes);
-      } else if (op === 'LIST_NOTEBOOK_JOBS') {
-        $rootScope.$broadcast('setNotebookJobs', data.notebookJobs);
-      } else if (op === 'LIST_UPDATE_NOTEBOOK_JOBS') {
-        $rootScope.$broadcast('setUpdateNotebookJobs', data.notebookRunningJobs);
+      } else if (op === 'LIST_NOTE_JOBS') {
+        $rootScope.$broadcast('setNoteJobs', data.noteJobs);
+      } else if (op === 'LIST_UPDATE_NOTE_JOBS') {
+        $rootScope.$broadcast('setUpdateNoteJobs', data.noteRunningJobs);
       } else if (op === 'AUTH_INFO') {
         BootstrapDialog.show({
           closable: false,

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/4f6a0e34/zeppelin-web/src/components/websocketEvents/websocketMsg.service.js
----------------------------------------------------------------------
diff --git a/zeppelin-web/src/components/websocketEvents/websocketMsg.service.js b/zeppelin-web/src/components/websocketEvents/websocketMsg.service.js
index b163a8e..fd1cc97 100644
--- a/zeppelin-web/src/components/websocketEvents/websocketMsg.service.js
+++ b/zeppelin-web/src/components/websocketEvents/websocketMsg.service.js
@@ -21,23 +21,23 @@
   function websocketMsgSrv($rootScope, websocketEvents) {
     return {
 
-      getHomeNotebook: function() {
+      getHomeNote: function() {
         websocketEvents.sendNewEvent({op: 'GET_HOME_NOTE'});
       },
 
-      createNotebook: function(noteName) {
+      createNote: function(noteName) {
         websocketEvents.sendNewEvent({op: 'NEW_NOTE',data: {name: noteName}});
       },
 
-      deleteNotebook: function(noteId) {
+      deleteNote: function(noteId) {
         websocketEvents.sendNewEvent({op: 'DEL_NOTE', data: {id: noteId}});
       },
 
-      cloneNotebook: function(noteIdToClone, newNoteName) {
+      cloneNote: function(noteIdToClone, newNoteName) {
         websocketEvents.sendNewEvent({op: 'CLONE_NOTE', data: {id: noteIdToClone, name: newNoteName}});
       },
 
-      getNotebookList: function() {
+      getNoteList: function() {
         websocketEvents.sendNewEvent({op: 'LIST_NOTES'});
       },
 
@@ -45,11 +45,11 @@
         websocketEvents.sendNewEvent({op: 'RELOAD_NOTES_FROM_REPO'});
       },
 
-      getNotebook: function(noteId) {
+      getNote: function(noteId) {
         websocketEvents.sendNewEvent({op: 'GET_NOTE', data: {id: noteId}});
       },
 
-      updateNotebook: function(noteId, noteName, noteConfig) {
+      updateNote: function(noteId, noteName, noteConfig) {
         websocketEvents.sendNewEvent({op: 'NOTE_UPDATE', data: {id: noteId, name: noteName, config: noteConfig}});
       },
 
@@ -146,18 +146,18 @@
         });
       },
 
-      importNotebook: function(notebook) {
+      importNote: function(note) {
         websocketEvents.sendNewEvent({
           op: 'IMPORT_NOTE',
           data: {
-            notebook: notebook
+            note: note
           }
         });
       },
 
-      checkpointNotebook: function(noteId, commitMessage) {
+      checkpointNote: function(noteId, commitMessage) {
         websocketEvents.sendNewEvent({
-          op: 'CHECKPOINT_NOTEBOOK',
+          op: 'CHECKPOINT_NOTE',
           data: {
             noteId: noteId,
             commitMessage: commitMessage
@@ -198,27 +198,27 @@
         return websocketEvents.isConnected();
       },
 
-      getNotebookJobsList: function() {
-        websocketEvents.sendNewEvent({op: 'LIST_NOTEBOOK_JOBS'});
+      getNoteJobsList: function() {
+        websocketEvents.sendNewEvent({op: 'LIST_NOTE_JOBS'});
       },
 
-      getUpdateNotebookJobsList: function(lastUpdateServerUnixTime) {
+      getUpdateNoteJobsList: function(lastUpdateServerUnixTime) {
         websocketEvents.sendNewEvent(
-          {op: 'LIST_UPDATE_NOTEBOOK_JOBS', data: {lastUpdateUnixTime: lastUpdateServerUnixTime * 1}}
+          {op: 'LIST_UPDATE_NOTE_JOBS', data: {lastUpdateUnixTime: lastUpdateServerUnixTime * 1}}
         );
       },
 
       unsubscribeJobManager: function() {
-        websocketEvents.sendNewEvent({op: 'UNSUBSCRIBE_UPDATE_NOTEBOOK_JOBS'});
+        websocketEvents.sendNewEvent({op: 'UNSUBSCRIBE_UPDATE_NOTE_JOBS'});
       },
 
-      getInterpreterBindings: function(noteID) {
-        websocketEvents.sendNewEvent({op: 'GET_INTERPRETER_BINDINGS', data: {noteID: noteID}});
+      getInterpreterBindings: function(noteId) {
+        websocketEvents.sendNewEvent({op: 'GET_INTERPRETER_BINDINGS', data: {noteId: noteId}});
       },
 
-      saveInterpreterBindings: function(noteID, selectedSettingIds) {
+      saveInterpreterBindings: function(noteId, selectedSettingIds) {
         websocketEvents.sendNewEvent({op: 'SAVE_INTERPRETER_BINDINGS',
-          data: {noteID: noteID, selectedSettingIds: selectedSettingIds}});
+          data: {noteId: noteId, selectedSettingIds: selectedSettingIds}});
       },
 
       listConfigurations: function() {

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/4f6a0e34/zeppelin-web/src/index.html
----------------------------------------------------------------------
diff --git a/zeppelin-web/src/index.html b/zeppelin-web/src/index.html
index 8180e68..05a349f 100644
--- a/zeppelin-web/src/index.html
+++ b/zeppelin-web/src/index.html
@@ -177,7 +177,7 @@ limitations under the License.
     <script src="components/noteName-create/visible.directive.js"></script>
     <script src="components/websocketEvents/websocketMsg.service.js"></script>
     <script src="components/websocketEvents/websocketEvents.factory.js"></script>
-    <script src="components/notebookListDataFactory/notebookList.datafactory.js"></script>
+    <script src="components/noteListDataFactory/noteList.datafactory.js"></script>
     <script src="components/baseUrl/baseUrl.service.js"></script>
     <script src="components/browser-detect/browserDetect.service.js"></script>
     <script src="components/saveAs/saveAs.service.js"></script>

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/4f6a0e34/zeppelin-web/test/spec/controllers/notebook.js
----------------------------------------------------------------------
diff --git a/zeppelin-web/test/spec/controllers/notebook.js b/zeppelin-web/test/spec/controllers/notebook.js
index 0b21cc0..44a0c43 100644
--- a/zeppelin-web/test/spec/controllers/notebook.js
+++ b/zeppelin-web/test/spec/controllers/notebook.js
@@ -6,7 +6,7 @@ describe('Controller: NotebookCtrl', function() {
   var scope;
 
   var websocketMsgSrvMock = {
-    getNotebook: function() {},
+    getNote: function() {},
     listRevisionHistory: function() {},
     getInterpreterBindings: function() {}
   };
@@ -19,7 +19,7 @@ describe('Controller: NotebookCtrl', function() {
 
   var noteMock = {
     id: 1,
-    name: 'my notebook',
+    name: 'my note',
     config: {},
   };
 

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/4f6a0e34/zeppelin-web/test/spec/controllers/notename.js
----------------------------------------------------------------------
diff --git a/zeppelin-web/test/spec/controllers/notename.js b/zeppelin-web/test/spec/controllers/notename.js
index 8f6b85a..129f1d1 100644
--- a/zeppelin-web/test/spec/controllers/notename.js
+++ b/zeppelin-web/test/spec/controllers/notename.js
@@ -5,14 +5,14 @@ describe('Controller: NotenameCtrl', function() {
 
   var scope;
   var ctrl;
-  var notebookList;
+  var noteList;
 
   beforeEach(inject(function($injector, $rootScope, $controller) {
-    notebookList = $injector.get('notebookListDataFactory');
+    noteList = $injector.get('noteListDataFactory');
     scope = $rootScope.$new();
     ctrl = $controller('NotenameCtrl', {
       $scope: scope,
-      notebookListDataFactory: notebookList
+      noteListDataFactory: noteList
     });
   }));
 
@@ -25,7 +25,7 @@ describe('Controller: NotenameCtrl', function() {
       {name: 'Untitled Note 6', id: '4'}
     ];
 
-    notebookList.setNotes(notesList);
+    noteList.setNotes(notesList);
 
     ctrl.sourceNoteName = 'test name';
     expect(ctrl.cloneNoteName()).toEqual('test name 1');

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/4f6a0e34/zeppelin-web/test/spec/factory/noteList.js
----------------------------------------------------------------------
diff --git a/zeppelin-web/test/spec/factory/noteList.js b/zeppelin-web/test/spec/factory/noteList.js
new file mode 100644
index 0000000..07eac9c
--- /dev/null
+++ b/zeppelin-web/test/spec/factory/noteList.js
@@ -0,0 +1,79 @@
+'use strict';
+
+describe('Factory: NoteList', function() {
+
+  var noteList;
+
+  beforeEach(function() {
+    module('zeppelinWebApp');
+
+    inject(function($injector) {
+      noteList = $injector.get('noteListDataFactory');
+    });
+  });
+
+  it('should generate both flat list and folder-based list properly', function() {
+    var notesList = [
+      {name: 'A', id: '000001'},
+      {name: 'B', id: '000002'},
+      {id: '000003'},                     // note without name
+      {name: '/C/CA', id: '000004'},
+      {name: '/C/CB', id: '000005'},
+      {name: '/C/CB/CBA', id: '000006'},  // same name with a dir
+      {name: '/C/CB/CBA', id: '000007'},  // same name with another note
+      {name: 'C///CB//CBB', id: '000008'},
+      {name: 'D/D[A/DA]B', id: '000009'}   // check if '[' and ']' considered as folder seperator
+    ];
+    noteList.setNotes(notesList);
+
+    var flatList = noteList.flatList;
+    expect(flatList.length).toBe(9);
+    expect(flatList[0].name).toBe('A');
+    expect(flatList[0].id).toBe('000001');
+    expect(flatList[1].name).toBe('B');
+    expect(flatList[2].name).toBeUndefined();
+    expect(flatList[3].name).toBe('/C/CA');
+    expect(flatList[4].name).toBe('/C/CB');
+    expect(flatList[5].name).toBe('/C/CB/CBA');
+    expect(flatList[6].name).toBe('/C/CB/CBA');
+    expect(flatList[7].name).toBe('C///CB//CBB');
+    expect(flatList[8].name).toBe('D/D[A/DA]B');
+
+    var folderList = noteList.root.children;
+    expect(folderList.length).toBe(5);
+    expect(folderList[0].name).toBe('A');
+    expect(folderList[0].id).toBe('000001');
+    expect(folderList[1].name).toBe('B');
+    expect(folderList[2].name).toBe('000003');
+    expect(folderList[3].name).toBe('C');
+    expect(folderList[3].id).toBeUndefined();
+    expect(folderList[3].children.length).toBe(3);
+    expect(folderList[3].children[0].name).toBe('CA');
+    expect(folderList[3].children[0].id).toBe('000004');
+    expect(folderList[3].children[0].children).toBeUndefined();
+    expect(folderList[3].children[1].name).toBe('CB');
+    expect(folderList[3].children[1].id).toBe('000005');
+    expect(folderList[3].children[1].children).toBeUndefined();
+    expect(folderList[3].children[2].name).toBe('CB');
+    expect(folderList[3].children[2].id).toBeUndefined();
+    expect(folderList[3].children[2].children.length).toBe(3);
+    expect(folderList[3].children[2].children[0].name).toBe('CBA');
+    expect(folderList[3].children[2].children[0].id).toBe('000006');
+    expect(folderList[3].children[2].children[0].children).toBeUndefined();
+    expect(folderList[3].children[2].children[1].name).toBe('CBA');
+    expect(folderList[3].children[2].children[1].id).toBe('000007');
+    expect(folderList[3].children[2].children[1].children).toBeUndefined();
+    expect(folderList[3].children[2].children[2].name).toBe('CBB');
+    expect(folderList[3].children[2].children[2].id).toBe('000008');
+    expect(folderList[3].children[2].children[2].children).toBeUndefined();
+    expect(folderList[4].name).toBe('D');
+    expect(folderList[4].id).toBeUndefined();
+    expect(folderList[4].children.length).toBe(1);
+    expect(folderList[4].children[0].name).toBe('D[A');
+    expect(folderList[4].children[0].id).toBeUndefined();
+    expect(folderList[4].children[0].children[0].name).toBe('DA]B');
+    expect(folderList[4].children[0].children[0].id).toBe('000009');
+    expect(folderList[4].children[0].children[0].children).toBeUndefined();
+  });
+
+});

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/4f6a0e34/zeppelin-web/test/spec/factory/notebookList.js
----------------------------------------------------------------------
diff --git a/zeppelin-web/test/spec/factory/notebookList.js b/zeppelin-web/test/spec/factory/notebookList.js
deleted file mode 100644
index e411f28..0000000
--- a/zeppelin-web/test/spec/factory/notebookList.js
+++ /dev/null
@@ -1,79 +0,0 @@
-'use strict';
-
-describe('Factory: NotebookList', function() {
-
-  var notebookList;
-
-  beforeEach(function() {
-    module('zeppelinWebApp');
-
-    inject(function($injector) {
-      notebookList = $injector.get('notebookListDataFactory');
-    });
-  });
-
-  it('should generate both flat list and folder-based list properly', function() {
-    var notesList = [
-      {name: 'A', id: '000001'},
-      {name: 'B', id: '000002'},
-      {id: '000003'},                     // notebook without name
-      {name: '/C/CA', id: '000004'},
-      {name: '/C/CB', id: '000005'},
-      {name: '/C/CB/CBA', id: '000006'},  // same name with a dir
-      {name: '/C/CB/CBA', id: '000007'},  // same name with another note
-      {name: 'C///CB//CBB', id: '000008'},
-      {name: 'D/D[A/DA]B', id: '000009'}   // check if '[' and ']' considered as folder seperator
-    ];
-    notebookList.setNotes(notesList);
-
-    var flatList = notebookList.flatList;
-    expect(flatList.length).toBe(9);
-    expect(flatList[0].name).toBe('A');
-    expect(flatList[0].id).toBe('000001');
-    expect(flatList[1].name).toBe('B');
-    expect(flatList[2].name).toBeUndefined();
-    expect(flatList[3].name).toBe('/C/CA');
-    expect(flatList[4].name).toBe('/C/CB');
-    expect(flatList[5].name).toBe('/C/CB/CBA');
-    expect(flatList[6].name).toBe('/C/CB/CBA');
-    expect(flatList[7].name).toBe('C///CB//CBB');
-    expect(flatList[8].name).toBe('D/D[A/DA]B');
-
-    var folderList = notebookList.root.children;
-    expect(folderList.length).toBe(5);
-    expect(folderList[0].name).toBe('A');
-    expect(folderList[0].id).toBe('000001');
-    expect(folderList[1].name).toBe('B');
-    expect(folderList[2].name).toBe('000003');
-    expect(folderList[3].name).toBe('C');
-    expect(folderList[3].id).toBeUndefined();
-    expect(folderList[3].children.length).toBe(3);
-    expect(folderList[3].children[0].name).toBe('CA');
-    expect(folderList[3].children[0].id).toBe('000004');
-    expect(folderList[3].children[0].children).toBeUndefined();
-    expect(folderList[3].children[1].name).toBe('CB');
-    expect(folderList[3].children[1].id).toBe('000005');
-    expect(folderList[3].children[1].children).toBeUndefined();
-    expect(folderList[3].children[2].name).toBe('CB');
-    expect(folderList[3].children[2].id).toBeUndefined();
-    expect(folderList[3].children[2].children.length).toBe(3);
-    expect(folderList[3].children[2].children[0].name).toBe('CBA');
-    expect(folderList[3].children[2].children[0].id).toBe('000006');
-    expect(folderList[3].children[2].children[0].children).toBeUndefined();
-    expect(folderList[3].children[2].children[1].name).toBe('CBA');
-    expect(folderList[3].children[2].children[1].id).toBe('000007');
-    expect(folderList[3].children[2].children[1].children).toBeUndefined();
-    expect(folderList[3].children[2].children[2].name).toBe('CBB');
-    expect(folderList[3].children[2].children[2].id).toBe('000008');
-    expect(folderList[3].children[2].children[2].children).toBeUndefined();
-    expect(folderList[4].name).toBe('D');
-    expect(folderList[4].id).toBeUndefined();
-    expect(folderList[4].children.length).toBe(1);
-    expect(folderList[4].children[0].name).toBe('D[A');
-    expect(folderList[4].children[0].id).toBeUndefined();
-    expect(folderList[4].children[0].children[0].name).toBe('DA]B');
-    expect(folderList[4].children[0].children[0].id).toBe('000009');
-    expect(folderList[4].children[0].children[0].children).toBeUndefined();
-  });
-
-});