From e0aa09417a0aaa6b9df497c58918f7a825c373d9 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 20 Aug 2025 04:23:41 +0000 Subject: [PATCH 1/3] Initial plan From 84bc00692540ee0468b4944e4e22f544dbeff51c Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 20 Aug 2025 04:39:59 +0000 Subject: [PATCH 2/3] Fix deprecated ObjectMapper instantiation pattern in batch modules Co-authored-by: rashidi <380073+rashidi@users.noreply.github.com> --- .../rashidi/boot/batch/rest/user/UserJobConfiguration.java | 4 +++- .../zin/rashidi/boot/batch/user/UserJobConfiguration.java | 7 +++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/batch-rest-repository/src/main/java/zin/rashidi/boot/batch/rest/user/UserJobConfiguration.java b/batch-rest-repository/src/main/java/zin/rashidi/boot/batch/rest/user/UserJobConfiguration.java index 5a8fc20c..e5e86bc3 100644 --- a/batch-rest-repository/src/main/java/zin/rashidi/boot/batch/rest/user/UserJobConfiguration.java +++ b/batch-rest-repository/src/main/java/zin/rashidi/boot/batch/rest/user/UserJobConfiguration.java @@ -26,6 +26,8 @@ @Configuration class UserJobConfiguration { + private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper(); + private final JobRepository jobRepository; private final PlatformTransactionManager transactionManager; private final MongoOperations mongo; @@ -52,7 +54,7 @@ private Step step() throws MalformedURLException { private JsonItemReader reader() throws MalformedURLException { JacksonJsonObjectReader jsonObjectReader = new JacksonJsonObjectReader<>(User.class); - jsonObjectReader.setMapper(new ObjectMapper()); + jsonObjectReader.setMapper(OBJECT_MAPPER); return new JsonItemReaderBuilder() .name("userReader") diff --git a/batch-skip-step/src/main/java/zin/rashidi/boot/batch/user/UserJobConfiguration.java b/batch-skip-step/src/main/java/zin/rashidi/boot/batch/user/UserJobConfiguration.java index 9528fd06..1588bf0f 100644 --- a/batch-skip-step/src/main/java/zin/rashidi/boot/batch/user/UserJobConfiguration.java +++ b/batch-skip-step/src/main/java/zin/rashidi/boot/batch/user/UserJobConfiguration.java @@ -7,7 +7,6 @@ import org.springframework.batch.core.repository.JobRepository; import org.springframework.batch.core.step.builder.StepBuilder; import org.springframework.batch.item.ItemProcessor; -import org.springframework.batch.item.database.ItemPreparedStatementSetter; import org.springframework.batch.item.database.JdbcBatchItemWriter; import org.springframework.batch.item.database.builder.JdbcBatchItemWriterBuilder; import org.springframework.batch.item.json.JacksonJsonObjectReader; @@ -19,8 +18,6 @@ import org.springframework.transaction.PlatformTransactionManager; import javax.sql.DataSource; -import java.sql.PreparedStatement; -import java.sql.SQLException; /** * @author Rashidi Zin @@ -28,10 +25,12 @@ @Configuration class UserJobConfiguration { + private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper(); + private JsonItemReader reader() { JacksonJsonObjectReader reader = new JacksonJsonObjectReader<>(UserFile.class); - reader.setMapper(new ObjectMapper()); + reader.setMapper(OBJECT_MAPPER); return new JsonItemReaderBuilder() .jsonObjectReader(reader) From 048fd77c1d4ee15e05bad3674ee7a7b61632c3e8 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 20 Aug 2025 14:29:41 +0000 Subject: [PATCH 3/3] Fix deprecated TextIndexDefinitionBuilder constructor usage in MongoDB module Co-authored-by: rashidi <380073+rashidi@users.noreply.github.com> --- .../data/mongodb/character/CharacterSearchRepositoryImpl.java | 4 ++-- .../boot/data/mongodb/character/CharacterRepositoryTests.java | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/data-mongodb-full-text-search/src/main/java/zin/rashidi/boot/data/mongodb/character/CharacterSearchRepositoryImpl.java b/data-mongodb-full-text-search/src/main/java/zin/rashidi/boot/data/mongodb/character/CharacterSearchRepositoryImpl.java index c5c97f5a..c21916ea 100644 --- a/data-mongodb-full-text-search/src/main/java/zin/rashidi/boot/data/mongodb/character/CharacterSearchRepositoryImpl.java +++ b/data-mongodb-full-text-search/src/main/java/zin/rashidi/boot/data/mongodb/character/CharacterSearchRepositoryImpl.java @@ -4,7 +4,7 @@ import org.springframework.data.domain.Sort; import org.springframework.data.mongodb.core.MongoOperations; -import org.springframework.data.mongodb.core.index.TextIndexDefinition.TextIndexDefinitionBuilder; +import org.springframework.data.mongodb.core.index.TextIndexDefinition; import org.springframework.data.mongodb.core.query.TextCriteria; import org.springframework.data.mongodb.core.query.TextQuery; @@ -22,7 +22,7 @@ class CharacterSearchRepositoryImpl implements CharacterSearchRepository { @Override public List findByText(String text, Sort sort) { operations.indexOps(Character.class) - .createIndex(new TextIndexDefinitionBuilder().onFields("name", "publisher").build()); + .createIndex(TextIndexDefinition.builder().onFields("name", "publisher").build()); var parameters = text.split(" "); var query = TextQuery.queryText(new TextCriteria().matchingAny(parameters)).with(sort); diff --git a/data-mongodb-full-text-search/src/test/java/zin/rashidi/boot/data/mongodb/character/CharacterRepositoryTests.java b/data-mongodb-full-text-search/src/test/java/zin/rashidi/boot/data/mongodb/character/CharacterRepositoryTests.java index dddb2a70..22bde4c1 100644 --- a/data-mongodb-full-text-search/src/test/java/zin/rashidi/boot/data/mongodb/character/CharacterRepositoryTests.java +++ b/data-mongodb-full-text-search/src/test/java/zin/rashidi/boot/data/mongodb/character/CharacterRepositoryTests.java @@ -13,7 +13,7 @@ import org.springframework.boot.testcontainers.service.connection.ServiceConnection; import org.springframework.data.domain.Sort; import org.springframework.data.mongodb.core.MongoOperations; -import org.springframework.data.mongodb.core.index.TextIndexDefinition.TextIndexDefinitionBuilder; +import org.springframework.data.mongodb.core.index.TextIndexDefinition; import org.springframework.data.mongodb.core.query.TextCriteria; import org.testcontainers.containers.MongoDBContainer; import org.testcontainers.junit.jupiter.Container; @@ -40,7 +40,7 @@ class CharacterRepositoryTests { @DisplayName("Generated query: Search for 'captain marvel' should return 'Captain Marvel' and 'Thanos'") void withGeneratedQuery() { // Simulate predefined index - operations.indexOps(Character.class).ensureIndex(new TextIndexDefinitionBuilder().onFields("name", "publisher").build()); + operations.indexOps(Character.class).ensureIndex(TextIndexDefinition.builder().onFields("name", "publisher").build()); var characters = repository.findAllBy(new TextCriteria().matchingAny("captain", "marvel"), Sort.by("name"));