Skip to content

Commit e3182dc

Browse files
authored
Merge pull request dianpoint#28 from ccoderJava/dev-features
Dev features
2 parents d031fa0 + 9b8ae92 commit e3182dc

File tree

23 files changed

+325
-168
lines changed

23 files changed

+325
-168
lines changed

.gitignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,4 +36,6 @@ target/
3636
!**/src/test/**/target/
3737

3838
### fleet
39-
.fleet
39+
.fleet
40+
41+
.flattened-pom.xml

README.md

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,12 +44,52 @@ English | [中文](README_cn.md)
4444

4545
## About The Project
4646

47+
Summer is a minimized AOP (Aspect-Oriented Programming) and IoC (Inversion of Control) kernel tool library. It provides a set of validators and related utility classes to simplify the validation logic of objects and collections. Additionally, it includes some functions for batch task processing.
48+
49+
### Validation Module
50+
51+
+ **Rich Validation Rules**: The validation module offers a wide range of validation rules, including length checks, regular expression matching, and
52+
collection size validations. For example, you can easily validate strings for minimum and maximum lengths, and collections for size ranges.
53+
54+
+ **Annotation-Based Validation**: Supports annotation-based validation. You can use custom annotations to mark fields in classes and perform
55+
validation operations on objects. For instance, use the @NotNull and @Pattern annotations to validate user-defined objects.
56+
57+
+ **Collection Validation**: Provides specific validation capabilities for collections. You can set validation rules for the entire collection as
58+
well
59+
as for each element in the collection.
60+
61+
62+
### Batch Task Processing Module
63+
64+
+ **Main and Sub-Task Management**: Includes entities such as MainTask and SubTask, and corresponding data access objects (MainTaskDao). It can
65+
manage
66+
the status, progress, and related information of main and sub-tasks.
67+
68+
+ **Task Monitoring and Recovery**: The TaskWatchdog class periodically checks for stuck tasks and attempts to recover them, ensuring the reliability
69+
of task processing.
70+
4771
## Getting Started
4872

4973
### Prerequisites
74+
Make sure you have Java and Maven installed in your development environment.
5075

5176
### Installation
5277

78+
Clone the repository to your local machine:
79+
80+
```bash
81+
git clone https://github.com/dianpoint/summer.git
82+
83+
```
84+
85+
Navigate to the project directory and build the project:
86+
87+
```bash
88+
cd summer
89+
mvn clean install
90+
```
91+
92+
5393
## Usage
5494

5595
## Roadmap

README_cn.md

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,13 +41,46 @@
4141
<!-- TOC -->
4242

4343
## 项目简介
44+
Summer 是一个最小化的 AOP(面向切面编程)和 IoC(控制反转)内核工具库。它提供了一系列的验证器和相关工具类,用于简化对象和集合的验证逻辑,同时也包含了一些批量任务处理的功能。
45+
46+
### 验证模块 | Validation Module
47+
48+
+ **丰富的验证规则**:验证模块提供了广泛的验证规则,包括长度检查、正则表达式匹配和集合大小验证。例如,您可以轻松验证字符串的最小和最大长度,以及集合的大小范围。
49+
50+
+ **基于注解的验证**:支持基于注解的验证。您可以使用自定义注解标记类中的字段,并对对象执行验证操作。例如,使用 @NotNull@Pattern 注解来验证用户定义的对象。
51+
52+
+ **集合验证**:为集合提供特定的验证功能。您可以为整个集合以及集合中的每个元素设置验证规则。
53+
54+
55+
### 批量任务处理模块 | Batch Task Processing Module
56+
57+
+ **主任务和子任务管理**:包括 MainTask 和 SubTask 等实体,以及相应的数据访问对象 (MainTaskDao)。它可以管理主任务和子任务的状态、进度和相关信息。
58+
59+
+ **任务监控和恢复**:TaskWatchdog 类会定期检查卡住的任务并尝试恢复它们,确保任务处理的可靠性。
4460

4561
## 入门指南
4662

4763
### 预备知识
4864

65+
确保您的开发环境中已经安装了 Java 和 Maven。
66+
4967
### 安装
5068

69+
克隆该仓库到本地:
70+
71+
```bash
72+
git clone https://github.com/dianpoint/summer.git
73+
74+
```
75+
76+
进入项目目录并构建项目:
77+
78+
```bash
79+
cd summer
80+
mvn clean install
81+
```
82+
83+
5184
## 用法
5285

5386
## 计划

pom.xml

Lines changed: 73 additions & 96 deletions
Original file line numberDiff line numberDiff line change
@@ -3,115 +3,92 @@
33
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
44
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
55
<modelVersion>4.0.0</modelVersion>
6+
<parent>
7+
<groupId>io.github.dianpoint</groupId>
8+
<artifactId>summer-build</artifactId>
9+
<version>0.1.0-SNAPSHOT</version>
10+
</parent>
611

7-
<groupId>com.dianpoint.summer</groupId>
12+
13+
14+
<groupId>io.github.dianpoint</groupId>
815
<artifactId>summer</artifactId>
9-
<version>0.1-SNAPSHOT</version>
16+
<version>${revision}</version>
1017
<packaging>pom</packaging>
18+
19+
20+
21+
<name>Summer</name>
22+
<description>Summer Projects for Java</description>
23+
<url>https://github.com/dianpoint/summer</url>
24+
25+
26+
<organization>
27+
<name>DianPoint</name>
28+
<url>https://github.com/dianpoint</url>
29+
</organization>
30+
31+
<licenses>
32+
<license>
33+
<name>The Apache License, Version 2.0</name>
34+
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
35+
</license>
36+
</licenses>
37+
38+
<developers>
39+
<developer>
40+
<id>ccoderJava</id>
41+
<name>congccoder</name>
42+
<email>congccoder@gmail.com</email>
43+
<organization>DianPoint</organization>
44+
<roles>
45+
<role>lead</role>
46+
<role>architect</role>
47+
<role>developer</role>
48+
</roles>
49+
</developer>
50+
</developers>
51+
52+
<scm>
53+
<url>git@github.com:dianpoint/summer.git</url>
54+
<connection>scm:git:${project.scm.url}</connection>
55+
<developerConnection>scm:git:ssh://${project.scm.url}</developerConnection>
56+
</scm>
57+
58+
<properties>
59+
<revision>0.1.0-SNAPSHOT</revision>
60+
</properties>
61+
1162
<modules>
1263
<module>summer-beans</module>
1364
<module>summer-validator</module>
1465
<module>summer-engines</module>
1566
<module>summer-java-core</module>
67+
<module>summer-parent</module>
1668
</modules>
1769

18-
<properties>
19-
<maven.compiler.source>8</maven.compiler.source>
20-
<maven.compiler.target>8</maven.compiler.target>
21-
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
22-
<fasterxml.jackson.version>2.14.2</fasterxml.jackson.version>
23-
<servlet-api.version>2.5</servlet-api.version>
24-
</properties>
25-
26-
<dependencyManagement>
27-
<dependencies>
28-
<!-- https://mvnrepository.com/artifact/org.dom4j/dom4j -->
29-
<dependency>
30-
<groupId>org.dom4j</groupId>
31-
<artifactId>dom4j</artifactId>
32-
<version>2.1.4</version>
33-
</dependency>
34-
<dependency>
35-
<groupId>com.fasterxml.jackson.core</groupId>
36-
<artifactId>jackson-core</artifactId>
37-
<version>${fasterxml.jackson.version}</version>
38-
</dependency>
39-
<dependency>
40-
<groupId>com.fasterxml.jackson.core</groupId>
41-
<artifactId>jackson-databind</artifactId>
42-
<version>${fasterxml.jackson.version}</version>
43-
</dependency>
44-
<dependency>
45-
<groupId>com.fasterxml.jackson.core</groupId>
46-
<artifactId>jackson-annotations</artifactId>
47-
<version>${fasterxml.jackson.version}</version>
48-
</dependency>
49-
<dependency>
50-
<groupId>com.fasterxml.jackson.datatype</groupId>
51-
<artifactId>jackson-datatype-jdk8</artifactId>
52-
<version>${fasterxml.jackson.version}</version>
53-
</dependency>
54-
<dependency>
55-
<groupId>com.fasterxml.jackson.datatype</groupId>
56-
<artifactId>jackson-datatype-jsr310</artifactId>
57-
<version>${fasterxml.jackson.version}</version>
58-
</dependency>
59-
<!-- https://mvnrepository.com/artifact/javax.servlet/servlet-api -->
60-
<dependency>
61-
<groupId>javax.servlet</groupId>
62-
<artifactId>servlet-api</artifactId>
63-
<version>${servlet-api.version}</version>
64-
<scope>provided</scope>
65-
</dependency>
66-
<dependency>
67-
<groupId>org.projectlombok</groupId>
68-
<artifactId>lombok</artifactId>
69-
<version>1.18.12</version>
70-
</dependency>
71-
72-
73-
<!--test-->
74-
<dependency>
75-
<groupId>junit</groupId>
76-
<artifactId>junit</artifactId>
77-
<version>4.13.2</version>
78-
<scope>test</scope>
79-
</dependency>
80-
<dependency>
81-
<groupId>org.assertj</groupId>
82-
<artifactId>assertj-core</artifactId>
83-
<version>3.24.2</version>
84-
<scope>test</scope>
85-
</dependency>
86-
</dependencies>
87-
</dependencyManagement>
88-
89-
<build>
90-
<plugins>
91-
<plugin>
92-
<groupId>org.apache.maven.plugins</groupId>
93-
<artifactId>maven-compiler-plugin</artifactId>
94-
<version>3.11.0</version>
95-
<configuration>
96-
<source>1.8</source>
97-
<target>1.8</target>
98-
<encoding>UTF-8</encoding>
99-
</configuration>
100-
</plugin>
101-
<plugin>
102-
<groupId>org.apache.maven.plugins</groupId>
103-
<artifactId>maven-source-plugin</artifactId>
104-
<version>3.2.1</version>
105-
</plugin>
106-
</plugins>
107-
</build>
108-
10970
<distributionManagement>
71+
<snapshotRepository>
72+
<id>ossrh</id>
73+
<url>https://s01.oss.sonatype.org/content/repositories/snapshots</url>
74+
</snapshotRepository>
11075
<repository>
111-
<id>github</id>
112-
<name>GitHub Packages</name>
113-
<url>https://maven.pkg.github.com/dianpoint/summer</url>
76+
<id>ossrh</id>
77+
<url>https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/</url>
11478
</repository>
11579
</distributionManagement>
11680

81+
<repositories>
82+
<repository>
83+
<id>snapshot</id>
84+
<snapshots>
85+
<enabled>true</enabled>
86+
</snapshots>
87+
<releases>
88+
<enabled>false</enabled>
89+
</releases>
90+
<url>https://s01.oss.sonatype.org/content/repositories/snapshots</url>
91+
</repository>
92+
</repositories>
93+
11794
</project>

summer-beans/pom.xml

Lines changed: 12 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -4,55 +4,51 @@
44
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
55
<modelVersion>4.0.0</modelVersion>
66
<parent>
7-
<groupId>com.dianpoint.summer</groupId>
8-
<artifactId>summer</artifactId>
9-
<version>0.1-SNAPSHOT</version>
7+
<groupId>io.github.dianpoint</groupId>
8+
<artifactId>summer-parent</artifactId>
9+
<version>{revision}</version>
10+
<relativePath>../summer-parent/pom.xml</relativePath>
1011
</parent>
1112

13+
<groupId>io.github.dianpoint</groupId>
1214
<artifactId>summer-beans</artifactId>
15+
<version>${revision}</version>
16+
<packaging>jar</packaging>
17+
18+
<name>summer-beans</name>
19+
<description>Summer Java Beans</description>
20+
1321

14-
<properties>
15-
<maven.compiler.source>8</maven.compiler.source>
16-
<maven.compiler.target>8</maven.compiler.target>
17-
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
18-
</properties>
1922
<dependencies>
2023
<!-- https://mvnrepository.com/artifact/org.dom4j/dom4j -->
2124
<dependency>
2225
<groupId>org.dom4j</groupId>
2326
<artifactId>dom4j</artifactId>
24-
<version>2.1.4</version>
2527
</dependency>
2628
<dependency>
2729
<groupId>com.fasterxml.jackson.core</groupId>
2830
<artifactId>jackson-core</artifactId>
29-
<version>${fasterxml.jackson.version}</version>
3031
</dependency>
3132
<dependency>
3233
<groupId>com.fasterxml.jackson.core</groupId>
3334
<artifactId>jackson-databind</artifactId>
34-
<version>${fasterxml.jackson.version}</version>
3535
</dependency>
3636
<dependency>
3737
<groupId>com.fasterxml.jackson.core</groupId>
3838
<artifactId>jackson-annotations</artifactId>
39-
<version>${fasterxml.jackson.version}</version>
4039
</dependency>
4140
<dependency>
4241
<groupId>com.fasterxml.jackson.datatype</groupId>
4342
<artifactId>jackson-datatype-jdk8</artifactId>
44-
<version>${fasterxml.jackson.version}</version>
4543
</dependency>
4644
<dependency>
4745
<groupId>com.fasterxml.jackson.datatype</groupId>
4846
<artifactId>jackson-datatype-jsr310</artifactId>
49-
<version>${fasterxml.jackson.version}</version>
5047
</dependency>
5148
<!-- https://mvnrepository.com/artifact/javax.servlet/servlet-api -->
5249
<dependency>
5350
<groupId>javax.servlet</groupId>
5451
<artifactId>servlet-api</artifactId>
55-
<version>${servlet-api.version}</version>
5652
<scope>provided</scope>
5753
</dependency>
5854

@@ -70,9 +66,8 @@
7066
<scope>test</scope>
7167
</dependency>
7268
<dependency>
73-
<groupId>com.dianpoint.summer</groupId>
69+
<groupId>io.github.dianpoint</groupId>
7470
<artifactId>summer-validator</artifactId>
75-
<version>0.1-SNAPSHOT</version>
7671
<scope>test</scope>
7772
</dependency>
7873

summer-beans/src/main/java/com/dianpoint/summer/beans/factory/xml/XmlBeanDefinitionReader.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.dianpoint.summer.beans.factory.xml;
22

3-
import com.dianpoint.summer.beans.*;
3+
import com.dianpoint.summer.beans.PropertyValue;
4+
import com.dianpoint.summer.beans.PropertyValues;
45
import com.dianpoint.summer.beans.factory.config.BeanDefinition;
56
import com.dianpoint.summer.beans.factory.config.ConstructorArgumentValue;
67
import com.dianpoint.summer.beans.factory.config.ConstructorArgumentValues;
File renamed without changes.

summer-beans/src/test/java/com/dianpoint/summer/test/aop/proxy/SomeServiceProxy.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@
22

33
import com.dianpoint.summer.aop.ProxyFactoryBean;
44
import com.dianpoint.summer.beans.BeansException;
5-
import com.dianpoint.summer.beans.factory.BeanFactory;
6-
import com.dianpoint.summer.beans.factory.FactoryBean;
75
import com.dianpoint.summer.context.ClassPathXmlApplicationContext;
86
import org.junit.Test;
97

0 commit comments

Comments
 (0)