Skip to content

Commit bb60c74

Browse files
authored
Merge pull request #824 from jeffgbutler/java-11-update
Update to Java 17
2 parents 545e4be + 73f5e8f commit bb60c74

File tree

18 files changed

+79
-112
lines changed

18 files changed

+79
-112
lines changed

CHANGELOG.md

+4
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

+1-1
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.

pom.xml

+3-3
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
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,8 +57,8 @@
5757

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

6464
<checkstyle.config>checkstyle-override.xml</checkstyle.config>

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

+1-2
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

+1-2
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

+1-2
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

+1-2
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

+2-2
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

+3-1
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

+2-1
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

+1-6
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

+2-8
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

+1-2
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);

src/test/java/examples/spring/SpringMapToRowTest.java

+2-8
Original file line numberDiff line numberDiff line change
@@ -74,10 +74,7 @@ void testInsertOne() {
7474

7575
@Test
7676
void testInsertMultiple() {
77-
List<Integer> integers = new ArrayList<>();
78-
integers.add(1);
79-
integers.add(2);
80-
integers.add(3);
77+
List<Integer> integers = List.of(1, 2, 3);
8178

8279
MultiRowInsertStatementProvider<Integer> insertStatement = insertMultiple(integers)
8380
.into(compoundKey)
@@ -102,10 +99,7 @@ void testInsertMultiple() {
10299

103100
@Test
104101
void testInsertBatch() {
105-
List<Integer> integers = new ArrayList<>();
106-
integers.add(1);
107-
integers.add(2);
108-
integers.add(3);
102+
List<Integer> integers = List.of(1, 2, 3);
109103

110104
BatchInsert<Integer> insertStatement = insertBatch(integers)
111105
.into(compoundKey)

src/test/java/issues/gh430/NoInitialConditionTest.java

+31-32
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
import static org.mybatis.dynamic.sql.SqlBuilder.*;
2020
import static org.mybatis.dynamic.sql.subselect.FooDynamicSqlSupport.*;
2121

22-
import java.util.ArrayList;
22+
import java.util.Collections;
2323
import java.util.Date;
2424
import java.util.List;
2525

@@ -32,7 +32,7 @@ class NoInitialConditionTest {
3232

3333
@Test
3434
void testNoInitialConditionEmptyList() {
35-
List<AndOrCriteriaGroup> criteria = new ArrayList<>();
35+
List<AndOrCriteriaGroup> criteria = Collections.emptyList();
3636

3737
SelectStatementProvider selectStatement = buildSelectStatement(criteria);
3838

@@ -43,8 +43,7 @@ void testNoInitialConditionEmptyList() {
4343

4444
@Test
4545
void testNoInitialConditionSingleSub() {
46-
List<AndOrCriteriaGroup> criteria = new ArrayList<>();
47-
criteria.add(or(column2, isEqualTo(3)));
46+
List<AndOrCriteriaGroup> criteria = List.of(or(column2, isEqualTo(3)));
4847

4948
SelectStatementProvider selectStatement = buildSelectStatement(criteria);
5049

@@ -56,10 +55,10 @@ void testNoInitialConditionSingleSub() {
5655

5756
@Test
5857
void testNoInitialConditionMultipleSubs() {
59-
List<AndOrCriteriaGroup> criteria = new ArrayList<>();
60-
criteria.add(or(column2, isEqualTo(3)));
61-
criteria.add(or(column2, isEqualTo(4)));
62-
criteria.add(or(column2, isEqualTo(5)));
58+
List<AndOrCriteriaGroup> criteria = List.of(
59+
or(column2, isEqualTo(3)),
60+
or(column2, isEqualTo(4)),
61+
or(column2, isEqualTo(5)));
6362

6463
SelectStatementProvider selectStatement = buildSelectStatement(criteria);
6564

@@ -71,10 +70,10 @@ void testNoInitialConditionMultipleSubs() {
7170

7271
@Test
7372
void testNoInitialConditionWhereMultipleSubs() {
74-
List<AndOrCriteriaGroup> criteria = new ArrayList<>();
75-
criteria.add(or(column2, isEqualTo(3)));
76-
criteria.add(or(column2, isEqualTo(4)));
77-
criteria.add(or(column2, isEqualTo(5)));
73+
List<AndOrCriteriaGroup> criteria = List.of(
74+
or(column2, isEqualTo(3)),
75+
or(column2, isEqualTo(4)),
76+
or(column2, isEqualTo(5)));
7877

7978
SelectStatementProvider selectStatement = select(column1, column2)
8079
.from(foo)
@@ -90,10 +89,10 @@ void testNoInitialConditionWhereMultipleSubs() {
9089

9190
@Test
9291
void testNoInitialConditionWhereNotMultipleSubs() {
93-
List<AndOrCriteriaGroup> criteria = new ArrayList<>();
94-
criteria.add(or(column2, isEqualTo(3)));
95-
criteria.add(or(column2, isEqualTo(4)));
96-
criteria.add(or(column2, isEqualTo(5)));
92+
List<AndOrCriteriaGroup> criteria = List.of(
93+
or(column2, isEqualTo(3)),
94+
or(column2, isEqualTo(4)),
95+
or(column2, isEqualTo(5)));
9796

9897
SelectStatementProvider selectStatement = select(column1, column2)
9998
.from(foo)
@@ -110,10 +109,10 @@ void testNoInitialConditionWhereNotMultipleSubs() {
110109

111110
@Test
112111
void testNoInitialConditionWhereGroupMultipleSubs() {
113-
List<AndOrCriteriaGroup> criteria = new ArrayList<>();
114-
criteria.add(or(column2, isEqualTo(3)));
115-
criteria.add(or(column2, isEqualTo(4)));
116-
criteria.add(or(column2, isEqualTo(5)));
112+
List<AndOrCriteriaGroup> criteria = List.of(
113+
or(column2, isEqualTo(3)),
114+
or(column2, isEqualTo(4)),
115+
or(column2, isEqualTo(5)));
117116

118117
SelectStatementProvider selectStatement = select(column1, column2)
119118
.from(foo)
@@ -130,10 +129,10 @@ void testNoInitialConditionWhereGroupMultipleSubs() {
130129

131130
@Test
132131
void testNoInitialConditionWhereCCAndMultipleSubs() {
133-
List<AndOrCriteriaGroup> criteria = new ArrayList<>();
134-
criteria.add(or(column2, isEqualTo(3)));
135-
criteria.add(or(column2, isEqualTo(4)));
136-
criteria.add(or(column2, isEqualTo(5)));
132+
List<AndOrCriteriaGroup> criteria = List.of(
133+
or(column2, isEqualTo(3)),
134+
or(column2, isEqualTo(4)),
135+
or(column2, isEqualTo(5)));
137136

138137
SelectStatementProvider selectStatement = select(column1, column2)
139138
.from(foo)
@@ -149,10 +148,10 @@ void testNoInitialConditionWhereCCAndMultipleSubs() {
149148

150149
@Test
151150
void testNoInitialConditionWhereCCOrMultipleSubs() {
152-
List<AndOrCriteriaGroup> criteria = new ArrayList<>();
153-
criteria.add(or(column2, isEqualTo(3)));
154-
criteria.add(or(column2, isEqualTo(4)));
155-
criteria.add(or(column2, isEqualTo(5)));
151+
List<AndOrCriteriaGroup> criteria = List.of(
152+
or(column2, isEqualTo(3)),
153+
or(column2, isEqualTo(4)),
154+
or(column2, isEqualTo(5)));
156155

157156
SelectStatementProvider selectStatement = select(column1, column2)
158157
.from(foo)
@@ -168,10 +167,10 @@ void testNoInitialConditionWhereCCOrMultipleSubs() {
168167

169168
@Test
170169
void testNoInitialConditionWhereOrMultipleSubs() {
171-
List<AndOrCriteriaGroup> criteria = new ArrayList<>();
172-
criteria.add(or(column2, isEqualTo(3)));
173-
criteria.add(or(column2, isEqualTo(4)));
174-
criteria.add(or(column2, isEqualTo(5)));
170+
List<AndOrCriteriaGroup> criteria = List.of(
171+
or(column2, isEqualTo(3)),
172+
or(column2, isEqualTo(4)),
173+
or(column2, isEqualTo(5)));
175174

176175
SelectStatementProvider selectStatement = select(column1, column2)
177176
.from(foo)

src/test/java/org/mybatis/dynamic/sql/InvalidSQLTest.java

+2-4
Original file line numberDiff line numberDiff line change
@@ -115,8 +115,7 @@ void testInvalidMultipleInsertStatementNoRecords() {
115115

116116
@Test
117117
void testInvalidMultipleInsertStatementNoMappings() {
118-
List<TestRow> records = new ArrayList<>();
119-
records.add(new TestRow());
118+
List<TestRow> records = List.of(new TestRow());
120119

121120
MultiRowInsertModel.Builder<TestRow> builder = new MultiRowInsertModel.Builder<TestRow>()
122121
.withRecords(records)
@@ -137,8 +136,7 @@ void testInvalidBatchInsertStatementNoRecords() {
137136

138137
@Test
139138
void testInvalidBatchInsertStatementNoMappings() {
140-
List<TestRow> records = new ArrayList<>();
141-
records.add(new TestRow());
139+
List<TestRow> records = List.of(new TestRow());
142140

143141
BatchInsertModel.Builder<TestRow> builder = new BatchInsertModel.Builder<TestRow>()
144142
.withRecords(records)

0 commit comments

Comments
 (0)