From c7eaf1dfcda8c3520958c3becbb2cdd930669032 Mon Sep 17 00:00:00 2001 From: Jeff Butler Date: Tue, 30 Apr 2024 16:33:33 -0400 Subject: [PATCH 01/12] Update Build for Java 11 --- pom.xml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pom.xml b/pom.xml index c5b04639a..c59ca2ac4 100644 --- a/pom.xml +++ b/pom.xml @@ -57,7 +57,7 @@ 17 - 8 + 11 5.10.2 5.1.1 @@ -68,7 +68,8 @@ org.mybatis.dynamic.sql 1.9.23 - 1.8 + 11 + 1.6 pom.xml,src/main/java,src/main/kotlin src/test/java,src/test/kotlin @@ -84,7 +85,7 @@ org.jetbrains.kotlin - kotlin-stdlib-jdk8 + kotlin-stdlib ${kotlin.version} provided true From eaf951c6e6f7a4f8d9006d2d8d72678520c07c09 Mon Sep 17 00:00:00 2001 From: Jeff Butler Date: Tue, 30 Apr 2024 16:40:49 -0400 Subject: [PATCH 02/12] Better Use of Optional --- .../dynamic/sql/insert/render/GeneralInsertRenderer.java | 3 +-- .../org/mybatis/dynamic/sql/insert/render/InsertRenderer.java | 3 +-- .../org/mybatis/dynamic/sql/update/render/UpdateRenderer.java | 3 +-- .../mybatis/dynamic/sql/where/render/CriterionRenderer.java | 3 +-- 4 files changed, 4 insertions(+), 8 deletions(-) diff --git a/src/main/java/org/mybatis/dynamic/sql/insert/render/GeneralInsertRenderer.java b/src/main/java/org/mybatis/dynamic/sql/insert/render/GeneralInsertRenderer.java index afc1d4b98..c5378b493 100644 --- a/src/main/java/org/mybatis/dynamic/sql/insert/render/GeneralInsertRenderer.java +++ b/src/main/java/org/mybatis/dynamic/sql/insert/render/GeneralInsertRenderer.java @@ -40,8 +40,7 @@ private GeneralInsertRenderer(Builder builder) { public GeneralInsertStatementProvider render() { FieldAndValueCollector collector = model.columnMappings() .map(m -> m.accept(visitor)) - .filter(Optional::isPresent) - .map(Optional::get) + .flatMap(Optional::stream) .collect(FieldAndValueCollector.collect()); Validator.assertFalse(collector.isEmpty(), "ERROR.9"); //$NON-NLS-1$ diff --git a/src/main/java/org/mybatis/dynamic/sql/insert/render/InsertRenderer.java b/src/main/java/org/mybatis/dynamic/sql/insert/render/InsertRenderer.java index 431b3df8f..443695c50 100644 --- a/src/main/java/org/mybatis/dynamic/sql/insert/render/InsertRenderer.java +++ b/src/main/java/org/mybatis/dynamic/sql/insert/render/InsertRenderer.java @@ -35,8 +35,7 @@ private InsertRenderer(Builder builder) { public InsertStatementProvider render() { FieldAndValueCollector collector = model.columnMappings() .map(m -> m.accept(visitor)) - .filter(Optional::isPresent) - .map(Optional::get) + .flatMap(Optional::stream) .collect(FieldAndValueCollector.collect()); Validator.assertFalse(collector.isEmpty(), "ERROR.10"); //$NON-NLS-1$ diff --git a/src/main/java/org/mybatis/dynamic/sql/update/render/UpdateRenderer.java b/src/main/java/org/mybatis/dynamic/sql/update/render/UpdateRenderer.java index 50397ee7f..c25a29ff9 100644 --- a/src/main/java/org/mybatis/dynamic/sql/update/render/UpdateRenderer.java +++ b/src/main/java/org/mybatis/dynamic/sql/update/render/UpdateRenderer.java @@ -85,8 +85,7 @@ private FragmentAndParameters calculateSetPhrase() { "ERROR.18"); //$NON-NLS-1$ FragmentCollector fragmentCollector = fragmentsAndParameters.stream() - .filter(Optional::isPresent) - .map(Optional::get) + .flatMap(Optional::stream) .collect(FragmentCollector.collect()); return toSetPhrase(fragmentCollector); diff --git a/src/main/java/org/mybatis/dynamic/sql/where/render/CriterionRenderer.java b/src/main/java/org/mybatis/dynamic/sql/where/render/CriterionRenderer.java index 6e3e13254..232b68c11 100644 --- a/src/main/java/org/mybatis/dynamic/sql/where/render/CriterionRenderer.java +++ b/src/main/java/org/mybatis/dynamic/sql/where/render/CriterionRenderer.java @@ -135,8 +135,7 @@ private FragmentAndParameters renderExists(ExistsCriterion criterion) { private List renderSubCriteria(List subCriteria) { return subCriteria.stream().map(this::renderAndOrCriteriaGroup) - .filter(Optional::isPresent) - .map(Optional::get) + .flatMap(Optional::stream) .collect(Collectors.toList()); } From cb05e7cc127e07156076e5014a7bd366da5b6189 Mon Sep 17 00:00:00 2001 From: Jeff Butler Date: Tue, 30 Apr 2024 17:05:50 -0400 Subject: [PATCH 03/12] Use List builder when possible --- .../examples/emptywhere/EmptyWhereTest.java | 7 +-- .../examples/simple/MyBatisMapToRowTest.java | 10 +-- .../examples/simple/PersonMapperTest.java | 3 +- .../examples/spring/SpringMapToRowTest.java | 10 +-- .../issues/gh430/NoInitialConditionTest.java | 63 +++++++++---------- .../mybatis/dynamic/sql/InvalidSQLTest.java | 6 +- .../dynamic/sql/insert/MapToRowTest.java | 53 ++++++---------- .../sql/select/SelectStatementTest.java | 4 +- 8 files changed, 60 insertions(+), 96 deletions(-) diff --git a/src/test/java/examples/emptywhere/EmptyWhereTest.java b/src/test/java/examples/emptywhere/EmptyWhereTest.java index 3f6d4a86e..8b3fdc546 100644 --- a/src/test/java/examples/emptywhere/EmptyWhereTest.java +++ b/src/test/java/examples/emptywhere/EmptyWhereTest.java @@ -56,12 +56,7 @@ static List baseVariations() { Variation v4 = new Variation(null, null, ""); - List answer = new ArrayList<>(); - answer.add(v1); - answer.add(v2); - answer.add(v3); - answer.add(v4); - return answer; + return List.of(v1, v2, v3, v4); } static Stream whereVariations() { diff --git a/src/test/java/examples/simple/MyBatisMapToRowTest.java b/src/test/java/examples/simple/MyBatisMapToRowTest.java index f17bca807..2b6f714b2 100644 --- a/src/test/java/examples/simple/MyBatisMapToRowTest.java +++ b/src/test/java/examples/simple/MyBatisMapToRowTest.java @@ -109,10 +109,7 @@ void testInsertMultiple() { try (SqlSession session = sqlSessionFactory.openSession()) { CompoundKeyMapper mapper = session.getMapper(CompoundKeyMapper.class); - List integers = new ArrayList<>(); - integers.add(1); - integers.add(2); - integers.add(3); + List integers = List.of(1, 2, 3); MultiRowInsertStatementProvider insertStatement = insertMultiple(integers) .into(compoundKey) @@ -142,10 +139,7 @@ void testInsertBatch() { try (SqlSession session = sqlSessionFactory.openSession(ExecutorType.BATCH)) { CompoundKeyMapper mapper = session.getMapper(CompoundKeyMapper.class); - List integers = new ArrayList<>(); - integers.add(1); - integers.add(2); - integers.add(3); + List integers = List.of(1, 2, 3); BatchInsert insertStatement = insertBatch(integers) .into(compoundKey) diff --git a/src/test/java/examples/simple/PersonMapperTest.java b/src/test/java/examples/simple/PersonMapperTest.java index 3a8ee5b85..89f3a90f1 100644 --- a/src/test/java/examples/simple/PersonMapperTest.java +++ b/src/test/java/examples/simple/PersonMapperTest.java @@ -253,8 +253,7 @@ void testFirstNameIn() { @Test void testOrderByCollection() { - Collection orderByColumns = new ArrayList<>(); - orderByColumns.add(firstName); + Collection orderByColumns = List.of(firstName); try (SqlSession session = sqlSessionFactory.openSession()) { PersonMapper mapper = session.getMapper(PersonMapper.class); diff --git a/src/test/java/examples/spring/SpringMapToRowTest.java b/src/test/java/examples/spring/SpringMapToRowTest.java index 91271b39f..c3b1077c9 100644 --- a/src/test/java/examples/spring/SpringMapToRowTest.java +++ b/src/test/java/examples/spring/SpringMapToRowTest.java @@ -74,10 +74,7 @@ void testInsertOne() { @Test void testInsertMultiple() { - List integers = new ArrayList<>(); - integers.add(1); - integers.add(2); - integers.add(3); + List integers = List.of(1, 2, 3); MultiRowInsertStatementProvider insertStatement = insertMultiple(integers) .into(compoundKey) @@ -102,10 +99,7 @@ void testInsertMultiple() { @Test void testInsertBatch() { - List integers = new ArrayList<>(); - integers.add(1); - integers.add(2); - integers.add(3); + List integers = List.of(1, 2, 3); BatchInsert insertStatement = insertBatch(integers) .into(compoundKey) diff --git a/src/test/java/issues/gh430/NoInitialConditionTest.java b/src/test/java/issues/gh430/NoInitialConditionTest.java index b9104d43e..22f5c954c 100644 --- a/src/test/java/issues/gh430/NoInitialConditionTest.java +++ b/src/test/java/issues/gh430/NoInitialConditionTest.java @@ -19,7 +19,7 @@ import static org.mybatis.dynamic.sql.SqlBuilder.*; import static org.mybatis.dynamic.sql.subselect.FooDynamicSqlSupport.*; -import java.util.ArrayList; +import java.util.Collections; import java.util.Date; import java.util.List; @@ -32,7 +32,7 @@ class NoInitialConditionTest { @Test void testNoInitialConditionEmptyList() { - List criteria = new ArrayList<>(); + List criteria = Collections.emptyList(); SelectStatementProvider selectStatement = buildSelectStatement(criteria); @@ -43,8 +43,7 @@ void testNoInitialConditionEmptyList() { @Test void testNoInitialConditionSingleSub() { - List criteria = new ArrayList<>(); - criteria.add(or(column2, isEqualTo(3))); + List criteria = List.of(or(column2, isEqualTo(3))); SelectStatementProvider selectStatement = buildSelectStatement(criteria); @@ -56,10 +55,10 @@ void testNoInitialConditionSingleSub() { @Test void testNoInitialConditionMultipleSubs() { - List criteria = new ArrayList<>(); - criteria.add(or(column2, isEqualTo(3))); - criteria.add(or(column2, isEqualTo(4))); - criteria.add(or(column2, isEqualTo(5))); + List criteria = List.of( + or(column2, isEqualTo(3)), + or(column2, isEqualTo(4)), + or(column2, isEqualTo(5))); SelectStatementProvider selectStatement = buildSelectStatement(criteria); @@ -71,10 +70,10 @@ void testNoInitialConditionMultipleSubs() { @Test void testNoInitialConditionWhereMultipleSubs() { - List criteria = new ArrayList<>(); - criteria.add(or(column2, isEqualTo(3))); - criteria.add(or(column2, isEqualTo(4))); - criteria.add(or(column2, isEqualTo(5))); + List criteria = List.of( + or(column2, isEqualTo(3)), + or(column2, isEqualTo(4)), + or(column2, isEqualTo(5))); SelectStatementProvider selectStatement = select(column1, column2) .from(foo) @@ -90,10 +89,10 @@ void testNoInitialConditionWhereMultipleSubs() { @Test void testNoInitialConditionWhereNotMultipleSubs() { - List criteria = new ArrayList<>(); - criteria.add(or(column2, isEqualTo(3))); - criteria.add(or(column2, isEqualTo(4))); - criteria.add(or(column2, isEqualTo(5))); + List criteria = List.of( + or(column2, isEqualTo(3)), + or(column2, isEqualTo(4)), + or(column2, isEqualTo(5))); SelectStatementProvider selectStatement = select(column1, column2) .from(foo) @@ -110,10 +109,10 @@ void testNoInitialConditionWhereNotMultipleSubs() { @Test void testNoInitialConditionWhereGroupMultipleSubs() { - List criteria = new ArrayList<>(); - criteria.add(or(column2, isEqualTo(3))); - criteria.add(or(column2, isEqualTo(4))); - criteria.add(or(column2, isEqualTo(5))); + List criteria = List.of( + or(column2, isEqualTo(3)), + or(column2, isEqualTo(4)), + or(column2, isEqualTo(5))); SelectStatementProvider selectStatement = select(column1, column2) .from(foo) @@ -130,10 +129,10 @@ void testNoInitialConditionWhereGroupMultipleSubs() { @Test void testNoInitialConditionWhereCCAndMultipleSubs() { - List criteria = new ArrayList<>(); - criteria.add(or(column2, isEqualTo(3))); - criteria.add(or(column2, isEqualTo(4))); - criteria.add(or(column2, isEqualTo(5))); + List criteria = List.of( + or(column2, isEqualTo(3)), + or(column2, isEqualTo(4)), + or(column2, isEqualTo(5))); SelectStatementProvider selectStatement = select(column1, column2) .from(foo) @@ -149,10 +148,10 @@ void testNoInitialConditionWhereCCAndMultipleSubs() { @Test void testNoInitialConditionWhereCCOrMultipleSubs() { - List criteria = new ArrayList<>(); - criteria.add(or(column2, isEqualTo(3))); - criteria.add(or(column2, isEqualTo(4))); - criteria.add(or(column2, isEqualTo(5))); + List criteria = List.of( + or(column2, isEqualTo(3)), + or(column2, isEqualTo(4)), + or(column2, isEqualTo(5))); SelectStatementProvider selectStatement = select(column1, column2) .from(foo) @@ -168,10 +167,10 @@ void testNoInitialConditionWhereCCOrMultipleSubs() { @Test void testNoInitialConditionWhereOrMultipleSubs() { - List criteria = new ArrayList<>(); - criteria.add(or(column2, isEqualTo(3))); - criteria.add(or(column2, isEqualTo(4))); - criteria.add(or(column2, isEqualTo(5))); + List criteria = List.of( + or(column2, isEqualTo(3)), + or(column2, isEqualTo(4)), + or(column2, isEqualTo(5))); SelectStatementProvider selectStatement = select(column1, column2) .from(foo) diff --git a/src/test/java/org/mybatis/dynamic/sql/InvalidSQLTest.java b/src/test/java/org/mybatis/dynamic/sql/InvalidSQLTest.java index acaff0b4f..bd8df6c7a 100644 --- a/src/test/java/org/mybatis/dynamic/sql/InvalidSQLTest.java +++ b/src/test/java/org/mybatis/dynamic/sql/InvalidSQLTest.java @@ -115,8 +115,7 @@ void testInvalidMultipleInsertStatementNoRecords() { @Test void testInvalidMultipleInsertStatementNoMappings() { - List records = new ArrayList<>(); - records.add(new TestRow()); + List records = List.of(new TestRow()); MultiRowInsertModel.Builder builder = new MultiRowInsertModel.Builder() .withRecords(records) @@ -137,8 +136,7 @@ void testInvalidBatchInsertStatementNoRecords() { @Test void testInvalidBatchInsertStatementNoMappings() { - List records = new ArrayList<>(); - records.add(new TestRow()); + List records = List.of(new TestRow()); BatchInsertModel.Builder builder = new BatchInsertModel.Builder() .withRecords(records) diff --git a/src/test/java/org/mybatis/dynamic/sql/insert/MapToRowTest.java b/src/test/java/org/mybatis/dynamic/sql/insert/MapToRowTest.java index cd4871f14..fc8c17ad5 100644 --- a/src/test/java/org/mybatis/dynamic/sql/insert/MapToRowTest.java +++ b/src/test/java/org/mybatis/dynamic/sql/insert/MapToRowTest.java @@ -20,7 +20,6 @@ import static org.mybatis.dynamic.sql.SqlBuilder.insertMultiple; import java.sql.JDBCType; -import java.util.ArrayList; import java.util.List; import org.junit.jupiter.api.Test; @@ -37,10 +36,10 @@ class MapToRowTest { @Test void testBasicInsertMultipleWithMyBatis() { - List records = new ArrayList<>(); - records.add(new Record(33, 1)); - records.add(new Record(33, 2)); - records.add(new Record(33, 3)); + List records = List.of( + new Record(33, 1), + new Record(33, 2), + new Record(33, 3)); MultiRowInsertStatementProvider insertStatement = insertMultiple(records) .into(foo) @@ -55,10 +54,10 @@ void testBasicInsertMultipleWithMyBatis() { @Test void testBasicInsertMultipleWithSpring() { - List records = new ArrayList<>(); - records.add(new Record(33, 1)); - records.add(new Record(33, 2)); - records.add(new Record(33, 3)); + List records = List.of( + new Record(33, 1), + new Record(33, 2), + new Record(33, 3)); MultiRowInsertStatementProvider insertStatement = insertMultiple(records) .into(foo) @@ -73,10 +72,7 @@ void testBasicInsertMultipleWithSpring() { @Test void testBasicInsertMultipleRowMappingWithMyBatis() { - List integers = new ArrayList<>(); - integers.add(1); - integers.add(2); - integers.add(3); + List integers = List.of(1, 2, 3); MultiRowInsertStatementProvider insertStatement = insertMultiple(integers) .into(foo) @@ -91,10 +87,7 @@ void testBasicInsertMultipleRowMappingWithMyBatis() { @Test void testBasicInsertMultipleRowMappingWithSpring() { - List integers = new ArrayList<>(); - integers.add(1); - integers.add(2); - integers.add(3); + List integers = List.of(1, 2, 3); MultiRowInsertStatementProvider insertStatement = insertMultiple(integers) .into(foo) @@ -109,10 +102,10 @@ void testBasicInsertMultipleRowMappingWithSpring() { @Test void testBatchInsertWithMyBatis() { - List records = new ArrayList<>(); - records.add(new Record(33, 1)); - records.add(new Record(33, 2)); - records.add(new Record(33, 3)); + List records = List.of( + new Record(33, 1), + new Record(33, 2), + new Record(33, 3)); BatchInsert batchInsert = insertBatch(records) .into(foo) @@ -127,10 +120,10 @@ void testBatchInsertWithMyBatis() { @Test void testBatchInsertWithSpring() { - List records = new ArrayList<>(); - records.add(new Record(33, 1)); - records.add(new Record(33, 2)); - records.add(new Record(33, 3)); + List records = List.of( + new Record(33, 1), + new Record(33, 2), + new Record(33, 3)); BatchInsert batchInsert = insertBatch(records) .into(foo) @@ -145,10 +138,7 @@ void testBatchInsertWithSpring() { @Test void testBatchInsertRowMappingWithMyBatis() { - List integers = new ArrayList<>(); - integers.add(1); - integers.add(2); - integers.add(3); + List integers = List.of(1, 2, 3); BatchInsert batchInsert = insertBatch(integers) .into(foo) @@ -163,10 +153,7 @@ void testBatchInsertRowMappingWithMyBatis() { @Test void testBatchInsertRowMappingWithSpring() { - List integers = new ArrayList<>(); - integers.add(1); - integers.add(2); - integers.add(3); + List integers = List.of(1, 2, 3); BatchInsert batchInsert = insertBatch(integers) .into(foo) diff --git a/src/test/java/org/mybatis/dynamic/sql/select/SelectStatementTest.java b/src/test/java/org/mybatis/dynamic/sql/select/SelectStatementTest.java index 9fd066a42..a243fec17 100644 --- a/src/test/java/org/mybatis/dynamic/sql/select/SelectStatementTest.java +++ b/src/test/java/org/mybatis/dynamic/sql/select/SelectStatementTest.java @@ -180,9 +180,7 @@ void testOrderByMultipleColumns() { @Test void testOrderByMultipleColumnsWithCollection() { - Collection orderByColumns = new ArrayList<>(); - orderByColumns.add(column2.descending()); - orderByColumns.add(column1); + Collection orderByColumns = List.of(column2.descending(), column1); SelectStatementProvider selectStatement = select(column1.as("A_COLUMN1"), column2) .from(table, "a") From c3ec1241a48f354f52a55a17559f1ab38881f6e0 Mon Sep 17 00:00:00 2001 From: Jeff Butler Date: Wed, 1 May 2024 10:43:39 -0400 Subject: [PATCH 04/12] Restore new version --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index ce548f554..c59ca2ac4 100644 --- a/pom.xml +++ b/pom.xml @@ -26,7 +26,7 @@ org.mybatis.dynamic-sql mybatis-dynamic-sql - 1.5.2-SNAPSHOT + 1.6.0-SNAPSHOT MyBatis Dynamic SQL MyBatis framework for generating dynamic SQL From 2856f6c96218e31ec8dc8968119501a9f4b6e0ca Mon Sep 17 00:00:00 2001 From: Jeff Butler Date: Mon, 3 Jun 2024 17:35:30 -0400 Subject: [PATCH 05/12] Update Kotlin API Version --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 1a186bbe3..6effacd82 100644 --- a/pom.xml +++ b/pom.xml @@ -69,7 +69,7 @@ 2.0.0 11 - 1.6 + 1.7 pom.xml,src/main/java,src/main/kotlin src/test/java,src/test/kotlin From a2e024f9ff64f2cb26cb94843cf0d7bdcbeee377 Mon Sep 17 00:00:00 2001 From: Jeff Butler Date: Mon, 3 Jun 2024 17:47:29 -0400 Subject: [PATCH 06/12] Restore changes lost in merge --- pom.xml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/pom.xml b/pom.xml index 6effacd82..3205bf22d 100644 --- a/pom.xml +++ b/pom.xml @@ -207,6 +207,15 @@ + + org.jacoco + jacoco-maven-plugin + + + org/jetbrains/kotlin/**/* + + + org.apache.maven.plugins maven-site-plugin From f887c344ff05b3c72ff2ea7ea7a92b93335473a7 Mon Sep 17 00:00:00 2001 From: Jeff Butler Date: Fri, 7 Jun 2024 10:37:33 -0400 Subject: [PATCH 07/12] Target Java 17 --- pom.xml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 3205bf22d..b846ad845 100644 --- a/pom.xml +++ b/pom.xml @@ -57,7 +57,7 @@ 17 - 11 + 17 5.10.2 5.1.2 @@ -68,7 +68,6 @@ org.mybatis.dynamic.sql 2.0.0 - 11 1.7 pom.xml,src/main/java,src/main/kotlin From 22e75b123979a0e8e9ab0846c415874d087753c8 Mon Sep 17 00:00:00 2001 From: Jeff Butler Date: Fri, 7 Jun 2024 10:44:35 -0400 Subject: [PATCH 08/12] Use Predicate.not for readability --- src/site/markdown/docs/conditions.md | 4 ++-- src/test/java/examples/animal/data/MyInCondition.java | 4 +++- .../data/OptionalConditionsWithPredicatesAnimalDataTest.java | 3 ++- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/site/markdown/docs/conditions.md b/src/site/markdown/docs/conditions.md index d5683f206..55a2e6617 100644 --- a/src/site/markdown/docs/conditions.md +++ b/src/site/markdown/docs/conditions.md @@ -267,7 +267,7 @@ any null or blank string, and you want to trim all strings. This can be accompli .where(animalName, isIn(" Mouse", " ", null, "", "Musk shrew ") .filter(Objects::nonNull) .map(String::trim) - .filter(st -> !st.isEmpty())) + .filter(not(String::isEmpty))) .orderBy(id) .build() .render(RenderingStrategies.MYBATIS3); @@ -284,7 +284,7 @@ public class MyInCondition { return SqlBuilder.isIn(values) .filter(Objects::nonNull) .map(String::trim) - .filter(st -> !st.isEmpty()); + .filter(not(String::isEmpty)); } } ``` diff --git a/src/test/java/examples/animal/data/MyInCondition.java b/src/test/java/examples/animal/data/MyInCondition.java index 86035a838..65453997f 100644 --- a/src/test/java/examples/animal/data/MyInCondition.java +++ b/src/test/java/examples/animal/data/MyInCondition.java @@ -15,6 +15,8 @@ */ package examples.animal.data; +import static java.util.function.Predicate.not; + import java.util.Objects; import org.mybatis.dynamic.sql.SqlBuilder; @@ -25,6 +27,6 @@ public static IsIn isIn(String...values) { return SqlBuilder.isIn(values) .filter(Objects::nonNull) .map((String::trim)) - .filter(st -> !st.isEmpty()); + .filter(not(String::isEmpty)); } } diff --git a/src/test/java/examples/animal/data/OptionalConditionsWithPredicatesAnimalDataTest.java b/src/test/java/examples/animal/data/OptionalConditionsWithPredicatesAnimalDataTest.java index 7dd1e131e..cff21a348 100644 --- a/src/test/java/examples/animal/data/OptionalConditionsWithPredicatesAnimalDataTest.java +++ b/src/test/java/examples/animal/data/OptionalConditionsWithPredicatesAnimalDataTest.java @@ -20,6 +20,7 @@ import static examples.animal.data.AnimalDataDynamicSqlSupport.bodyWeight; import static examples.animal.data.AnimalDataDynamicSqlSupport.brainWeight; import static examples.animal.data.AnimalDataDynamicSqlSupport.id; +import static java.util.function.Predicate.not; import static org.assertj.core.api.Assertions.assertThat; import static org.junit.jupiter.api.Assertions.assertAll; import static org.mybatis.dynamic.sql.SqlBuilder.*; @@ -484,7 +485,7 @@ void testValueStreamTransformer() { .where(animalName, isIn(" Mouse", " ", null, "", "Musk shrew ") .filter(Objects::nonNull) .map(String::trim) - .filter(st -> !st.isEmpty())) + .filter(not(String::isEmpty))) .orderBy(id) .build() .render(RenderingStrategies.MYBATIS3); From a959711d16f0275abe49c7dbb719865076d1e29e Mon Sep 17 00:00:00 2001 From: Jeff Butler Date: Mon, 5 Aug 2024 11:08:38 -0400 Subject: [PATCH 09/12] Update version to 2.0.0! --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 03b765595..0da827e3b 100644 --- a/pom.xml +++ b/pom.xml @@ -26,7 +26,7 @@ org.mybatis.dynamic-sql mybatis-dynamic-sql - 1.6.0-SNAPSHOT + 2.0.0-SNAPSHOT MyBatis Dynamic SQL MyBatis framework for generating dynamic SQL From 523c7497e87700b1d1641f767a15676f98dd7b6f Mon Sep 17 00:00:00 2001 From: Jeff Butler Date: Mon, 5 Aug 2024 11:08:49 -0400 Subject: [PATCH 10/12] Docs --- CHANGELOG.md | 4 ++++ README.md | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d80d14ee3..de304acca 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,10 @@ This log will detail notable changes to MyBatis Dynamic SQL. Full details are available on the GitHub milestone pages. +## Release 2.0.0 - Unreleased + +The library now requires Java 17. + ## Release 1.5.2 - June 3, 2024 This is a small maintenance release with the following changes: diff --git a/README.md b/README.md index 12dac83b3..a9172a1b3 100644 --- a/README.md +++ b/README.md @@ -80,4 +80,4 @@ The library test cases provide several complete examples of using the library in ## Requirements -The library has no dependencies. Java 8 or higher is required. +The library has no dependencies. Version 2.x requires Java 17. Version 1.8 requires Java 8. From 491e9b4af33246acf800a051fbbcf4f136057dbf Mon Sep 17 00:00:00 2001 From: Jeff Butler Date: Mon, 5 Aug 2024 12:00:17 -0400 Subject: [PATCH 11/12] Kick Github --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a9172a1b3..33f212278 100644 --- a/README.md +++ b/README.md @@ -78,6 +78,6 @@ The library test cases provide several complete examples of using the library in | Kotlin | Spring JDBC | Example using Kotlin utility classes for Spring JDBC Template | [../examples/kotlin/spring/canonical](src/test/kotlin/examples/kotlin/spring/canonical) | -## Requirements +## Requirements The library has no dependencies. Version 2.x requires Java 17. Version 1.8 requires Java 8. From 73f5e8f726fd8fe305d41b3e77e79c2083d14a50 Mon Sep 17 00:00:00 2001 From: Jeff Butler Date: Mon, 5 Aug 2024 12:00:25 -0400 Subject: [PATCH 12/12] Kick Github --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 33f212278..a9172a1b3 100644 --- a/README.md +++ b/README.md @@ -78,6 +78,6 @@ The library test cases provide several complete examples of using the library in | Kotlin | Spring JDBC | Example using Kotlin utility classes for Spring JDBC Template | [../examples/kotlin/spring/canonical](src/test/kotlin/examples/kotlin/spring/canonical) | -## Requirements +## Requirements The library has no dependencies. Version 2.x requires Java 17. Version 1.8 requires Java 8.