refactor: 修改项目结构,创建 plusone-validator-parent
,将 plusone-validator
作为其 module
创建 `plusone-validator-parent`,将 `plusone-validator` 作为其 module, 方便后续在 `plusone-validator-parent` 下创建测试等相关子模块。 删除 `commons-lang3`,用 `plusone-commons` 的 `StringTools` 替代 `commons-lang3` 的 `StringUtils`。 补充测试依赖 `junit-jupiter-engine`。
This commit is contained in:
parent
6d5cad48e2
commit
818c8fb26f
@ -11,5 +11,5 @@ charset = utf-8
|
|||||||
trim_trailing_whitespace = true
|
trim_trailing_whitespace = true
|
||||||
insert_final_newline = true
|
insert_final_newline = true
|
||||||
|
|
||||||
[*.xml]
|
[*.{xml,yaml,yml}]
|
||||||
indent_size = 2
|
indent_size = 2
|
||||||
|
45
plusone-validator/pom.xml
Normal file
45
plusone-validator/pom.xml
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
|
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
<parent>
|
||||||
|
<groupId>xyz.zhouxy.plusone</groupId>
|
||||||
|
<artifactId>plusone-validator-parent</artifactId>
|
||||||
|
<version>1.0.0-SNAPSHOT</version>
|
||||||
|
</parent>
|
||||||
|
|
||||||
|
<artifactId>plusone-validator</artifactId>
|
||||||
|
<name>plusone-validator</name>
|
||||||
|
<url>http://zhouxy.xyz</url>
|
||||||
|
|
||||||
|
<description>
|
||||||
|
Plusone Validator 是一个参数校验框架,可针对 DTO 创建对应的校验器,并复用该校验器实例,对 DTO 进行校验。
|
||||||
|
</description>
|
||||||
|
|
||||||
|
<properties>
|
||||||
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
|
<maven.compiler.target>1.8</maven.compiler.target>
|
||||||
|
<maven.compiler.source>1.8</maven.compiler.source>
|
||||||
|
</properties>
|
||||||
|
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>xyz.zhouxy.plusone</groupId>
|
||||||
|
<artifactId>plusone-commons</artifactId>
|
||||||
|
<version>1.1.0-SNAPSHOT</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.junit.jupiter</groupId>
|
||||||
|
<artifactId>junit-jupiter-api</artifactId>
|
||||||
|
<scope>test</scope>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.junit.jupiter</groupId>
|
||||||
|
<artifactId>junit-jupiter-engine</artifactId>
|
||||||
|
<scope>test</scope>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
|
</project>
|
@ -8,10 +8,10 @@ import java.util.Map;
|
|||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
import org.apache.commons.lang3.StringUtils;
|
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
import xyz.zhouxy.plusone.commons.constant.PatternConsts;
|
import xyz.zhouxy.plusone.commons.constant.PatternConsts;
|
||||||
|
import xyz.zhouxy.plusone.commons.util.StringTools;
|
||||||
import xyz.zhouxy.plusone.validator.MapValidator;
|
import xyz.zhouxy.plusone.validator.MapValidator;
|
||||||
|
|
||||||
public //
|
public //
|
||||||
@ -80,7 +80,7 @@ class ParamsValidator extends MapValidator<String, Object> {
|
|||||||
|
|
||||||
this.<String>ruleForCollection(ROLE_LIST)
|
this.<String>ruleForCollection(ROLE_LIST)
|
||||||
.notEmpty("角色列表不能为空!")
|
.notEmpty("角色列表不能为空!")
|
||||||
.withRule(l -> l.stream().allMatch(StringUtils::isNotBlank),
|
.withRule(l -> l.stream().allMatch(StringTools::isNotBlank),
|
||||||
() -> new IllegalArgumentException("角色标识不能为空!"));
|
() -> new IllegalArgumentException("角色标识不能为空!"));
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -5,7 +5,6 @@ import java.util.Arrays;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
import org.apache.commons.lang3.StringUtils;
|
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
import com.google.common.collect.Range;
|
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.constant.PatternConsts;
|
||||||
import xyz.zhouxy.plusone.commons.function.PredicateTools;
|
import xyz.zhouxy.plusone.commons.function.PredicateTools;
|
||||||
import xyz.zhouxy.plusone.commons.util.RegexTools;
|
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.BaseValidator;
|
||||||
import xyz.zhouxy.plusone.validator.ValidTools;
|
import xyz.zhouxy.plusone.validator.ValidTools;
|
||||||
|
|
||||||
@ -38,8 +38,8 @@ class BaseValidatorTest {
|
|||||||
|
|
||||||
ruleForString(RegisterCommand::getUsername)
|
ruleForString(RegisterCommand::getUsername)
|
||||||
.isTrue(PredicateTools.<String>from(Objects::nonNull)
|
.isTrue(PredicateTools.<String>from(Objects::nonNull)
|
||||||
.and(StringUtils::isNotEmpty)
|
.and(StringTools::isNotEmpty)
|
||||||
.and(StringUtils::isNotBlank)
|
.and(StringTools::isNotBlank)
|
||||||
.and(username -> RegexTools.matches(username, PatternConsts.USERNAME)),
|
.and(username -> RegexTools.matches(username, PatternConsts.USERNAME)),
|
||||||
username -> new IllegalArgumentException(String.format("用户名【%s】不符合规范", username)));
|
username -> new IllegalArgumentException(String.format("用户名【%s】不符合规范", username)));
|
||||||
ruleForString(RegisterCommand::getAccount)
|
ruleForString(RegisterCommand::getAccount)
|
@ -7,13 +7,13 @@ import java.util.List;
|
|||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
import org.apache.commons.lang3.StringUtils;
|
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
import xyz.zhouxy.plusone.commons.collection.CollectionTools;
|
import xyz.zhouxy.plusone.commons.collection.CollectionTools;
|
||||||
import xyz.zhouxy.plusone.commons.function.PredicateTools;
|
import xyz.zhouxy.plusone.commons.function.PredicateTools;
|
||||||
import xyz.zhouxy.plusone.commons.util.AssertTools;
|
import xyz.zhouxy.plusone.commons.util.AssertTools;
|
||||||
import xyz.zhouxy.plusone.commons.util.RegexTools;
|
import xyz.zhouxy.plusone.commons.util.RegexTools;
|
||||||
|
import xyz.zhouxy.plusone.commons.util.StringTools;
|
||||||
import xyz.zhouxy.plusone.validator.Validator;
|
import xyz.zhouxy.plusone.validator.Validator;
|
||||||
|
|
||||||
class ValidatorTests {
|
class ValidatorTests {
|
||||||
@ -29,8 +29,8 @@ class ValidatorTests {
|
|||||||
.addRule(command -> {
|
.addRule(command -> {
|
||||||
String username = command.getUsername();
|
String username = command.getUsername();
|
||||||
return Objects.nonNull(username)
|
return Objects.nonNull(username)
|
||||||
&& StringUtils.isNotEmpty(username)
|
&& StringTools.isNotEmpty(username)
|
||||||
&& StringUtils.isNotBlank(username)
|
&& StringTools.isNotBlank(username)
|
||||||
&& RegexTools.matches(username, USERNAME);
|
&& RegexTools.matches(username, USERNAME);
|
||||||
}, command -> new IllegalArgumentException(String.format("用户名【%s】不符合规范", command.getUsername())))
|
}, command -> new IllegalArgumentException(String.format("用户名【%s】不符合规范", command.getUsername())))
|
||||||
// 传入 predicate 和 error message
|
// 传入 predicate 和 error message
|
||||||
@ -48,7 +48,7 @@ class ValidatorTests {
|
|||||||
// 传入 rule
|
// 传入 rule
|
||||||
.addRule(command -> {
|
.addRule(command -> {
|
||||||
String password = command.getPassword();
|
String password = command.getPassword();
|
||||||
AssertTools.checkArgument(StringUtils.isNotEmpty(password), "密码不能为空");
|
AssertTools.checkArgument(StringTools.isNotEmpty(password), "密码不能为空");
|
||||||
AssertTools.checkArgument(RegexTools.matches(password, PASSWORD), "密码不符合规范");
|
AssertTools.checkArgument(RegexTools.matches(password, PASSWORD), "密码不符合规范");
|
||||||
})
|
})
|
||||||
// 传入 predicate 和 Supplier<E extends RuntimeException>
|
// 传入 predicate 和 Supplier<E extends RuntimeException>
|
32
pom.xml
32
pom.xml
@ -5,20 +5,24 @@
|
|||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
<groupId>xyz.zhouxy.plusone</groupId>
|
<groupId>xyz.zhouxy.plusone</groupId>
|
||||||
<artifactId>plusone-validator</artifactId>
|
<artifactId>plusone-validator-parent</artifactId>
|
||||||
<version>1.0.0-SNAPSHOT</version>
|
<version>1.0.0-SNAPSHOT</version>
|
||||||
|
|
||||||
<name>plusone-validator</name>
|
<name>plusone-validator-parent</name>
|
||||||
<url>http://zhouxy.xyz</url>
|
<url>http://zhouxy.xyz</url>
|
||||||
|
|
||||||
|
<packaging>pom</packaging>
|
||||||
|
|
||||||
|
<modules>
|
||||||
|
<module>plusone-validator</module>
|
||||||
|
</modules>
|
||||||
|
|
||||||
<description>
|
<description>
|
||||||
参数校验器
|
Plusone Validator 是一个参数校验框架,可针对 DTO 创建对应的校验器,并复用该校验器实例,对 DTO 进行校验。
|
||||||
</description>
|
</description>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
<maven.compiler.target>1.8</maven.compiler.target>
|
|
||||||
<maven.compiler.source>1.8</maven.compiler.source>
|
|
||||||
</properties>
|
</properties>
|
||||||
|
|
||||||
<dependencyManagement>
|
<dependencyManagement>
|
||||||
@ -33,24 +37,6 @@
|
|||||||
</dependencies>
|
</dependencies>
|
||||||
</dependencyManagement>
|
</dependencyManagement>
|
||||||
|
|
||||||
<dependencies>
|
|
||||||
<dependency>
|
|
||||||
<groupId>xyz.zhouxy.plusone</groupId>
|
|
||||||
<artifactId>plusone-commons</artifactId>
|
|
||||||
<version>1.1.0-SNAPSHOT</version>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.apache.commons</groupId>
|
|
||||||
<artifactId>commons-lang3</artifactId>
|
|
||||||
<scope>test</scope>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.junit.jupiter</groupId>
|
|
||||||
<artifactId>junit-jupiter-api</artifactId>
|
|
||||||
<scope>test</scope>
|
|
||||||
</dependency>
|
|
||||||
</dependencies>
|
|
||||||
|
|
||||||
<build>
|
<build>
|
||||||
<!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
|
<!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
|
||||||
<pluginManagement>
|
<pluginManagement>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user