From afd40a7cd785e85b19680583c455642a49a0df94 Mon Sep 17 00:00:00 2001 From: devplant Date: Wed, 5 Apr 2023 18:27:32 +0300 Subject: [PATCH 1/3] RED-5694 - Upgrade spring-boot to 3.0 - update platform-dependency - update other dependencies versions to the latest --- search-service-v1/pom.xml | 6 +++--- search-service-v1/search-service-server-v1/pom.xml | 12 +++++------- .../red/service/search/v1/server/model/Text.java | 3 --- .../multitenancy/EncryptionDecryptionService.java | 2 -- .../server/service/elasticsearch/EsClientCache.java | 3 +-- .../server/service/opensearch/OpensearchClient.java | 3 +-- .../service/opensearch/OpensearchClientCache.java | 3 +-- .../AbstractElasticsearchIntegrationTest.java | 8 ++++++-- .../service/AbstractOpensearchIntegrationTest.java | 4 +++- .../search/v1/server/service/ElasticsearchTest.java | 2 +- .../search/v1/server/service/OpensearchTest.java | 2 +- 11 files changed, 22 insertions(+), 26 deletions(-) diff --git a/search-service-v1/pom.xml b/search-service-v1/pom.xml index ce223c5..13c294e 100644 --- a/search-service-v1/pom.xml +++ b/search-service-v1/pom.xml @@ -5,7 +5,7 @@ platform-dependency com.iqser.red - 1.17.0 + 2.2.0 4.0.0 @@ -28,7 +28,7 @@ com.iqser.red platform-commons-dependency - 1.22.0 + 2.1.0 import pom @@ -48,7 +48,7 @@ org.owasp dependency-check-maven - 6.3.1 + 8.1.2 ALL diff --git a/search-service-v1/search-service-server-v1/pom.xml b/search-service-v1/search-service-server-v1/pom.xml index ed1f5c5..ba9ed4e 100644 --- a/search-service-v1/search-service-server-v1/pom.xml +++ b/search-service-v1/search-service-server-v1/pom.xml @@ -19,7 +19,6 @@ com.google.guava guava - 31.1-jre com.iqser.red.commons @@ -70,14 +69,14 @@ org.opensearch.client opensearch-java - 2.0.0 + 2.3.0 jakarta.json jakarta.json-api - 2.0.1 + 2.1.1 @@ -94,7 +93,7 @@ org.springframework.boot spring-boot-starter-amqp - 2.3.1.RELEASE + 3.0.5 @@ -111,7 +110,7 @@ org.testcontainers elasticsearch - 1.16.3 + 1.17.6 test @@ -123,7 +122,7 @@ org.springframework.amqp spring-rabbit-test - 2.3.1 + 3.0.3 test @@ -136,7 +135,6 @@ lombok.launch.AnnotationProcessorHider$AnnotationProcessor - com.dslplatform.json.processor.CompiledJsonAnnotationProcessor diff --git a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/model/Text.java b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/model/Text.java index 82ed8d9..82de6fd 100644 --- a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/model/Text.java +++ b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/model/Text.java @@ -3,14 +3,11 @@ package com.iqser.red.service.search.v1.server.model; import java.util.ArrayList; import java.util.List; -import com.dslplatform.json.CompiledJson; - import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @Data -@CompiledJson @NoArgsConstructor @AllArgsConstructor public class Text { diff --git a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/multitenancy/EncryptionDecryptionService.java b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/multitenancy/EncryptionDecryptionService.java index 775eb26..70a8b7c 100644 --- a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/multitenancy/EncryptionDecryptionService.java +++ b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/multitenancy/EncryptionDecryptionService.java @@ -6,7 +6,6 @@ import java.security.SecureRandom; import java.security.spec.KeySpec; import java.util.Base64; -import javax.annotation.PostConstruct; import javax.crypto.Cipher; import javax.crypto.SecretKey; import javax.crypto.SecretKeyFactory; @@ -30,7 +29,6 @@ public class EncryptionDecryptionService { @SneakyThrows - @PostConstruct protected void postConstruct() { SecureRandom secureRandom = new SecureRandom(); diff --git a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/elasticsearch/EsClientCache.java b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/elasticsearch/EsClientCache.java index f9c8846..6c20399 100644 --- a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/elasticsearch/EsClientCache.java +++ b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/elasticsearch/EsClientCache.java @@ -3,8 +3,6 @@ package com.iqser.red.service.search.v1.server.service.elasticsearch; import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; -import javax.annotation.PostConstruct; - import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.stereotype.Service; @@ -18,6 +16,7 @@ import com.iqser.red.service.search.v1.server.model.Connection; import com.iqser.red.service.search.v1.server.multitenancy.EncryptionDecryptionService; import com.iqser.red.service.search.v1.server.multitenancy.TenantContext; +import jakarta.annotation.PostConstruct; import lombok.RequiredArgsConstructor; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; diff --git a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/opensearch/OpensearchClient.java b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/opensearch/OpensearchClient.java index 49d3918..c37c782 100644 --- a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/opensearch/OpensearchClient.java +++ b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/opensearch/OpensearchClient.java @@ -2,8 +2,6 @@ package com.iqser.red.service.search.v1.server.service.opensearch; import java.util.stream.Collectors; -import javax.annotation.PreDestroy; - import org.apache.http.HttpHost; import org.apache.http.auth.AuthScope; import org.apache.http.auth.UsernamePasswordCredentials; @@ -17,6 +15,7 @@ import org.opensearch.client.transport.rest_client.RestClientTransport; import com.iqser.red.service.persistence.service.v1.api.shared.model.multitenancy.SearchConnection; +import jakarta.annotation.PreDestroy; import lombok.Data; import lombok.experimental.Delegate; diff --git a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/opensearch/OpensearchClientCache.java b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/opensearch/OpensearchClientCache.java index 7d32068..b81989a 100644 --- a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/opensearch/OpensearchClientCache.java +++ b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/opensearch/OpensearchClientCache.java @@ -3,8 +3,6 @@ package com.iqser.red.service.search.v1.server.service.opensearch; import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; -import javax.annotation.PostConstruct; - import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.stereotype.Service; @@ -18,6 +16,7 @@ import com.iqser.red.service.search.v1.server.model.Connection; import com.iqser.red.service.search.v1.server.multitenancy.EncryptionDecryptionService; import com.iqser.red.service.search.v1.server.multitenancy.TenantContext; +import jakarta.annotation.PostConstruct; import lombok.RequiredArgsConstructor; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; diff --git a/search-service-v1/search-service-server-v1/src/test/java/com/iqser/red/service/search/v1/server/service/AbstractElasticsearchIntegrationTest.java b/search-service-v1/search-service-server-v1/src/test/java/com/iqser/red/service/search/v1/server/service/AbstractElasticsearchIntegrationTest.java index 097a548..1c6f7fb 100644 --- a/search-service-v1/search-service-server-v1/src/test/java/com/iqser/red/service/search/v1/server/service/AbstractElasticsearchIntegrationTest.java +++ b/search-service-v1/search-service-server-v1/src/test/java/com/iqser/red/service/search/v1/server/service/AbstractElasticsearchIntegrationTest.java @@ -9,6 +9,7 @@ import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.amqp.RabbitAutoConfiguration; +import org.springframework.boot.test.autoconfigure.actuate.observability.AutoConfigureObservability; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.cloud.openfeign.EnableFeignClients; @@ -17,6 +18,7 @@ import org.springframework.context.ConfigurableApplicationContext; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.FilterType; import org.springframework.context.annotation.Primary; import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.ContextConfiguration; @@ -38,6 +40,7 @@ import com.iqser.red.storage.commons.service.StorageService; @ContextConfiguration(initializers = {AbstractElasticsearchIntegrationTest.Initializer.class}) @EnableFeignClients(basePackageClasses = AbstractElasticsearchIntegrationTest.TestConfiguration.class) @DirtiesContext +@AutoConfigureObservability public abstract class AbstractElasticsearchIntegrationTest { public static final String WAIT_FOR_WRITE_REQUESTS = "elasticsearch.refreshPolicy=wait_for"; @@ -63,7 +66,7 @@ public abstract class AbstractElasticsearchIntegrationTest { public void initialize(ConfigurableApplicationContext configurableApplicationContext) { - var esContainer = new ElasticsearchContainer(DockerImageName.parse("elasticsearch:8.6.0").asCompatibleSubstituteFor("docker.elastic.co/elasticsearch/elasticsearch")); + var esContainer = new ElasticsearchContainer(DockerImageName.parse("elasticsearch:8.6.2").asCompatibleSubstituteFor("docker.elastic.co/elasticsearch/elasticsearch")); esContainer.getEnvMap().put("xpack.security.enabled", "false"); esContainer.start(); @@ -77,7 +80,8 @@ public abstract class AbstractElasticsearchIntegrationTest { protected StorageService storageService; @Configuration - @EnableAutoConfiguration(exclude = {StorageAutoConfiguration.class, RabbitAutoConfiguration.class}) + @EnableAutoConfiguration(exclude = {/*StorageAutoConfiguration.class, */RabbitAutoConfiguration.class}) + @ComponentScan(excludeFilters={@ComponentScan.Filter(type= FilterType.ASSIGNABLE_TYPE, value=StorageAutoConfiguration.class)}) public static class TestConfiguration { @Bean diff --git a/search-service-v1/search-service-server-v1/src/test/java/com/iqser/red/service/search/v1/server/service/AbstractOpensearchIntegrationTest.java b/search-service-v1/search-service-server-v1/src/test/java/com/iqser/red/service/search/v1/server/service/AbstractOpensearchIntegrationTest.java index 66aa5fe..c8ed4f6 100644 --- a/search-service-v1/search-service-server-v1/src/test/java/com/iqser/red/service/search/v1/server/service/AbstractOpensearchIntegrationTest.java +++ b/search-service-v1/search-service-server-v1/src/test/java/com/iqser/red/service/search/v1/server/service/AbstractOpensearchIntegrationTest.java @@ -18,6 +18,7 @@ import org.springframework.context.ConfigurableApplicationContext; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.FilterType; import org.springframework.context.annotation.Primary; import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.ContextConfiguration; @@ -77,7 +78,8 @@ public abstract class AbstractOpensearchIntegrationTest { protected StorageService storageService; @Configuration - @EnableAutoConfiguration(exclude = {StorageAutoConfiguration.class, RabbitAutoConfiguration.class}) + @EnableAutoConfiguration(exclude = {RabbitAutoConfiguration.class}) + @ComponentScan(excludeFilters={@ComponentScan.Filter(type= FilterType.ASSIGNABLE_TYPE, value=StorageAutoConfiguration.class)}) public static class TestConfiguration { @Bean diff --git a/search-service-v1/search-service-server-v1/src/test/java/com/iqser/red/service/search/v1/server/service/ElasticsearchTest.java b/search-service-v1/search-service-server-v1/src/test/java/com/iqser/red/service/search/v1/server/service/ElasticsearchTest.java index 3d0bae4..20cede7 100644 --- a/search-service-v1/search-service-server-v1/src/test/java/com/iqser/red/service/search/v1/server/service/ElasticsearchTest.java +++ b/search-service-v1/search-service-server-v1/src/test/java/com/iqser/red/service/search/v1/server/service/ElasticsearchTest.java @@ -11,7 +11,7 @@ import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.core.io.ClassPathResource; -import org.testcontainers.shaded.org.apache.commons.lang.StringUtils; +import org.testcontainers.shaded.org.apache.commons.lang3.StringUtils; import com.fasterxml.jackson.databind.ObjectMapper; import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.dossier.file.WorkflowStatus; diff --git a/search-service-v1/search-service-server-v1/src/test/java/com/iqser/red/service/search/v1/server/service/OpensearchTest.java b/search-service-v1/search-service-server-v1/src/test/java/com/iqser/red/service/search/v1/server/service/OpensearchTest.java index 9ee7106..c51a31b 100644 --- a/search-service-v1/search-service-server-v1/src/test/java/com/iqser/red/service/search/v1/server/service/OpensearchTest.java +++ b/search-service-v1/search-service-server-v1/src/test/java/com/iqser/red/service/search/v1/server/service/OpensearchTest.java @@ -11,7 +11,7 @@ import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.core.io.ClassPathResource; -import org.testcontainers.shaded.org.apache.commons.lang.StringUtils; +import org.testcontainers.shaded.org.apache.commons.lang3.StringUtils; import com.fasterxml.jackson.databind.ObjectMapper; import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.dossier.file.WorkflowStatus; From b1b42ce0d707f3a61e261e73adc95eb58aec3565 Mon Sep 17 00:00:00 2001 From: devplant Date: Wed, 5 Apr 2023 20:19:53 +0300 Subject: [PATCH 2/3] RED-5694 - Upgrade spring-boot to 3.0 - remove commented code --- .../v1/server/service/AbstractElasticsearchIntegrationTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/search-service-v1/search-service-server-v1/src/test/java/com/iqser/red/service/search/v1/server/service/AbstractElasticsearchIntegrationTest.java b/search-service-v1/search-service-server-v1/src/test/java/com/iqser/red/service/search/v1/server/service/AbstractElasticsearchIntegrationTest.java index 1c6f7fb..caeccbc 100644 --- a/search-service-v1/search-service-server-v1/src/test/java/com/iqser/red/service/search/v1/server/service/AbstractElasticsearchIntegrationTest.java +++ b/search-service-v1/search-service-server-v1/src/test/java/com/iqser/red/service/search/v1/server/service/AbstractElasticsearchIntegrationTest.java @@ -80,7 +80,7 @@ public abstract class AbstractElasticsearchIntegrationTest { protected StorageService storageService; @Configuration - @EnableAutoConfiguration(exclude = {/*StorageAutoConfiguration.class, */RabbitAutoConfiguration.class}) + @EnableAutoConfiguration(exclude = {RabbitAutoConfiguration.class}) @ComponentScan(excludeFilters={@ComponentScan.Filter(type= FilterType.ASSIGNABLE_TYPE, value=StorageAutoConfiguration.class)}) public static class TestConfiguration { From 173428771b0ada963e10f0c9348e17f951e28bb8 Mon Sep 17 00:00:00 2001 From: devplant Date: Thu, 6 Apr 2023 13:31:32 +0300 Subject: [PATCH 3/3] RED-5694 - Upgrade spring-boot to 3.0 - remove versions already defined in spring boot - add missing PostConstruct annotation --- search-service-v1/search-service-server-v1/pom.xml | 2 -- .../v1/server/multitenancy/EncryptionDecryptionService.java | 2 ++ 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/search-service-v1/search-service-server-v1/pom.xml b/search-service-v1/search-service-server-v1/pom.xml index ba9ed4e..849eec0 100644 --- a/search-service-v1/search-service-server-v1/pom.xml +++ b/search-service-v1/search-service-server-v1/pom.xml @@ -93,7 +93,6 @@ org.springframework.boot spring-boot-starter-amqp - 3.0.5 @@ -122,7 +121,6 @@ org.springframework.amqp spring-rabbit-test - 3.0.3 test diff --git a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/multitenancy/EncryptionDecryptionService.java b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/multitenancy/EncryptionDecryptionService.java index 70a8b7c..1929009 100644 --- a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/multitenancy/EncryptionDecryptionService.java +++ b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/multitenancy/EncryptionDecryptionService.java @@ -16,6 +16,7 @@ import javax.crypto.spec.SecretKeySpec; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; +import jakarta.annotation.PostConstruct; import lombok.SneakyThrows; @Service @@ -29,6 +30,7 @@ public class EncryptionDecryptionService { @SneakyThrows + @PostConstruct protected void postConstruct() { SecureRandom secureRandom = new SecureRandom();