From 818c8fb26f77704d40803ff929339d27e163fc7a Mon Sep 17 00:00:00 2001 From: ZhouXY108 Date: Thu, 8 May 2025 23:25:48 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E4=BF=AE=E6=94=B9=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE=E7=BB=93=E6=9E=84=EF=BC=8C=E5=88=9B=E5=BB=BA=20`pluso?= =?UTF-8?q?ne-validator-parent`=EF=BC=8C=E5=B0=86=20`plusone-validator`=20?= =?UTF-8?q?=E4=BD=9C=E4=B8=BA=E5=85=B6=20module?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 创建 `plusone-validator-parent`,将 `plusone-validator` 作为其 module, 方便后续在 `plusone-validator-parent` 下创建测试等相关子模块。 删除 `commons-lang3`,用 `plusone-commons` 的 `StringTools` 替代 `commons-lang3` 的 `StringUtils`。 补充测试依赖 `junit-jupiter-engine`。 --- .editorconfig | 2 +- plusone-validator/pom.xml | 45 +++++++++++++++++++ .../validator/BasePropertyValidator.java | 0 .../plusone/validator/BaseValidator.java | 0 .../plusone/validator/BoolValidator.java | 0 .../validator/CollectionValidator.java | 0 .../DefaultValidatorOfComparable.java | 0 .../plusone/validator/DoubleValidator.java | 0 .../plusone/validator/IValidateRequired.java | 0 .../plusone/validator/IntValidator.java | 0 .../plusone/validator/LongValidator.java | 0 .../plusone/validator/MapValidator.java | 0 .../plusone/validator/ObjectValidator.java | 0 .../plusone/validator/StringValidator.java | 0 .../zhouxy/plusone/validator/ValidTools.java | 0 .../zhouxy/plusone/validator/Validator.java | 0 .../validator/ValidatorOfComparable.java | 0 .../validator/map/test/MapValidatorTests.java | 4 +- .../validator/test/BaseValidatorTest.java | 6 +-- .../validator/test/ValidatorTests.java | 8 ++-- pom.xml | 32 ++++--------- 21 files changed, 64 insertions(+), 33 deletions(-) create mode 100644 plusone-validator/pom.xml rename {src => plusone-validator/src}/main/java/xyz/zhouxy/plusone/validator/BasePropertyValidator.java (100%) rename {src => plusone-validator/src}/main/java/xyz/zhouxy/plusone/validator/BaseValidator.java (100%) rename {src => plusone-validator/src}/main/java/xyz/zhouxy/plusone/validator/BoolValidator.java (100%) rename {src => plusone-validator/src}/main/java/xyz/zhouxy/plusone/validator/CollectionValidator.java (100%) rename {src => plusone-validator/src}/main/java/xyz/zhouxy/plusone/validator/DefaultValidatorOfComparable.java (100%) rename {src => plusone-validator/src}/main/java/xyz/zhouxy/plusone/validator/DoubleValidator.java (100%) rename {src => plusone-validator/src}/main/java/xyz/zhouxy/plusone/validator/IValidateRequired.java (100%) rename {src => plusone-validator/src}/main/java/xyz/zhouxy/plusone/validator/IntValidator.java (100%) rename {src => plusone-validator/src}/main/java/xyz/zhouxy/plusone/validator/LongValidator.java (100%) rename {src => plusone-validator/src}/main/java/xyz/zhouxy/plusone/validator/MapValidator.java (100%) rename {src => plusone-validator/src}/main/java/xyz/zhouxy/plusone/validator/ObjectValidator.java (100%) rename {src => plusone-validator/src}/main/java/xyz/zhouxy/plusone/validator/StringValidator.java (100%) rename {src => plusone-validator/src}/main/java/xyz/zhouxy/plusone/validator/ValidTools.java (100%) rename {src => plusone-validator/src}/main/java/xyz/zhouxy/plusone/validator/Validator.java (100%) rename {src => plusone-validator/src}/main/java/xyz/zhouxy/plusone/validator/ValidatorOfComparable.java (100%) rename {src => plusone-validator/src}/test/java/xyz/zhouxy/plusone/validator/map/test/MapValidatorTests.java (96%) rename {src => plusone-validator/src}/test/java/xyz/zhouxy/plusone/validator/test/BaseValidatorTest.java (97%) rename {src => plusone-validator/src}/test/java/xyz/zhouxy/plusone/validator/test/ValidatorTests.java (95%) diff --git a/.editorconfig b/.editorconfig index 53ff603..279a596 100644 --- a/.editorconfig +++ b/.editorconfig @@ -11,5 +11,5 @@ charset = utf-8 trim_trailing_whitespace = true insert_final_newline = true -[*.xml] +[*.{xml,yaml,yml}] indent_size = 2 diff --git a/plusone-validator/pom.xml b/plusone-validator/pom.xml new file mode 100644 index 0000000..c1747ee --- /dev/null +++ b/plusone-validator/pom.xml @@ -0,0 +1,45 @@ + + + + 4.0.0 + + + xyz.zhouxy.plusone + plusone-validator-parent + 1.0.0-SNAPSHOT + + + plusone-validator + plusone-validator + http://zhouxy.xyz + + + Plusone Validator 是一个参数校验框架,可针对 DTO 创建对应的校验器,并复用该校验器实例,对 DTO 进行校验。 + + + + UTF-8 + 1.8 + 1.8 + + + + + xyz.zhouxy.plusone + plusone-commons + 1.1.0-SNAPSHOT + + + org.junit.jupiter + junit-jupiter-api + test + + + org.junit.jupiter + junit-jupiter-engine + test + + + diff --git a/src/main/java/xyz/zhouxy/plusone/validator/BasePropertyValidator.java b/plusone-validator/src/main/java/xyz/zhouxy/plusone/validator/BasePropertyValidator.java similarity index 100% rename from src/main/java/xyz/zhouxy/plusone/validator/BasePropertyValidator.java rename to plusone-validator/src/main/java/xyz/zhouxy/plusone/validator/BasePropertyValidator.java diff --git a/src/main/java/xyz/zhouxy/plusone/validator/BaseValidator.java b/plusone-validator/src/main/java/xyz/zhouxy/plusone/validator/BaseValidator.java similarity index 100% rename from src/main/java/xyz/zhouxy/plusone/validator/BaseValidator.java rename to plusone-validator/src/main/java/xyz/zhouxy/plusone/validator/BaseValidator.java diff --git a/src/main/java/xyz/zhouxy/plusone/validator/BoolValidator.java b/plusone-validator/src/main/java/xyz/zhouxy/plusone/validator/BoolValidator.java similarity index 100% rename from src/main/java/xyz/zhouxy/plusone/validator/BoolValidator.java rename to plusone-validator/src/main/java/xyz/zhouxy/plusone/validator/BoolValidator.java diff --git a/src/main/java/xyz/zhouxy/plusone/validator/CollectionValidator.java b/plusone-validator/src/main/java/xyz/zhouxy/plusone/validator/CollectionValidator.java similarity index 100% rename from src/main/java/xyz/zhouxy/plusone/validator/CollectionValidator.java rename to plusone-validator/src/main/java/xyz/zhouxy/plusone/validator/CollectionValidator.java diff --git a/src/main/java/xyz/zhouxy/plusone/validator/DefaultValidatorOfComparable.java b/plusone-validator/src/main/java/xyz/zhouxy/plusone/validator/DefaultValidatorOfComparable.java similarity index 100% rename from src/main/java/xyz/zhouxy/plusone/validator/DefaultValidatorOfComparable.java rename to plusone-validator/src/main/java/xyz/zhouxy/plusone/validator/DefaultValidatorOfComparable.java diff --git a/src/main/java/xyz/zhouxy/plusone/validator/DoubleValidator.java b/plusone-validator/src/main/java/xyz/zhouxy/plusone/validator/DoubleValidator.java similarity index 100% rename from src/main/java/xyz/zhouxy/plusone/validator/DoubleValidator.java rename to plusone-validator/src/main/java/xyz/zhouxy/plusone/validator/DoubleValidator.java diff --git a/src/main/java/xyz/zhouxy/plusone/validator/IValidateRequired.java b/plusone-validator/src/main/java/xyz/zhouxy/plusone/validator/IValidateRequired.java similarity index 100% rename from src/main/java/xyz/zhouxy/plusone/validator/IValidateRequired.java rename to plusone-validator/src/main/java/xyz/zhouxy/plusone/validator/IValidateRequired.java diff --git a/src/main/java/xyz/zhouxy/plusone/validator/IntValidator.java b/plusone-validator/src/main/java/xyz/zhouxy/plusone/validator/IntValidator.java similarity index 100% rename from src/main/java/xyz/zhouxy/plusone/validator/IntValidator.java rename to plusone-validator/src/main/java/xyz/zhouxy/plusone/validator/IntValidator.java diff --git a/src/main/java/xyz/zhouxy/plusone/validator/LongValidator.java b/plusone-validator/src/main/java/xyz/zhouxy/plusone/validator/LongValidator.java similarity index 100% rename from src/main/java/xyz/zhouxy/plusone/validator/LongValidator.java rename to plusone-validator/src/main/java/xyz/zhouxy/plusone/validator/LongValidator.java diff --git a/src/main/java/xyz/zhouxy/plusone/validator/MapValidator.java b/plusone-validator/src/main/java/xyz/zhouxy/plusone/validator/MapValidator.java similarity index 100% rename from src/main/java/xyz/zhouxy/plusone/validator/MapValidator.java rename to plusone-validator/src/main/java/xyz/zhouxy/plusone/validator/MapValidator.java diff --git a/src/main/java/xyz/zhouxy/plusone/validator/ObjectValidator.java b/plusone-validator/src/main/java/xyz/zhouxy/plusone/validator/ObjectValidator.java similarity index 100% rename from src/main/java/xyz/zhouxy/plusone/validator/ObjectValidator.java rename to plusone-validator/src/main/java/xyz/zhouxy/plusone/validator/ObjectValidator.java diff --git a/src/main/java/xyz/zhouxy/plusone/validator/StringValidator.java b/plusone-validator/src/main/java/xyz/zhouxy/plusone/validator/StringValidator.java similarity index 100% rename from src/main/java/xyz/zhouxy/plusone/validator/StringValidator.java rename to plusone-validator/src/main/java/xyz/zhouxy/plusone/validator/StringValidator.java diff --git a/src/main/java/xyz/zhouxy/plusone/validator/ValidTools.java b/plusone-validator/src/main/java/xyz/zhouxy/plusone/validator/ValidTools.java similarity index 100% rename from src/main/java/xyz/zhouxy/plusone/validator/ValidTools.java rename to plusone-validator/src/main/java/xyz/zhouxy/plusone/validator/ValidTools.java diff --git a/src/main/java/xyz/zhouxy/plusone/validator/Validator.java b/plusone-validator/src/main/java/xyz/zhouxy/plusone/validator/Validator.java similarity index 100% rename from src/main/java/xyz/zhouxy/plusone/validator/Validator.java rename to plusone-validator/src/main/java/xyz/zhouxy/plusone/validator/Validator.java diff --git a/src/main/java/xyz/zhouxy/plusone/validator/ValidatorOfComparable.java b/plusone-validator/src/main/java/xyz/zhouxy/plusone/validator/ValidatorOfComparable.java similarity index 100% rename from src/main/java/xyz/zhouxy/plusone/validator/ValidatorOfComparable.java rename to plusone-validator/src/main/java/xyz/zhouxy/plusone/validator/ValidatorOfComparable.java diff --git a/src/test/java/xyz/zhouxy/plusone/validator/map/test/MapValidatorTests.java b/plusone-validator/src/test/java/xyz/zhouxy/plusone/validator/map/test/MapValidatorTests.java similarity index 96% rename from src/test/java/xyz/zhouxy/plusone/validator/map/test/MapValidatorTests.java rename to plusone-validator/src/test/java/xyz/zhouxy/plusone/validator/map/test/MapValidatorTests.java index 984c1c9..39bb3d7 100644 --- a/src/test/java/xyz/zhouxy/plusone/validator/map/test/MapValidatorTests.java +++ b/plusone-validator/src/test/java/xyz/zhouxy/plusone/validator/map/test/MapValidatorTests.java @@ -8,10 +8,10 @@ import java.util.Map; import java.util.Objects; import java.util.regex.Pattern; -import org.apache.commons.lang3.StringUtils; import org.junit.jupiter.api.Test; import xyz.zhouxy.plusone.commons.constant.PatternConsts; +import xyz.zhouxy.plusone.commons.util.StringTools; import xyz.zhouxy.plusone.validator.MapValidator; public // @@ -80,7 +80,7 @@ class ParamsValidator extends MapValidator { this.ruleForCollection(ROLE_LIST) .notEmpty("角色列表不能为空!") - .withRule(l -> l.stream().allMatch(StringUtils::isNotBlank), + .withRule(l -> l.stream().allMatch(StringTools::isNotBlank), () -> new IllegalArgumentException("角色标识不能为空!")); } } diff --git a/src/test/java/xyz/zhouxy/plusone/validator/test/BaseValidatorTest.java b/plusone-validator/src/test/java/xyz/zhouxy/plusone/validator/test/BaseValidatorTest.java similarity index 97% rename from src/test/java/xyz/zhouxy/plusone/validator/test/BaseValidatorTest.java rename to plusone-validator/src/test/java/xyz/zhouxy/plusone/validator/test/BaseValidatorTest.java index 4a7c1a2..b65d14d 100644 --- a/src/test/java/xyz/zhouxy/plusone/validator/test/BaseValidatorTest.java +++ b/plusone-validator/src/test/java/xyz/zhouxy/plusone/validator/test/BaseValidatorTest.java @@ -5,7 +5,6 @@ import java.util.Arrays; import java.util.List; import java.util.Objects; -import org.apache.commons.lang3.StringUtils; import org.junit.jupiter.api.Test; import com.google.common.collect.Range; @@ -13,6 +12,7 @@ import com.google.common.collect.Range; import xyz.zhouxy.plusone.commons.constant.PatternConsts; import xyz.zhouxy.plusone.commons.function.PredicateTools; import xyz.zhouxy.plusone.commons.util.RegexTools; +import xyz.zhouxy.plusone.commons.util.StringTools; import xyz.zhouxy.plusone.validator.BaseValidator; import xyz.zhouxy.plusone.validator.ValidTools; @@ -38,8 +38,8 @@ class BaseValidatorTest { ruleForString(RegisterCommand::getUsername) .isTrue(PredicateTools.from(Objects::nonNull) - .and(StringUtils::isNotEmpty) - .and(StringUtils::isNotBlank) + .and(StringTools::isNotEmpty) + .and(StringTools::isNotBlank) .and(username -> RegexTools.matches(username, PatternConsts.USERNAME)), username -> new IllegalArgumentException(String.format("用户名【%s】不符合规范", username))); ruleForString(RegisterCommand::getAccount) diff --git a/src/test/java/xyz/zhouxy/plusone/validator/test/ValidatorTests.java b/plusone-validator/src/test/java/xyz/zhouxy/plusone/validator/test/ValidatorTests.java similarity index 95% rename from src/test/java/xyz/zhouxy/plusone/validator/test/ValidatorTests.java rename to plusone-validator/src/test/java/xyz/zhouxy/plusone/validator/test/ValidatorTests.java index 31a91fd..3d799a0 100644 --- a/src/test/java/xyz/zhouxy/plusone/validator/test/ValidatorTests.java +++ b/plusone-validator/src/test/java/xyz/zhouxy/plusone/validator/test/ValidatorTests.java @@ -7,13 +7,13 @@ import java.util.List; import java.util.Objects; import java.util.regex.Pattern; -import org.apache.commons.lang3.StringUtils; import org.junit.jupiter.api.Test; import xyz.zhouxy.plusone.commons.collection.CollectionTools; import xyz.zhouxy.plusone.commons.function.PredicateTools; import xyz.zhouxy.plusone.commons.util.AssertTools; import xyz.zhouxy.plusone.commons.util.RegexTools; +import xyz.zhouxy.plusone.commons.util.StringTools; import xyz.zhouxy.plusone.validator.Validator; class ValidatorTests { @@ -29,8 +29,8 @@ class ValidatorTests { .addRule(command -> { String username = command.getUsername(); return Objects.nonNull(username) - && StringUtils.isNotEmpty(username) - && StringUtils.isNotBlank(username) + && StringTools.isNotEmpty(username) + && StringTools.isNotBlank(username) && RegexTools.matches(username, USERNAME); }, command -> new IllegalArgumentException(String.format("用户名【%s】不符合规范", command.getUsername()))) // 传入 predicate 和 error message @@ -48,7 +48,7 @@ class ValidatorTests { // 传入 rule .addRule(command -> { String password = command.getPassword(); - AssertTools.checkArgument(StringUtils.isNotEmpty(password), "密码不能为空"); + AssertTools.checkArgument(StringTools.isNotEmpty(password), "密码不能为空"); AssertTools.checkArgument(RegexTools.matches(password, PASSWORD), "密码不符合规范"); }) // 传入 predicate 和 Supplier diff --git a/pom.xml b/pom.xml index f58371f..84cf435 100644 --- a/pom.xml +++ b/pom.xml @@ -5,20 +5,24 @@ 4.0.0 xyz.zhouxy.plusone - plusone-validator + plusone-validator-parent 1.0.0-SNAPSHOT - plusone-validator + plusone-validator-parent http://zhouxy.xyz + pom + + + plusone-validator + + - 参数校验器 + Plusone Validator 是一个参数校验框架,可针对 DTO 创建对应的校验器,并复用该校验器实例,对 DTO 进行校验。 UTF-8 - 1.8 - 1.8 @@ -33,24 +37,6 @@ - - - xyz.zhouxy.plusone - plusone-commons - 1.1.0-SNAPSHOT - - - org.apache.commons - commons-lang3 - test - - - org.junit.jupiter - junit-jupiter-api - test - - -