This is an automated email from the ASF dual-hosted git repository. zjffdu pushed a commit to branch branch-0.9 in repository https://gitbox.apache.org/repos/asf/zeppelin.git
The following commit(s) were added to refs/heads/branch-0.9 by this push: new a8b89b6 [ZEPPELIN-4911]. [dynamic_form] form name or display name not rendered in zeppelin ui a8b89b6 is described below commit a8b89b6d8ddebdf35f2fcf69af032f800feb960d Author: Jeff Zhang <zjf...@apache.org> AuthorDate: Thu Jun 25 15:27:27 2020 +0800 [ZEPPELIN-4911]. [dynamic_form] form name or display name not rendered in zeppelin ui ### What is this PR for? form name is not rendered in frontend because displayName is not set correctly. This PR fix it in `Input.java` ### What type of PR is it? [Bug Fix ] ### Todos * [ ] - Task ### What is the Jira issue? * https://issues.apache.org/jira/browse/ZEPPELIN-4911 ### How should this be tested? * Unit test is added ### Screenshots (if appropriate) Before  After  ### Questions: * Does the licenses files need update? No * Is there breaking changes for older versions? No * Does this needs documentation? No Author: Jeff Zhang <zjf...@apache.org> Closes #3831 from zjffdu/ZEPPELIN-4911 and squashes the following commits: 9a998a7f1 [Jeff Zhang] [ZEPPELIN-4911]. [dynamic_form] form name or display name not rendered in zeppelin ui (cherry picked from commit 085ce0b3ef69e63f903e3a814ea3db0abbf6438e) Signed-off-by: Jeff Zhang <zjf...@apache.org> --- .../src/main/java/org/apache/zeppelin/display/Input.java | 6 +++++- .../src/test/java/org/apache/zeppelin/display/InputTest.java | 3 ++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/display/Input.java b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/display/Input.java index f17f3fe..fd30ea1 100644 --- a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/display/Input.java +++ b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/display/Input.java @@ -290,7 +290,11 @@ public class Input<T> implements Serializable { throw new RuntimeException("Could not recognize dynamic form with type: " + type); } input.setArgument(arg); - input.setDisplayName(displayName); + if (!StringUtils.isBlank(displayName)) { + // only set displayName when it is not empty (user explicitly specify it) + // e.g. ${name(display_name)=value) + input.setDisplayName(displayName); + } input.setHidden(hidden); return input; } diff --git a/zeppelin-interpreter/src/test/java/org/apache/zeppelin/display/InputTest.java b/zeppelin-interpreter/src/test/java/org/apache/zeppelin/display/InputTest.java index abe2ac3..98045d5 100644 --- a/zeppelin-interpreter/src/test/java/org/apache/zeppelin/display/InputTest.java +++ b/zeppelin-interpreter/src/test/java/org/apache/zeppelin/display/InputTest.java @@ -42,7 +42,7 @@ public class InputTest { assertEquals(1, forms.size()); Input form = forms.get("input_form"); assertEquals("input_form", form.name); - assertNull(form.displayName); + assertEquals("input_form", form.displayName); assertEquals("", form.defaultValue); assertTrue(form instanceof TextBox); @@ -78,6 +78,7 @@ public class InputTest { script = "${checkbox:checkbox_form=op1,op1|op2|op3}"; form = Input.extractSimpleQueryForm(script, false).get("checkbox_form"); assertEquals("checkbox_form", form.name); + assertEquals("checkbox_form", form.displayName); assertTrue(form instanceof CheckBox); assertArrayEquals(new Object[]{"op1"}, (Object[]) form.defaultValue);