You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@seatunnel.apache.org by ki...@apache.org on 2022/02/24 11:58:03 UTC
[incubator-seatunnel] branch dev updated: [Improve][Common] Add List type check for CheckConfigUtil (#1214)
This is an automated email from the ASF dual-hosted git repository.
kirs pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/incubator-seatunnel.git
The following commit(s) were added to refs/heads/dev by this push:
new b4f473a [Improve][Common] Add List type check for CheckConfigUtil (#1214)
b4f473a is described below
commit b4f473ae8eea6ae932158afff92602497df5587c
Author: Simon <zh...@cvte.com>
AuthorDate: Thu Feb 24 19:57:58 2022 +0800
[Improve][Common] Add List type check for CheckConfigUtil (#1214)
---
.../apache/seatunnel/common/config/CheckConfigUtil.java | 14 ++++++++++++--
.../seatunnel/common/config/CheckConfigUtilTest.java | 5 ++++-
2 files changed, 16 insertions(+), 3 deletions(-)
diff --git a/seatunnel-common/src/main/java/org/apache/seatunnel/common/config/CheckConfigUtil.java b/seatunnel-common/src/main/java/org/apache/seatunnel/common/config/CheckConfigUtil.java
index 1202cc4..815d8d0 100644
--- a/seatunnel-common/src/main/java/org/apache/seatunnel/common/config/CheckConfigUtil.java
+++ b/seatunnel-common/src/main/java/org/apache/seatunnel/common/config/CheckConfigUtil.java
@@ -39,7 +39,7 @@ public final class CheckConfigUtil {
public static CheckResult checkAllExists(Config config, String... params) {
List<String> missingParams = Arrays.stream(params)
- .filter(param -> !config.hasPath(param) || config.getAnyRef(param) == null)
+ .filter(param -> !isValidParam(config, param))
.collect(Collectors.toList());
if (missingParams.size() > 0) {
@@ -61,7 +61,7 @@ public final class CheckConfigUtil {
List<String> missingParams = new LinkedList<>();
for (String param : params) {
- if (!config.hasPath(param) || config.getAnyRef(param) == null) {
+ if (!isValidParam(config, param)) {
missingParams.add(param);
}
}
@@ -75,6 +75,16 @@ public final class CheckConfigUtil {
}
}
+ public static boolean isValidParam(Config config, String param) {
+ boolean isValidParam = true;
+ if (!config.hasPath(param)) {
+ isValidParam = false;
+ } else if (config.getAnyRef(param) instanceof List) {
+ isValidParam = !((List<?>) config.getAnyRef(param)).isEmpty();
+ }
+ return isValidParam;
+ }
+
/**
* merge all check result
*/
diff --git a/seatunnel-common/src/test/java/org/apache/seatunnel/common/config/CheckConfigUtilTest.java b/seatunnel-common/src/test/java/org/apache/seatunnel/common/config/CheckConfigUtilTest.java
index b1f0f9b..a1fd47e 100644
--- a/seatunnel-common/src/test/java/org/apache/seatunnel/common/config/CheckConfigUtilTest.java
+++ b/seatunnel-common/src/test/java/org/apache/seatunnel/common/config/CheckConfigUtilTest.java
@@ -27,6 +27,7 @@ import org.apache.seatunnel.shade.com.typesafe.config.ConfigFactory;
import org.junit.Assert;
import org.junit.Test;
+import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
@@ -78,9 +79,11 @@ public class CheckConfigUtilTest {
}
public Config getConfig() {
- Map<String, String> configMap = new HashMap<>();
+ Map<String, Object> configMap = new HashMap<>();
configMap.put("k0", "v0");
configMap.put("k1", "v1");
+ configMap.put("k2", new ArrayList<>());
+ configMap.put("k3", null);
return ConfigFactory.parseMap(configMap);
}
}