This is an automated email from the ASF dual-hosted git repository.
gongchao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hertzbeat.git
The following commit(s) were added to refs/heads/master by this push:
new fa4a3fd9e [imporve] add template i18n map verify (#2345)
fa4a3fd9e is described below
commit fa4a3fd9e1b95c52b939b0e2dd6274452af4ff8e
Author: kangli <[email protected]>
AuthorDate: Wed Jul 24 23:20:44 2024 +0800
[imporve] add template i18n map verify (#2345)
Co-authored-by: tomsun28 <[email protected]>
---
.../java/org/apache/hertzbeat/common/util/CommonUtil.java | 13 +++++++++++++
.../hertzbeat/manager/service/impl/AppServiceImpl.java | 15 +++++++++++++++
2 files changed, 28 insertions(+)
diff --git
a/common/src/main/java/org/apache/hertzbeat/common/util/CommonUtil.java
b/common/src/main/java/org/apache/hertzbeat/common/util/CommonUtil.java
index 47ce83f7f..a84206f38 100644
--- a/common/src/main/java/org/apache/hertzbeat/common/util/CommonUtil.java
+++ b/common/src/main/java/org/apache/hertzbeat/common/util/CommonUtil.java
@@ -210,4 +210,17 @@ public final class CommonUtil {
.findFirst().orElse(null));
}
+ public static void validDefineI18n(Map<String, String> i18nMap, String
field) {
+ if (i18nMap == null || i18nMap.isEmpty()) {
+ return;
+ }
+ for (Map.Entry<String, String> entry : i18nMap.entrySet()) {
+ String value = entry.getValue();
+ String lang = entry.getKey();
+ if (StringUtils.isBlank(value)) {
+ throw new IllegalArgumentException("monitoring template " +
field + " " + lang + " value can not blank");
+ }
+ }
+ }
+
}
diff --git
a/manager/src/main/java/org/apache/hertzbeat/manager/service/impl/AppServiceImpl.java
b/manager/src/main/java/org/apache/hertzbeat/manager/service/impl/AppServiceImpl.java
index aaa05e611..2dc04c53e 100644
---
a/manager/src/main/java/org/apache/hertzbeat/manager/service/impl/AppServiceImpl.java
+++
b/manager/src/main/java/org/apache/hertzbeat/manager/service/impl/AppServiceImpl.java
@@ -397,6 +397,21 @@ public class AppServiceImpl implements AppService,
CommandLineRunner {
Assert.notEmpty(app.getMetrics(), "monitoring template require
attributes metrics");
var hasAvailableMetrics = app.getMetrics().stream().anyMatch(item ->
item.getPriority() == 0);
Assert.isTrue(hasAvailableMetrics, "monitoring template metrics list
must have one priority 0 metrics");
+ CommonUtil.validDefineI18n(app.getName(), "name");
+ CommonUtil.validDefineI18n(app.getHelp(), "help");
+ CommonUtil.validDefineI18n(app.getHelpLink(), "helpLink");
+ for (ParamDefine param : app.getParams()) {
+ CommonUtil.validDefineI18n(param.getName(), param.getField() + "
param");
+ }
+ for (Metrics metric : app.getMetrics()) {
+ CommonUtil.validDefineI18n(metric.getI18n(), metric.getName() + "
metric");
+ if (metric.getFields() == null){
+ continue;
+ }
+ for (Metrics.Field field : metric.getFields()) {
+ CommonUtil.validDefineI18n(field.getI18n(), metric.getName() +
" metric " + field.getField() + " field");
+ }
+ }
if (!isModify) {
Assert.isNull(appDefines.get(app.getApp().toLowerCase()),
"monitoring template name " + app.getApp() + " already
exists.");
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]