Skip to content

Commit 1d9ae05

Browse files
committed
Merge branch 'refs/heads/master' into remove-deprecated-code
2 parents eb526a8 + bb60c74 commit 1d9ae05

27 files changed

+111
-141
lines changed

.github/workflows/ci.yaml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,10 @@ jobs:
77
runs-on: ${{ matrix.os }}
88
strategy:
99
matrix:
10+
cache: [maven]
11+
distribution: [temurin]
12+
java: [17, 21, 22, 23-ea]
1013
os: [ubuntu-latest]
11-
java: [17, 21, 22-ea]
12-
distribution: ['temurin']
1314
fail-fast: false
1415
max-parallel: 4
1516
name: Test JDK ${{ matrix.java }}, ${{ matrix.os }}
@@ -21,5 +22,6 @@ jobs:
2122
with:
2223
java-version: ${{ matrix.java }}
2324
distribution: ${{ matrix.distribution }}
25+
cache: ${{ matrix.cache }}
2426
- name: Test with Maven
2527
run: ./mvnw test -B -V --no-transfer-progress -D"license.skip=true"

.github/workflows/coveralls.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,9 @@ jobs:
1111
- name: Set up JDK
1212
uses: actions/setup-java@v4
1313
with:
14+
cache: maven
15+
distribution: temurin
1416
java-version: 21
15-
distribution: zulu
1617
- name: Report Coverage to Coveralls for Pull Requests
1718
if: github.event_name == 'pull_request'
1819
run: ./mvnw -B -V test jacoco:report coveralls:report -q -Dlicense.skip=true -DrepoToken=$GITHUB_TOKEN -DserviceName=github -DpullRequest=$PR_NUMBER --no-transfer-progress

.github/workflows/site.yaml

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -14,21 +14,18 @@ jobs:
1414
- name: Set up JDK
1515
uses: actions/setup-java@v4
1616
with:
17+
cache: maven
18+
distribution: temurin
1719
java-version: 21
18-
distribution: zulu
19-
- uses: webfactory/ssh-agent@master
20-
with:
21-
ssh-private-key: ${{ secrets.DEPLOY_KEY }}
2220
- name: Build site
23-
run: ./mvnw site site:stage -DskipTests -B -V --no-transfer-progress -Dlicense.skip=true
21+
run: ./mvnw site site:stage -DskipTests -Dlicense.skip=true -B -V --no-transfer-progress --settings ./.mvn/settings.xml
2422
env:
2523
CI_DEPLOY_USERNAME: ${{ secrets.CI_DEPLOY_USERNAME }}
2624
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
25+
NVD_API_KEY: ${{ secrets.NVD_API_KEY }}
2726
- name: Deploy Site to gh-pages
28-
uses: JamesIves/github-pages-deploy-action@v4.6.1
27+
uses: JamesIves/github-pages-deploy-action@v4
2928
with:
30-
ssh-key: true
3129
branch: gh-pages
3230
folder: target/staging
33-
env:
34-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
31+
ssh-key: ${{ secrets.DEPLOY_KEY }}

.github/workflows/sonar.yaml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,11 @@ jobs:
1717
- name: Set up JDK
1818
uses: actions/setup-java@v4
1919
with:
20+
cache: maven
21+
distribution: temurin
2022
java-version: 21
21-
distribution: zulu
2223
- name: Analyze with SonarCloud
23-
run: ./mvnw verify jacoco:report sonar:sonar -B -Dsonar.projectKey=mybatis_mybatis-dynamic-sql -Dsonar.organization=mybatis -Dsonar.host.url=https://sonarcloud.io -Dsonar.token=$SONAR_TOKEN -Dlicense.skip=true --no-transfer-progress
24+
run: ./mvnw verify jacoco:report sonar:sonar -B -V -Dsonar.projectKey=mybatis_mybatis-dynamic-sql -Dsonar.organization=mybatis -Dsonar.host.url=https://sonarcloud.io -Dsonar.token=$SONAR_TOKEN -Dlicense.skip=true --no-transfer-progress
2425
env:
2526
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
2627
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}

.github/workflows/sonatype.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,9 @@ jobs:
1414
- name: Set up JDK
1515
uses: actions/setup-java@v4
1616
with:
17+
cache: maven
18+
distribution: temurin
1719
java-version: 21
18-
distribution: zulu
1920
- name: Deploy to Sonatype
2021
run: ./mvnw deploy -DskipTests -B -V --no-transfer-progress --settings ./.mvn/settings.xml -Dlicense.skip=true
2122
env:

.mvn/wrapper/MavenWrapperDownloader.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
import java.util.concurrent.ThreadLocalRandom;
3131

3232
public final class MavenWrapperDownloader {
33-
private static final String WRAPPER_VERSION = "3.3.1";
33+
private static final String WRAPPER_VERSION = "3.3.2";
3434

3535
private static final boolean VERBOSE = Boolean.parseBoolean(System.getenv("MVNW_VERBOSE"));
3636

.mvn/wrapper/maven-wrapper.properties

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
# KIND, either express or implied. See the License for the
1515
# specific language governing permissions and limitations
1616
# under the License.
17-
wrapperVersion=3.3.1
17+
wrapperVersion=3.3.2
18+
distributionType=source
1819
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.8/apache-maven-3.9.8-bin.zip
19-
wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.3.1/maven-wrapper-3.3.1.jar
20+
wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.3.2/maven-wrapper-3.3.2.jar

CHANGELOG.md

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

33
This log will detail notable changes to MyBatis Dynamic SQL. Full details are available on the GitHub milestone pages.
44

5+
## Release 2.0.0 - Unreleased
6+
7+
The library now requires Java 17.
8+
59
## Release 1.5.2 - June 3, 2024
610

711
This is a small maintenance release with the following changes:

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,4 +80,4 @@ The library test cases provide several complete examples of using the library in
8080

8181
## Requirements
8282

83-
The library has no dependencies. Java 8 or higher is required.
83+
The library has no dependencies. Version 2.x requires Java 17. Version 1.8 requires Java 8.

mvnw

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
# ----------------------------------------------------------------------------
2020

2121
# ----------------------------------------------------------------------------
22-
# Apache Maven Wrapper startup batch script, version 3.3.1
22+
# Apache Maven Wrapper startup batch script, version 3.3.2
2323
#
2424
# Required ENV vars:
2525
# ------------------
@@ -212,9 +212,9 @@ else
212212
log "Couldn't find $wrapperJarPath, downloading it ..."
213213

214214
if [ -n "$MVNW_REPOURL" ]; then
215-
wrapperUrl="$MVNW_REPOURL/org/apache/maven/wrapper/maven-wrapper/3.3.1/maven-wrapper-3.3.1.jar"
215+
wrapperUrl="$MVNW_REPOURL/org/apache/maven/wrapper/maven-wrapper/3.3.2/maven-wrapper-3.3.2.jar"
216216
else
217-
wrapperUrl="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.3.1/maven-wrapper-3.3.1.jar"
217+
wrapperUrl="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.3.2/maven-wrapper-3.3.2.jar"
218218
fi
219219
while IFS="=" read -r key value; do
220220
# Remove '\r' from value to allow usage on windows as IFS does not consider '\r' as a separator ( considers space, tab, new line ('\n'), and custom '=' )

mvnw.cmd

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
@REM ----------------------------------------------------------------------------
1919

2020
@REM ----------------------------------------------------------------------------
21-
@REM Apache Maven Wrapper startup batch script, version 3.3.1
21+
@REM Apache Maven Wrapper startup batch script, version 3.3.2
2222
@REM
2323
@REM Required ENV vars:
2424
@REM JAVA_HOME - location of a JDK home dir
@@ -119,7 +119,7 @@ SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe"
119119
set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar"
120120
set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
121121

122-
set WRAPPER_URL="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.3.1/maven-wrapper-3.3.1.jar"
122+
set WRAPPER_URL="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.3.2/maven-wrapper-3.3.2.jar"
123123

124124
FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO (
125125
IF "%%A"=="wrapperUrl" SET WRAPPER_URL=%%B
@@ -133,7 +133,7 @@ if exist %WRAPPER_JAR% (
133133
)
134134
) else (
135135
if not "%MVNW_REPOURL%" == "" (
136-
SET WRAPPER_URL="%MVNW_REPOURL%/org/apache/maven/wrapper/maven-wrapper/3.3.1/maven-wrapper-3.3.1.jar"
136+
SET WRAPPER_URL="%MVNW_REPOURL%/org/apache/maven/wrapper/maven-wrapper/3.3.2/maven-wrapper-3.3.2.jar"
137137
)
138138
if "%MVNW_VERBOSE%" == "true" (
139139
echo Couldn't find %WRAPPER_JAR%, downloading it ...

pom.xml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,12 @@
2121
<parent>
2222
<groupId>org.mybatis</groupId>
2323
<artifactId>mybatis-parent</artifactId>
24-
<version>44</version>
24+
<version>45</version>
2525
</parent>
2626

2727
<groupId>org.mybatis.dynamic-sql</groupId>
2828
<artifactId>mybatis-dynamic-sql</artifactId>
29-
<version>1.6.0-SNAPSHOT</version>
29+
<version>2.0.0-SNAPSHOT</version>
3030

3131
<name>MyBatis Dynamic SQL</name>
3232
<description>MyBatis framework for generating dynamic SQL</description>
@@ -57,7 +57,7 @@
5757

5858
<properties>
5959
<java.version>17</java.version>
60-
<java.release.version>8</java.release.version>
60+
<java.release.version>17</java.release.version>
6161
<junit.jupiter.version>5.10.2</junit.jupiter.version>
6262
<spring.batch.version>5.1.2</spring.batch.version>
6363

@@ -74,7 +74,7 @@
7474
<sonar.tests>src/test/java,src/test/kotlin</sonar.tests>
7575

7676
<kotlin.code.style>official</kotlin.code.style>
77-
<test.containers.version>1.19.8</test.containers.version>
77+
<test.containers.version>1.20.1</test.containers.version>
7878
<osgi.export>org.mybatis.dynamic.sql.*;version=${project.version};-noimport:=true</osgi.export>
7979

8080
<!-- Reproducible Builds -->
@@ -92,7 +92,7 @@
9292
<dependency>
9393
<groupId>org.springframework</groupId>
9494
<artifactId>spring-jdbc</artifactId>
95-
<version>6.1.10</version>
95+
<version>6.1.11</version>
9696
<scope>provided</scope>
9797
<optional>true</optional>
9898
</dependency>
@@ -125,7 +125,7 @@
125125
<dependency>
126126
<groupId>org.assertj</groupId>
127127
<artifactId>assertj-core</artifactId>
128-
<version>3.26.0</version>
128+
<version>3.26.3</version>
129129
<scope>test</scope>
130130
</dependency>
131131
<dependency>
@@ -168,7 +168,7 @@
168168
<dependency>
169169
<groupId>org.hamcrest</groupId>
170170
<artifactId>hamcrest</artifactId>
171-
<version>2.2</version>
171+
<version>3.0</version>
172172
<scope>test</scope>
173173
</dependency>
174174

@@ -199,7 +199,7 @@
199199
<dependency>
200200
<groupId>org.mariadb.jdbc</groupId>
201201
<artifactId>mariadb-java-client</artifactId>
202-
<version>3.4.0</version>
202+
<version>3.4.1</version>
203203
<scope>test</scope>
204204
</dependency>
205205
</dependencies>

src/main/java/org/mybatis/dynamic/sql/insert/render/GeneralInsertRenderer.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,7 @@ private GeneralInsertRenderer(Builder builder) {
4040
public GeneralInsertStatementProvider render() {
4141
FieldAndValueCollector collector = model.columnMappings()
4242
.map(m -> m.accept(visitor))
43-
.filter(Optional::isPresent)
44-
.map(Optional::get)
43+
.flatMap(Optional::stream)
4544
.collect(FieldAndValueCollector.collect());
4645

4746
Validator.assertFalse(collector.isEmpty(), "ERROR.9"); //$NON-NLS-1$

src/main/java/org/mybatis/dynamic/sql/insert/render/InsertRenderer.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,7 @@ private InsertRenderer(Builder<T> builder) {
3535
public InsertStatementProvider<T> render() {
3636
FieldAndValueCollector collector = model.columnMappings()
3737
.map(m -> m.accept(visitor))
38-
.filter(Optional::isPresent)
39-
.map(Optional::get)
38+
.flatMap(Optional::stream)
4039
.collect(FieldAndValueCollector.collect());
4140

4241
Validator.assertFalse(collector.isEmpty(), "ERROR.10"); //$NON-NLS-1$

src/main/java/org/mybatis/dynamic/sql/update/render/UpdateRenderer.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,8 +85,7 @@ private FragmentAndParameters calculateSetPhrase() {
8585
"ERROR.18"); //$NON-NLS-1$
8686

8787
FragmentCollector fragmentCollector = fragmentsAndParameters.stream()
88-
.filter(Optional::isPresent)
89-
.map(Optional::get)
88+
.flatMap(Optional::stream)
9089
.collect(FragmentCollector.collect());
9190

9291
return toSetPhrase(fragmentCollector);

src/main/java/org/mybatis/dynamic/sql/where/render/CriterionRenderer.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -135,8 +135,7 @@ private FragmentAndParameters renderExists(ExistsCriterion criterion) {
135135

136136
private List<RenderedCriterion> renderSubCriteria(List<AndOrCriteriaGroup> subCriteria) {
137137
return subCriteria.stream().map(this::renderAndOrCriteriaGroup)
138-
.filter(Optional::isPresent)
139-
.map(Optional::get)
138+
.flatMap(Optional::stream)
140139
.collect(Collectors.toList());
141140
}
142141

src/site/markdown/docs/conditions.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -267,7 +267,7 @@ any null or blank string, and you want to trim all strings. This can be accompli
267267
.where(animalName, isIn(" Mouse", " ", null, "", "Musk shrew ")
268268
.filter(Objects::nonNull)
269269
.map(String::trim)
270-
.filter(st -> !st.isEmpty()))
270+
.filter(not(String::isEmpty)))
271271
.orderBy(id)
272272
.build()
273273
.render(RenderingStrategies.MYBATIS3);
@@ -284,7 +284,7 @@ public class MyInCondition {
284284
return SqlBuilder.isIn(values)
285285
.filter(Objects::nonNull)
286286
.map(String::trim)
287-
.filter(st -> !st.isEmpty());
287+
.filter(not(String::isEmpty));
288288
}
289289
}
290290
```

src/test/java/examples/animal/data/MyInCondition.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515
*/
1616
package examples.animal.data;
1717

18+
import static java.util.function.Predicate.not;
19+
1820
import java.util.Objects;
1921

2022
import org.mybatis.dynamic.sql.SqlBuilder;
@@ -25,6 +27,6 @@ public static IsIn<String> isIn(String...values) {
2527
return SqlBuilder.isIn(values)
2628
.filter(Objects::nonNull)
2729
.map((String::trim))
28-
.filter(st -> !st.isEmpty());
30+
.filter(not(String::isEmpty));
2931
}
3032
}

src/test/java/examples/animal/data/OptionalConditionsWithPredicatesAnimalDataTest.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import static examples.animal.data.AnimalDataDynamicSqlSupport.bodyWeight;
2121
import static examples.animal.data.AnimalDataDynamicSqlSupport.brainWeight;
2222
import static examples.animal.data.AnimalDataDynamicSqlSupport.id;
23+
import static java.util.function.Predicate.not;
2324
import static org.assertj.core.api.Assertions.assertThat;
2425
import static org.junit.jupiter.api.Assertions.assertAll;
2526
import static org.mybatis.dynamic.sql.SqlBuilder.*;
@@ -484,7 +485,7 @@ void testValueStreamTransformer() {
484485
.where(animalName, isIn(" Mouse", " ", null, "", "Musk shrew ")
485486
.filter(Objects::nonNull)
486487
.map(String::trim)
487-
.filter(st -> !st.isEmpty()))
488+
.filter(not(String::isEmpty)))
488489
.orderBy(id)
489490
.build()
490491
.render(RenderingStrategies.MYBATIS3);

src/test/java/examples/emptywhere/EmptyWhereTest.java

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -56,12 +56,7 @@ static List<Variation> baseVariations() {
5656

5757
Variation v4 = new Variation(null, null, "");
5858

59-
List<Variation> answer = new ArrayList<>();
60-
answer.add(v1);
61-
answer.add(v2);
62-
answer.add(v3);
63-
answer.add(v4);
64-
return answer;
59+
return List.of(v1, v2, v3, v4);
6560
}
6661

6762
static Stream<Variation> whereVariations() {

src/test/java/examples/simple/MyBatisMapToRowTest.java

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -109,10 +109,7 @@ void testInsertMultiple() {
109109
try (SqlSession session = sqlSessionFactory.openSession()) {
110110
CompoundKeyMapper mapper = session.getMapper(CompoundKeyMapper.class);
111111

112-
List<Integer> integers = new ArrayList<>();
113-
integers.add(1);
114-
integers.add(2);
115-
integers.add(3);
112+
List<Integer> integers = List.of(1, 2, 3);
116113

117114
MultiRowInsertStatementProvider<Integer> insertStatement = insertMultiple(integers)
118115
.into(compoundKey)
@@ -142,10 +139,7 @@ void testInsertBatch() {
142139
try (SqlSession session = sqlSessionFactory.openSession(ExecutorType.BATCH)) {
143140
CompoundKeyMapper mapper = session.getMapper(CompoundKeyMapper.class);
144141

145-
List<Integer> integers = new ArrayList<>();
146-
integers.add(1);
147-
integers.add(2);
148-
integers.add(3);
142+
List<Integer> integers = List.of(1, 2, 3);
149143

150144
BatchInsert<Integer> insertStatement = insertBatch(integers)
151145
.into(compoundKey)

src/test/java/examples/simple/PersonMapperTest.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -253,8 +253,7 @@ void testFirstNameIn() {
253253

254254
@Test
255255
void testOrderByCollection() {
256-
Collection<SortSpecification> orderByColumns = new ArrayList<>();
257-
orderByColumns.add(firstName);
256+
Collection<SortSpecification> orderByColumns = List.of(firstName);
258257

259258
try (SqlSession session = sqlSessionFactory.openSession()) {
260259
PersonMapper mapper = session.getMapper(PersonMapper.class);

0 commit comments

Comments
 (0)