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

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

Repository: zeppelin
Updated Branches:
  refs/heads/master ba5a2d825 -> 4f6a0e34f


http://git-wip-us.apache.org/repos/asf/zeppelin/blob/4f6a0e34/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/Notebook.java
----------------------------------------------------------------------
diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/Notebook.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/Notebook.java
index 9ad6d4c..0b21f8d 100644
--- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/Notebook.java
+++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/Notebook.java
@@ -89,7 +89,7 @@ public class Notebook implements NoteEventListener {
   private org.quartz.Scheduler quartzSched;
   private JobListenerFactory jobListenerFactory;
   private NotebookRepo notebookRepo;
-  private SearchService notebookIndex;
+  private SearchService noteSearchService;
   private NotebookAuthorization notebookAuthorization;
   private final List<NotebookEventListener> notebookEventListeners =
       Collections.synchronizedList(new LinkedList<NotebookEventListener>());
@@ -98,13 +98,13 @@ public class Notebook implements NoteEventListener {
   /**
    * Main constructor \w manual Dependency Injection
    *
-   * @param notebookIndex         - (nullable) for indexing all notebooks on creating.
+   * @param noteSearchService         - (nullable) for indexing all notebooks on creating.
    * @throws IOException
    * @throws SchedulerException
    */
   public Notebook(ZeppelinConfiguration conf, NotebookRepo notebookRepo,
       SchedulerFactory schedulerFactory, InterpreterFactory replFactory,
-      JobListenerFactory jobListenerFactory, SearchService notebookIndex,
+      JobListenerFactory jobListenerFactory, SearchService noteSearchService,
       NotebookAuthorization notebookAuthorization, Credentials credentials)
       throws IOException, SchedulerException {
     this.conf = conf;
@@ -112,7 +112,7 @@ public class Notebook implements NoteEventListener {
     this.schedulerFactory = schedulerFactory;
     this.replFactory = replFactory;
     this.jobListenerFactory = jobListenerFactory;
-    this.notebookIndex = notebookIndex;
+    this.noteSearchService = noteSearchService;
     this.notebookAuthorization = notebookAuthorization;
     this.credentials = credentials;
     quertzSchedFact = new org.quartz.impl.StdSchedulerFactory();
@@ -121,10 +121,10 @@ public class Notebook implements NoteEventListener {
     CronJob.notebook = this;
 
     loadAllNotes();
-    if (this.notebookIndex != null) {
+    if (this.noteSearchService != null) {
       long start = System.nanoTime();
       logger.info("Notebook indexing started...");
-      notebookIndex.addIndexDocs(notes.values());
+      noteSearchService.addIndexDocs(notes.values());
       logger.info("Notebook indexing finished: {} indexed in {}s", notes.size(),
           TimeUnit.NANOSECONDS.toSeconds(start - System.nanoTime()));
     }
@@ -144,7 +144,7 @@ public class Notebook implements NoteEventListener {
     } else {
       note = createNote(null, subject);
     }
-    notebookIndex.addIndexDoc(note);
+    noteSearchService.addIndexDoc(note);
     return note;
   }
 
@@ -156,7 +156,8 @@ public class Notebook implements NoteEventListener {
   public Note createNote(List<String> interpreterIds, AuthenticationInfo subject)
       throws IOException {
     Note note =
-        new Note(notebookRepo, replFactory, jobListenerFactory, notebookIndex, credentials, this);
+        new Note(notebookRepo, replFactory, jobListenerFactory,
+                noteSearchService, credentials, this);
     synchronized (notes) {
       notes.put(note.getId(), note);
     }
@@ -169,7 +170,7 @@ public class Notebook implements NoteEventListener {
       owners.add(subject.getUser());
       notebookAuthorization.setOwners(note.getId(), owners);
     }
-    notebookIndex.addIndexDoc(note);
+    noteSearchService.addIndexDoc(note);
     note.persist(subject);
     fireNoteCreateEvent(note);
     return note;
@@ -198,7 +199,7 @@ public class Notebook implements NoteEventListener {
    *
    * @param sourceJson - the note JSON to import
    * @param noteName   - the name of the new note
-   * @return notebook ID
+   * @return note ID
    * @throws IOException
    */
   public Note importNote(String sourceJson, String noteName, AuthenticationInfo subject)
@@ -235,17 +236,17 @@ public class Notebook implements NoteEventListener {
   /**
    * Clone existing note.
    *
-   * @param sourceNoteID - the note ID to clone
+   * @param sourceNoteId - the note ID to clone
    * @param newNoteName  - the name of the new note
    * @return noteId
    * @throws IOException, CloneNotSupportedException, IllegalArgumentException
    */
-  public Note cloneNote(String sourceNoteID, String newNoteName, AuthenticationInfo subject)
+  public Note cloneNote(String sourceNoteId, String newNoteName, AuthenticationInfo subject)
       throws IOException, CloneNotSupportedException, IllegalArgumentException {
 
-    Note sourceNote = getNote(sourceNoteID);
+    Note sourceNote = getNote(sourceNoteId);
     if (sourceNote == null) {
-      throw new IllegalArgumentException(sourceNoteID + "not found");
+      throw new IllegalArgumentException(sourceNoteId + "not found");
     }
     Note newNote = createNote(subject);
     if (newNoteName != null) {
@@ -262,7 +263,7 @@ public class Notebook implements NoteEventListener {
       newNote.addCloneParagraph(p);
     }
 
-    notebookIndex.addIndexDoc(newNote);
+    noteSearchService.addIndexDoc(newNote);
     newNote.persist(subject);
     return newNote;
   }
@@ -317,7 +318,7 @@ public class Notebook implements NoteEventListener {
       note = notes.remove(id);
     }
     replFactory.removeNoteInterpreterSettingBinding(subject.getUser(), id);
-    notebookIndex.deleteIndexDocs(note);
+    noteSearchService.deleteIndexDocs(note);
     notebookAuthorization.removeNote(id);
 
     // remove from all interpreter instance's angular object registry
@@ -338,7 +339,7 @@ public class Notebook implements NoteEventListener {
             }
           }
         }
-        // remove notebook scope object
+        // remove note scope object
         ((RemoteAngularObjectRegistry) registry).removeAllAndNotifyRemoteProcess(id, null);
       } else {
         // remove paragraph scope object
@@ -353,7 +354,7 @@ public class Notebook implements NoteEventListener {
             }
           }
         }
-        // remove notebook scope object
+        // remove note scope object
         registry.removeAll(id, null);
       }
     }
@@ -397,7 +398,7 @@ public class Notebook implements NoteEventListener {
     }
 
     //Manually inject ALL dependencies, as DI constructor was NOT used
-    note.setIndex(this.notebookIndex);
+    note.setIndex(this.noteSearchService);
     note.setCredentials(this.credentials);
 
     note.setInterpreterFactory(replFactory);
@@ -471,7 +472,7 @@ public class Notebook implements NoteEventListener {
 
   /**
    * Reload all notes from repository after clearing `notes`
-   * to reflect the changes of added/deleted/modified notebooks on file system level.
+   * to reflect the changes of added/deleted/modified notes on file system level.
    *
    * @throws IOException
    */
@@ -618,23 +619,23 @@ public class Notebook implements NoteEventListener {
     return lastRunningUnixTime;
   }
 
-  public List<Map<String, Object>> getJobListByParagraphId(String paragraphID) {
+  public List<Map<String, Object>> getJobListByParagraphId(String paragraphId) {
     String gotNoteId = null;
     List<Note> notes = getAllNotes();
     for (Note note : notes) {
-      Paragraph p = note.getParagraph(paragraphID);
+      Paragraph p = note.getParagraph(paragraphId);
       if (p != null) {
         gotNoteId = note.getId();
       }
     }
-    return getJobListBymNotebookId(gotNoteId);
+    return getJobListByNoteId(gotNoteId);
   }
 
-  public List<Map<String, Object>> getJobListBymNotebookId(String notebookID) {
-    final String CRON_TYPE_NOTEBOOK_KEYWORD = "cron";
+  public List<Map<String, Object>> getJobListByNoteId(String noteId) {
+    final String CRON_TYPE_NOTE_KEYWORD = "cron";
     long lastRunningUnixTime = 0;
-    boolean isNotebookRunning = false;
-    Note jobNote = getNote(notebookID);
+    boolean isNoteRunning = false;
+    Note jobNote = getNote(noteId);
     List<Map<String, Object>> notesInfo = new LinkedList<>();
     if (jobNote == null) {
       return notesInfo;
@@ -642,19 +643,19 @@ public class Notebook implements NoteEventListener {
 
     Map<String, Object> info = new HashMap<>();
 
-    info.put("notebookId", jobNote.getId());
-    String notebookName = jobNote.getName();
-    if (notebookName != null && !notebookName.equals("")) {
-      info.put("notebookName", jobNote.getName());
+    info.put("noteId", jobNote.getId());
+    String noteName = jobNote.getName();
+    if (noteName != null && !noteName.equals("")) {
+      info.put("noteName", jobNote.getName());
     } else {
-      info.put("notebookName", "Note " + jobNote.getId());
+      info.put("noteName", "Note " + jobNote.getId());
     }
-    // set notebook type ( cron or normal )
-    if (jobNote.getConfig().containsKey(CRON_TYPE_NOTEBOOK_KEYWORD) && !jobNote.getConfig()
-            .get(CRON_TYPE_NOTEBOOK_KEYWORD).equals("")) {
-      info.put("notebookType", "cron");
+    // set note type ( cron or normal )
+    if (jobNote.getConfig().containsKey(CRON_TYPE_NOTE_KEYWORD) && !jobNote.getConfig()
+            .get(CRON_TYPE_NOTE_KEYWORD).equals("")) {
+      info.put("noteType", "cron");
     } else {
-      info.put("notebookType", "normal");
+      info.put("noteType", "normal");
     }
 
     // set paragraphs
@@ -662,7 +663,7 @@ public class Notebook implements NoteEventListener {
     for (Paragraph paragraph : jobNote.getParagraphs()) {
       // check paragraph's status.
       if (paragraph.getStatus().isRunning()) {
-        isNotebookRunning = true;
+        isNoteRunning = true;
       }
 
       // get data for the job manager.
@@ -679,9 +680,9 @@ public class Notebook implements NoteEventListener {
       interpreterGroupName = replFactory.getInterpreterSettings(jobNote.getId()).get(0).getName();
     }
 
-    // notebook json object root information.
+    // note json object root information.
     info.put("interpreter", interpreterGroupName);
-    info.put("isRunningJob", isNotebookRunning);
+    info.put("isRunningJob", isNoteRunning);
     info.put("unixTimeLastRun", lastRunningUnixTime);
     info.put("paragraphs", paragraphsInfo);
     notesInfo.add(info);
@@ -691,7 +692,7 @@ public class Notebook implements NoteEventListener {
 
   public List<Map<String, Object>> getJobListByUnixTime(boolean needsReload,
       long lastUpdateServerUnixTime, AuthenticationInfo subject) {
-    final String CRON_TYPE_NOTEBOOK_KEYWORD = "cron";
+    final String CRON_TYPE_NOTE_KEYWORD = "cron";
 
     if (needsReload) {
       try {
@@ -704,28 +705,28 @@ public class Notebook implements NoteEventListener {
     List<Note> notes = getAllNotes();
     List<Map<String, Object>> notesInfo = new LinkedList<>();
     for (Note note : notes) {
-      boolean isNotebookRunning = false;
-      boolean isUpdateNotebook = false;
+      boolean isNoteRunning = false;
+      boolean isUpdateNote = false;
       long lastRunningUnixTime = 0;
       Map<String, Object> info = new HashMap<>();
 
-      // set notebook ID
-      info.put("notebookId", note.getId());
+      // set note ID
+      info.put("noteId", note.getId());
 
-      // set notebook Name
-      String notebookName = note.getName();
-      if (notebookName != null && !notebookName.equals("")) {
-        info.put("notebookName", note.getName());
+      // set note Name
+      String noteName = note.getName();
+      if (noteName != null && !noteName.equals("")) {
+        info.put("noteName", note.getName());
       } else {
-        info.put("notebookName", "Note " + note.getId());
+        info.put("noteName", "Note " + note.getId());
       }
 
-      // set notebook type ( cron or normal )
-      if (note.getConfig().containsKey(CRON_TYPE_NOTEBOOK_KEYWORD) && !note.getConfig()
-          .get(CRON_TYPE_NOTEBOOK_KEYWORD).equals("")) {
-        info.put("notebookType", "cron");
+      // set note type ( cron or normal )
+      if (note.getConfig().containsKey(CRON_TYPE_NOTE_KEYWORD) && !note.getConfig()
+          .get(CRON_TYPE_NOTE_KEYWORD).equals("")) {
+        info.put("noteType", "cron");
       } else {
-        info.put("notebookType", "normal");
+        info.put("noteType", "normal");
       }
 
       // set paragraphs
@@ -733,17 +734,17 @@ public class Notebook implements NoteEventListener {
       for (Paragraph paragraph : note.getParagraphs()) {
         // check paragraph's status.
         if (paragraph.getStatus().isRunning()) {
-          isNotebookRunning = true;
-          isUpdateNotebook = true;
+          isNoteRunning = true;
+          isUpdateNote = true;
         }
 
         // get data for the job manager.
         Map<String, Object> paragraphItem = getParagraphForJobManagerItem(paragraph);
         lastRunningUnixTime = getUnixTimeLastRunParagraph(paragraph);
 
-        // is update notebook for last server update time.
+        // is update note for last server update time.
         if (lastRunningUnixTime > lastUpdateServerUnixTime) {
-          isUpdateNotebook = true;
+          isUpdateNote = true;
         }
         paragraphsInfo.add(paragraphItem);
       }
@@ -756,13 +757,13 @@ public class Notebook implements NoteEventListener {
       }
 
       // not update and not running -> pass
-      if (!isUpdateNotebook && !isNotebookRunning) {
+      if (!isUpdateNote && !isNoteRunning) {
         continue;
       }
 
-      // notebook json object root information.
+      // note json object root information.
       info.put("interpreter", interpreterGroupName);
-      info.put("isRunningJob", isNotebookRunning);
+      info.put("isRunningJob", isNoteRunning);
       info.put("unixTimeLastRun", lastRunningUnixTime);
       info.put("paragraphs", paragraphsInfo);
       notesInfo.add(info);
@@ -879,7 +880,7 @@ public class Notebook implements NoteEventListener {
 
   public void close() {
     this.notebookRepo.close();
-    this.notebookIndex.close();
+    this.noteSearchService.close();
   }
 
   public void addNotebookEventListener(NotebookEventListener listener) {

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/4f6a0e34/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/NotebookRepo.java
----------------------------------------------------------------------
diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/NotebookRepo.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/NotebookRepo.java
index aff684f..d1bf1d5 100644
--- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/NotebookRepo.java
+++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/NotebookRepo.java
@@ -39,7 +39,7 @@ public interface NotebookRepo {
 
   /**
    * Get the notebook with the given id.
-   * @param noteId is notebook id.
+   * @param noteId is note id.
    * @param subject contains user information.
    * @return
    * @throws IOException

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/4f6a0e34/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/NotebookRepoSync.java
----------------------------------------------------------------------
diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/NotebookRepoSync.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/NotebookRepoSync.java
index 635d6f2..0265eff 100644
--- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/NotebookRepoSync.java
+++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/NotebookRepoSync.java
@@ -45,9 +45,9 @@ import org.slf4j.LoggerFactory;
 public class NotebookRepoSync implements NotebookRepo {
   private static final Logger LOG = LoggerFactory.getLogger(NotebookRepoSync.class);
   private static final int maxRepoNum = 2;
-  private static final String pushKey = "pushNoteIDs";
-  private static final String pullKey = "pullNoteIDs";
-  private static final String delDstKey = "delDstNoteIDs";
+  private static final String pushKey = "pushNoteIds";
+  private static final String pullKey = "pullNoteIds";
+  private static final String delDstKey = "delDstNoteIds";
 
   private static ZeppelinConfiguration config;
   private static final String defaultStorage = "org.apache.zeppelin.notebook.repo.VFSNotebookRepo";
@@ -56,9 +56,7 @@ public class NotebookRepoSync implements NotebookRepo {
   private final boolean oneWaySync;
 
   /**
-   * @param noteIndex
-   * @param (conf)
-   * @throws - Exception
+   * @param conf
    */
   @SuppressWarnings("static-access")
   public NotebookRepoSync(ZeppelinConfiguration conf) {
@@ -72,7 +70,7 @@ public class NotebookRepoSync implements NotebookRepo {
     String[] storageClassNames = allStorageClassNames.split(",");
     if (storageClassNames.length > getMaxRepoNum()) {
       LOG.warn("Unsupported number {} of storage classes in ZEPPELIN_NOTEBOOK_STORAGE : {}\n" +
-        "first {} will be used", storageClassNames.length, allStorageClassNames, getMaxRepoNum());
+          "first {} will be used", storageClassNames.length, allStorageClassNames, getMaxRepoNum());
     }
 
     for (int i = 0; i < Math.min(storageClassNames.length, getMaxRepoNum()); i++) {
@@ -81,7 +79,7 @@ public class NotebookRepoSync implements NotebookRepo {
       try {
         notebookStorageClass = getClass().forName(storageClassNames[i].trim());
         Constructor<?> constructor = notebookStorageClass.getConstructor(
-                  ZeppelinConfiguration.class);
+            ZeppelinConfiguration.class);
         repos.add((NotebookRepo) constructor.newInstance(conf));
       } catch (ClassNotFoundException | NoSuchMethodException | SecurityException |
           InstantiationException | IllegalAccessException | IllegalArgumentException |
@@ -91,7 +89,7 @@ public class NotebookRepoSync implements NotebookRepo {
     }
     // couldn't initialize any storage, use default
     if (getRepoCount() == 0) {
-      LOG.info("No storages could be initialized, using default {} storage", defaultStorage);
+      LOG.info("No storage could be initialized, using default {} storage", defaultStorage);
       initializeDefaultStorage(conf);
     }
   }
@@ -184,38 +182,38 @@ public class NotebookRepoSync implements NotebookRepo {
     List <NoteInfo> srcNotes = auth.filterByUser(allSrcNotes, subject);
     List <NoteInfo> dstNotes = dstRepo.list(subject);
 
-    Map<String, List<String>> noteIDs = notesCheckDiff(srcNotes, srcRepo, dstNotes, dstRepo,
+    Map<String, List<String>> noteIds = notesCheckDiff(srcNotes, srcRepo, dstNotes, dstRepo,
         subject);
-    List<String> pushNoteIDs = noteIDs.get(pushKey);
-    List<String> pullNoteIDs = noteIDs.get(pullKey);
-    List<String> delDstNoteIDs = noteIDs.get(delDstKey);
+    List<String> pushNoteIds = noteIds.get(pushKey);
+    List<String> pullNoteIds = noteIds.get(pullKey);
+    List<String> delDstNoteIds = noteIds.get(delDstKey);
 
-    if (!pushNoteIDs.isEmpty()) {
+    if (!pushNoteIds.isEmpty()) {
       LOG.info("Notes with the following IDs will be pushed");
-      for (String id : pushNoteIDs) {
+      for (String id : pushNoteIds) {
         LOG.info("ID : " + id);
       }
-      pushNotes(subject, pushNoteIDs, srcRepo, dstRepo, false);
+      pushNotes(subject, pushNoteIds, srcRepo, dstRepo, false);
     } else {
       LOG.info("Nothing to push");
     }
 
-    if (!pullNoteIDs.isEmpty()) {
+    if (!pullNoteIds.isEmpty()) {
       LOG.info("Notes with the following IDs will be pulled");
-      for (String id : pullNoteIDs) {
+      for (String id : pullNoteIds) {
         LOG.info("ID : " + id);
       }
-      pushNotes(subject, pullNoteIDs, dstRepo, srcRepo, true);
+      pushNotes(subject, pullNoteIds, dstRepo, srcRepo, true);
     } else {
       LOG.info("Nothing to pull");
     }
 
-    if (!delDstNoteIDs.isEmpty()) {
+    if (!delDstNoteIds.isEmpty()) {
       LOG.info("Notes with the following IDs will be deleted from dest");
-      for (String id : delDstNoteIDs) {
+      for (String id : delDstNoteIds) {
         LOG.info("ID : " + id);
       }
-      deleteNotes(subject, delDstNoteIDs, dstRepo);
+      deleteNotes(subject, delDstNoteIds, dstRepo);
     } else {
       LOG.info("Nothing to delete from dest");
     }

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/4f6a0e34/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/socket/Message.java
----------------------------------------------------------------------
diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/socket/Message.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/socket/Message.java
index 2aded60..b78203c 100644
--- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/socket/Message.java
+++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/socket/Message.java
@@ -34,7 +34,7 @@ public class Message {
                       // @param id note id
 
     NOTE,             // [s-c] note info
-                      // @param note serlialized Note object
+                      // @param note serialized Note object
 
     PARAGRAPH,        // [s-c] paragraph info
                       // @param paragraph serialized paragraph object
@@ -115,7 +115,7 @@ public class Message {
     CONFIGURATIONS_INFO,          // [s-c] all key/value pairs of configurations
                                   // @param settings serialized Map<String, String> object
 
-    CHECKPOINT_NOTEBOOK,          // [c-s] checkpoint notebook to storage repository
+    CHECKPOINT_NOTE,              // [c-s] checkpoint note to storage repository
                                   // @param noteId
                                   // @param checkpointName
 
@@ -130,14 +130,14 @@ public class Message {
     APP_LOAD,                     // [s-c] on app load
     APP_STATUS_CHANGE,            // [s-c] on app status change
 
-    LIST_NOTEBOOK_JOBS,           // [c-s] get notebook job management infomations
-    LIST_UPDATE_NOTEBOOK_JOBS,    // [c-s] get job management informations for until unixtime
-    UNSUBSCRIBE_UPDATE_NOTEBOOK_JOBS, // [c-s] unsubscribe job information for job management
+    LIST_NOTE_JOBS,               // [c-s] get note job management information
+    LIST_UPDATE_NOTE_JOBS,        // [c-s] get job management information for until unixtime
+    UNSUBSCRIBE_UPDATE_NOTE_JOBS, // [c-s] unsubscribe job information for job management
                                   // @param unixTime
     GET_INTERPRETER_BINDINGS,     // [c-s] get interpreter bindings
-                                  // @param noteID
+                                  // @param noteId
     SAVE_INTERPRETER_BINDINGS,    // [c-s] save interpreter bindings
-                                  // @param noteID
+                                  // @param noteId
                                   // @param selectedSettingIds
     INTERPRETER_BINDINGS,         // [s-c] interpreter bindings
     ERROR_INFO                    // [s-c] error information to be sent

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/4f6a0e34/zeppelin-zengine/src/main/java/org/apache/zeppelin/search/SearchService.java
----------------------------------------------------------------------
diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/search/SearchService.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/search/SearchService.java
index 64f2b75..0b86ac6 100644
--- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/search/SearchService.java
+++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/search/SearchService.java
@@ -25,7 +25,7 @@ import org.apache.zeppelin.notebook.Note;
 import org.apache.zeppelin.notebook.Paragraph;
 
 /**
- * Search (both, indexing and query) the notebooks.
+ * Search (both, indexing and query) the notes.
  * 
  * Intended to have multiple implementation, i.e:
  *  - local Lucene (in-memory, on-disk)
@@ -34,7 +34,7 @@ import org.apache.zeppelin.notebook.Paragraph;
 public interface SearchService {
 
   /**
-   * Full-text search in all the notebooks
+   * Full-text search in all the notes
    *
    * @param queryStr a query
    * @return A list of matching paragraphs (id, text, snippet w/ highlight)
@@ -59,7 +59,7 @@ public interface SearchService {
   public void addIndexDocs(Collection<Note> collection);
 
   /**
-   * Indexes the given notebook.
+   * Indexes the given note.
    *
    * @throws IOException If there is a low-level I/O error
    */

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/4f6a0e34/zeppelin-zengine/src/test/java/org/apache/zeppelin/notebook/NotebookTest.java
----------------------------------------------------------------------
diff --git a/zeppelin-zengine/src/test/java/org/apache/zeppelin/notebook/NotebookTest.java b/zeppelin-zengine/src/test/java/org/apache/zeppelin/notebook/NotebookTest.java
index 87e2415..2bb6112 100644
--- a/zeppelin-zengine/src/test/java/org/apache/zeppelin/notebook/NotebookTest.java
+++ b/zeppelin-zengine/src/test/java/org/apache/zeppelin/notebook/NotebookTest.java
@@ -428,7 +428,7 @@ public class NotebookTest implements JobListenerFactory{
     Paragraph cp = cloneNote.paragraphs.get(0);
     assertEquals(cp.getStatus(), Status.READY);
 
-    // Keep same ParagraphID
+    // Keep same ParagraphId
     assertEquals(cp.getId(), p.getId());
     assertEquals(cp.text, p.text);
     assertEquals(cp.getResult().message(), p.getResult().message());
@@ -476,7 +476,7 @@ public class NotebookTest implements JobListenerFactory{
     Note cloneNote = notebook.cloneNote(note.getId(), "clone note with Exception result", anonymous);
     Paragraph cp = cloneNote.paragraphs.get(0);
 
-    // Keep same ParagraphID
+    // Keep same ParagraphId
     assertEquals(cp.getId(), p.getId());
     assertEquals(cp.text, p.text);
     assertNull(cp.getResult());

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/4f6a0e34/zeppelin-zengine/src/test/java/org/apache/zeppelin/search/LuceneSearchTest.java
----------------------------------------------------------------------
diff --git a/zeppelin-zengine/src/test/java/org/apache/zeppelin/search/LuceneSearchTest.java b/zeppelin-zengine/src/test/java/org/apache/zeppelin/search/LuceneSearchTest.java
index bf4d9aa..2b13fed 100644
--- a/zeppelin-zengine/src/test/java/org/apache/zeppelin/search/LuceneSearchTest.java
+++ b/zeppelin-zengine/src/test/java/org/apache/zeppelin/search/LuceneSearchTest.java
@@ -41,7 +41,8 @@ public class LuceneSearchTest {
 
   private static NotebookRepo notebookRepoMock;
   private static InterpreterFactory interpreterFactory;
-  private SearchService notebookIndex;
+  
+  private SearchService noteSearchService;
   private AuthenticationInfo anonymous;
 
   @BeforeClass
@@ -55,13 +56,13 @@ public class LuceneSearchTest {
 
   @Before
   public void startUp() {
-    notebookIndex = new LuceneSearch();
+    noteSearchService = new LuceneSearch();
     anonymous = new AuthenticationInfo("anonymous");
   }
 
   @After
   public void shutDown() {
-    notebookIndex.close();
+    noteSearchService.close();
   }
 
   @Test public void canIndexNotebook() {
@@ -71,17 +72,17 @@ public class LuceneSearchTest {
     List<Note> notebook = Arrays.asList(note1, note2);
 
     //when
-    notebookIndex.addIndexDocs(notebook);
+    noteSearchService.addIndexDocs(notebook);
   }
 
   @Test public void canIndexAndQuery() {
     //given
     Note note1 = newNoteWithParagraph("Notebook1", "test");
     Note note2 = newNoteWithParagraphs("Notebook2", "not test", "not test at all");
-    notebookIndex.addIndexDocs(Arrays.asList(note1, note2));
+    noteSearchService.addIndexDocs(Arrays.asList(note1, note2));
 
     //when
-    List<Map<String, String>> results = notebookIndex.query("all");
+    List<Map<String, String>> results = noteSearchService.query("all");
 
     //then
     assertThat(results).isNotEmpty();
@@ -94,10 +95,10 @@ public class LuceneSearchTest {
     //given
     Note note1 = newNoteWithParagraph("Notebook1", "test");
     Note note2 = newNoteWithParagraphs("Notebook2", "not test", "not test at all");
-    notebookIndex.addIndexDocs(Arrays.asList(note1, note2));
+    noteSearchService.addIndexDocs(Arrays.asList(note1, note2));
 
     //when
-    List<Map<String, String>> results = notebookIndex.query("Notebook1");
+    List<Map<String, String>> results = noteSearchService.query("Notebook1");
 
     //then
     assertThat(results).isNotEmpty();
@@ -110,10 +111,10 @@ public class LuceneSearchTest {
     //given
     Note note1 = newNoteWithParagraph("Notebook1", "test", "testingTitleSearch");
     Note note2 = newNoteWithParagraph("Notebook2", "not test", "notTestingTitleSearch");
-    notebookIndex.addIndexDocs(Arrays.asList(note1, note2));
+    noteSearchService.addIndexDocs(Arrays.asList(note1, note2));
 
     //when
-    List<Map<String, String>> results = notebookIndex.query("testingTitleSearch");
+    List<Map<String, String>> results = noteSearchService.query("testingTitleSearch");
 
     //then
     assertThat(results).isNotEmpty();
@@ -131,7 +132,7 @@ public class LuceneSearchTest {
     //give
     Note note1 = newNoteWithParagraph("Notebook1", "test");
     //when
-    notebookIndex.addIndexDoc(note1);
+    noteSearchService.addIndexDoc(note1);
     //then
     String id = resultForQuery("test").get(0).get(LuceneSearch.ID_FIELD);
 
@@ -141,9 +142,9 @@ public class LuceneSearchTest {
 
   @Test //(expected=IllegalStateException.class)
   public void canNotSearchBeforeIndexing() {
-    //given NO notebookIndex.index() was called
+    //given NO noteSearchService.index() was called
     //when
-    List<Map<String, String>> result = notebookIndex.query("anything");
+    List<Map<String, String>> result = noteSearchService.query("anything");
     //then
     assertThat(result).isEmpty();
     //assert logs were printed
@@ -154,18 +155,18 @@ public class LuceneSearchTest {
     //given
     Note note1 = newNoteWithParagraph("Notebook1", "test");
     Note note2 = newNoteWithParagraphs("Notebook2", "not test", "not test at all");
-    notebookIndex.addIndexDocs(Arrays.asList(note1, note2));
+    noteSearchService.addIndexDocs(Arrays.asList(note1, note2));
 
     //when
     Paragraph p2 = note2.getLastParagraph();
     p2.setText("test indeed");
-    notebookIndex.updateIndexDoc(note2);
+    noteSearchService.updateIndexDoc(note2);
 
     //then
-    List<Map<String, String>> results = notebookIndex.query("all");
+    List<Map<String, String>> results = noteSearchService.query("all");
     assertThat(results).isEmpty();
 
-    results = notebookIndex.query("indeed");
+    results = noteSearchService.query("indeed");
     assertThat(results).isNotEmpty();
   }
 
@@ -173,21 +174,21 @@ public class LuceneSearchTest {
     //give
     // looks like a bug in web UI: it tries to delete a note twice (after it has just been deleted)
     //when
-    notebookIndex.deleteIndexDocs(null);
+    noteSearchService.deleteIndexDocs(null);
   }
 
   @Test public void canDeleteFromIndex() throws IOException {
     //given
     Note note1 = newNoteWithParagraph("Notebook1", "test");
     Note note2 = newNoteWithParagraphs("Notebook2", "not test", "not test at all");
-    notebookIndex.addIndexDocs(Arrays.asList(note1, note2));
+    noteSearchService.addIndexDocs(Arrays.asList(note1, note2));
     assertThat(resultForQuery("Notebook2")).isNotEmpty();
 
     //when
-    notebookIndex.deleteIndexDocs(note2);
+    noteSearchService.deleteIndexDocs(note2);
 
     //then
-    assertThat(notebookIndex.query("all")).isEmpty();
+    assertThat(noteSearchService.query("all")).isEmpty();
     assertThat(resultForQuery("Notebook2")).isEmpty();
 
     List<Map<String, String>> results = resultForQuery("test");
@@ -199,7 +200,7 @@ public class LuceneSearchTest {
     //given: total 2 notebooks, 3 paragraphs
     Note note1 = newNoteWithParagraph("Notebook1", "test");
     Note note2 = newNoteWithParagraphs("Notebook2", "not test", "not test at all");
-    notebookIndex.addIndexDocs(Arrays.asList(note1, note2));
+    noteSearchService.addIndexDocs(Arrays.asList(note1, note2));
     assertThat(resultForQuery("test").size()).isEqualTo(3);
 
     //when
@@ -224,7 +225,7 @@ public class LuceneSearchTest {
     //given: total 2 notebooks, 3 paragraphs
     Note note1 = newNoteWithParagraph("Notebook1", "test");
     Note note2 = newNoteWithParagraphs("Notebook2", "not test", "not test at all");
-    notebookIndex.addIndexDocs(Arrays.asList(note1, note2));
+    noteSearchService.addIndexDocs(Arrays.asList(note1, note2));
     assertThat(resultForQuery("test").size()).isEqualTo(3);
 
     //when
@@ -238,7 +239,7 @@ public class LuceneSearchTest {
   }
 
   private List<Map<String, String>> resultForQuery(String q) {
-    return notebookIndex.query(q);
+    return noteSearchService.query(q);
   }
 
   /**
@@ -287,7 +288,7 @@ public class LuceneSearchTest {
   }
 
   private Note newNote(String name) {
-    Note note = new Note(notebookRepoMock, interpreterFactory, null, notebookIndex, null, null);
+    Note note = new Note(notebookRepoMock, interpreterFactory, null, noteSearchService, null, null);
     note.setName(name);
     return note;
   }


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

Posted by mi...@apache.org.
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();
-  });
-
-});


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

Posted by mi...@apache.org.
[ZEPPELIN-1549] Change NotebookID variable name to NoteID

### What is this PR for?
This PR fixes wrong written NotebookID to NoteID.

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

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

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

Author: hyonzin <hy...@gmail.com>
Author: \uc815\ud604\uc9c4 <hy...@gmail.com>
Author: Mina Lee <mi...@apache.org>

Closes #1518 from hyonzin/ZEPPELIN-1549 and squashes the following commits:

2c5d461 [hyonzin] fix pullNoteID to pullNoteId
f843abd [hyonzin] Fix missed line
22aecb3 [hyonzin] Merge branch 'master' of https://github.com/apache/zeppelin into ZEPPELIN-1549
ac03666 [\uc815\ud604\uc9c4] Merge pull request #1 from minahlee/ZEPPELIN-1549
8b3fffd [Mina Lee] Change notebook to note and fix indentation
000605f [hyonzin] Change clonedNotebookId to clonedNoteId
496695c [hyonzin] Change noteID to noteId
1e87463 [hyonzin] Remove tab indent
5647d37 [hyonzin] Rebase and solve conflicts
09bacd8 [hyonzin] Fix more lines unchanged
070bc2d [hyonzin] fix more in ZeppelinRestApiTest.java
24822a3 [hyonzin] Fix more code not changed (notebookIndex to noteSearchService)
4b4e1e8 [hyonzin] Fix detail (function's name) & Change some placeholder
429203d [hyonzin] Fix details & convention to camel
5fa270d [hyonzin] pull upstream master & fix some details
294bea5 [hyonzin] Fix some wrong written term: Notebook -> Note
cc0d315 [hyonzin] Change NotebookID variable name to NoteID


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

Branch: refs/heads/master
Commit: 4f6a0e34ffd17c38326e873c89062c62ede1b053
Parents: ba5a2d8
Author: hyonzin <hy...@gmail.com>
Authored: Mon Oct 24 20:26:33 2016 +0900
Committer: Mina Lee <mi...@apache.org>
Committed: Tue Oct 25 14:51:07 2016 +0900

----------------------------------------------------------------------
 docs/install/install.md                         |   4 +-
 docs/install/virtual_machine.md                 |   2 +-
 docs/manual/notebookashomepage.md               |  28 +--
 docs/rest-api/rest-notebook.md                  | 114 ++++-----
 .../apache/zeppelin/lens/LensInterpreter.java   |   2 +-
 scripts/vagrant/zeppelin-dev/README.md          |   2 +-
 .../angular/notebookscope/AngularElem.scala     |   2 +-
 .../angular/paragraphscope/AngularElem.scala    |   2 +-
 .../apache/zeppelin/rest/NotebookRestApi.java   | 239 +++++++++----------
 .../zeppelin/rest/message/NewNoteRequest.java   |  44 ++++
 .../rest/message/NewNotebookRequest.java        |  44 ----
 .../apache/zeppelin/server/ZeppelinServer.java  |   9 +-
 .../apache/zeppelin/socket/NotebookServer.java  | 118 ++++-----
 .../org/apache/zeppelin/AbstractZeppelinIT.java |   2 +-
 .../zeppelin/integration/AuthenticationIT.java  |   8 +-
 .../apache/zeppelin/integration/ZeppelinIT.java |   2 +-
 .../zeppelin/rest/NotebookRestApiTest.java      |  12 +-
 .../zeppelin/rest/ZeppelinRestApiTest.java      | 200 ++++++++--------
 .../zeppelin/socket/NotebookServerTest.java     |   2 +-
 zeppelin-web/src/app/home/home.controller.js    |  10 +-
 zeppelin-web/src/app/home/home.html             |   8 +-
 .../src/app/jobmanager/jobmanager.controller.js |  22 +-
 zeppelin-web/src/app/jobmanager/jobmanager.html |   2 +-
 .../src/app/jobmanager/jobs/job-control.html    |   6 +-
 .../app/jobmanager/jobs/job-progressBar.html    |   4 +-
 zeppelin-web/src/app/jobmanager/jobs/job.html   |  20 +-
 .../src/app/notebook/notebook-actionBar.html    |  12 +-
 .../src/app/notebook/notebook.controller.js     |  22 +-
 .../arrayOrderingSrv/arrayOrdering.service.js   |   2 +-
 .../components/navbar/navbar-noteList-elem.html |  36 +++
 .../navbar/navbar-notebookList-elem.html        |  36 ---
 .../src/components/navbar/navbar.controller.js  |  16 +-
 zeppelin-web/src/components/navbar/navbar.html  |   8 +-
 .../noteListDataFactory/noteList.datafactory.js |  69 ++++++
 .../noteName-create/notename.controller.js      |  10 +-
 .../notenameImport.controller.js                |   2 +-
 .../notebookList.datafactory.js                 |  69 ------
 .../websocketEvents/websocketEvents.factory.js  |   8 +-
 .../websocketEvents/websocketMsg.service.js     |  40 ++--
 zeppelin-web/src/index.html                     |   2 +-
 zeppelin-web/test/spec/controllers/notebook.js  |   4 +-
 zeppelin-web/test/spec/controllers/notename.js  |   8 +-
 zeppelin-web/test/spec/factory/noteList.js      |  79 ++++++
 zeppelin-web/test/spec/factory/notebookList.js  |  79 ------
 .../org/apache/zeppelin/notebook/Notebook.java  | 127 +++++-----
 .../zeppelin/notebook/repo/NotebookRepo.java    |   2 +-
 .../notebook/repo/NotebookRepoSync.java         |  42 ++--
 .../zeppelin/notebook/socket/Message.java       |  14 +-
 .../apache/zeppelin/search/SearchService.java   |   6 +-
 .../apache/zeppelin/notebook/NotebookTest.java  |   4 +-
 .../zeppelin/search/LuceneSearchTest.java       |  51 ++--
 51 files changed, 824 insertions(+), 832 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/zeppelin/blob/4f6a0e34/docs/install/install.md
----------------------------------------------------------------------
diff --git a/docs/install/install.md b/docs/install/install.md
index 7ae0d90..e14fc7c 100644
--- a/docs/install/install.md
+++ b/docs/install/install.md
@@ -311,13 +311,13 @@ You can configure Apache Zeppelin with either **environment variables** in `conf
     <td>ZEPPELIN_NOTEBOOK_HOMESCREEN</td>
     <td>zeppelin.notebook.homescreen</td>
     <td></td>
-    <td>Display notebook IDs on the Apache Zeppelin homescreen <br />i.e. 2A94M5J1Z</td>
+    <td>Display note IDs on the Apache Zeppelin homescreen <br />i.e. 2A94M5J1Z</td>
   </tr>
   <tr>
     <td>ZEPPELIN_NOTEBOOK_HOMESCREEN_HIDE</td>
     <td>zeppelin.notebook.homescreen.hide</td>
     <td>false</td>
-    <td>Hide the notebook ID set by <code>ZEPPELIN_NOTEBOOK_HOMESCREEN</code> on the Apache Zeppelin homescreen. <br />For the further information, please read <a href="../manual/notebookashomepage.html">Customize your Zeppelin homepage</a>.</td>
+    <td>Hide the note ID set by <code>ZEPPELIN_NOTEBOOK_HOMESCREEN</code> on the Apache Zeppelin homescreen. <br />For the further information, please read <a href="../manual/notebookashomepage.html">Customize your Zeppelin homepage</a>.</td>
   </tr>
   <tr>
     <td>ZEPPELIN_WAR_TEMPDIR</td>

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/4f6a0e34/docs/install/virtual_machine.md
----------------------------------------------------------------------
diff --git a/docs/install/virtual_machine.md b/docs/install/virtual_machine.md
index d30dbb8..6456bc5 100644
--- a/docs/install/virtual_machine.md
+++ b/docs/install/virtual_machine.md
@@ -163,7 +163,7 @@ import matplotlib.pyplot as plt
 import numpy as np
 import StringIO
 
-# clear out any previous plots on this notebook
+# clear out any previous plots on this note
 plt.clf()
 
 def show(p):

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/4f6a0e34/docs/manual/notebookashomepage.md
----------------------------------------------------------------------
diff --git a/docs/manual/notebookashomepage.md b/docs/manual/notebookashomepage.md
index 1fadcce..729f324 100644
--- a/docs/manual/notebookashomepage.md
+++ b/docs/manual/notebookashomepage.md
@@ -1,7 +1,7 @@
 ---
 layout: page
 title: "Customize Apache Zeppelin homepage"
-description: "Apache Zeppelin allows you to use one of the notebooks you create as your Zeppelin Homepage. With that you can brand your Zeppelin installation, adjust the instruction to your users needs and even translate to other languages."
+description: "Apache Zeppelin allows you to use one of the notes you create as your Zeppelin Homepage. With that you can brand your Zeppelin installation, adjust the instruction to your users needs and even translate to other languages."
 group: manual
 ---
 <!--
@@ -23,37 +23,37 @@ limitations under the License.
 
 <div id="toc"></div>
 
-Apache Zeppelin allows you to use one of the notebooks you create as your Zeppelin Homepage.
+Apache Zeppelin allows you to use one of the notes you create as your Zeppelin Homepage.
 With that you can brand your Zeppelin installation, adjust the instruction to your users needs and even translate to other languages.
 
-## How to set a notebook as your Zeppelin homepage
+## How to set a note as your Zeppelin homepage
 
 The process for creating your homepage is very simple as shown below:
 
-1. Create a notebook using Zeppelin
-2. Set the notebook id in the config file
+1. Create a note using Zeppelin
+2. Set the note id in the config file
 3. Restart Zeppelin
 
-### Create a notebook using Zeppelin
-Create a new notebook using Zeppelin,
+### Create a note using Zeppelin
+Create a new note using Zeppelin,
 you can use ```%md``` interpreter for markdown content or any other interpreter you like.
 You can also use the display system to generate [text](../displaysystem/basicdisplaysystem.html#text), [html](../displaysystem/basicdisplaysystem.html#html), [table](../displaysystem/basicdisplaysystem.html#table) or
 Angular ([backend API](../displaysystem/back-end-angular.html), [frontend API](../displaysystem/front-end-angular.html)).
 
-Run (shift+Enter) the notebook and see the output. Optionally, change the notebook view to report to hide
+Run (shift+Enter) the note and see the output. Optionally, change the note view to report to hide
 the code sections.
 
-### Set the notebook id in the config file
-To set the notebook id in the config file, you should copy it from the last word in the notebook url.
+### Set the note id in the config file
+To set the note id in the config file, you should copy it from the last word in the note url.
 For example,
 
 <img src="/assets/themes/zeppelin/img/screenshots/homepage_notebook_id.png" width="400px" />
 
-Set the notebook id to the ```ZEPPELIN_NOTEBOOK_HOMESCREEN``` environment variable
+Set the note id to the ```ZEPPELIN_NOTEBOOK_HOMESCREEN``` environment variable
 or ```zeppelin.notebook.homescreen``` property.
 
 You can also set the ```ZEPPELIN_NOTEBOOK_HOMESCREEN_HIDE``` environment variable
-or ```zeppelin.notebook.homescreen.hide``` property to hide the new notebook from the notebook list.
+or ```zeppelin.notebook.homescreen.hide``` property to hide the new note from the note list.
 
 ### Restart Zeppelin
 Restart your Zeppelin server
@@ -89,7 +89,7 @@ println(
 """)
 ```
 
-After running the notebook you will see output similar to this one:
+After running the note you will see output similar to this one:
 <img src="/assets/themes/zeppelin/img/screenshots/homepage_notebook_list.png" />
 
 The main trick here relays in linking the ```<div>``` to the controller:
@@ -99,4 +99,4 @@ The main trick here relays in linking the ```<div>``` to the controller:
 ```
 
 Once we have ```home``` as our controller variable in our ```<div></div>``` 
-we can use ```home.notes.list``` to get access to the notebook list.
+we can use ```home.notes.list``` to get access to the note list.

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/4f6a0e34/docs/rest-api/rest-notebook.md
----------------------------------------------------------------------
diff --git a/docs/rest-api/rest-notebook.md b/docs/rest-api/rest-notebook.md
index ed39a4f..f77e710 100644
--- a/docs/rest-api/rest-notebook.md
+++ b/docs/rest-api/rest-notebook.md
@@ -35,13 +35,13 @@ If you work with Apache Zeppelin and find a need for an additional REST API, ple
 
   Notebooks REST API supports the following operations: List, Create, Get, Delete, Clone, Run, Export, Import as detailed in the following tables.
 
-### List of the notebooks
+### List of the notes
   <table class="table-configuration">
     <col width="200">
     <tr>
       <td>Description</td>
-      <td>This ```GET``` method lists the available notebooks on your server.
-          Notebook JSON contains the ```name``` and ```id``` of all notebooks.
+      <td>This ```GET``` method lists the available notes on your server.
+          Notebook JSON contains the ```name``` and ```id``` of all notes.
       </td>
     </tr>
     <tr>
@@ -77,13 +77,13 @@ If you work with Apache Zeppelin and find a need for an additional REST API, ple
   </table>
 
 <br/>
-### Create a new notebook
+### Create a new note
   <table class="table-configuration">
     <col width="200">
     <tr>
       <td>Description</td>
-      <td>This ```POST``` method creates a new notebook using the given name or default name if none given.
-          The body field of the returned JSON contains the new notebook id.
+      <td>This ```POST``` method creates a new note using the given name or default name if none given.
+          The body field of the returned JSON contains the new note id.
       </td>
     </tr>
     <tr>
@@ -100,13 +100,13 @@ If you work with Apache Zeppelin and find a need for an additional REST API, ple
     </tr>
     <tr>
       <td> sample JSON input (without paragraphs) </td>
-      <td><pre>{"name": "name of new notebook"}</pre></td>
+      <td><pre>{"name": "name of new note"}</pre></td>
     </tr>
     <tr>
       <td> sample JSON input (with initial paragraphs) </td>
       <td><pre>
 {
-  "name": "name of new notebook",
+  "name": "name of new note",
   "paragraphs": [
     {
       "title": "paragraph title1",
@@ -131,18 +131,18 @@ If you work with Apache Zeppelin and find a need for an additional REST API, ple
   </table>
 
 <br/>
-### Get an existing notebook information
+### Get an existing note information
   <table class="table-configuration">
     <col width="200">
     <tr>
       <td>Description</td>
-      <td>This ```GET``` method retrieves an existing notebook's information using the given id.
-          The body field of the returned JSON contain information about paragraphs in the notebook.
+      <td>This ```GET``` method retrieves an existing note's information using the given id.
+          The body field of the returned JSON contain information about paragraphs in the note.
       </td>
     </tr>
     <tr>
       <td>URL</td>
-      <td>```http://[zeppelin-server]:[zeppelin-port]/api/notebook/[notebookId]```</td>
+      <td>```http://[zeppelin-server]:[zeppelin-port]/api/notebook/[noteId]```</td>
     </tr>
     <tr>
       <td>Success code</td>
@@ -228,17 +228,17 @@ If you work with Apache Zeppelin and find a need for an additional REST API, ple
   </table>
 
 <br/>
-### Delete a notebook
+### Delete a note
   <table class="table-configuration">
     <col width="200">
     <tr>
       <td>Description</td>
-      <td>This ```DELETE``` method deletes a notebook by the given notebook id.
+      <td>This ```DELETE``` method deletes a note by the given note id.
       </td>
     </tr>
     <tr>
       <td>URL</td>
-      <td>```http://[zeppelin-server]:[zeppelin-port]/api/notebook/[notebookId]```</td>
+      <td>```http://[zeppelin-server]:[zeppelin-port]/api/notebook/[noteId]```</td>
     </tr>
     <tr>
       <td>Success code</td>
@@ -255,19 +255,19 @@ If you work with Apache Zeppelin and find a need for an additional REST API, ple
   </table>
 
 <br/>
-### Clone a notebook
+### Clone a note
   <table class="table-configuration">
     <col width="200">
     <tr>
       <td>Description</td>
-      <td>This ```POST``` method clones a notebook by the given id and create a new notebook using the given name
+      <td>This ```POST``` method clones a note by the given id and create a new note using the given name
           or default name if none given.
-          The body field of the returned JSON contains the new notebook id.
+          The body field of the returned JSON contains the new note id.
       </td>
     </tr>
     <tr>
       <td>URL</td>
-      <td>```http://[zeppelin-server]:[zeppelin-port]/api/notebook/[notebookId]```</td>
+      <td>```http://[zeppelin-server]:[zeppelin-port]/api/notebook/[noteId]```</td>
     </tr>
     <tr>
       <td>Success code</td>
@@ -279,7 +279,7 @@ If you work with Apache Zeppelin and find a need for an additional REST API, ple
     </tr>
     <tr>
       <td> sample JSON input </td>
-      <td><pre>{"name": "name of new notebook"}</pre></td>
+      <td><pre>{"name": "name of new note"}</pre></td>
     </tr>
     <tr>
       <td> sample JSON response </td>
@@ -299,14 +299,14 @@ If you work with Apache Zeppelin and find a need for an additional REST API, ple
     <tr>
       <td>Description</td>
       <td>
-      This ```POST``` method runs all paragraphs in the given notebook id. <br />
-      If you can not find Notebook id 404 returns.
+      This ```POST``` method runs all paragraphs in the given note id. <br />
+      If you can not find Note id 404 returns.
       If there is a problem with the interpreter returns a 412 error.
       </td>
     </tr>
     <tr>
       <td>URL</td>
-      <td>```http://[zeppelin-server]:[zeppelin-port]/api/notebook/job/[notebookId]```</td>
+      <td>```http://[zeppelin-server]:[zeppelin-port]/api/notebook/job/[noteId]```</td>
     </tr>
     <tr>
       <td>Success code</td>
@@ -345,12 +345,12 @@ If you work with Apache Zeppelin and find a need for an additional REST API, ple
     <col width="200">
     <tr>
       <td>Description</td>
-      <td>This ```DELETE``` method stops all paragraphs in the given notebook id.
+      <td>This ```DELETE``` method stops all paragraphs in the given note id.
       </td>
     </tr>
     <tr>
       <td>URL</td>
-      <td>```http://[zeppelin-server]:[zeppelin-port]/api/notebook/job/[notebookId]```</td>
+      <td>```http://[zeppelin-server]:[zeppelin-port]/api/notebook/job/[noteId]```</td>
     </tr>
     <tr>
       <td>Success code</td>
@@ -372,13 +372,13 @@ If you work with Apache Zeppelin and find a need for an additional REST API, ple
     <col width="200">
     <tr>
       <td>Description</td>
-      <td>This ```GET``` method gets the status of all paragraphs by the given notebook id.
+      <td>This ```GET``` method gets the status of all paragraphs by the given note id.
           The body field of the returned JSON contains of the array that compose of the paragraph id, paragraph status, paragraph finish date, paragraph started date.
       </td>
     </tr>
     <tr>
       <td>URL</td>
-      <td>```http://[zeppelin-server]:[zeppelin-port]/api/notebook/job/[notebookId]```</td>
+      <td>```http://[zeppelin-server]:[zeppelin-port]/api/notebook/job/[noteId]```</td>
     </tr>
     <tr>
       <td>Success code</td>
@@ -418,13 +418,13 @@ If you work with Apache Zeppelin and find a need for an additional REST API, ple
     <col width="200">
     <tr>
       <td>Description</td>
-      <td>This ```GET``` method gets the status of a single paragraph by the given notebook and paragraph id.
+      <td>This ```GET``` method gets the status of a single paragraph by the given note and paragraph id.
           The body field of the returned JSON contains of the array that compose of the paragraph id, paragraph status, paragraph finish date, paragraph started date.
       </td>
     </tr>
     <tr>
       <td>URL</td>
-      <td>```http://[zeppelin-server]:[zeppelin-port]/api/notebook/job/[notebookId]/[paragraphId]```</td>
+      <td>```http://[zeppelin-server]:[zeppelin-port]/api/notebook/job/[noteId]/[paragraphId]```</td>
     </tr>
     <tr>
       <td>Success code</td>
@@ -455,12 +455,12 @@ If you work with Apache Zeppelin and find a need for an additional REST API, ple
     <col width="200">
     <tr>
       <td>Description</td>
-      <td>This ```POST``` method runs the paragraph asynchronously by given notebook and paragraph id. This API always return SUCCESS even if the execution of the paragraph fails later because the API is asynchronous
+      <td>This ```POST``` method runs the paragraph asynchronously by given note and paragraph id. This API always return SUCCESS even if the execution of the paragraph fails later because the API is asynchronous
       </td>
     </tr>
     <tr>
       <td>URL</td>
-      <td>```http://[zeppelin-server]:[zeppelin-port]/api/notebook/job/[notebookId]/[paragraphId]```</td>
+      <td>```http://[zeppelin-server]:[zeppelin-port]/api/notebook/job/[noteId]/[paragraphId]```</td>
     </tr>
     <tr>
       <td>Success code</td>
@@ -474,7 +474,7 @@ If you work with Apache Zeppelin and find a need for an additional REST API, ple
       <td> sample JSON input (optional, only needed when if you want to update dynamic form's value) </td>
       <td><pre>
 {
-  "name": "name of new notebook",
+  "name": "name of new note",
   "params": {
     "formLabel1": "value1",
     "formLabel2": "value2"
@@ -493,12 +493,12 @@ If you work with Apache Zeppelin and find a need for an additional REST API, ple
     <col width="200">
     <tr>
       <td>Description</td>
-      <td> This ```POST``` method runs the paragraph synchronously by given notebook and paragraph id. This API can return SUCCESS or ERROR depending on the outcome of the paragraph execution
+      <td> This ```POST``` method runs the paragraph synchronously by given note and paragraph id. This API can return SUCCESS or ERROR depending on the outcome of the paragraph execution
       </td>
     </tr>
     <tr>
       <td>URL</td>
-      <td>```http://[zeppelin-server]:[zeppelin-port]/api/notebook/job/[notebookId]/[paragraphId]```</td>
+      <td>```http://[zeppelin-server]:[zeppelin-port]/api/notebook/job/[noteId]/[paragraphId]```</td>
     </tr>
     <tr>
       <td>Success code</td>
@@ -512,7 +512,7 @@ If you work with Apache Zeppelin and find a need for an additional REST API, ple
       <td> sample JSON input (optional, only needed when if you want to update dynamic form's value) </td>
       <td><pre>
 {
-  "name": "name of new notebook",
+  "name": "name of new note",
   "params": {
     "formLabel1": "value1",
     "formLabel2": "value2"
@@ -543,12 +543,12 @@ If you work with Apache Zeppelin and find a need for an additional REST API, ple
     <col width="200">
     <tr>
       <td>Description</td>
-      <td>This ```DELETE``` method stops the paragraph by given notebook and paragraph id.
+      <td>This ```DELETE``` method stops the paragraph by given note and paragraph id.
       </td>
     </tr>
     <tr>
       <td>URL</td>
-      <td>```http://[zeppelin-server]:[zeppelin-port]/api/notebook/job/[notebookId]/[paragraphId]```</td>
+      <td>```http://[zeppelin-server]:[zeppelin-port]/api/notebook/job/[noteId]/[paragraphId]```</td>
     </tr>
     <tr>
       <td>Success code</td>
@@ -570,12 +570,12 @@ If you work with Apache Zeppelin and find a need for an additional REST API, ple
     <col width="200">
     <tr>
       <td>Description</td>
-      <td>This ```POST``` method adds cron job by the given notebook id.
+      <td>This ```POST``` method adds cron job by the given note id.
       </td>
     </tr>
     <tr>
       <td>URL</td>
-      <td>```http://[zeppelin-server]:[zeppelin-port]/api/notebook/cron/[notebookId]```</td>
+      <td>```http://[zeppelin-server]:[zeppelin-port]/api/notebook/cron/[noteId]```</td>
     </tr>
     <tr>
       <td>Success code</td>
@@ -587,7 +587,7 @@ If you work with Apache Zeppelin and find a need for an additional REST API, ple
     </tr>
     <tr>
       <td> sample JSON input </td>
-      <td><pre>{"cron": "cron expression of notebook"}</pre></td>
+      <td><pre>{"cron": "cron expression of note"}</pre></td>
     </tr>
     <tr>
       <td> sample JSON response </td>
@@ -602,12 +602,12 @@ If you work with Apache Zeppelin and find a need for an additional REST API, ple
     <col width="200">
     <tr>
       <td>Description</td>
-      <td>This ```DELETE``` method removes cron job by the given notebook id.
+      <td>This ```DELETE``` method removes cron job by the given note id.
       </td>
     </tr>
     <tr>
       <td>URL</td>
-      <td>```http://[zeppelin-server]:[zeppelin-port]/api/notebook/cron/[notebookId]```</td>
+      <td>```http://[zeppelin-server]:[zeppelin-port]/api/notebook/cron/[noteId]```</td>
     </tr>
     <tr>
       <td>Success code</td>
@@ -630,13 +630,13 @@ If you work with Apache Zeppelin and find a need for an additional REST API, ple
     <col width="200">
     <tr>
       <td>Description</td>
-      <td>This ```GET``` method gets cron job expression of given notebook id.
+      <td>This ```GET``` method gets cron job expression of given note id.
           The body field of the returned JSON contains the cron expression.
       </td>
     </tr>
     <tr>
       <td>URL</td>
-      <td>```http://[zeppelin-server]:[zeppelin-port]/api/notebook/cron/[notebookId]```</td>
+      <td>```http://[zeppelin-server]:[zeppelin-port]/api/notebook/cron/[noteId]```</td>
     </tr>
     <tr>
       <td>Success code</td>
@@ -653,7 +653,7 @@ If you work with Apache Zeppelin and find a need for an additional REST API, ple
   </table>
 
 <br />
-### Full text search through the paragraphs in all notebooks
+### Full text search through the paragraphs in all notes
   <table class="table-configuration">
     <col width="200">
     <tr>
@@ -681,7 +681,7 @@ If you work with Apache Zeppelin and find a need for an additional REST API, ple
   "body": [
     {
       "id": "<noteId>/paragraph/<paragraphId>",
-      "name":"Notebook Name", 
+      "name":"Note Name", 
       "snippet":"",
       "text":""
     }
@@ -702,7 +702,7 @@ If you work with Apache Zeppelin and find a need for an additional REST API, ple
     </tr>
     <tr>
       <td>URL</td>
-      <td>```http://[zeppelin-server]:[zeppelin-port]/api/notebook/[notebookId]/paragraph```</td>
+      <td>```http://[zeppelin-server]:[zeppelin-port]/api/notebook/[noteId]/paragraph```</td>
     </tr>
     <tr>
       <td>Success code</td>
@@ -752,7 +752,7 @@ If you work with Apache Zeppelin and find a need for an additional REST API, ple
     </tr>
     <tr>
       <td>URL</td>
-      <td>```http://[zeppelin-server]:[zeppelin-port]/api/notebook/[notebookId]/paragraph/[paragraphId]```</td>
+      <td>```http://[zeppelin-server]:[zeppelin-port]/api/notebook/[noteId]/paragraph/[paragraphId]```</td>
     </tr>
     <tr>
       <td>Success code</td>
@@ -814,12 +814,12 @@ If you work with Apache Zeppelin and find a need for an additional REST API, ple
     <col width="200">
     <tr>
       <td>Description</td>
-      <td>This ```POST``` method moves a paragraph to the specific index (order) from the notebook.
+      <td>This ```POST``` method moves a paragraph to the specific index (order) from the note.
       </td>
     </tr>
     <tr>
       <td>URL</td>
-      <td>```http://[zeppelin-server]:[zeppelin-port]/api/notebook/[notebookId]/paragraph/[paragraphId]/move/[newIndex]```</td>
+      <td>```http://[zeppelin-server]:[zeppelin-port]/api/notebook/[noteId]/paragraph/[paragraphId]/move/[newIndex]```</td>
     </tr>
     <tr>
       <td>Success code</td>
@@ -842,12 +842,12 @@ If you work with Apache Zeppelin and find a need for an additional REST API, ple
     <col width="200">
     <tr>
       <td>Description</td>
-      <td>This ```DELETE``` method deletes a paragraph by the given notebook and paragraph id.
+      <td>This ```DELETE``` method deletes a paragraph by the given note and paragraph id.
       </td>
     </tr>
     <tr>
       <td>URL</td>
-      <td>```http://[zeppelin-server]:[zeppelin-port]/api/notebook/[notebookId]/paragraph/[paragraphId]```</td>
+      <td>```http://[zeppelin-server]:[zeppelin-port]/api/notebook/[noteId]/paragraph/[paragraphId]```</td>
     </tr>
     <tr>
       <td>Success code</td>
@@ -864,17 +864,17 @@ If you work with Apache Zeppelin and find a need for an additional REST API, ple
   </table>
 
 <br />
-### Export a notebook
+### Export a note
   <table class="table-configuration">
     <col width="200">
     <tr>
       <td>Description</td>
-      <td>This ```GET``` method exports a notebook by the given id and gernerates a JSON
+      <td>This ```GET``` method exports a note by the given id and gernerates a JSON
       </td>
     </tr>
     <tr>
       <td>URL</td>
-      <td>```http://[zeppelin-server]:[zeppelin-port]/api/notebook/export/[notebookId]```</td>
+      <td>```http://[zeppelin-server]:[zeppelin-port]/api/notebook/export/[noteId]```</td>
     </tr>
     <tr>
       <td>Success code</td>
@@ -914,12 +914,12 @@ If you work with Apache Zeppelin and find a need for an additional REST API, ple
   </table>
 
 <br />
-### Import a notebook
+### Import a note
   <table class="table-configuration">
     <col width="200">
     <tr>
       <td>Description</td>
-      <td>This ```POST``` method imports a notebook from the notebook JSON input
+      <td>This ```POST``` method imports a note from the note JSON input
       </td>
     </tr>
     <tr>

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/4f6a0e34/lens/src/main/java/org/apache/zeppelin/lens/LensInterpreter.java
----------------------------------------------------------------------
diff --git a/lens/src/main/java/org/apache/zeppelin/lens/LensInterpreter.java b/lens/src/main/java/org/apache/zeppelin/lens/LensInterpreter.java
index 30e1983..d270fcd 100644
--- a/lens/src/main/java/org/apache/zeppelin/lens/LensInterpreter.java
+++ b/lens/src/main/java/org/apache/zeppelin/lens/LensInterpreter.java
@@ -76,7 +76,7 @@ public class LensInterpreter extends Interpreter {
 
   private static Pattern s_queryExecutePattern = Pattern.compile(".*query\\s+execute\\s+(.*)");
   private static Map<String, ExecutionDetail> s_paraToQH = 
-    new ConcurrentHashMap<String, ExecutionDetail> (); //tracks paragraphID -> Lens QueryHandle
+    new ConcurrentHashMap<String, ExecutionDetail> (); //tracks paragraphId -> Lens QueryHandle
   private static Map<LensClient, Boolean> s_clientMap =
     new ConcurrentHashMap<LensClient, Boolean>();
 

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/4f6a0e34/scripts/vagrant/zeppelin-dev/README.md
----------------------------------------------------------------------
diff --git a/scripts/vagrant/zeppelin-dev/README.md b/scripts/vagrant/zeppelin-dev/README.md
index 9e5c9c9..fd428d6 100644
--- a/scripts/vagrant/zeppelin-dev/README.md
+++ b/scripts/vagrant/zeppelin-dev/README.md
@@ -140,7 +140,7 @@ import matplotlib.pyplot as plt
 import numpy as np
 import StringIO
 
-# clear out any previous plots on this notebook
+# clear out any previous plots on this note
 plt.clf()
 
 def show(p):

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/4f6a0e34/zeppelin-display/src/main/scala/org/apache/zeppelin/display/angular/notebookscope/AngularElem.scala
----------------------------------------------------------------------
diff --git a/zeppelin-display/src/main/scala/org/apache/zeppelin/display/angular/notebookscope/AngularElem.scala b/zeppelin-display/src/main/scala/org/apache/zeppelin/display/angular/notebookscope/AngularElem.scala
index 9ba88ff..53dac43 100644
--- a/zeppelin-display/src/main/scala/org/apache/zeppelin/display/angular/notebookscope/AngularElem.scala
+++ b/zeppelin-display/src/main/scala/org/apache/zeppelin/display/angular/notebookscope/AngularElem.scala
@@ -71,7 +71,7 @@ object AngularElem {
   }
 
   /**
-    * Disassociate (remove) all angular object in this notebook
+    * Disassociate (remove) all angular object in this note
     */
   def disassociate() = {
     val ic = InterpreterContext.get

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/4f6a0e34/zeppelin-display/src/main/scala/org/apache/zeppelin/display/angular/paragraphscope/AngularElem.scala
----------------------------------------------------------------------
diff --git a/zeppelin-display/src/main/scala/org/apache/zeppelin/display/angular/paragraphscope/AngularElem.scala b/zeppelin-display/src/main/scala/org/apache/zeppelin/display/angular/paragraphscope/AngularElem.scala
index 50bd0ed..bc05017 100644
--- a/zeppelin-display/src/main/scala/org/apache/zeppelin/display/angular/paragraphscope/AngularElem.scala
+++ b/zeppelin-display/src/main/scala/org/apache/zeppelin/display/angular/paragraphscope/AngularElem.scala
@@ -73,7 +73,7 @@ object AngularElem {
   }
 
   /**
-    * Disassociate (remove) all angular object in this notebook
+    * Disassociate (remove) all angular object in this note
     */
   def disassociate() = {
     val ic = InterpreterContext.get

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/4f6a0e34/zeppelin-server/src/main/java/org/apache/zeppelin/rest/NotebookRestApi.java
----------------------------------------------------------------------
diff --git a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/NotebookRestApi.java b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/NotebookRestApi.java
index d581404..d429d08 100644
--- a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/NotebookRestApi.java
+++ b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/NotebookRestApi.java
@@ -51,7 +51,7 @@ import org.apache.zeppelin.notebook.NotebookAuthorization;
 import org.apache.zeppelin.notebook.Paragraph;
 import org.apache.zeppelin.rest.message.CronRequest;
 import org.apache.zeppelin.types.InterpreterSettingsList;
-import org.apache.zeppelin.rest.message.NewNotebookRequest;
+import org.apache.zeppelin.rest.message.NewNoteRequest;
 import org.apache.zeppelin.rest.message.NewParagraphRequest;
 import org.apache.zeppelin.rest.message.RunParagraphWithParametersRequest;
 import org.apache.zeppelin.search.SearchService;
@@ -61,7 +61,7 @@ import org.apache.zeppelin.user.AuthenticationInfo;
 import org.apache.zeppelin.utils.SecurityUtils;
 
 /**
- * Rest api endpoint for the noteBook.
+ * Rest api endpoint for the notebook.
  */
 @Path("/notebook")
 @Produces("application/json")
@@ -70,7 +70,7 @@ public class NotebookRestApi {
   Gson gson = new Gson();
   private Notebook notebook;
   private NotebookServer notebookServer;
-  private SearchService notebookIndex;
+  private SearchService noteSearchService;
   private NotebookAuthorization notebookAuthorization;
 
   public NotebookRestApi() {
@@ -79,7 +79,7 @@ public class NotebookRestApi {
   public NotebookRestApi(Notebook notebook, NotebookServer notebookServer, SearchService search) {
     this.notebook = notebook;
     this.notebookServer = notebookServer;
-    this.notebookIndex = search;
+    this.noteSearchService = search;
     this.notebookAuthorization = notebook.getNotebookAuthorization();
   }
 
@@ -181,7 +181,7 @@ public class NotebookRestApi {
   }
 
   /**
-   * list binded setting
+   * list bound setting
    */
   @GET
   @Path("interpreter/bind/{noteId}")
@@ -196,18 +196,18 @@ public class NotebookRestApi {
   @GET
   @Path("/")
   @ZeppelinApi
-  public Response getNotebookList() throws IOException {
+  public Response getNoteList() throws IOException {
     AuthenticationInfo subject = new AuthenticationInfo(SecurityUtils.getPrincipal());
-    List<Map<String, String>> notesInfo = notebookServer.generateNotebooksInfo(false, subject,
+    List<Map<String, String>> notesInfo = notebookServer.generateNotesInfo(false, subject,
         SecurityUtils.getRoles());
     return new JsonResponse<>(Status.OK, "", notesInfo).build();
   }
 
   @GET
-  @Path("{notebookId}")
+  @Path("{noteId}")
   @ZeppelinApi
-  public Response getNotebook(@PathParam("notebookId") String notebookId) throws IOException {
-    Note note = notebook.getNote(notebookId);
+  public Response getNote(@PathParam("noteId") String noteId) throws IOException {
+    Note note = notebook.getNote(noteId);
     if (note == null) {
       return new JsonResponse<>(Status.NOT_FOUND, "note not found.").build();
     }
@@ -223,9 +223,9 @@ public class NotebookRestApi {
    * @throws IOException
    */
   @GET
-  @Path("export/{id}")
+  @Path("export/{noteId}")
   @ZeppelinApi
-  public Response exportNoteBook(@PathParam("id") String noteId) throws IOException {
+  public Response exportNote(@PathParam("noteId") String noteId) throws IOException {
     String exportJson = notebook.exportNote(noteId);
     return new JsonResponse<>(Status.OK, "", exportJson).build();
   }
@@ -233,14 +233,14 @@ public class NotebookRestApi {
   /**
    * import new note REST API
    *
-   * @param req - notebook Json
+   * @param req - note Json
    * @return JSON with new note ID
    * @throws IOException
    */
   @POST
   @Path("import")
   @ZeppelinApi
-  public Response importNotebook(String req) throws IOException {
+  public Response importNote(String req) throws IOException {
     AuthenticationInfo subject = new AuthenticationInfo(SecurityUtils.getPrincipal());
     Note newNote = notebook.importNote(req, null, subject);
     return new JsonResponse<>(Status.CREATED, "", newNote.getId()).build();
@@ -257,8 +257,8 @@ public class NotebookRestApi {
   @Path("/")
   @ZeppelinApi
   public Response createNote(String message) throws IOException {
-    LOG.info("Create new notebook by JSON {}", message);
-    NewNotebookRequest request = gson.fromJson(message, NewNotebookRequest.class);
+    LOG.info("Create new note by JSON {}", message);
+    NewNoteRequest request = gson.fromJson(message, NewNoteRequest.class);
     AuthenticationInfo subject = new AuthenticationInfo(SecurityUtils.getPrincipal());
     Note note = notebook.createNote(subject);
     List<NewParagraphRequest> initialParagraphs = request.getParagraphs();
@@ -285,20 +285,20 @@ public class NotebookRestApi {
   /**
    * Delete note REST API
    *
-   * @param notebookId ID of Notebook
+   * @param noteId ID of Note
    * @return JSON with status.OK
    * @throws IOException
    */
   @DELETE
-  @Path("{notebookId}")
+  @Path("{noteId}")
   @ZeppelinApi
-  public Response deleteNote(@PathParam("notebookId") String notebookId) throws IOException {
-    LOG.info("Delete notebook {} ", notebookId);
+  public Response deleteNote(@PathParam("noteId") String noteId) throws IOException {
+    LOG.info("Delete note {} ", noteId);
     AuthenticationInfo subject = new AuthenticationInfo(SecurityUtils.getPrincipal());
-    if (!(notebookId.isEmpty())) {
-      Note note = notebook.getNote(notebookId);
+    if (!(noteId.isEmpty())) {
+      Note note = notebook.getNote(noteId);
       if (note != null) {
-        notebook.removeNote(notebookId, subject);
+        notebook.removeNote(noteId, subject);
       }
     }
 
@@ -309,23 +309,23 @@ public class NotebookRestApi {
   /**
    * Clone note REST API
    *
-   * @param notebookId ID of Notebook
+   * @param noteId ID of Note
    * @return JSON with status.CREATED
    * @throws IOException, CloneNotSupportedException, IllegalArgumentException
    */
   @POST
-  @Path("{notebookId}")
+  @Path("{noteId}")
   @ZeppelinApi
-  public Response cloneNote(@PathParam("notebookId") String notebookId, String message)
+  public Response cloneNote(@PathParam("noteId") String noteId, String message)
       throws IOException, CloneNotSupportedException, IllegalArgumentException {
-    LOG.info("clone notebook by JSON {}", message);
-    NewNotebookRequest request = gson.fromJson(message, NewNotebookRequest.class);
+    LOG.info("clone note by JSON {}", message);
+    NewNoteRequest request = gson.fromJson(message, NewNoteRequest.class);
     String newNoteName = null;
     if (request != null) {
       newNoteName = request.getName();
     }
     AuthenticationInfo subject = new AuthenticationInfo(SecurityUtils.getPrincipal());
-    Note newNote = notebook.cloneNote(notebookId, newNoteName, subject);
+    Note newNote = notebook.cloneNote(noteId, newNoteName, subject);
     notebookServer.broadcastNote(newNote);
     notebookServer.broadcastNoteList(subject, SecurityUtils.getRoles());
     return new JsonResponse<>(Status.CREATED, "", newNote.getId()).build();
@@ -339,13 +339,13 @@ public class NotebookRestApi {
    * @throws IOException
    */
   @POST
-  @Path("{notebookId}/paragraph")
+  @Path("{noteId}/paragraph")
   @ZeppelinApi
-  public Response insertParagraph(@PathParam("notebookId") String notebookId, String message)
+  public Response insertParagraph(@PathParam("noteId") String noteId, String message)
       throws IOException {
-    LOG.info("insert paragraph {} {}", notebookId, message);
+    LOG.info("insert paragraph {} {}", noteId, message);
 
-    Note note = notebook.getNote(notebookId);
+    Note note = notebook.getNote(noteId);
     if (note == null) {
       return new JsonResponse<>(Status.NOT_FOUND, "note not found.").build();
     }
@@ -371,18 +371,18 @@ public class NotebookRestApi {
   /**
    * Get paragraph REST API
    *
-   * @param notebookId ID of Notebook
+   * @param noteId ID of Note
    * @return JSON with information of the paragraph
    * @throws IOException
    */
   @GET
-  @Path("{notebookId}/paragraph/{paragraphId}")
+  @Path("{noteId}/paragraph/{paragraphId}")
   @ZeppelinApi
-  public Response getParagraph(@PathParam("notebookId") String notebookId,
+  public Response getParagraph(@PathParam("noteId") String noteId,
       @PathParam("paragraphId") String paragraphId) throws IOException {
-    LOG.info("get paragraph {} {}", notebookId, paragraphId);
+    LOG.info("get paragraph {} {}", noteId, paragraphId);
 
-    Note note = notebook.getNote(notebookId);
+    Note note = notebook.getNote(noteId);
     if (note == null) {
       return new JsonResponse(Status.NOT_FOUND, "note not found.").build();
     }
@@ -403,14 +403,14 @@ public class NotebookRestApi {
    * @throws IOException
    */
   @POST
-  @Path("{notebookId}/paragraph/{paragraphId}/move/{newIndex}")
+  @Path("{noteId}/paragraph/{paragraphId}/move/{newIndex}")
   @ZeppelinApi
-  public Response moveParagraph(@PathParam("notebookId") String notebookId,
+  public Response moveParagraph(@PathParam("noteId") String noteId,
       @PathParam("paragraphId") String paragraphId, @PathParam("newIndex") String newIndex)
       throws IOException {
-    LOG.info("move paragraph {} {} {}", notebookId, paragraphId, newIndex);
+    LOG.info("move paragraph {} {} {}", noteId, paragraphId, newIndex);
 
-    Note note = notebook.getNote(notebookId);
+    Note note = notebook.getNote(noteId);
     if (note == null) {
       return new JsonResponse(Status.NOT_FOUND, "note not found.").build();
     }
@@ -436,18 +436,18 @@ public class NotebookRestApi {
   /**
    * Delete paragraph REST API
    *
-   * @param notebookId ID of Notebook
+   * @param noteId ID of Note
    * @return JSON with status.OK
    * @throws IOException
    */
   @DELETE
-  @Path("{notebookId}/paragraph/{paragraphId}")
+  @Path("{noteId}/paragraph/{paragraphId}")
   @ZeppelinApi
-  public Response deleteParagraph(@PathParam("notebookId") String notebookId,
+  public Response deleteParagraph(@PathParam("noteId") String noteId,
       @PathParam("paragraphId") String paragraphId) throws IOException {
-    LOG.info("delete paragraph {} {}", notebookId, paragraphId);
+    LOG.info("delete paragraph {} {}", noteId, paragraphId);
 
-    Note note = notebook.getNote(notebookId);
+    Note note = notebook.getNote(noteId);
     if (note == null) {
       return new JsonResponse(Status.NOT_FOUND, "note not found.").build();
     }
@@ -466,19 +466,19 @@ public class NotebookRestApi {
   }
 
   /**
-   * Run notebook jobs REST API
+   * Run note jobs REST API
    *
-   * @param notebookId ID of Notebook
+   * @param noteId ID of Note
    * @return JSON with status.OK
    * @throws IOException, IllegalArgumentException
    */
   @POST
-  @Path("job/{notebookId}")
+  @Path("job/{noteId}")
   @ZeppelinApi
-  public Response runNoteJobs(@PathParam("notebookId") String notebookId)
+  public Response runNoteJobs(@PathParam("noteId") String noteId)
       throws IOException, IllegalArgumentException {
-    LOG.info("run notebook jobs {} ", notebookId);
-    Note note = notebook.getNote(notebookId);
+    LOG.info("run note jobs {} ", noteId);
+    Note note = notebook.getNote(noteId);
     if (note == null) {
       return new JsonResponse<>(Status.NOT_FOUND, "note not found.").build();
     }
@@ -495,19 +495,19 @@ public class NotebookRestApi {
   }
 
   /**
-   * Stop(delete) notebook jobs REST API
+   * Stop(delete) note jobs REST API
    *
-   * @param notebookId ID of Notebook
+   * @param noteId ID of Note
    * @return JSON with status.OK
    * @throws IOException, IllegalArgumentException
    */
   @DELETE
-  @Path("job/{notebookId}")
+  @Path("job/{noteId}")
   @ZeppelinApi
-  public Response stopNoteJobs(@PathParam("notebookId") String notebookId)
+  public Response stopNoteJobs(@PathParam("noteId") String noteId)
       throws IOException, IllegalArgumentException {
-    LOG.info("stop notebook jobs {} ", notebookId);
-    Note note = notebook.getNote(notebookId);
+    LOG.info("stop note jobs {} ", noteId);
+    Note note = notebook.getNote(noteId);
     if (note == null) {
       return new JsonResponse<>(Status.NOT_FOUND, "note not found.").build();
     }
@@ -521,19 +521,19 @@ public class NotebookRestApi {
   }
 
   /**
-   * Get notebook job status REST API
+   * Get note job status REST API
    *
-   * @param notebookId ID of Notebook
+   * @param noteId ID of Note
    * @return JSON with status.OK
    * @throws IOException, IllegalArgumentException
    */
   @GET
-  @Path("job/{notebookId}")
+  @Path("job/{noteId}")
   @ZeppelinApi
-  public Response getNoteJobStatus(@PathParam("notebookId") String notebookId)
+  public Response getNoteJobStatus(@PathParam("noteId") String noteId)
       throws IOException, IllegalArgumentException {
-    LOG.info("get notebook job status.");
-    Note note = notebook.getNote(notebookId);
+    LOG.info("get note job status.");
+    Note note = notebook.getNote(noteId);
     if (note == null) {
       return new JsonResponse<>(Status.NOT_FOUND, "note not found.").build();
     }
@@ -542,21 +542,21 @@ public class NotebookRestApi {
   }
 
   /**
-   * Get notebook paragraph job status REST API
+   * Get note paragraph job status REST API
    *
-   * @param notebookId ID of Notebook
+   * @param noteId ID of Note
    * @param paragraphId ID of Paragraph
    * @return JSON with status.OK
    * @throws IOException, IllegalArgumentException
    */
   @GET
-  @Path("job/{notebookId}/{paragraphId}")
+  @Path("job/{noteId}/{paragraphId}")
   @ZeppelinApi
-  public Response getNoteParagraphJobStatus(@PathParam("notebookId") String notebookId, 
+  public Response getNoteParagraphJobStatus(@PathParam("noteId") String noteId, 
       @PathParam("paragraphId") String paragraphId)
       throws IOException, IllegalArgumentException {
-    LOG.info("get notebook paragraph job status.");
-    Note note = notebook.getNote(notebookId);
+    LOG.info("get note paragraph job status.");
+    Note note = notebook.getNote(noteId);
     if (note == null) {
       return new JsonResponse<>(Status.NOT_FOUND, "note not found.").build();
     }
@@ -579,14 +579,14 @@ public class NotebookRestApi {
    * @throws IOException, IllegalArgumentException
    */
   @POST
-  @Path("job/{notebookId}/{paragraphId}")
+  @Path("job/{noteId}/{paragraphId}")
   @ZeppelinApi
-  public Response runParagraph(@PathParam("notebookId") String notebookId,
+  public Response runParagraph(@PathParam("noteId") String noteId,
       @PathParam("paragraphId") String paragraphId, String message)
       throws IOException, IllegalArgumentException {
-    LOG.info("run paragraph job asynchronously {} {} {}", notebookId, paragraphId, message);
+    LOG.info("run paragraph job asynchronously {} {} {}", noteId, paragraphId, message);
 
-    Note note = notebook.getNote(notebookId);
+    Note note = notebook.getNote(noteId);
     if (note == null) {
       return new JsonResponse<>(Status.NOT_FOUND, "note not found.").build();
     }
@@ -620,9 +620,9 @@ public class NotebookRestApi {
    * @throws IOException, IllegalArgumentException
    */
   @POST
-  @Path("run/{notebookId}/{paragraphId}")
+  @Path("run/{noteId}/{paragraphId}")
   @ZeppelinApi
-  public Response runParagraphSynchronously(@PathParam("notebookId") String noteId,
+  public Response runParagraphSynchronously(@PathParam("noteId") String noteId,
                                             @PathParam("paragraphId") String paragraphId,
                                             String message) throws
                                             IOException, IllegalArgumentException {
@@ -659,22 +659,18 @@ public class NotebookRestApi {
   /**
    * Stop(delete) paragraph job REST API
    *
-   * @param notebookId  ID of Notebook
+   * @param noteId  ID of Note
    * @param paragraphId ID of Paragraph
    * @return JSON with status.OK
    * @throws IOException, IllegalArgumentException
    */
   @DELETE
-  @Path("job/{notebookId}/{paragraphId}")
+  @Path("job/{noteId}/{paragraphId}")
   @ZeppelinApi
-  public Response stopParagraph(@PathParam("notebookId") String notebookId,
+  public Response stopParagraph(@PathParam("noteId") String noteId,
       @PathParam("paragraphId") String paragraphId) throws IOException, IllegalArgumentException {
-    /**
-     * TODO(jl): Fixed notebookId to noteId
-     * https://issues.apache.org/jira/browse/ZEPPELIN-1163
-     */
-    LOG.info("stop paragraph job {} ", notebookId);
-    Note note = notebook.getNote(notebookId);
+    LOG.info("stop paragraph job {} ", noteId);
+    Note note = notebook.getNote(noteId);
     if (note == null) {
       return new JsonResponse<>(Status.NOT_FOUND, "note not found.").build();
     }
@@ -695,16 +691,15 @@ public class NotebookRestApi {
    * @throws IOException, IllegalArgumentException
    */
   @POST
-  @Path("cron/{notebookId}")
+  @Path("cron/{noteId}")
   @ZeppelinApi
-  public Response registerCronJob(@PathParam("notebookId") String notebookId, String message)
+  public Response registerCronJob(@PathParam("noteId") String noteId, String message)
       throws IOException, IllegalArgumentException {
-    // TODO(jl): Fixed notebookId to noteId
-    LOG.info("Register cron job note={} request cron msg={}", notebookId, message);
+    LOG.info("Register cron job note={} request cron msg={}", noteId, message);
 
     CronRequest request = gson.fromJson(message, CronRequest.class);
 
-    Note note = notebook.getNote(notebookId);
+    Note note = notebook.getNote(noteId);
     if (note == null) {
       return new JsonResponse<>(Status.NOT_FOUND, "note not found.").build();
     }
@@ -724,19 +719,18 @@ public class NotebookRestApi {
   /**
    * Remove cron job REST API
    *
-   * @param notebookId ID of Notebook
+   * @param noteId ID of Note
    * @return JSON with status.OK
    * @throws IOException, IllegalArgumentException
    */
   @DELETE
-  @Path("cron/{notebookId}")
+  @Path("cron/{noteId}")
   @ZeppelinApi
-  public Response removeCronJob(@PathParam("notebookId") String notebookId)
+  public Response removeCronJob(@PathParam("noteId") String noteId)
       throws IOException, IllegalArgumentException {
-    // TODO(jl): Fixed notebookId to noteId
-    LOG.info("Remove cron job note {}", notebookId);
+    LOG.info("Remove cron job note {}", noteId);
 
-    Note note = notebook.getNote(notebookId);
+    Note note = notebook.getNote(noteId);
     if (note == null) {
       return new JsonResponse<>(Status.NOT_FOUND, "note not found.").build();
     }
@@ -752,19 +746,18 @@ public class NotebookRestApi {
   /**
    * Get cron job REST API
    *
-   * @param notebookId ID of Notebook
+   * @param noteId ID of Note
    * @return JSON with status.OK
    * @throws IOException, IllegalArgumentException
    */
   @GET
-  @Path("cron/{notebookId}")
+  @Path("cron/{noteId}")
   @ZeppelinApi
-  public Response getCronJob(@PathParam("notebookId") String notebookId)
+  public Response getCronJob(@PathParam("noteId") String noteId)
       throws IOException, IllegalArgumentException {
-    // TODO(jl): Fixed notebookId to noteId
-    LOG.info("Get cron job note {}", notebookId);
+    LOG.info("Get cron job note {}", noteId);
 
-    Note note = notebook.getNote(notebookId);
+    Note note = notebook.getNote(noteId);
     if (note == null) {
       return new JsonResponse<>(Status.NOT_FOUND, "note not found.").build();
     }
@@ -773,7 +766,7 @@ public class NotebookRestApi {
   }
 
   /**
-   * Get notebook jobs for job manager
+   * Get note jobs for job manager
    *
    * @return JSON with status.OK
    * @throws IOException, IllegalArgumentException
@@ -781,22 +774,22 @@ public class NotebookRestApi {
   @GET
   @Path("jobmanager/")
   @ZeppelinApi
-  public Response getJobListforNotebook() throws IOException, IllegalArgumentException {
-    LOG.info("Get notebook jobs for job manager");
+  public Response getJobListforNote() throws IOException, IllegalArgumentException {
+    LOG.info("Get note jobs for job manager");
 
     AuthenticationInfo subject = new AuthenticationInfo(SecurityUtils.getPrincipal());
-    List<Map<String, Object>> notebookJobs = notebook
-      .getJobListByUnixTime(false, 0, subject);
+    List<Map<String, Object>> noteJobs = notebook
+        .getJobListByUnixTime(false, 0, subject);
     Map<String, Object> response = new HashMap<>();
 
     response.put("lastResponseUnixTime", System.currentTimeMillis());
-    response.put("jobs", notebookJobs);
+    response.put("jobs", noteJobs);
 
     return new JsonResponse<>(Status.OK, response).build();
   }
 
   /**
-   * Get updated notebook jobs for job manager
+   * Get updated note jobs for job manager
    *
    * Return the `Note` change information within the post unix timestamp.
    *
@@ -806,18 +799,18 @@ public class NotebookRestApi {
   @GET
   @Path("jobmanager/{lastUpdateUnixtime}/")
   @ZeppelinApi
-  public Response getUpdatedJobListforNotebook(
+  public Response getUpdatedJobListforNote(
       @PathParam("lastUpdateUnixtime") long lastUpdateUnixTime)
       throws IOException, IllegalArgumentException {
-    LOG.info("Get updated notebook jobs lastUpdateTime {}", lastUpdateUnixTime);
+    LOG.info("Get updated note jobs lastUpdateTime {}", lastUpdateUnixTime);
 
-    List<Map<String, Object>> notebookJobs;
+    List<Map<String, Object>> noteJobs;
     AuthenticationInfo subject = new AuthenticationInfo(SecurityUtils.getPrincipal());
-    notebookJobs = notebook.getJobListByUnixTime(false, lastUpdateUnixTime, subject);
+    noteJobs = notebook.getJobListByUnixTime(false, lastUpdateUnixTime, subject);
     Map<String, Object> response = new HashMap<>();
 
     response.put("lastResponseUnixTime", System.currentTimeMillis());
-    response.put("jobs", notebookJobs);
+    response.put("jobs", noteJobs);
 
     return new JsonResponse<>(Status.OK, response).build();
   }
@@ -829,25 +822,25 @@ public class NotebookRestApi {
   @Path("search")
   @ZeppelinApi
   public Response search(@QueryParam("q") String queryTerm) {
-    LOG.info("Searching notebooks for: {}", queryTerm);
+    LOG.info("Searching notes for: {}", queryTerm);
     String principal = SecurityUtils.getPrincipal();
     HashSet<String> roles = SecurityUtils.getRoles();
     HashSet<String> userAndRoles = new HashSet<>();
     userAndRoles.add(principal);
     userAndRoles.addAll(roles);
-    List<Map<String, String>> notebooksFound = notebookIndex.query(queryTerm);
-    for (int i = 0; i < notebooksFound.size(); i++) {
-      String[] Id = notebooksFound.get(i).get("id").split("/", 2);
+    List<Map<String, String>> notesFound = noteSearchService.query(queryTerm);
+    for (int i = 0; i < notesFound.size(); i++) {
+      String[] Id = notesFound.get(i).get("id").split("/", 2);
       String noteId = Id[0];
       if (!notebookAuthorization.isOwner(noteId, userAndRoles) &&
           !notebookAuthorization.isReader(noteId, userAndRoles) &&
           !notebookAuthorization.isWriter(noteId, userAndRoles)) {
-        notebooksFound.remove(i);
+        notesFound.remove(i);
         i--;
       }
     }
-    LOG.info("{} notebooks found", notebooksFound.size());
-    return new JsonResponse<>(Status.OK, notebooksFound).build();
+    LOG.info("{} notes found", notesFound.size());
+    return new JsonResponse<>(Status.OK, notesFound).build();
   }
 
 
@@ -856,7 +849,7 @@ public class NotebookRestApi {
     // handle params if presented
     if (!StringUtils.isEmpty(message)) {
       RunParagraphWithParametersRequest request =
-              gson.fromJson(message, RunParagraphWithParametersRequest.class);
+          gson.fromJson(message, RunParagraphWithParametersRequest.class);
       Map<String, Object> paramsForUpdating = request.getParams();
       if (paramsForUpdating != null) {
         paragraph.settings.getParams().putAll(paramsForUpdating);

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/4f6a0e34/zeppelin-server/src/main/java/org/apache/zeppelin/rest/message/NewNoteRequest.java
----------------------------------------------------------------------
diff --git a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/message/NewNoteRequest.java b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/message/NewNoteRequest.java
new file mode 100644
index 0000000..67c1b67
--- /dev/null
+++ b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/message/NewNoteRequest.java
@@ -0,0 +1,44 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.zeppelin.rest.message;
+
+import java.util.List;
+import java.util.Map;
+
+import org.apache.zeppelin.interpreter.InterpreterOption;
+
+/**
+ *  NewNoteRequest rest api request message
+ *
+ */
+public class NewNoteRequest {
+  String name;
+  List<NewParagraphRequest> paragraphs;
+
+  public NewNoteRequest (){
+
+  }
+
+  public String getName() {
+    return name;
+  }
+
+  public List<NewParagraphRequest> getParagraphs() {
+    return paragraphs;
+  }
+}

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/4f6a0e34/zeppelin-server/src/main/java/org/apache/zeppelin/rest/message/NewNotebookRequest.java
----------------------------------------------------------------------
diff --git a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/message/NewNotebookRequest.java b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/message/NewNotebookRequest.java
deleted file mode 100644
index 61ae657..0000000
--- a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/message/NewNotebookRequest.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.zeppelin.rest.message;
-
-import java.util.List;
-import java.util.Map;
-
-import org.apache.zeppelin.interpreter.InterpreterOption;
-
-/**
- *  NewNotebookRequest rest api request message
- *
- */
-public class NewNotebookRequest {
-  String name;
-  List<NewParagraphRequest> paragraphs;
-
-  public NewNotebookRequest (){
-
-  }
-
-  public String getName() {
-    return name;
-  }
-
-  public List<NewParagraphRequest> getParagraphs() {
-    return paragraphs;
-  }
-}

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/4f6a0e34/zeppelin-server/src/main/java/org/apache/zeppelin/server/ZeppelinServer.java
----------------------------------------------------------------------
diff --git a/zeppelin-server/src/main/java/org/apache/zeppelin/server/ZeppelinServer.java b/zeppelin-server/src/main/java/org/apache/zeppelin/server/ZeppelinServer.java
index de02fe0..162094e 100644
--- a/zeppelin-server/src/main/java/org/apache/zeppelin/server/ZeppelinServer.java
+++ b/zeppelin-server/src/main/java/org/apache/zeppelin/server/ZeppelinServer.java
@@ -74,7 +74,7 @@ public class ZeppelinServer extends Application {
   private SchedulerFactory schedulerFactory;
   private InterpreterFactory replFactory;
   private NotebookRepo notebookRepo;
-  private SearchService notebookIndex;
+  private SearchService noteSearchService;
   private NotebookAuthorization notebookAuthorization;
   private Credentials credentials;
   private DependencyResolver depResolver;
@@ -91,12 +91,12 @@ public class ZeppelinServer extends Application {
     this.replFactory = new InterpreterFactory(conf, notebookWsServer,
         notebookWsServer, heliumApplicationFactory, depResolver, SecurityUtils.isAuthenticated());
     this.notebookRepo = new NotebookRepoSync(conf);
-    this.notebookIndex = new LuceneSearch();
+    this.noteSearchService = new LuceneSearch();
     this.notebookAuthorization = NotebookAuthorization.init(conf);
     this.credentials = new Credentials(conf.credentialsPersist(), conf.getCredentialsPath());
     notebook = new Notebook(conf,
         notebookRepo, schedulerFactory, replFactory, notebookWsServer,
-            notebookIndex, notebookAuthorization, credentials);
+            noteSearchService, notebookAuthorization, credentials);
 
     // to update notebook from application event from remote process.
     heliumApplicationFactory.setNotebook(notebook);
@@ -304,7 +304,8 @@ public class ZeppelinServer extends Application {
     ZeppelinRestApi root = new ZeppelinRestApi();
     singletons.add(root);
 
-    NotebookRestApi notebookApi = new NotebookRestApi(notebook, notebookWsServer, notebookIndex);
+    NotebookRestApi notebookApi
+      = new NotebookRestApi(notebook, notebookWsServer, noteSearchService);
     singletons.add(notebookApi);
 
     HeliumRestApi heliumApi = new HeliumRestApi(helium, heliumApplicationFactory, notebook);

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/4f6a0e34/zeppelin-server/src/main/java/org/apache/zeppelin/socket/NotebookServer.java
----------------------------------------------------------------------
diff --git a/zeppelin-server/src/main/java/org/apache/zeppelin/socket/NotebookServer.java b/zeppelin-server/src/main/java/org/apache/zeppelin/socket/NotebookServer.java
index 2f9faba..a3dff40 100644
--- a/zeppelin-server/src/main/java/org/apache/zeppelin/socket/NotebookServer.java
+++ b/zeppelin-server/src/main/java/org/apache/zeppelin/socket/NotebookServer.java
@@ -235,8 +235,8 @@ public class NotebookServer extends WebSocketServlet implements
           case LIST_CONFIGURATIONS:
             sendAllConfigurations(conn, userAndRoles, notebook);
             break;
-          case CHECKPOINT_NOTEBOOK:
-            checkpointNotebook(conn, notebook, messagereceived);
+          case CHECKPOINT_NOTE:
+            checkpointNote(conn, notebook, messagereceived);
             break;
           case LIST_REVISION_HISTORY:
             listRevisionHistory(conn, notebook, messagereceived);
@@ -244,11 +244,11 @@ public class NotebookServer extends WebSocketServlet implements
           case NOTE_REVISION:
             getNoteByRevision(conn, notebook, messagereceived);
             break;
-          case LIST_NOTEBOOK_JOBS:
-            unicastNotebookJobInfo(conn, messagereceived);
+          case LIST_NOTE_JOBS:
+            unicastNoteJobInfo(conn, messagereceived);
             break;
-          case UNSUBSCRIBE_UPDATE_NOTEBOOK_JOBS:
-            unsubscribeNotebookJobInfo(conn);
+          case UNSUBSCRIBE_UPDATE_NOTE_JOBS:
+            unsubscribeNoteJobInfo(conn);
             break;
           case GET_INTERPRETER_BINDINGS:
             getInterpreterBindings(conn, messagereceived);
@@ -430,43 +430,43 @@ public class NotebookServer extends WebSocketServlet implements
     }
   }
 
-  public void unicastNotebookJobInfo(NotebookSocket conn, Message fromMessage) throws IOException {
+  public void unicastNoteJobInfo(NotebookSocket conn, Message fromMessage) throws IOException {
     addConnectionToNote(JOB_MANAGER_SERVICE.JOB_MANAGER_PAGE.getKey(), conn);
     AuthenticationInfo subject = new AuthenticationInfo(fromMessage.principal);
-    List<Map<String, Object>> notebookJobs = notebook()
+    List<Map<String, Object>> noteJobs = notebook()
       .getJobListByUnixTime(false, 0, subject);
     Map<String, Object> response = new HashMap<>();
 
     response.put("lastResponseUnixTime", System.currentTimeMillis());
-    response.put("jobs", notebookJobs);
+    response.put("jobs", noteJobs);
 
-    conn.send(serializeMessage(new Message(OP.LIST_NOTEBOOK_JOBS)
-      .put("notebookJobs", response)));
+    conn.send(serializeMessage(new Message(OP.LIST_NOTE_JOBS)
+      .put("noteJobs", response)));
   }
 
-  public void broadcastUpdateNotebookJobInfo(long lastUpdateUnixTime) throws IOException {
-    List<Map<String, Object>> notebookJobs = new LinkedList<>();
+  public void broadcastUpdateNoteJobInfo(long lastUpdateUnixTime) throws IOException {
+    List<Map<String, Object>> noteJobs = new LinkedList<>();
     Notebook notebookObject = notebook();
     List<Map<String, Object>> jobNotes = null;
     if (notebookObject != null) {
       jobNotes = notebook().getJobListByUnixTime(false, lastUpdateUnixTime, null);
-      notebookJobs = jobNotes == null ? notebookJobs : jobNotes;
+      noteJobs = jobNotes == null ? noteJobs : jobNotes;
     }
 
     Map<String, Object> response = new HashMap<>();
     response.put("lastResponseUnixTime", System.currentTimeMillis());
-    response.put("jobs", notebookJobs != null ? notebookJobs : new LinkedList<>());
+    response.put("jobs", noteJobs != null ? noteJobs : new LinkedList<>());
 
     broadcast(JOB_MANAGER_SERVICE.JOB_MANAGER_PAGE.getKey(),
-      new Message(OP.LIST_UPDATE_NOTEBOOK_JOBS).put("notebookRunningJobs", response));
+      new Message(OP.LIST_UPDATE_NOTE_JOBS).put("noteRunningJobs", response));
   }
 
-  public void unsubscribeNotebookJobInfo(NotebookSocket conn) {
+  public void unsubscribeNoteJobInfo(NotebookSocket conn) {
     removeConnectionFromNote(JOB_MANAGER_SERVICE.JOB_MANAGER_PAGE.getKey(), conn);
   }
 
   public void saveInterpreterBindings(NotebookSocket conn, Message fromMessage) {
-    String noteId = (String) fromMessage.data.get("noteID");
+    String noteId = (String) fromMessage.data.get("noteId");
     try {
       List<String> settingIdList = gson.fromJson(String.valueOf(
           fromMessage.data.get("selectedSettingIds")), new TypeToken<ArrayList<String>>() {
@@ -482,20 +482,20 @@ public class NotebookServer extends WebSocketServlet implements
 
   public void getInterpreterBindings(NotebookSocket conn, Message fromMessage)
       throws IOException {
-    String noteID = (String) fromMessage.data.get("noteID");
+    String noteId = (String) fromMessage.data.get("noteId");
     List<InterpreterSettingsList> settingList =
-        InterpreterBindingUtils.getInterpreterBindings(notebook(), noteID);
+        InterpreterBindingUtils.getInterpreterBindings(notebook(), noteId);
     conn.send(serializeMessage(new Message(OP.INTERPRETER_BINDINGS)
         .put("interpreterBindings", settingList)));
   }
 
-  public List<Map<String, String>> generateNotebooksInfo(boolean needsReload,
+  public List<Map<String, String>> generateNotesInfo(boolean needsReload,
       AuthenticationInfo subject, HashSet<String> userAndRoles) {
 
     Notebook notebook = notebook();
 
     ZeppelinConfiguration conf = notebook.getConf();
-    String homescreenNotebookId = conf.getString(ConfVars.ZEPPELIN_NOTEBOOK_HOMESCREEN);
+    String homescreenNoteId = conf.getString(ConfVars.ZEPPELIN_NOTEBOOK_HOMESCREEN);
     boolean hideHomeScreenNotebookFromList = conf
             .getBoolean(ConfVars.ZEPPELIN_NOTEBOOK_HOMESCREEN_HIDE);
 
@@ -512,7 +512,7 @@ public class NotebookServer extends WebSocketServlet implements
     for (Note note : notes) {
       Map<String, String> info = new HashMap<>();
 
-      if (hideHomeScreenNotebookFromList && note.getId().equals(homescreenNotebookId)) {
+      if (hideHomeScreenNotebookFromList && note.getId().equals(homescreenNoteId)) {
         continue;
       }
 
@@ -539,21 +539,21 @@ public class NotebookServer extends WebSocketServlet implements
       subject = new AuthenticationInfo(StringUtils.EMPTY);
     }
     //send first to requesting user
-    List<Map<String, String>> notesInfo = generateNotebooksInfo(false, subject, userAndRoles);
+    List<Map<String, String>> notesInfo = generateNotesInfo(false, subject, userAndRoles);
     multicastToUser(subject.getUser(), new Message(OP.NOTES_INFO).put("notes", notesInfo));
     //to others afterwards
     for (String user: userConnectedSockets.keySet()) {
       if (subject.getUser() == user) {
         continue;
       }
-      notesInfo = generateNotebooksInfo(false, new AuthenticationInfo(user), userAndRoles);
+      notesInfo = generateNotesInfo(false, new AuthenticationInfo(user), userAndRoles);
       multicastToUser(user, new Message(OP.NOTES_INFO).put("notes", notesInfo));
     }
   }
 
   public void unicastNoteList(NotebookSocket conn, AuthenticationInfo subject,
       HashSet<String> userAndRoles) {
-    List<Map<String, String>> notesInfo = generateNotebooksInfo(false, subject, userAndRoles);
+    List<Map<String, String>> notesInfo = generateNotesInfo(false, subject, userAndRoles);
     unicast(new Message(OP.NOTES_INFO).put("notes", notesInfo), conn);
   }
 
@@ -562,7 +562,7 @@ public class NotebookServer extends WebSocketServlet implements
       subject = new AuthenticationInfo(StringUtils.EMPTY);
     }
     //reload and reply first to requesting user
-    List<Map<String, String>> notesInfo = generateNotebooksInfo(true, subject, userAndRoles);
+    List<Map<String, String>> notesInfo = generateNotesInfo(true, subject, userAndRoles);
     multicastToUser(subject.getUser(), new Message(OP.NOTES_INFO).put("notes", notesInfo));
     //to others afterwards
     for (String user: userConnectedSockets.keySet()) {
@@ -570,7 +570,7 @@ public class NotebookServer extends WebSocketServlet implements
         continue;
       }
       //reloaded already above; parameter - false
-      notesInfo = generateNotebooksInfo(false, new AuthenticationInfo(user), userAndRoles);
+      notesInfo = generateNotesInfo(false, new AuthenticationInfo(user), userAndRoles);
       multicastToUser(user, new Message(OP.NOTES_INFO).put("notes", notesInfo));
     }
   }
@@ -785,8 +785,8 @@ public class NotebookServer extends WebSocketServlet implements
       throws IOException {
     Note note = null;
     if (fromMessage != null) {
-      String noteName = (String) ((Map) fromMessage.get("notebook")).get("name");
-      String noteJson = gson.toJson(fromMessage.get("notebook"));
+      String noteName = (String) ((Map) fromMessage.get("note")).get("name");
+      String noteJson = gson.toJson(fromMessage.get("note"));
       AuthenticationInfo subject = null;
       if (fromMessage.principal != null) {
         subject = new AuthenticationInfo(fromMessage.principal);
@@ -1096,12 +1096,12 @@ public class NotebookServer extends WebSocketServlet implements
     final AngularObject removed = registry.remove(varName, noteId, paragraphId);
     if (removed != null) {
       this.broadcastExcept(
-              noteId,
-              new Message(OP.ANGULAR_OBJECT_REMOVE).put("angularObject", removed)
-                      .put("interpreterGroupId", interpreterGroupId)
-                      .put("noteId", noteId)
-                      .put("paragraphId", paragraphId),
-              conn);
+          noteId,
+          new Message(OP.ANGULAR_OBJECT_REMOVE).put("angularObject", removed)
+              .put("interpreterGroupId", interpreterGroupId)
+              .put("noteId", noteId)
+              .put("paragraphId", paragraphId),
+          conn);
     }
   }
 
@@ -1132,7 +1132,7 @@ public class NotebookServer extends WebSocketServlet implements
   private void insertParagraph(NotebookSocket conn, HashSet<String> userAndRoles,
                                Notebook notebook, Message fromMessage) throws IOException {
     final int index = (int) Double.parseDouble(fromMessage.get("index")
-            .toString());
+        .toString());
     String noteId = getOpenNoteId(conn);
     final Note note = notebook.getNote(noteId);
     NotebookAuthorization notebookAuthorization = notebook.getNotebookAuthorization();
@@ -1252,7 +1252,7 @@ public class NotebookServer extends WebSocketServlet implements
         .put("configurations", configurations)));
   }
 
-  private void checkpointNotebook(NotebookSocket conn, Notebook notebook,
+  private void checkpointNote(NotebookSocket conn, Notebook notebook,
       Message fromMessage) throws IOException {
     String noteId = (String) fromMessage.get("noteId");
     String commitMessage = (String) fromMessage.get("commitMessage");
@@ -1384,7 +1384,7 @@ public class NotebookServer extends WebSocketServlet implements
     @Override
     public void onParagraphRemove(Paragraph p) {
       try {
-        notebookServer.broadcastUpdateNotebookJobInfo(System.currentTimeMillis() - 5000);
+        notebookServer.broadcastUpdateNoteJobInfo(System.currentTimeMillis() - 5000);
       } catch (IOException ioe) {
         LOG.error("can not broadcast for job manager {}", ioe.getMessage());
       }
@@ -1393,14 +1393,14 @@ public class NotebookServer extends WebSocketServlet implements
     @Override
     public void onNoteRemove(Note note) {
       try {
-        notebookServer.broadcastUpdateNotebookJobInfo(System.currentTimeMillis() - 5000);
+        notebookServer.broadcastUpdateNoteJobInfo(System.currentTimeMillis() - 5000);
       } catch (IOException ioe) {
         LOG.error("can not broadcast for job manager {}", ioe.getMessage());
       }
 
       List<Map<String, Object>> notesInfo = new LinkedList<>();
       Map<String, Object> info = new HashMap<>();
-      info.put("notebookId", note.getId());
+      info.put("noteId", note.getId());
       // set paragraphs
       List<Map<String, Object>> paragraphsInfo = new LinkedList<>();
 
@@ -1416,7 +1416,7 @@ public class NotebookServer extends WebSocketServlet implements
       response.put("jobs", notesInfo);
 
       notebookServer.broadcast(JOB_MANAGER_SERVICE.JOB_MANAGER_PAGE.getKey(),
-        new Message(OP.LIST_UPDATE_NOTEBOOK_JOBS).put("notebookRunningJobs", response));
+          new Message(OP.LIST_UPDATE_NOTE_JOBS).put("noteRunningJobs", response));
 
     }
 
@@ -1424,35 +1424,35 @@ public class NotebookServer extends WebSocketServlet implements
     public void onParagraphCreate(Paragraph p) {
       Notebook notebook = notebookServer.notebook();
       List<Map<String, Object>> notebookJobs = notebook.getJobListByParagraphId(
-              p.getId()
+          p.getId()
       );
       Map<String, Object> response = new HashMap<>();
       response.put("lastResponseUnixTime", System.currentTimeMillis());
       response.put("jobs", notebookJobs);
 
       notebookServer.broadcast(JOB_MANAGER_SERVICE.JOB_MANAGER_PAGE.getKey(),
-              new Message(OP.LIST_UPDATE_NOTEBOOK_JOBS).put("notebookRunningJobs", response));
+          new Message(OP.LIST_UPDATE_NOTE_JOBS).put("noteRunningJobs", response));
     }
 
     @Override
     public void onNoteCreate(Note note) {
       Notebook notebook = notebookServer.notebook();
-      List<Map<String, Object>> notebookJobs = notebook.getJobListBymNotebookId(
-              note.getId()
+      List<Map<String, Object>> notebookJobs = notebook.getJobListByNoteId(
+          note.getId()
       );
       Map<String, Object> response = new HashMap<>();
       response.put("lastResponseUnixTime", System.currentTimeMillis());
       response.put("jobs", notebookJobs);
 
       notebookServer.broadcast(JOB_MANAGER_SERVICE.JOB_MANAGER_PAGE.getKey(),
-              new Message(OP.LIST_UPDATE_NOTEBOOK_JOBS).put("notebookRunningJobs", response));
+          new Message(OP.LIST_UPDATE_NOTE_JOBS).put("noteRunningJobs", response));
     }
 
     @Override
     public void onParagraphStatusChange(Paragraph p, Status status) {
       Notebook notebook = notebookServer.notebook();
       List<Map<String, Object>> notebookJobs = notebook.getJobListByParagraphId(
-        p.getId()
+          p.getId()
       );
 
       Map<String, Object> response = new HashMap<>();
@@ -1460,21 +1460,21 @@ public class NotebookServer extends WebSocketServlet implements
       response.put("jobs", notebookJobs);
 
       notebookServer.broadcast(JOB_MANAGER_SERVICE.JOB_MANAGER_PAGE.getKey(),
-              new Message(OP.LIST_UPDATE_NOTEBOOK_JOBS).put("notebookRunningJobs", response));
+          new Message(OP.LIST_UPDATE_NOTE_JOBS).put("noteRunningJobs", response));
     }
 
     @Override
     public void onUnbindInterpreter(Note note, InterpreterSetting setting) {
       Notebook notebook = notebookServer.notebook();
-      List<Map<String, Object>> notebookJobs = notebook.getJobListBymNotebookId(
-              note.getId()
+      List<Map<String, Object>> notebookJobs = notebook.getJobListByNoteId(
+          note.getId()
       );
       Map<String, Object> response = new HashMap<>();
       response.put("lastResponseUnixTime", System.currentTimeMillis());
       response.put("jobs", notebookJobs);
 
       notebookServer.broadcast(JOB_MANAGER_SERVICE.JOB_MANAGER_PAGE.getKey(),
-              new Message(OP.LIST_UPDATE_NOTEBOOK_JOBS).put("notebookRunningJobs", response));
+          new Message(OP.LIST_UPDATE_NOTE_JOBS).put("noteRunningJobs", response));
     }
   }
 
@@ -1523,7 +1523,7 @@ public class NotebookServer extends WebSocketServlet implements
       notebookServer.broadcastNote(note);
 
       try {
-        notebookServer.broadcastUpdateNotebookJobInfo(System.currentTimeMillis() - 5000);
+        notebookServer.broadcastUpdateNoteJobInfo(System.currentTimeMillis() - 5000);
       } catch (IOException e) {
         LOG.error("can not broadcast for job manager {}", e);
       }
@@ -1538,9 +1538,9 @@ public class NotebookServer extends WebSocketServlet implements
     @Override
     public void onOutputAppend(Paragraph paragraph, InterpreterOutput out, String output) {
       Message msg = new Message(OP.PARAGRAPH_APPEND_OUTPUT)
-              .put("noteId", paragraph.getNote().getId())
-              .put("paragraphId", paragraph.getId())
-              .put("data", output);
+          .put("noteId", paragraph.getNote().getId())
+          .put("paragraphId", paragraph.getId())
+          .put("data", output);
 
       notebookServer.broadcast(paragraph.getNote().getId(), msg);
     }
@@ -1554,9 +1554,9 @@ public class NotebookServer extends WebSocketServlet implements
     @Override
     public void onOutputUpdate(Paragraph paragraph, InterpreterOutput out, String output) {
       Message msg = new Message(OP.PARAGRAPH_UPDATE_OUTPUT)
-              .put("noteId", paragraph.getNote().getId())
-              .put("paragraphId", paragraph.getId())
-              .put("data", output);
+          .put("noteId", paragraph.getNote().getId())
+          .put("paragraphId", paragraph.getId())
+          .put("data", output);
 
       notebookServer.broadcast(paragraph.getNote().getId(), msg);
     }

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/4f6a0e34/zeppelin-server/src/test/java/org/apache/zeppelin/AbstractZeppelinIT.java
----------------------------------------------------------------------
diff --git a/zeppelin-server/src/test/java/org/apache/zeppelin/AbstractZeppelinIT.java b/zeppelin-server/src/test/java/org/apache/zeppelin/AbstractZeppelinIT.java
index c99bf0a..9ef4af0 100644
--- a/zeppelin-server/src/test/java/org/apache/zeppelin/AbstractZeppelinIT.java
+++ b/zeppelin-server/src/test/java/org/apache/zeppelin/AbstractZeppelinIT.java
@@ -122,7 +122,7 @@ abstract public class AbstractZeppelinIT {
     driver.findElement(By.xpath(".//*[@id='main']//button[@ng-click='removeNote(note.id)']"))
         .sendKeys(Keys.ENTER);
     ZeppelinITUtils.sleep(1000, true);
-    driver.findElement(By.xpath("//div[@class='modal-dialog'][contains(.,'delete this notebook')]" +
+    driver.findElement(By.xpath("//div[@class='modal-dialog'][contains(.,'delete this note')]" +
         "//div[@class='modal-footer']//button[contains(.,'OK')]")).click();
     ZeppelinITUtils.sleep(100, true);
   }

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/4f6a0e34/zeppelin-server/src/test/java/org/apache/zeppelin/integration/AuthenticationIT.java
----------------------------------------------------------------------
diff --git a/zeppelin-server/src/test/java/org/apache/zeppelin/integration/AuthenticationIT.java b/zeppelin-server/src/test/java/org/apache/zeppelin/integration/AuthenticationIT.java
index e1a6f9e..fea67d6 100644
--- a/zeppelin-server/src/test/java/org/apache/zeppelin/integration/AuthenticationIT.java
+++ b/zeppelin-server/src/test/java/org/apache/zeppelin/integration/AuthenticationIT.java
@@ -180,7 +180,7 @@ public class AuthenticationIT extends AbstractZeppelinIT {
       try {
         WebElement element = pollingWait(By.xpath("//*[@id='notebook-names']//a[contains(@href, '" + noteId + "')]"),
             MAX_BROWSER_TIMEOUT_SEC);
-        collector.checkThat("Check is user has permission to view this notebook link", false,
+        collector.checkThat("Check is user has permission to view this note link", false,
             CoreMatchers.equalTo(element.isDisplayed()));
       } catch (Exception e) {
         //This should have failed, nothing to worry.
@@ -191,7 +191,7 @@ public class AuthenticationIT extends AbstractZeppelinIT {
       List<WebElement> privilegesModal = driver.findElements(
           By.xpath("//div[@class='modal-content']//div[@class='bootstrap-dialog-header']" +
               "//div[contains(.,'Insufficient privileges')]"));
-      collector.checkThat("Check is user has permission to view this notebook", 1,
+      collector.checkThat("Check is user has permission to view this note", 1,
           CoreMatchers.equalTo(privilegesModal.size()));
       driver.findElement(
           By.xpath("//div[@class='modal-content'][contains(.,'Insufficient privileges')]" +
@@ -202,7 +202,7 @@ public class AuthenticationIT extends AbstractZeppelinIT {
       try {
         WebElement element = pollingWait(By.xpath("//*[@id='notebook-names']//a[contains(@href, '" + noteId + "')]"),
             MAX_BROWSER_TIMEOUT_SEC);
-        collector.checkThat("Check is user has permission to view this notebook link", true,
+        collector.checkThat("Check is user has permission to view this note link", true,
             CoreMatchers.equalTo(element.isDisplayed()));
       } catch (Exception e) {
         //This should have failed, nothing to worry.
@@ -213,7 +213,7 @@ public class AuthenticationIT extends AbstractZeppelinIT {
       privilegesModal = driver.findElements(
           By.xpath("//div[@class='modal-content']//div[@class='bootstrap-dialog-header']" +
               "//div[contains(.,'Insufficient privileges')]"));
-      collector.checkThat("Check is user has permission to view this notebook", 0,
+      collector.checkThat("Check is user has permission to view this note", 0,
           CoreMatchers.equalTo(privilegesModal.size()));
       deleteTestNotebook(driver);
       authenticationIT.logoutUser("finance2");

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/4f6a0e34/zeppelin-server/src/test/java/org/apache/zeppelin/integration/ZeppelinIT.java
----------------------------------------------------------------------
diff --git a/zeppelin-server/src/test/java/org/apache/zeppelin/integration/ZeppelinIT.java b/zeppelin-server/src/test/java/org/apache/zeppelin/integration/ZeppelinIT.java
index b7b8ea2..1d60fce 100644
--- a/zeppelin-server/src/test/java/org/apache/zeppelin/integration/ZeppelinIT.java
+++ b/zeppelin-server/src/test/java/org/apache/zeppelin/integration/ZeppelinIT.java
@@ -182,7 +182,7 @@ public class ZeppelinIT extends AbstractZeppelinIT {
       driver.findElement(By.xpath(".//*[@id='main']//button[@ng-click='removeNote(note.id)']"))
           .sendKeys(Keys.ENTER);
       ZeppelinITUtils.sleep(1000, true);
-      driver.findElement(By.xpath("//div[@class='modal-dialog'][contains(.,'delete this notebook')]" +
+      driver.findElement(By.xpath("//div[@class='modal-dialog'][contains(.,'delete this note')]" +
           "//div[@class='modal-footer']//button[contains(.,'OK')]")).click();
       ZeppelinITUtils.sleep(100, true);
 

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/4f6a0e34/zeppelin-server/src/test/java/org/apache/zeppelin/rest/NotebookRestApiTest.java
----------------------------------------------------------------------
diff --git a/zeppelin-server/src/test/java/org/apache/zeppelin/rest/NotebookRestApiTest.java b/zeppelin-server/src/test/java/org/apache/zeppelin/rest/NotebookRestApiTest.java
index 9383569..36b0f1c 100644
--- a/zeppelin-server/src/test/java/org/apache/zeppelin/rest/NotebookRestApiTest.java
+++ b/zeppelin-server/src/test/java/org/apache/zeppelin/rest/NotebookRestApiTest.java
@@ -155,28 +155,28 @@ public class NotebookRestApiTest extends AbstractTestRestApi {
   }
 
   @Test
-  public void testCloneNotebook() throws IOException {
+  public void testCloneNote() throws IOException {
     Note note1 = ZeppelinServer.notebook.createNote(anonymous);
     PostMethod post = httpPost("/notebook/" + note1.getId(), "");
-    LOG.info("testCloneNotebook response\n" + post.getResponseBodyAsString());
+    LOG.info("testCloneNote response\n" + post.getResponseBodyAsString());
     assertThat(post, isCreated());
     Map<String, Object> resp = gson.fromJson(post.getResponseBodyAsString(), new TypeToken<Map<String, Object>>() {
     }.getType());
-    String clonedNotebookId = (String) resp.get("body");
+    String clonedNoteId = (String) resp.get("body");
     post.releaseConnection();
 
-    GetMethod get = httpGet("/notebook/" + clonedNotebookId);
+    GetMethod get = httpGet("/notebook/" + clonedNoteId);
     assertThat(get, isAllowed());
     Map<String, Object> resp2 = gson.fromJson(get.getResponseBodyAsString(), new TypeToken<Map<String, Object>>() {
     }.getType());
     Map<String, Object> resp2Body = (Map<String, Object>) resp2.get("body");
 
-    assertEquals((String)resp2Body.get("name"), "Note " + clonedNotebookId);
+    assertEquals((String)resp2Body.get("name"), "Note " + clonedNoteId);
     get.releaseConnection();
 
     //cleanup
     ZeppelinServer.notebook.removeNote(note1.getId(), anonymous);
-    ZeppelinServer.notebook.removeNote(clonedNotebookId, anonymous);
+    ZeppelinServer.notebook.removeNote(clonedNoteId, anonymous);
 
   }
 }