diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/Note.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/Note.java index 1f4a50813d3..96b08e8bebc 100644 --- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/Note.java +++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/Note.java @@ -266,7 +266,8 @@ public Paragraph insertParagraph(int index) { */ private void addLastReplNameIfEmptyText(Paragraph p) { String replName = lastReplName.get(); - if (StringUtils.isEmpty(p.getText()) && StringUtils.isNotEmpty(replName)) { + if (StringUtils.isEmpty(p.getText()) && StringUtils.isNotEmpty(replName) + && replLoader.isBinding(replName)) { p.setText(getInterpreterName(replName) + " "); } } diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/NoteInterpreterLoader.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/NoteInterpreterLoader.java index 3c432cbb12e..f6c080f4290 100644 --- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/NoteInterpreterLoader.java +++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/NoteInterpreterLoader.java @@ -23,6 +23,7 @@ import java.util.LinkedList; import java.util.List; +import org.apache.commons.lang.StringUtils; import org.apache.zeppelin.interpreter.Constants; import org.apache.zeppelin.interpreter.Interpreter; import org.apache.zeppelin.interpreter.Interpreter.RegisteredInterpreter; @@ -204,4 +205,17 @@ public Interpreter get(String replName) { Optional getDefaultInterpreterSetting() { return getDefaultInterpreterSetting(getInterpreterSettings()); } + + boolean isBinding(String replName) { + if (StringUtils.isBlank(replName) || StringUtils.isEmpty(noteId)) { + return false; + } + List interpreterSettings = getInterpreterSettings(); + for (InterpreterSetting interpreterSetting : interpreterSettings) { + if (interpreterSetting.getGroup().equals(replName)) { + return true; + } + } + return false; + } } diff --git a/zeppelin-zengine/src/test/java/org/apache/zeppelin/notebook/NoteInterpreterLoaderTest.java b/zeppelin-zengine/src/test/java/org/apache/zeppelin/notebook/NoteInterpreterLoaderTest.java index 147d431873b..4c2f9dee783 100644 --- a/zeppelin-zengine/src/test/java/org/apache/zeppelin/notebook/NoteInterpreterLoaderTest.java +++ b/zeppelin-zengine/src/test/java/org/apache/zeppelin/notebook/NoteInterpreterLoaderTest.java @@ -169,6 +169,23 @@ public void testNotePerInterpreterProcess() throws IOException { assertNull(loaderB.getInterpreterSettings().get(0).getInterpreterGroup("noteB").get("noteB")); } + @Test + public void testIsBinding() throws Exception { +// noteId: null + NoteInterpreterLoader loaderA = new NoteInterpreterLoader(factory); + assertFalse(loaderA.isBinding("hello")); + +// noteId: not null +// interpreter group: group1, group2 + loaderA.setNoteId("noteHello"); + loaderA.setInterpreters(factory.getDefaultInterpreterSettingList()); + assertFalse(loaderA.isBinding("")); + assertFalse(loaderA.isBinding(" ")); + + assertTrue(loaderA.isBinding("group1")); + assertTrue(loaderA.isBinding("group2")); + } + private void delete(File file){ if(file.isFile()) file.delete();