This is an automated email from the ASF dual-hosted git repository.

zjffdu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/zeppelin.git


The following commit(s) were added to refs/heads/master by this push:
     new 085ce0b  [ZEPPELIN-4911]. [dynamic_form] form name or display name not 
rendered in zeppelin ui
085ce0b is described below

commit 085ce0b3ef69e63f903e3a814ea3db0abbf6438e
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
    
![image](https://user-images.githubusercontent.com/164491/86019263-f778d100-ba58-11ea-970c-f078e799dce7.png)
    
    After
    
![image](https://user-images.githubusercontent.com/164491/86019302-0069a280-ba59-11ea-86e3-5681c254ea26.png)
    
    ### 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
---
 .../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);

Reply via email to