You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@zeppelin.apache.org by zj...@apache.org on 2021/06/18 03:05:17 UTC
[zeppelin] branch master updated: [ZEPPELIN-5290] NPE on empty
dynamic form input
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 9c1a9e0 [ZEPPELIN-5290] NPE on empty dynamic form input
9c1a9e0 is described below
commit 9c1a9e0f78689ba13a1f46fcd3f6f10fd108bfc9
Author: Jeff Zhang <zj...@apache.org>
AuthorDate: Wed Jun 16 15:36:50 2021 +0800
[ZEPPELIN-5290] NPE on empty dynamic form input
### What is this PR for?
Simple PR to address NPE on empty dynamic form input. Instead of throwing NPE, just make the form value as empty string.
### What type of PR is it?
[Improvement]
### Todos
* [ ] - Task
### What is the Jira issue?
* https://issues.apache.org/jira/browse/ZEPPELIN-5290
### How should this be tested?
* CI pass
### Screenshots (if appropriate)
### Questions:
* Does the licenses files need update? No
* Is there breaking changes for older versions? No
* Does this needs documentation? No
Author: Jeff Zhang <zj...@apache.org>
Closes #4135 from zjffdu/ZEPPELIN-5290 and squashes the following commits:
bb7fd498a6 [Jeff Zhang] address comment
07aee02e69 [Jeff Zhang] [ZEPPELIN-5290] NPE on empty dynamic form input
---
.../src/main/java/org/apache/zeppelin/display/Input.java | 2 +-
.../src/test/java/org/apache/zeppelin/display/InputTest.java | 6 ++++++
2 files changed, 7 insertions(+), 1 deletion(-)
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 fd30ea1..4513ae8 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
@@ -373,7 +373,7 @@ public class Input<T> implements Serializable {
}
} else {
// single-selection
- expanded = value.toString();
+ expanded = StringUtils.defaultString((String) value, "");
}
replaced = match.replaceFirst(expanded);
match = pattern.matcher(replaced);
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 98045d5..18f9840 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
@@ -143,6 +143,12 @@ public class InputTest {
replaced = Input.getSimpleQuery(params, script, false);
assertEquals("INPUT=some_inputSELECTED=s_op2\nCHECKED=c_op1\n" +
"NEW_CHECKED=nc_a and nc_c", replaced);
+
+ // textbox without param value provided
+ script = "INPUT='${input_form}'";
+ params = new HashMap<>();
+ replaced = Input.getSimpleQuery(params, script, false);
+ assertEquals("INPUT=''", replaced);
}
}