Repository: zeppelin
Updated Branches:
  refs/heads/master 23da33e6c -> a6d6b4224


[ZEPPELIN-3583] Add function getNoteName() in InterpreterContext

### What is this PR for?
Now we could get only current user and note ID.

```
note_id = z.getInterpreterContext().getNoteId()
user = z.getInterpreterContext().getAuthenticationInfo().getUser()
```
It would be nice if we could also get note name, like:
```
note_name = z.getInterpreterContext().getNoteName()
```

### What type of PR is it?
Improvement

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

### How should this be tested?
* CI pass

### Screenshots
![screenshot-2018-7-5 here is notebook name - 
zeppelin](https://user-images.githubusercontent.com/6136993/42327498-7a395702-8074-11e8-8f22-3a5c0212b536.png)

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

Author: egorklimov <[email protected]>

Closes #3053 from egorklimov/ZEPPELIN-3583 and squashes the following commits:

b4f72b357 [egorklimov] Thrift file updated.
bce37da3c [egorklimov] Builder fixed
23aa5138c [egorklimov] Add noteName


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

Branch: refs/heads/master
Commit: a6d6b4224d5bae069e6f7cd9a7406496c7d530d9
Parents: 23da33e
Author: egorklimov <[email protected]>
Authored: Fri Jul 6 13:51:37 2018 +0300
Committer: Jeff Zhang <[email protected]>
Committed: Tue Jul 10 16:49:48 2018 +0800

----------------------------------------------------------------------
 .../interpreter/InterpreterContext.java         |  10 +
 .../remote/RemoteInterpreterServer.java         |   1 +
 .../interpreter/thrift/AngularObjectId.java     |   2 +-
 .../thrift/AppOutputAppendEvent.java            |   2 +-
 .../thrift/AppOutputUpdateEvent.java            |   2 +-
 .../thrift/AppStatusUpdateEvent.java            |   2 +-
 .../thrift/InterpreterCompletion.java           |   2 +-
 .../interpreter/thrift/OutputAppendEvent.java   |   2 +-
 .../thrift/OutputUpdateAllEvent.java            |   2 +-
 .../interpreter/thrift/OutputUpdateEvent.java   |   2 +-
 .../interpreter/thrift/RegisterInfo.java        |   2 +-
 .../thrift/RemoteApplicationResult.java         |   2 +-
 .../thrift/RemoteInterpreterContext.java        | 217 ++++++++++++++-----
 .../thrift/RemoteInterpreterEvent.java          |   2 +-
 .../thrift/RemoteInterpreterEventService.java   |   2 +-
 .../thrift/RemoteInterpreterResult.java         |   2 +-
 .../thrift/RemoteInterpreterResultMessage.java  |   2 +-
 .../thrift/RemoteInterpreterService.java        |   2 +-
 .../interpreter/thrift/RunParagraphsEvent.java  |   2 +-
 .../ZeppelinServerResourceParagraphRunner.java  |   2 +-
 .../main/thrift/RemoteInterpreterService.thrift |  19 +-
 .../interpreter/BaseZeppelinContextTest.java    |   9 +
 .../interpreter/remote/RemoteInterpreter.java   |   7 +-
 .../org/apache/zeppelin/notebook/Paragraph.java |   4 +-
 24 files changed, 215 insertions(+), 86 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/zeppelin/blob/a6d6b422/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/InterpreterContext.java
----------------------------------------------------------------------
diff --git 
a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/InterpreterContext.java
 
b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/InterpreterContext.java
index b58821a..23ac789 100644
--- 
a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/InterpreterContext.java
+++ 
b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/InterpreterContext.java
@@ -47,6 +47,7 @@ public class InterpreterContext {
   }
 
   private String noteId;
+  private String noteName;
   private String replName;
   private String paragraphTitle;
   private String paragraphId;
@@ -77,6 +78,11 @@ public class InterpreterContext {
       return this;
     }
 
+    public Builder setNoteName(String noteName) {
+      context.noteName = noteName;
+      return this;
+    }
+
     public Builder setParagraphId(String paragraphId) {
       context.paragraphId = paragraphId;
       return this;
@@ -171,6 +177,10 @@ public class InterpreterContext {
     return noteId;
   }
 
+  public String getNoteName() {
+    return noteName;
+  }
+
   public String getReplName() {
     return replName;
   }

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/a6d6b422/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/remote/RemoteInterpreterServer.java
----------------------------------------------------------------------
diff --git 
a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/remote/RemoteInterpreterServer.java
 
b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/remote/RemoteInterpreterServer.java
index 4c52601..16e3077 100644
--- 
a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/remote/RemoteInterpreterServer.java
+++ 
b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/remote/RemoteInterpreterServer.java
@@ -751,6 +751,7 @@ public class RemoteInterpreterServer extends Thread
   private InterpreterContext convert(RemoteInterpreterContext ric, 
InterpreterOutput output) {
     return InterpreterContext.builder()
         .setNoteId(ric.getNoteId())
+        .setNoteName(ric.getNoteName())
         .setParagraphId(ric.getParagraphId())
         .setReplName(ric.getReplName())
         .setParagraphTitle(ric.getParagraphTitle())

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/a6d6b422/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/AngularObjectId.java
----------------------------------------------------------------------
diff --git 
a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/AngularObjectId.java
 
b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/AngularObjectId.java
index eecb138..3f2fdb3 100644
--- 
a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/AngularObjectId.java
+++ 
b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/AngularObjectId.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = 
"2018-6-21")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = 
"2018-7-6")
 public class AngularObjectId implements 
org.apache.thrift.TBase<AngularObjectId, AngularObjectId._Fields>, 
java.io.Serializable, Cloneable, Comparable<AngularObjectId> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new 
org.apache.thrift.protocol.TStruct("AngularObjectId");
 

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/a6d6b422/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/AppOutputAppendEvent.java
----------------------------------------------------------------------
diff --git 
a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/AppOutputAppendEvent.java
 
b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/AppOutputAppendEvent.java
index bb01dbc..e96970d 100644
--- 
a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/AppOutputAppendEvent.java
+++ 
b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/AppOutputAppendEvent.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = 
"2018-6-21")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = 
"2018-7-6")
 public class AppOutputAppendEvent implements 
org.apache.thrift.TBase<AppOutputAppendEvent, AppOutputAppendEvent._Fields>, 
java.io.Serializable, Cloneable, Comparable<AppOutputAppendEvent> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new 
org.apache.thrift.protocol.TStruct("AppOutputAppendEvent");
 

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/a6d6b422/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/AppOutputUpdateEvent.java
----------------------------------------------------------------------
diff --git 
a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/AppOutputUpdateEvent.java
 
b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/AppOutputUpdateEvent.java
index 22af593..a6621f3 100644
--- 
a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/AppOutputUpdateEvent.java
+++ 
b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/AppOutputUpdateEvent.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = 
"2018-6-21")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = 
"2018-7-6")
 public class AppOutputUpdateEvent implements 
org.apache.thrift.TBase<AppOutputUpdateEvent, AppOutputUpdateEvent._Fields>, 
java.io.Serializable, Cloneable, Comparable<AppOutputUpdateEvent> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new 
org.apache.thrift.protocol.TStruct("AppOutputUpdateEvent");
 

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/a6d6b422/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/AppStatusUpdateEvent.java
----------------------------------------------------------------------
diff --git 
a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/AppStatusUpdateEvent.java
 
b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/AppStatusUpdateEvent.java
index 66e95af..80efd23 100644
--- 
a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/AppStatusUpdateEvent.java
+++ 
b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/AppStatusUpdateEvent.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = 
"2018-6-21")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = 
"2018-7-6")
 public class AppStatusUpdateEvent implements 
org.apache.thrift.TBase<AppStatusUpdateEvent, AppStatusUpdateEvent._Fields>, 
java.io.Serializable, Cloneable, Comparable<AppStatusUpdateEvent> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new 
org.apache.thrift.protocol.TStruct("AppStatusUpdateEvent");
 

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/a6d6b422/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/InterpreterCompletion.java
----------------------------------------------------------------------
diff --git 
a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/InterpreterCompletion.java
 
b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/InterpreterCompletion.java
index 0ef0a86..1078c09 100644
--- 
a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/InterpreterCompletion.java
+++ 
b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/InterpreterCompletion.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = 
"2018-6-21")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = 
"2018-7-6")
 public class InterpreterCompletion implements 
org.apache.thrift.TBase<InterpreterCompletion, InterpreterCompletion._Fields>, 
java.io.Serializable, Cloneable, Comparable<InterpreterCompletion> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new 
org.apache.thrift.protocol.TStruct("InterpreterCompletion");
 

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/a6d6b422/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/OutputAppendEvent.java
----------------------------------------------------------------------
diff --git 
a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/OutputAppendEvent.java
 
b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/OutputAppendEvent.java
index 7f15a8b..6ef3fce 100644
--- 
a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/OutputAppendEvent.java
+++ 
b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/OutputAppendEvent.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = 
"2018-6-21")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = 
"2018-7-6")
 public class OutputAppendEvent implements 
org.apache.thrift.TBase<OutputAppendEvent, OutputAppendEvent._Fields>, 
java.io.Serializable, Cloneable, Comparable<OutputAppendEvent> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new 
org.apache.thrift.protocol.TStruct("OutputAppendEvent");
 

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/a6d6b422/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/OutputUpdateAllEvent.java
----------------------------------------------------------------------
diff --git 
a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/OutputUpdateAllEvent.java
 
b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/OutputUpdateAllEvent.java
index 715822c..cc5d98f 100644
--- 
a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/OutputUpdateAllEvent.java
+++ 
b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/OutputUpdateAllEvent.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = 
"2018-6-21")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = 
"2018-7-6")
 public class OutputUpdateAllEvent implements 
org.apache.thrift.TBase<OutputUpdateAllEvent, OutputUpdateAllEvent._Fields>, 
java.io.Serializable, Cloneable, Comparable<OutputUpdateAllEvent> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new 
org.apache.thrift.protocol.TStruct("OutputUpdateAllEvent");
 

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/a6d6b422/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/OutputUpdateEvent.java
----------------------------------------------------------------------
diff --git 
a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/OutputUpdateEvent.java
 
b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/OutputUpdateEvent.java
index 17ff089..d8b45b7 100644
--- 
a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/OutputUpdateEvent.java
+++ 
b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/OutputUpdateEvent.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = 
"2018-6-21")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = 
"2018-7-6")
 public class OutputUpdateEvent implements 
org.apache.thrift.TBase<OutputUpdateEvent, OutputUpdateEvent._Fields>, 
java.io.Serializable, Cloneable, Comparable<OutputUpdateEvent> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new 
org.apache.thrift.protocol.TStruct("OutputUpdateEvent");
 

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/a6d6b422/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RegisterInfo.java
----------------------------------------------------------------------
diff --git 
a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RegisterInfo.java
 
b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RegisterInfo.java
index d4264d4..bc6526f 100644
--- 
a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RegisterInfo.java
+++ 
b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RegisterInfo.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = 
"2018-6-21")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = 
"2018-7-6")
 public class RegisterInfo implements org.apache.thrift.TBase<RegisterInfo, 
RegisterInfo._Fields>, java.io.Serializable, Cloneable, 
Comparable<RegisterInfo> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new 
org.apache.thrift.protocol.TStruct("RegisterInfo");
 

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/a6d6b422/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RemoteApplicationResult.java
----------------------------------------------------------------------
diff --git 
a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RemoteApplicationResult.java
 
b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RemoteApplicationResult.java
index 1188535..e3b2356 100644
--- 
a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RemoteApplicationResult.java
+++ 
b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RemoteApplicationResult.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = 
"2018-6-21")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = 
"2018-7-6")
 public class RemoteApplicationResult implements 
org.apache.thrift.TBase<RemoteApplicationResult, 
RemoteApplicationResult._Fields>, java.io.Serializable, Cloneable, 
Comparable<RemoteApplicationResult> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new 
org.apache.thrift.protocol.TStruct("RemoteApplicationResult");
 

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/a6d6b422/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RemoteInterpreterContext.java
----------------------------------------------------------------------
diff --git 
a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RemoteInterpreterContext.java
 
b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RemoteInterpreterContext.java
index fa4421d..6745c53 100644
--- 
a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RemoteInterpreterContext.java
+++ 
b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RemoteInterpreterContext.java
@@ -51,20 +51,21 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = 
"2018-6-21")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = 
"2018-7-6")
 public class RemoteInterpreterContext implements 
org.apache.thrift.TBase<RemoteInterpreterContext, 
RemoteInterpreterContext._Fields>, java.io.Serializable, Cloneable, 
Comparable<RemoteInterpreterContext> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new 
org.apache.thrift.protocol.TStruct("RemoteInterpreterContext");
 
   private static final org.apache.thrift.protocol.TField NOTE_ID_FIELD_DESC = 
new org.apache.thrift.protocol.TField("noteId", 
org.apache.thrift.protocol.TType.STRING, (short)1);
-  private static final org.apache.thrift.protocol.TField 
PARAGRAPH_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("paragraphId", 
org.apache.thrift.protocol.TType.STRING, (short)2);
-  private static final org.apache.thrift.protocol.TField REPL_NAME_FIELD_DESC 
= new org.apache.thrift.protocol.TField("replName", 
org.apache.thrift.protocol.TType.STRING, (short)3);
-  private static final org.apache.thrift.protocol.TField 
PARAGRAPH_TITLE_FIELD_DESC = new 
org.apache.thrift.protocol.TField("paragraphTitle", 
org.apache.thrift.protocol.TType.STRING, (short)4);
-  private static final org.apache.thrift.protocol.TField 
PARAGRAPH_TEXT_FIELD_DESC = new 
org.apache.thrift.protocol.TField("paragraphText", 
org.apache.thrift.protocol.TType.STRING, (short)5);
-  private static final org.apache.thrift.protocol.TField 
AUTHENTICATION_INFO_FIELD_DESC = new 
org.apache.thrift.protocol.TField("authenticationInfo", 
org.apache.thrift.protocol.TType.STRING, (short)6);
-  private static final org.apache.thrift.protocol.TField CONFIG_FIELD_DESC = 
new org.apache.thrift.protocol.TField("config", 
org.apache.thrift.protocol.TType.STRING, (short)7);
-  private static final org.apache.thrift.protocol.TField GUI_FIELD_DESC = new 
org.apache.thrift.protocol.TField("gui", 
org.apache.thrift.protocol.TType.STRING, (short)8);
-  private static final org.apache.thrift.protocol.TField NOTE_GUI_FIELD_DESC = 
new org.apache.thrift.protocol.TField("noteGui", 
org.apache.thrift.protocol.TType.STRING, (short)9);
-  private static final org.apache.thrift.protocol.TField 
LOCAL_PROPERTIES_FIELD_DESC = new 
org.apache.thrift.protocol.TField("localProperties", 
org.apache.thrift.protocol.TType.MAP, (short)10);
+  private static final org.apache.thrift.protocol.TField NOTE_NAME_FIELD_DESC 
= new org.apache.thrift.protocol.TField("noteName", 
org.apache.thrift.protocol.TType.STRING, (short)2);
+  private static final org.apache.thrift.protocol.TField 
PARAGRAPH_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("paragraphId", 
org.apache.thrift.protocol.TType.STRING, (short)3);
+  private static final org.apache.thrift.protocol.TField REPL_NAME_FIELD_DESC 
= new org.apache.thrift.protocol.TField("replName", 
org.apache.thrift.protocol.TType.STRING, (short)4);
+  private static final org.apache.thrift.protocol.TField 
PARAGRAPH_TITLE_FIELD_DESC = new 
org.apache.thrift.protocol.TField("paragraphTitle", 
org.apache.thrift.protocol.TType.STRING, (short)5);
+  private static final org.apache.thrift.protocol.TField 
PARAGRAPH_TEXT_FIELD_DESC = new 
org.apache.thrift.protocol.TField("paragraphText", 
org.apache.thrift.protocol.TType.STRING, (short)6);
+  private static final org.apache.thrift.protocol.TField 
AUTHENTICATION_INFO_FIELD_DESC = new 
org.apache.thrift.protocol.TField("authenticationInfo", 
org.apache.thrift.protocol.TType.STRING, (short)7);
+  private static final org.apache.thrift.protocol.TField CONFIG_FIELD_DESC = 
new org.apache.thrift.protocol.TField("config", 
org.apache.thrift.protocol.TType.STRING, (short)8);
+  private static final org.apache.thrift.protocol.TField GUI_FIELD_DESC = new 
org.apache.thrift.protocol.TField("gui", 
org.apache.thrift.protocol.TType.STRING, (short)9);
+  private static final org.apache.thrift.protocol.TField NOTE_GUI_FIELD_DESC = 
new org.apache.thrift.protocol.TField("noteGui", 
org.apache.thrift.protocol.TType.STRING, (short)10);
+  private static final org.apache.thrift.protocol.TField 
LOCAL_PROPERTIES_FIELD_DESC = new 
org.apache.thrift.protocol.TField("localProperties", 
org.apache.thrift.protocol.TType.MAP, (short)11);
 
   private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = 
new HashMap<Class<? extends IScheme>, SchemeFactory>();
   static {
@@ -73,6 +74,7 @@ public class RemoteInterpreterContext implements 
org.apache.thrift.TBase<RemoteI
   }
 
   public String noteId; // required
+  public String noteName; // required
   public String paragraphId; // required
   public String replName; // required
   public String paragraphTitle; // required
@@ -86,15 +88,16 @@ public class RemoteInterpreterContext implements 
org.apache.thrift.TBase<RemoteI
   /** The set of fields this struct contains, along with convenience methods 
for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
     NOTE_ID((short)1, "noteId"),
-    PARAGRAPH_ID((short)2, "paragraphId"),
-    REPL_NAME((short)3, "replName"),
-    PARAGRAPH_TITLE((short)4, "paragraphTitle"),
-    PARAGRAPH_TEXT((short)5, "paragraphText"),
-    AUTHENTICATION_INFO((short)6, "authenticationInfo"),
-    CONFIG((short)7, "config"),
-    GUI((short)8, "gui"),
-    NOTE_GUI((short)9, "noteGui"),
-    LOCAL_PROPERTIES((short)10, "localProperties");
+    NOTE_NAME((short)2, "noteName"),
+    PARAGRAPH_ID((short)3, "paragraphId"),
+    REPL_NAME((short)4, "replName"),
+    PARAGRAPH_TITLE((short)5, "paragraphTitle"),
+    PARAGRAPH_TEXT((short)6, "paragraphText"),
+    AUTHENTICATION_INFO((short)7, "authenticationInfo"),
+    CONFIG((short)8, "config"),
+    GUI((short)9, "gui"),
+    NOTE_GUI((short)10, "noteGui"),
+    LOCAL_PROPERTIES((short)11, "localProperties");
 
     private static final Map<String, _Fields> byName = new HashMap<String, 
_Fields>();
 
@@ -111,23 +114,25 @@ public class RemoteInterpreterContext implements 
org.apache.thrift.TBase<RemoteI
       switch(fieldId) {
         case 1: // NOTE_ID
           return NOTE_ID;
-        case 2: // PARAGRAPH_ID
+        case 2: // NOTE_NAME
+          return NOTE_NAME;
+        case 3: // PARAGRAPH_ID
           return PARAGRAPH_ID;
-        case 3: // REPL_NAME
+        case 4: // REPL_NAME
           return REPL_NAME;
-        case 4: // PARAGRAPH_TITLE
+        case 5: // PARAGRAPH_TITLE
           return PARAGRAPH_TITLE;
-        case 5: // PARAGRAPH_TEXT
+        case 6: // PARAGRAPH_TEXT
           return PARAGRAPH_TEXT;
-        case 6: // AUTHENTICATION_INFO
+        case 7: // AUTHENTICATION_INFO
           return AUTHENTICATION_INFO;
-        case 7: // CONFIG
+        case 8: // CONFIG
           return CONFIG;
-        case 8: // GUI
+        case 9: // GUI
           return GUI;
-        case 9: // NOTE_GUI
+        case 10: // NOTE_GUI
           return NOTE_GUI;
-        case 10: // LOCAL_PROPERTIES
+        case 11: // LOCAL_PROPERTIES
           return LOCAL_PROPERTIES;
         default:
           return null;
@@ -174,6 +179,8 @@ public class RemoteInterpreterContext implements 
org.apache.thrift.TBase<RemoteI
     Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new 
EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
     tmpMap.put(_Fields.NOTE_ID, new 
org.apache.thrift.meta_data.FieldMetaData("noteId", 
org.apache.thrift.TFieldRequirementType.DEFAULT, 
         new 
org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.NOTE_NAME, new 
org.apache.thrift.meta_data.FieldMetaData("noteName", 
org.apache.thrift.TFieldRequirementType.DEFAULT, 
+        new 
org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
     tmpMap.put(_Fields.PARAGRAPH_ID, new 
org.apache.thrift.meta_data.FieldMetaData("paragraphId", 
org.apache.thrift.TFieldRequirementType.DEFAULT, 
         new 
org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
     tmpMap.put(_Fields.REPL_NAME, new 
org.apache.thrift.meta_data.FieldMetaData("replName", 
org.apache.thrift.TFieldRequirementType.DEFAULT, 
@@ -203,6 +210,7 @@ public class RemoteInterpreterContext implements 
org.apache.thrift.TBase<RemoteI
 
   public RemoteInterpreterContext(
     String noteId,
+    String noteName,
     String paragraphId,
     String replName,
     String paragraphTitle,
@@ -215,6 +223,7 @@ public class RemoteInterpreterContext implements 
org.apache.thrift.TBase<RemoteI
   {
     this();
     this.noteId = noteId;
+    this.noteName = noteName;
     this.paragraphId = paragraphId;
     this.replName = replName;
     this.paragraphTitle = paragraphTitle;
@@ -233,6 +242,9 @@ public class RemoteInterpreterContext implements 
org.apache.thrift.TBase<RemoteI
     if (other.isSetNoteId()) {
       this.noteId = other.noteId;
     }
+    if (other.isSetNoteName()) {
+      this.noteName = other.noteName;
+    }
     if (other.isSetParagraphId()) {
       this.paragraphId = other.paragraphId;
     }
@@ -270,6 +282,7 @@ public class RemoteInterpreterContext implements 
org.apache.thrift.TBase<RemoteI
   @Override
   public void clear() {
     this.noteId = null;
+    this.noteName = null;
     this.paragraphId = null;
     this.replName = null;
     this.paragraphTitle = null;
@@ -305,6 +318,30 @@ public class RemoteInterpreterContext implements 
org.apache.thrift.TBase<RemoteI
     }
   }
 
+  public String getNoteName() {
+    return this.noteName;
+  }
+
+  public RemoteInterpreterContext setNoteName(String noteName) {
+    this.noteName = noteName;
+    return this;
+  }
+
+  public void unsetNoteName() {
+    this.noteName = null;
+  }
+
+  /** Returns true if field noteName is set (has been assigned a value) and 
false otherwise */
+  public boolean isSetNoteName() {
+    return this.noteName != null;
+  }
+
+  public void setNoteNameIsSet(boolean value) {
+    if (!value) {
+      this.noteName = null;
+    }
+  }
+
   public String getParagraphId() {
     return this.paragraphId;
   }
@@ -542,6 +579,14 @@ public class RemoteInterpreterContext implements 
org.apache.thrift.TBase<RemoteI
       }
       break;
 
+    case NOTE_NAME:
+      if (value == null) {
+        unsetNoteName();
+      } else {
+        setNoteName((String)value);
+      }
+      break;
+
     case PARAGRAPH_ID:
       if (value == null) {
         unsetParagraphId();
@@ -622,6 +667,9 @@ public class RemoteInterpreterContext implements 
org.apache.thrift.TBase<RemoteI
     case NOTE_ID:
       return getNoteId();
 
+    case NOTE_NAME:
+      return getNoteName();
+
     case PARAGRAPH_ID:
       return getParagraphId();
 
@@ -662,6 +710,8 @@ public class RemoteInterpreterContext implements 
org.apache.thrift.TBase<RemoteI
     switch (field) {
     case NOTE_ID:
       return isSetNoteId();
+    case NOTE_NAME:
+      return isSetNoteName();
     case PARAGRAPH_ID:
       return isSetParagraphId();
     case REPL_NAME:
@@ -706,6 +756,15 @@ public class RemoteInterpreterContext implements 
org.apache.thrift.TBase<RemoteI
         return false;
     }
 
+    boolean this_present_noteName = true && this.isSetNoteName();
+    boolean that_present_noteName = true && that.isSetNoteName();
+    if (this_present_noteName || that_present_noteName) {
+      if (!(this_present_noteName && that_present_noteName))
+        return false;
+      if (!this.noteName.equals(that.noteName))
+        return false;
+    }
+
     boolean this_present_paragraphId = true && this.isSetParagraphId();
     boolean that_present_paragraphId = true && that.isSetParagraphId();
     if (this_present_paragraphId || that_present_paragraphId) {
@@ -799,6 +858,11 @@ public class RemoteInterpreterContext implements 
org.apache.thrift.TBase<RemoteI
     if (present_noteId)
       list.add(noteId);
 
+    boolean present_noteName = true && (isSetNoteName());
+    list.add(present_noteName);
+    if (present_noteName)
+      list.add(noteName);
+
     boolean present_paragraphId = true && (isSetParagraphId());
     list.add(present_paragraphId);
     if (present_paragraphId)
@@ -865,6 +929,16 @@ public class RemoteInterpreterContext implements 
org.apache.thrift.TBase<RemoteI
         return lastComparison;
       }
     }
+    lastComparison = 
Boolean.valueOf(isSetNoteName()).compareTo(other.isSetNoteName());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetNoteName()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.noteName, 
other.noteName);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
     lastComparison = 
Boolean.valueOf(isSetParagraphId()).compareTo(other.isSetParagraphId());
     if (lastComparison != 0) {
       return lastComparison;
@@ -983,6 +1057,14 @@ public class RemoteInterpreterContext implements 
org.apache.thrift.TBase<RemoteI
     }
     first = false;
     if (!first) sb.append(", ");
+    sb.append("noteName:");
+    if (this.noteName == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.noteName);
+    }
+    first = false;
+    if (!first) sb.append(", ");
     sb.append("paragraphId:");
     if (this.paragraphId == null) {
       sb.append("null");
@@ -1105,7 +1187,15 @@ public class RemoteInterpreterContext implements 
org.apache.thrift.TBase<RemoteI
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, 
schemeField.type);
             }
             break;
-          case 2: // PARAGRAPH_ID
+          case 2: // NOTE_NAME
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.noteName = iprot.readString();
+              struct.setNoteNameIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, 
schemeField.type);
+            }
+            break;
+          case 3: // PARAGRAPH_ID
             if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
               struct.paragraphId = iprot.readString();
               struct.setParagraphIdIsSet(true);
@@ -1113,7 +1203,7 @@ public class RemoteInterpreterContext implements 
org.apache.thrift.TBase<RemoteI
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, 
schemeField.type);
             }
             break;
-          case 3: // REPL_NAME
+          case 4: // REPL_NAME
             if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
               struct.replName = iprot.readString();
               struct.setReplNameIsSet(true);
@@ -1121,7 +1211,7 @@ public class RemoteInterpreterContext implements 
org.apache.thrift.TBase<RemoteI
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, 
schemeField.type);
             }
             break;
-          case 4: // PARAGRAPH_TITLE
+          case 5: // PARAGRAPH_TITLE
             if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
               struct.paragraphTitle = iprot.readString();
               struct.setParagraphTitleIsSet(true);
@@ -1129,7 +1219,7 @@ public class RemoteInterpreterContext implements 
org.apache.thrift.TBase<RemoteI
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, 
schemeField.type);
             }
             break;
-          case 5: // PARAGRAPH_TEXT
+          case 6: // PARAGRAPH_TEXT
             if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
               struct.paragraphText = iprot.readString();
               struct.setParagraphTextIsSet(true);
@@ -1137,7 +1227,7 @@ public class RemoteInterpreterContext implements 
org.apache.thrift.TBase<RemoteI
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, 
schemeField.type);
             }
             break;
-          case 6: // AUTHENTICATION_INFO
+          case 7: // AUTHENTICATION_INFO
             if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
               struct.authenticationInfo = iprot.readString();
               struct.setAuthenticationInfoIsSet(true);
@@ -1145,7 +1235,7 @@ public class RemoteInterpreterContext implements 
org.apache.thrift.TBase<RemoteI
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, 
schemeField.type);
             }
             break;
-          case 7: // CONFIG
+          case 8: // CONFIG
             if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
               struct.config = iprot.readString();
               struct.setConfigIsSet(true);
@@ -1153,7 +1243,7 @@ public class RemoteInterpreterContext implements 
org.apache.thrift.TBase<RemoteI
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, 
schemeField.type);
             }
             break;
-          case 8: // GUI
+          case 9: // GUI
             if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
               struct.gui = iprot.readString();
               struct.setGuiIsSet(true);
@@ -1161,7 +1251,7 @@ public class RemoteInterpreterContext implements 
org.apache.thrift.TBase<RemoteI
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, 
schemeField.type);
             }
             break;
-          case 9: // NOTE_GUI
+          case 10: // NOTE_GUI
             if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
               struct.noteGui = iprot.readString();
               struct.setNoteGuiIsSet(true);
@@ -1169,7 +1259,7 @@ public class RemoteInterpreterContext implements 
org.apache.thrift.TBase<RemoteI
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, 
schemeField.type);
             }
             break;
-          case 10: // LOCAL_PROPERTIES
+          case 11: // LOCAL_PROPERTIES
             if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
               {
                 org.apache.thrift.protocol.TMap _map0 = iprot.readMapBegin();
@@ -1209,6 +1299,11 @@ public class RemoteInterpreterContext implements 
org.apache.thrift.TBase<RemoteI
         oprot.writeString(struct.noteId);
         oprot.writeFieldEnd();
       }
+      if (struct.noteName != null) {
+        oprot.writeFieldBegin(NOTE_NAME_FIELD_DESC);
+        oprot.writeString(struct.noteName);
+        oprot.writeFieldEnd();
+      }
       if (struct.paragraphId != null) {
         oprot.writeFieldBegin(PARAGRAPH_ID_FIELD_DESC);
         oprot.writeString(struct.paragraphId);
@@ -1283,37 +1378,43 @@ public class RemoteInterpreterContext implements 
org.apache.thrift.TBase<RemoteI
       if (struct.isSetNoteId()) {
         optionals.set(0);
       }
-      if (struct.isSetParagraphId()) {
+      if (struct.isSetNoteName()) {
         optionals.set(1);
       }
-      if (struct.isSetReplName()) {
+      if (struct.isSetParagraphId()) {
         optionals.set(2);
       }
-      if (struct.isSetParagraphTitle()) {
+      if (struct.isSetReplName()) {
         optionals.set(3);
       }
-      if (struct.isSetParagraphText()) {
+      if (struct.isSetParagraphTitle()) {
         optionals.set(4);
       }
-      if (struct.isSetAuthenticationInfo()) {
+      if (struct.isSetParagraphText()) {
         optionals.set(5);
       }
-      if (struct.isSetConfig()) {
+      if (struct.isSetAuthenticationInfo()) {
         optionals.set(6);
       }
-      if (struct.isSetGui()) {
+      if (struct.isSetConfig()) {
         optionals.set(7);
       }
-      if (struct.isSetNoteGui()) {
+      if (struct.isSetGui()) {
         optionals.set(8);
       }
-      if (struct.isSetLocalProperties()) {
+      if (struct.isSetNoteGui()) {
         optionals.set(9);
       }
-      oprot.writeBitSet(optionals, 10);
+      if (struct.isSetLocalProperties()) {
+        optionals.set(10);
+      }
+      oprot.writeBitSet(optionals, 11);
       if (struct.isSetNoteId()) {
         oprot.writeString(struct.noteId);
       }
+      if (struct.isSetNoteName()) {
+        oprot.writeString(struct.noteName);
+      }
       if (struct.isSetParagraphId()) {
         oprot.writeString(struct.paragraphId);
       }
@@ -1353,44 +1454,48 @@ public class RemoteInterpreterContext implements 
org.apache.thrift.TBase<RemoteI
     @Override
     public void read(org.apache.thrift.protocol.TProtocol prot, 
RemoteInterpreterContext struct) throws org.apache.thrift.TException {
       TTupleProtocol iprot = (TTupleProtocol) prot;
-      BitSet incoming = iprot.readBitSet(10);
+      BitSet incoming = iprot.readBitSet(11);
       if (incoming.get(0)) {
         struct.noteId = iprot.readString();
         struct.setNoteIdIsSet(true);
       }
       if (incoming.get(1)) {
+        struct.noteName = iprot.readString();
+        struct.setNoteNameIsSet(true);
+      }
+      if (incoming.get(2)) {
         struct.paragraphId = iprot.readString();
         struct.setParagraphIdIsSet(true);
       }
-      if (incoming.get(2)) {
+      if (incoming.get(3)) {
         struct.replName = iprot.readString();
         struct.setReplNameIsSet(true);
       }
-      if (incoming.get(3)) {
+      if (incoming.get(4)) {
         struct.paragraphTitle = iprot.readString();
         struct.setParagraphTitleIsSet(true);
       }
-      if (incoming.get(4)) {
+      if (incoming.get(5)) {
         struct.paragraphText = iprot.readString();
         struct.setParagraphTextIsSet(true);
       }
-      if (incoming.get(5)) {
+      if (incoming.get(6)) {
         struct.authenticationInfo = iprot.readString();
         struct.setAuthenticationInfoIsSet(true);
       }
-      if (incoming.get(6)) {
+      if (incoming.get(7)) {
         struct.config = iprot.readString();
         struct.setConfigIsSet(true);
       }
-      if (incoming.get(7)) {
+      if (incoming.get(8)) {
         struct.gui = iprot.readString();
         struct.setGuiIsSet(true);
       }
-      if (incoming.get(8)) {
+      if (incoming.get(9)) {
         struct.noteGui = iprot.readString();
         struct.setNoteGuiIsSet(true);
       }
-      if (incoming.get(9)) {
+      if (incoming.get(10)) {
         {
           org.apache.thrift.protocol.TMap _map6 = new 
org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, 
org.apache.thrift.protocol.TType.STRING, iprot.readI32());
           struct.localProperties = new HashMap<String,String>(2*_map6.size);

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/a6d6b422/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RemoteInterpreterEvent.java
----------------------------------------------------------------------
diff --git 
a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RemoteInterpreterEvent.java
 
b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RemoteInterpreterEvent.java
index fb14878..c21d2fa 100644
--- 
a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RemoteInterpreterEvent.java
+++ 
b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RemoteInterpreterEvent.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = 
"2018-6-21")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = 
"2018-7-6")
 public class RemoteInterpreterEvent implements 
org.apache.thrift.TBase<RemoteInterpreterEvent, 
RemoteInterpreterEvent._Fields>, java.io.Serializable, Cloneable, 
Comparable<RemoteInterpreterEvent> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new 
org.apache.thrift.protocol.TStruct("RemoteInterpreterEvent");
 

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/a6d6b422/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RemoteInterpreterEventService.java
----------------------------------------------------------------------
diff --git 
a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RemoteInterpreterEventService.java
 
b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RemoteInterpreterEventService.java
index df8760f..203e253 100644
--- 
a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RemoteInterpreterEventService.java
+++ 
b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RemoteInterpreterEventService.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = 
"2018-6-21")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = 
"2018-7-6")
 public class RemoteInterpreterEventService {
 
   public interface Iface {

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/a6d6b422/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RemoteInterpreterResult.java
----------------------------------------------------------------------
diff --git 
a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RemoteInterpreterResult.java
 
b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RemoteInterpreterResult.java
index 808bc29..f8ce7b3 100644
--- 
a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RemoteInterpreterResult.java
+++ 
b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RemoteInterpreterResult.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = 
"2018-6-21")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = 
"2018-7-6")
 public class RemoteInterpreterResult implements 
org.apache.thrift.TBase<RemoteInterpreterResult, 
RemoteInterpreterResult._Fields>, java.io.Serializable, Cloneable, 
Comparable<RemoteInterpreterResult> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new 
org.apache.thrift.protocol.TStruct("RemoteInterpreterResult");
 

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/a6d6b422/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RemoteInterpreterResultMessage.java
----------------------------------------------------------------------
diff --git 
a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RemoteInterpreterResultMessage.java
 
b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RemoteInterpreterResultMessage.java
index 9f97b16..d9a64c6 100644
--- 
a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RemoteInterpreterResultMessage.java
+++ 
b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RemoteInterpreterResultMessage.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = 
"2018-6-21")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = 
"2018-7-6")
 public class RemoteInterpreterResultMessage implements 
org.apache.thrift.TBase<RemoteInterpreterResultMessage, 
RemoteInterpreterResultMessage._Fields>, java.io.Serializable, Cloneable, 
Comparable<RemoteInterpreterResultMessage> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new 
org.apache.thrift.protocol.TStruct("RemoteInterpreterResultMessage");
 

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/a6d6b422/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RemoteInterpreterService.java
----------------------------------------------------------------------
diff --git 
a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RemoteInterpreterService.java
 
b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RemoteInterpreterService.java
index ea0475b..d52baee 100644
--- 
a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RemoteInterpreterService.java
+++ 
b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RemoteInterpreterService.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = 
"2018-6-21")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = 
"2018-7-6")
 public class RemoteInterpreterService {
 
   public interface Iface {

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/a6d6b422/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RunParagraphsEvent.java
----------------------------------------------------------------------
diff --git 
a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RunParagraphsEvent.java
 
b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RunParagraphsEvent.java
index de10733..be4ec90 100644
--- 
a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RunParagraphsEvent.java
+++ 
b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RunParagraphsEvent.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = 
"2018-6-21")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = 
"2018-7-6")
 public class RunParagraphsEvent implements 
org.apache.thrift.TBase<RunParagraphsEvent, RunParagraphsEvent._Fields>, 
java.io.Serializable, Cloneable, Comparable<RunParagraphsEvent> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new 
org.apache.thrift.protocol.TStruct("RunParagraphsEvent");
 

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/a6d6b422/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/ZeppelinServerResourceParagraphRunner.java
----------------------------------------------------------------------
diff --git 
a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/ZeppelinServerResourceParagraphRunner.java
 
b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/ZeppelinServerResourceParagraphRunner.java
index 5637f64..6b9ecd7 100644
--- 
a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/ZeppelinServerResourceParagraphRunner.java
+++ 
b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/ZeppelinServerResourceParagraphRunner.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = 
"2018-6-21")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = 
"2018-7-6")
 public class ZeppelinServerResourceParagraphRunner implements 
org.apache.thrift.TBase<ZeppelinServerResourceParagraphRunner, 
ZeppelinServerResourceParagraphRunner._Fields>, java.io.Serializable, 
Cloneable, Comparable<ZeppelinServerResourceParagraphRunner> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new 
org.apache.thrift.protocol.TStruct("ZeppelinServerResourceParagraphRunner");
 

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/a6d6b422/zeppelin-interpreter/src/main/thrift/RemoteInterpreterService.thrift
----------------------------------------------------------------------
diff --git 
a/zeppelin-interpreter/src/main/thrift/RemoteInterpreterService.thrift 
b/zeppelin-interpreter/src/main/thrift/RemoteInterpreterService.thrift
index 9a1cf67..0a522e1 100644
--- a/zeppelin-interpreter/src/main/thrift/RemoteInterpreterService.thrift
+++ b/zeppelin-interpreter/src/main/thrift/RemoteInterpreterService.thrift
@@ -20,15 +20,16 @@ namespace java org.apache.zeppelin.interpreter.thrift
 
 struct RemoteInterpreterContext {
   1: string noteId,
-  2: string paragraphId,
-  3: string replName,
-  4: string paragraphTitle,
-  5: string paragraphText,
-  6: string authenticationInfo,
-  7: string config,   // json serialized config
-  8: string gui,      // json serialized gui
-  9: string noteGui,      // json serialized note gui
-  10: map<string, string> localProperties
+  2: string noteName,
+  3: string paragraphId,
+  4: string replName,
+  5: string paragraphTitle,
+  6: string paragraphText,
+  7: string authenticationInfo,
+  8: string config,   // json serialized config
+  9: string gui,      // json serialized gui
+  10: string noteGui,      // json serialized note gui
+  11: map<string, string> localProperties
 }
 
 struct RemoteInterpreterResultMessage {

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/a6d6b422/zeppelin-interpreter/src/test/java/org/apache/zeppelin/interpreter/BaseZeppelinContextTest.java
----------------------------------------------------------------------
diff --git 
a/zeppelin-interpreter/src/test/java/org/apache/zeppelin/interpreter/BaseZeppelinContextTest.java
 
b/zeppelin-interpreter/src/test/java/org/apache/zeppelin/interpreter/BaseZeppelinContextTest.java
index db9cfd8..985ba4f 100644
--- 
a/zeppelin-interpreter/src/test/java/org/apache/zeppelin/interpreter/BaseZeppelinContextTest.java
+++ 
b/zeppelin-interpreter/src/test/java/org/apache/zeppelin/interpreter/BaseZeppelinContextTest.java
@@ -34,12 +34,21 @@ public class BaseZeppelinContextTest {
     TestZeppelinContext z = new TestZeppelinContext(hookRegistry, 10);
     InterpreterContext context = InterpreterContext.builder()
         .setNoteId("note_1")
+        .setNoteName("note_name_1")
         .setParagraphId("paragraph_1")
         .setInterpreterClassName("Test1Interpreter")
         .setReplName("test1")
         .build();
     z.setInterpreterContext(context);
 
+    // get note name via InterpreterContext
+    String note_name = z.getInterpreterContext().getNoteName();
+    assertEquals(
+            String.format("Actual note name: %s, but expected %s", note_name, 
"note_name_1"),
+            "note_name_1",
+            note_name
+    );
+
     // register global hook for current interpreter
     z.registerHook(InterpreterHookRegistry.HookType.PRE_EXEC.getName(), 
"pre_cmd");
     z.registerHook(InterpreterHookRegistry.HookType.POST_EXEC.getName(), 
"post_cmd");

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/a6d6b422/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/remote/RemoteInterpreter.java
----------------------------------------------------------------------
diff --git 
a/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/remote/RemoteInterpreter.java
 
b/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/remote/RemoteInterpreter.java
index 3173122..b64b15b 100644
--- 
a/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/remote/RemoteInterpreter.java
+++ 
b/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/remote/RemoteInterpreter.java
@@ -395,9 +395,10 @@ public class RemoteInterpreter extends Interpreter {
   }
 
   private RemoteInterpreterContext convert(InterpreterContext ic) {
-    return new RemoteInterpreterContext(ic.getNoteId(), ic.getParagraphId(), 
ic.getReplName(),
-        ic.getParagraphTitle(), ic.getParagraphText(), 
gson.toJson(ic.getAuthenticationInfo()),
-        gson.toJson(ic.getConfig()), ic.getGui().toJson(), 
gson.toJson(ic.getNoteGui()),
+    return new RemoteInterpreterContext(ic.getNoteId(), ic.getNoteName(), 
ic.getParagraphId(),
+        ic.getReplName(), ic.getParagraphTitle(), ic.getParagraphText(),
+        gson.toJson(ic.getAuthenticationInfo()), gson.toJson(ic.getConfig()), 
ic.getGui().toJson(),
+        gson.toJson(ic.getNoteGui()),
         ic.getLocalProperties());
   }
 

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/a6d6b422/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/Paragraph.java
----------------------------------------------------------------------
diff --git 
a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/Paragraph.java 
b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/Paragraph.java
index bc92249..fb51d5e 100644
--- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/Paragraph.java
+++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/Paragraph.java
@@ -596,6 +596,7 @@ public class Paragraph extends Job implements Cloneable, 
JsonSerializable {
     InterpreterContext interpreterContext =
         InterpreterContext.builder()
             .setNoteId(note.getId())
+            .setNoteName(note.getName())
             .setParagraphId(getId())
             .setReplName(intpText)
             .setParagraphTitle(title)
@@ -639,6 +640,7 @@ public class Paragraph extends Job implements Cloneable, 
JsonSerializable {
     InterpreterContext interpreterContext =
         InterpreterContext.builder()
             .setNoteId(note.getId())
+            .setNoteName(note.getName())
             .setParagraphId(getId())
             .setReplName(intpText)
             .setParagraphTitle(title)
@@ -670,7 +672,7 @@ public class Paragraph extends Job implements Cloneable, 
JsonSerializable {
 
     private transient Note note;
 
-    public ParagraphRunner(Note note, String noteId, String paragraphId) {
+    ParagraphRunner(Note note, String noteId, String paragraphId) {
       super(noteId, paragraphId);
       this.note = note;
     }

Reply via email to