From 004dff11e9e6477bf64965bea1de7e0112379a57 Mon Sep 17 00:00:00 2001 From: Carpe-Wang Date: Sun, 2 Apr 2023 19:00:15 +0800 Subject: [PATCH 1/4] [chore] checkbox and key-value verification --- .../service/impl/MonitorServiceImpl.java | 30 ++++++++++++++----- 1 file changed, 23 insertions(+), 7 deletions(-) diff --git a/manager/src/main/java/com/usthe/manager/service/impl/MonitorServiceImpl.java b/manager/src/main/java/com/usthe/manager/service/impl/MonitorServiceImpl.java index 4c74dc6e466..259d34c80e4 100644 --- a/manager/src/main/java/com/usthe/manager/service/impl/MonitorServiceImpl.java +++ b/manager/src/main/java/com/usthe/manager/service/impl/MonitorServiceImpl.java @@ -17,6 +17,7 @@ package com.usthe.manager.service.impl; +import com.google.gson.Gson; import com.usthe.alert.calculate.CalculateAlarm; import com.usthe.alert.dao.AlertDefineBindDao; import com.usthe.collector.dispatch.entrance.internal.CollectJobService; @@ -25,11 +26,7 @@ import com.usthe.common.entity.job.Metrics; import com.usthe.common.entity.manager.Tag; import com.usthe.common.entity.message.CollectRep; -import com.usthe.common.util.AesUtil; -import com.usthe.common.util.CommonConstants; -import com.usthe.common.util.IntervalExpressionUtil; -import com.usthe.common.util.IpDomainUtil; -import com.usthe.common.util.SnowFlakeIdGenerator; +import com.usthe.common.util.*; import com.usthe.manager.dao.MonitorDao; import com.usthe.manager.dao.ParamDao; import com.usthe.manager.pojo.dto.AppCount; @@ -50,6 +47,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; +import org.springframework.util.InvalidMimeTypeException; import java.time.LocalDateTime; import java.util.*; @@ -332,10 +330,28 @@ public void validate(MonitorDto monitorDto, Boolean isModify) throws IllegalArgu } break; case "checkbox": - // todo checkbox校验 + List checkboxOptions = paramDefine.getOptions(); + boolean checkboxInvalid = true; + if (checkboxOptions != null) { + for (ParamDefine.Option option : checkboxOptions) { + if (param.getValue().equalsIgnoreCase(option.getValue())) { + checkboxInvalid = false; + break; + } + } + } + if (checkboxInvalid){ + throw new IllegalArgumentException("Params field " + field + " value " + + param.getValue() + " is invalid checkbox value"); + } break; case "key-value": - // todo key-value校验 + try{ + GsonUtil.toJson(param.getValue()); + } catch (Exception e){ + throw new IllegalArgumentException("Params field " + field + " value " + + param.getValue() + " is invalid key-value value"); + } break; // todo More parameter definitions and actual value format verification // 更多参数定义与实际值格式校验 From 650f6cf3cbcf9b79e5fc8b93c014dcb38510c739 Mon Sep 17 00:00:00 2001 From: Carpe-Wang Date: Sun, 2 Apr 2023 19:26:05 +0800 Subject: [PATCH 2/4] [refactor] Add verification for String app --- .../java/com/usthe/manager/service/impl/AppServiceImpl.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/manager/src/main/java/com/usthe/manager/service/impl/AppServiceImpl.java b/manager/src/main/java/com/usthe/manager/service/impl/AppServiceImpl.java index 910dbad6682..88b656c8f63 100644 --- a/manager/src/main/java/com/usthe/manager/service/impl/AppServiceImpl.java +++ b/manager/src/main/java/com/usthe/manager/service/impl/AppServiceImpl.java @@ -69,7 +69,7 @@ public class AppServiceImpl implements AppService, CommandLineRunner { @Override public List getAppParamDefines(String app) { - if (app == null) { + if (app == null || app.chars().allMatch(Character::isSpaceChar)) { return Collections.emptyList(); } Job appDefine = appDefines.get(app.toLowerCase()); @@ -82,7 +82,7 @@ public List getAppParamDefines(String app) { @Override public Job getAppDefine(String app) throws IllegalArgumentException { - if (app == null) { + if (app == null || app.chars().allMatch(Character::isSpaceChar)) { throw new IllegalArgumentException("The app can not null."); } Job appDefine = appDefines.get(app.toLowerCase()); From 0f2ac0e43b912794a8ff60fd1128af8bfc2125ac Mon Sep 17 00:00:00 2001 From: Carpe-Wang Date: Sun, 2 Apr 2023 19:33:25 +0800 Subject: [PATCH 3/4] [chore] checkbox and key-value verification --- manager/pom.xml | 18 ++++++++++++++++++ .../service/impl/MonitorServiceImpl.java | 6 +----- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/manager/pom.xml b/manager/pom.xml index aece0512f29..6ea6dfc19dd 100644 --- a/manager/pom.xml +++ b/manager/pom.xml @@ -144,6 +144,24 @@ ${caffeine.version} + + org.dromara.hertzbeat + collector + 1.0 + compile + + + com.usthe.tancloud + common + 1.0 + compile + + + com.usthe.tancloud + alerter + 1.0 + compile + diff --git a/manager/src/main/java/org/dromara/hertzbeat/manager/service/impl/MonitorServiceImpl.java b/manager/src/main/java/org/dromara/hertzbeat/manager/service/impl/MonitorServiceImpl.java index 0b3fa40be87..6176f9fe43a 100644 --- a/manager/src/main/java/org/dromara/hertzbeat/manager/service/impl/MonitorServiceImpl.java +++ b/manager/src/main/java/org/dromara/hertzbeat/manager/service/impl/MonitorServiceImpl.java @@ -25,11 +25,7 @@ import org.dromara.hertzbeat.common.entity.job.Metrics; import org.dromara.hertzbeat.common.entity.manager.Tag; import org.dromara.hertzbeat.common.entity.message.CollectRep; -import org.dromara.hertzbeat.common.util.AesUtil; -import org.dromara.hertzbeat.common.util.CommonConstants; -import org.dromara.hertzbeat.common.util.IntervalExpressionUtil; -import org.dromara.hertzbeat.common.util.IpDomainUtil; -import org.dromara.hertzbeat.common.util.SnowFlakeIdGenerator; +import org.dromara.hertzbeat.common.util.*; import org.dromara.hertzbeat.manager.dao.MonitorDao; import org.dromara.hertzbeat.manager.dao.ParamDao; import org.dromara.hertzbeat.manager.pojo.dto.AppCount; From 85f55d63116448441136a45f35c92e730dd0f251 Mon Sep 17 00:00:00 2001 From: Carpe-Wang Date: Sun, 2 Apr 2023 19:46:17 +0800 Subject: [PATCH 4/4] [fix] UT fail --- manager/pom.xml | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/manager/pom.xml b/manager/pom.xml index 6ea6dfc19dd..aece0512f29 100644 --- a/manager/pom.xml +++ b/manager/pom.xml @@ -144,24 +144,6 @@ ${caffeine.version} - - org.dromara.hertzbeat - collector - 1.0 - compile - - - com.usthe.tancloud - common - 1.0 - compile - - - com.usthe.tancloud - alerter - 1.0 - compile -