diff --git a/search-service-v1/search-service-api-v1/src/main/java/com/iqser/red/service/search/v1/resources/SearchResource.java b/search-service-v1/search-service-api-v1/src/main/java/com/iqser/red/service/search/v1/resources/SearchResource.java index b63c129..a5c30da 100644 --- a/search-service-v1/search-service-api-v1/src/main/java/com/iqser/red/service/search/v1/resources/SearchResource.java +++ b/search-service-v1/search-service-api-v1/src/main/java/com/iqser/red/service/search/v1/resources/SearchResource.java @@ -3,6 +3,7 @@ package com.iqser.red.service.search.v1.resources; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.ResponseStatus; @@ -17,7 +18,7 @@ public interface SearchResource { @ResponseBody @ResponseStatus(value = HttpStatus.OK) - @GetMapping(value = SEARCH_PATH, consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) + @PostMapping(value = SEARCH_PATH, consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) SearchResult getDossierStatus(@RequestBody SearchRequest searchRequest); } diff --git a/search-service-v1/search-service-server-v1/pom.xml b/search-service-v1/search-service-server-v1/pom.xml index 3fa5fad..202606c 100644 --- a/search-service-v1/search-service-server-v1/pom.xml +++ b/search-service-v1/search-service-server-v1/pom.xml @@ -13,9 +13,15 @@ 2.70.0 + 0.6.0 + + com.knecon.fforesight + tenant-commons + ${tennat-commons.version} + com.google.guava guava diff --git a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/Application.java b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/Application.java index 0f92356..34f5292 100644 --- a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/Application.java +++ b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/Application.java @@ -2,6 +2,7 @@ package com.iqser.red.service.search.v1.server; import org.springframework.boot.SpringApplication; import org.springframework.boot.actuate.autoconfigure.security.servlet.ManagementWebSecurityAutoConfiguration; +import org.springframework.boot.autoconfigure.ImportAutoConfiguration; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration; import org.springframework.boot.context.properties.EnableConfigurationProperties; @@ -10,17 +11,16 @@ import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Import; import com.iqser.red.service.search.v1.server.client.FileStatusClient; -import com.iqser.red.service.search.v1.server.multitenancy.AsyncConfig; -import com.iqser.red.service.search.v1.server.multitenancy.MultiTenancyMessagingConfiguration; -import com.iqser.red.service.search.v1.server.multitenancy.MultiTenancyWebConfiguration; import com.iqser.red.service.search.v1.server.settings.ElasticsearchSettings; import com.iqser.red.service.search.v1.server.settings.SearchServiceSettings; import com.iqser.red.storage.commons.StorageAutoConfiguration; +import com.knecon.fforesight.tenantcommons.MultiTenancyAutoConfiguration; import io.micrometer.core.aop.TimedAspect; import io.micrometer.core.instrument.MeterRegistry; -@Import({MultiTenancyWebConfiguration.class, AsyncConfig.class, MultiTenancyMessagingConfiguration.class, StorageAutoConfiguration.class}) +@ImportAutoConfiguration({MultiTenancyAutoConfiguration.class}) +@Import({StorageAutoConfiguration.class}) @EnableFeignClients(basePackageClasses = FileStatusClient.class) @EnableConfigurationProperties({ElasticsearchSettings.class, SearchServiceSettings.class}) @SpringBootApplication(exclude = {SecurityAutoConfiguration.class, ManagementWebSecurityAutoConfiguration.class}) diff --git a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/client/TenantsClient.java b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/client/TenantsClient.java deleted file mode 100644 index 0aaa686..0000000 --- a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/client/TenantsClient.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.iqser.red.service.search.v1.server.client; - -import org.springframework.cloud.openfeign.FeignClient; - -import com.iqser.red.service.persistence.service.v1.api.internal.resources.TenantsResource; - -@FeignClient(name = "TenantsResource", url = "${persistence-service.url}") -public interface TenantsClient extends TenantsResource { - -} diff --git a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/migration/MigrationStarterService.java b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/migration/MigrationStarterService.java index 9d58a48..bc7a2f7 100644 --- a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/migration/MigrationStarterService.java +++ b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/migration/MigrationStarterService.java @@ -8,11 +8,11 @@ import org.springframework.stereotype.Service; import com.iqser.red.service.search.v1.model.IndexMessage; import com.iqser.red.service.search.v1.model.IndexMessageType; -import com.iqser.red.service.search.v1.server.client.TenantsClient; -import com.iqser.red.service.search.v1.server.multitenancy.TenantContext; import com.iqser.red.service.search.v1.server.queue.IndexingMessageReceiver; import com.iqser.red.service.search.v1.server.service.IndexInformationService; import com.iqser.red.service.search.v1.server.settings.SearchServiceSettings; +import com.knecon.fforesight.tenantcommons.TenantContext; +import com.knecon.fforesight.tenantcommons.TenantsClient; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -45,4 +45,4 @@ public class MigrationStarterService { } } -} \ No newline at end of file +} diff --git a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/model/Connection.java b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/model/Connection.java new file mode 100644 index 0000000..fb3efbe --- /dev/null +++ b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/model/Connection.java @@ -0,0 +1,21 @@ +package com.iqser.red.service.search.v1.server.model; + + +import com.knecon.fforesight.tenantcommons.model.SearchConnection; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@Data +@Builder +@AllArgsConstructor +@EqualsAndHashCode(onlyExplicitlyIncluded = true) +public class Connection { + + @EqualsAndHashCode.Include + private String hosts; + private SearchConnection searchConnection; + +} diff --git a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/multitenancy/AsyncConfig.java b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/multitenancy/AsyncConfig.java deleted file mode 100644 index 12c4b72..0000000 --- a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/multitenancy/AsyncConfig.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.iqser.red.service.search.v1.server.multitenancy; - -import java.util.concurrent.Executor; - -import org.springframework.context.annotation.Configuration; -import org.springframework.scheduling.annotation.AsyncConfigurerSupport; -import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; - -@Configuration -public class AsyncConfig extends AsyncConfigurerSupport { - - @Override - public Executor getAsyncExecutor() { - - ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); - - executor.setCorePoolSize(7); - executor.setMaxPoolSize(42); - executor.setQueueCapacity(11); - executor.setThreadNamePrefix("TenantAwareTaskExecutor-"); - executor.setTaskDecorator(new TenantAwareTaskDecorator()); - executor.initialize(); - - return executor; - } - -} \ No newline at end of file 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 deleted file mode 100644 index 1929009..0000000 --- a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/multitenancy/EncryptionDecryptionService.java +++ /dev/null @@ -1,105 +0,0 @@ -package com.iqser.red.service.search.v1.server.multitenancy; - -import java.nio.ByteBuffer; -import java.nio.charset.StandardCharsets; -import java.security.SecureRandom; -import java.security.spec.KeySpec; -import java.util.Base64; - -import javax.crypto.Cipher; -import javax.crypto.SecretKey; -import javax.crypto.SecretKeyFactory; -import javax.crypto.spec.GCMParameterSpec; -import javax.crypto.spec.PBEKeySpec; -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 -public class EncryptionDecryptionService { - - @Value("${search-service.crypto.key:redaction}") - private String key; - - private SecretKey secretKey; - private byte[] iv; - - - @SneakyThrows - @PostConstruct - protected void postConstruct() { - - SecureRandom secureRandom = new SecureRandom(); - iv = new byte[12]; - secureRandom.nextBytes(iv); - secretKey = generateSecretKey(key, iv); - } - - - @SneakyThrows - public String encrypt(String strToEncrypt) { - - return Base64.getEncoder().encodeToString(encrypt(strToEncrypt.getBytes())); - } - - - @SneakyThrows - public String decrypt(String strToDecrypt) { - - byte[] bytes = Base64.getDecoder().decode(strToDecrypt); - return new String(decrypt(bytes), StandardCharsets.UTF_8); - } - - - @SneakyThrows - public byte[] encrypt(byte[] data) { - - Cipher cipher = Cipher.getInstance("AES/GCM/NoPadding"); - GCMParameterSpec parameterSpec = new GCMParameterSpec(128, iv); - cipher.init(Cipher.ENCRYPT_MODE, secretKey, parameterSpec); - byte[] encryptedData = cipher.doFinal(data); - ByteBuffer byteBuffer = ByteBuffer.allocate(4 + iv.length + encryptedData.length); - byteBuffer.putInt(iv.length); - byteBuffer.put(iv); - byteBuffer.put(encryptedData); - return byteBuffer.array(); - } - - - @SneakyThrows - public byte[] decrypt(byte[] encryptedData) { - - ByteBuffer byteBuffer = ByteBuffer.wrap(encryptedData); - int noonceSize = byteBuffer.getInt(); - if (noonceSize < 12 || noonceSize >= 16) { - throw new IllegalArgumentException("Nonce size is incorrect. Make sure that the incoming data is an AES encrypted file."); - } - byte[] iv = new byte[noonceSize]; - byteBuffer.get(iv); - - SecretKey secretKey = generateSecretKey(key, iv); - - byte[] cipherBytes = new byte[byteBuffer.remaining()]; - byteBuffer.get(cipherBytes); - - Cipher cipher = Cipher.getInstance("AES/GCM/NoPadding"); - GCMParameterSpec parameterSpec = new GCMParameterSpec(128, iv); - cipher.init(Cipher.DECRYPT_MODE, secretKey, parameterSpec); - return cipher.doFinal(cipherBytes); - } - - - @SneakyThrows - public SecretKey generateSecretKey(String password, byte[] iv) { - - KeySpec spec = new PBEKeySpec(password.toCharArray(), iv, 65536, 128); // AES-128 - SecretKeyFactory secretKeyFactory = SecretKeyFactory.getInstance("PBKDF2WithHmacSHA1"); - byte[] key = secretKeyFactory.generateSecret(spec).getEncoded(); - return new SecretKeySpec(key, "AES"); - } - -} diff --git a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/multitenancy/ForwardTenantInterceptor.java b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/multitenancy/ForwardTenantInterceptor.java deleted file mode 100644 index aa9255c..0000000 --- a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/multitenancy/ForwardTenantInterceptor.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.iqser.red.service.search.v1.server.multitenancy; - -import org.springframework.stereotype.Component; - -import feign.RequestInterceptor; -import feign.RequestTemplate; - -@Component -public class ForwardTenantInterceptor implements RequestInterceptor { - - public static final String TENANT_HEADER_NAME = "X-TENANT-ID"; - - @Override - public void apply(RequestTemplate template) { - // do something - template.header(TENANT_HEADER_NAME, TenantContext.getTenantId()); - } -} \ No newline at end of file diff --git a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/multitenancy/MultiTenancyMessagingConfiguration.java b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/multitenancy/MultiTenancyMessagingConfiguration.java deleted file mode 100644 index dc941e5..0000000 --- a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/multitenancy/MultiTenancyMessagingConfiguration.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.iqser.red.service.search.v1.server.multitenancy; - - -import static com.iqser.red.service.search.v1.server.multitenancy.TenantInterceptor.TENANT_HEADER_NAME; - -import org.springframework.amqp.rabbit.config.AbstractRabbitListenerContainerFactory; -import org.springframework.amqp.rabbit.core.RabbitTemplate; -import org.springframework.beans.BeansException; -import org.springframework.beans.factory.config.BeanPostProcessor; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; - -@Configuration -public class MultiTenancyMessagingConfiguration { - - @Bean - public static BeanPostProcessor multitenancyBeanPostProcessor() { - - return new BeanPostProcessor() { - - @Override - public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException { - - if (bean instanceof RabbitTemplate) { - - ((RabbitTemplate) bean).setBeforePublishPostProcessors(m -> { - m.getMessageProperties().setHeader(TENANT_HEADER_NAME, TenantContext.getTenantId()); - return m; - }); - - } else if (bean instanceof AbstractRabbitListenerContainerFactory) { - - ((AbstractRabbitListenerContainerFactory) bean).setAfterReceivePostProcessors(m -> { - String tenant = m.getMessageProperties().getHeader(TENANT_HEADER_NAME); - - if (tenant != null) { - TenantContext.setTenantId(tenant); - } else { - throw new RuntimeException("No Tenant is set queue message"); - } - return m; - }); - } - return bean; - } - }; - } - -} diff --git a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/multitenancy/MultiTenancyWebConfiguration.java b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/multitenancy/MultiTenancyWebConfiguration.java deleted file mode 100644 index 8877143..0000000 --- a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/multitenancy/MultiTenancyWebConfiguration.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.iqser.red.service.search.v1.server.multitenancy; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.context.annotation.Configuration; -import org.springframework.web.servlet.config.annotation.InterceptorRegistry; - -import com.iqser.red.commons.spring.DefaultWebMvcConfiguration; - -@Configuration -public class MultiTenancyWebConfiguration extends DefaultWebMvcConfiguration { - - private final TenantInterceptor tenantInterceptor; - - - @Autowired - public MultiTenancyWebConfiguration(TenantInterceptor tenantInterceptor) { - - this.tenantInterceptor = tenantInterceptor; - } - - - @Override - public void addInterceptors(InterceptorRegistry registry) { - - registry.addWebRequestInterceptor(tenantInterceptor); - } - -} \ No newline at end of file diff --git a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/multitenancy/StorageConnectionProviderImpl.java b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/multitenancy/StorageConnectionProviderImpl.java deleted file mode 100644 index 4cdde12..0000000 --- a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/multitenancy/StorageConnectionProviderImpl.java +++ /dev/null @@ -1,45 +0,0 @@ -package com.iqser.red.service.search.v1.server.multitenancy; - -import org.springframework.stereotype.Service; - -import com.iqser.red.service.search.v1.server.client.TenantsClient; -import com.iqser.red.storage.commons.model.AzureStorageConnection; -import com.iqser.red.storage.commons.model.S3StorageConnection; -import com.iqser.red.storage.commons.service.StorageConnectionProvider; - -import lombok.RequiredArgsConstructor; - -@Service -@RequiredArgsConstructor -public class StorageConnectionProviderImpl implements StorageConnectionProvider { - - private final TenantsClient tenantsClient; - private final EncryptionDecryptionService encryptionDecryptionService; - - - @Override - public AzureStorageConnection getAzureStorageConnection(String tenantId) { - - var tenant = tenantsClient.getTenant(tenantId); - return AzureStorageConnection.builder() - .connectionString(encryptionDecryptionService.decrypt(tenant.getAzureStorageConnection().getConnectionString())) - .containerName(tenant.getAzureStorageConnection().getContainerName()) - .build(); - } - - - @Override - public S3StorageConnection getS3StorageConnection(String tenantId) { - - var tenant = tenantsClient.getTenant(tenantId); - return S3StorageConnection.builder() - .key(tenant.getS3StorageConnection().getKey()) - .secret(encryptionDecryptionService.decrypt(tenant.getS3StorageConnection().getSecret())) - .signerType(tenant.getS3StorageConnection().getSignerType()) - .bucketName(tenant.getS3StorageConnection().getBucketName()) - .region(tenant.getS3StorageConnection().getRegion()) - .endpoint(tenant.getS3StorageConnection().getEndpoint()) - .build(); - } - -} diff --git a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/multitenancy/TenantAwareTaskDecorator.java b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/multitenancy/TenantAwareTaskDecorator.java deleted file mode 100644 index 0aa811d..0000000 --- a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/multitenancy/TenantAwareTaskDecorator.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.iqser.red.service.search.v1.server.multitenancy; - -import org.springframework.core.task.TaskDecorator; -import org.springframework.lang.NonNull; - -public class TenantAwareTaskDecorator implements TaskDecorator { - - @Override - @NonNull - public Runnable decorate(@NonNull Runnable runnable) { - - String tenantId = TenantContext.getTenantId(); - return () -> { - try { - TenantContext.setTenantId(tenantId); - runnable.run(); - } finally { - TenantContext.setTenantId(null); - } - }; - } - -} \ No newline at end of file diff --git a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/multitenancy/TenantContext.java b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/multitenancy/TenantContext.java deleted file mode 100644 index e68c99f..0000000 --- a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/multitenancy/TenantContext.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.iqser.red.service.search.v1.server.multitenancy; - -import lombok.extern.slf4j.Slf4j; - -@Slf4j -public final class TenantContext { - - private static InheritableThreadLocal currentTenant = new InheritableThreadLocal<>(); - - - public static void setTenantId(String tenantId) { - - log.debug("Setting tenantId to " + tenantId); - currentTenant.set(tenantId); - } - - - public static String getTenantId() { - - return currentTenant.get(); - } - - - public static void clear() { - - currentTenant.remove(); - } - -} \ No newline at end of file diff --git a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/multitenancy/TenantInterceptor.java b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/multitenancy/TenantInterceptor.java deleted file mode 100644 index 0007aa1..0000000 --- a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/multitenancy/TenantInterceptor.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.iqser.red.service.search.v1.server.multitenancy; - -import org.springframework.stereotype.Component; -import org.springframework.ui.ModelMap; -import org.springframework.web.context.request.WebRequest; -import org.springframework.web.context.request.WebRequestInterceptor; - -@Component -public class TenantInterceptor implements WebRequestInterceptor { - - public static final String TENANT_HEADER_NAME = "X-TENANT-ID"; - - - @Override - public void preHandle(WebRequest request) { - - if (request.getHeader(TENANT_HEADER_NAME) != null) { - TenantContext.setTenantId(request.getHeader(TENANT_HEADER_NAME)); - } - } - - - @Override - public void postHandle(WebRequest request, ModelMap model) { - - TenantContext.clear(); - } - - - @Override - public void afterCompletion(WebRequest request, Exception ex) { - - } - -} \ No newline at end of file diff --git a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/queue/IndexingMessageReceiver.java b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/queue/IndexingMessageReceiver.java index f5a43a4..0412798 100644 --- a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/queue/IndexingMessageReceiver.java +++ b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/queue/IndexingMessageReceiver.java @@ -7,6 +7,7 @@ import static com.iqser.red.service.search.v1.server.queue.MessagingConfiguratio import static com.iqser.red.service.search.v1.server.queue.MessagingConfiguration.X_ERROR_INFO_HEADER; import static com.iqser.red.service.search.v1.server.queue.MessagingConfiguration.X_ERROR_INFO_TIMESTAMP_HEADER; +import java.io.IOException; import java.nio.charset.StandardCharsets; import java.time.OffsetDateTime; import java.time.temporal.ChronoUnit; @@ -127,9 +128,9 @@ public class IndexingMessageReceiver { @RabbitHandler @RabbitListener(queues = INDEXING_DQL) - public void receiveIndexingRequestDQL(Message in) throws JsonProcessingException { + public void receiveIndexingRequestDQL(Message in) throws IOException { - var indexRequest = objectMapper.readValue(new String(in.getBody(), StandardCharsets.UTF_8), IndexMessage.class); + var indexRequest = objectMapper.readValue(in.getBody(), IndexMessage.class); String errorLog = "Failed to process indexing request:"; log.info(errorLog + ": {}", indexRequest); String errorMessage = errorLog + in.getMessageProperties().getHeader(X_ERROR_INFO_HEADER); @@ -142,9 +143,9 @@ public class IndexingMessageReceiver { @RabbitHandler @RabbitListener(queues = DELETE_FROM_INDEX_QUEUE) - public void receiveDeleteDocumentRequest(Message in) throws JsonProcessingException { + public void receiveDeleteDocumentRequest(Message in) throws IOException { - var indexRequest = objectMapper.readValue(new String(in.getBody(), StandardCharsets.UTF_8), IndexMessage.class); + var indexRequest = objectMapper.readValue(in.getBody(), IndexMessage.class); log.info("Processing delete document request: {}", indexRequest); try { documentDeleteService.deleteDocument(indexRequest.getFileId()); @@ -162,9 +163,9 @@ public class IndexingMessageReceiver { @RabbitHandler @RabbitListener(queues = DELETE_FROM_INDEX_DLQ) - public void receiveDeleteDocumentRequestDLQ(Message in) throws JsonProcessingException { + public void receiveDeleteDocumentRequestDLQ(Message in) throws IOException { - var indexRequest = objectMapper.readValue(new String(in.getBody(), StandardCharsets.UTF_8), IndexMessage.class); + var indexRequest = objectMapper.readValue(in.getBody(), IndexMessage.class); String errorLog = "Failed to process delete from index request "; log.info(errorLog + ": {}", indexRequest); String errorMessage = errorLog + in.getMessageProperties().getHeader(X_ERROR_INFO_HEADER); @@ -211,17 +212,13 @@ public class IndexingMessageReceiver { private void addFilesToIndexingQueue(String dossierId, List files) { for (FileModel file : files) { - try { - log.info("Will add dossier {} file {} to index queue", dossierId, file.getId()); - rabbitTemplate.convertAndSend(INDEXING_QUEUE, - objectMapper.writeValueAsString(IndexMessage.builder().messageType(IndexMessageType.INSERT).dossierId(dossierId).fileId(file.getId()).build()), - message -> { - message.getMessageProperties().setPriority(99); - return message; - }); - } catch (JsonProcessingException e) { - throw new RuntimeException(e); - } + log.info("Will add dossier {} file {} to index queue", dossierId, file.getId()); + rabbitTemplate.convertAndSend(INDEXING_QUEUE, + IndexMessage.builder().messageType(IndexMessageType.INSERT).dossierId(dossierId).fileId(file.getId()).build(), + message -> { + message.getMessageProperties().setPriority(99); + return message; + }); } } diff --git a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/TextStorageService.java b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/TextStorageService.java index c5e713f..cb7a956 100644 --- a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/TextStorageService.java +++ b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/TextStorageService.java @@ -4,9 +4,9 @@ import org.springframework.stereotype.Service; import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.dossier.file.FileType; import com.iqser.red.service.search.v1.server.model.Text; -import com.iqser.red.service.search.v1.server.multitenancy.TenantContext; import com.iqser.red.storage.commons.exception.StorageObjectDoesNotExist; import com.iqser.red.storage.commons.service.StorageService; +import com.knecon.fforesight.tenantcommons.TenantContext; import io.micrometer.core.annotation.Timed; import lombok.RequiredArgsConstructor; diff --git a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/elasticsearch/DocumentDeleteServiceImpl.java b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/elasticsearch/DocumentDeleteServiceImpl.java index dc29e58..3cb9e8d 100644 --- a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/elasticsearch/DocumentDeleteServiceImpl.java +++ b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/elasticsearch/DocumentDeleteServiceImpl.java @@ -6,9 +6,9 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.stereotype.Service; import com.iqser.red.service.search.v1.server.exception.IndexException; -import com.iqser.red.service.search.v1.server.multitenancy.TenantContext; import com.iqser.red.service.search.v1.server.service.DocumentDeleteService; import com.iqser.red.service.search.v1.server.settings.ElasticsearchSettings; +import com.knecon.fforesight.tenantcommons.TenantContext; import co.elastic.clients.elasticsearch._types.ElasticsearchException; import co.elastic.clients.elasticsearch._types.Refresh; diff --git a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/elasticsearch/DocumentIndexServiceImpl.java b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/elasticsearch/DocumentIndexServiceImpl.java index 4f9dd3e..86f54a7 100644 --- a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/elasticsearch/DocumentIndexServiceImpl.java +++ b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/elasticsearch/DocumentIndexServiceImpl.java @@ -7,9 +7,9 @@ import org.springframework.stereotype.Service; import com.iqser.red.service.search.v1.server.exception.IndexException; import com.iqser.red.service.search.v1.server.model.IndexDocument; -import com.iqser.red.service.search.v1.server.multitenancy.TenantContext; import com.iqser.red.service.search.v1.server.service.DocumentIndexService; import com.iqser.red.service.search.v1.server.settings.ElasticsearchSettings; +import com.knecon.fforesight.tenantcommons.TenantContext; import co.elastic.clients.elasticsearch._types.ElasticsearchException; import co.elastic.clients.elasticsearch._types.Refresh; @@ -41,4 +41,4 @@ public class DocumentIndexServiceImpl implements DocumentIndexService { } } -} \ No newline at end of file +} diff --git a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/elasticsearch/DocumentUpdateServiceImpl.java b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/elasticsearch/DocumentUpdateServiceImpl.java index 9f050b0..7645494 100644 --- a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/elasticsearch/DocumentUpdateServiceImpl.java +++ b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/elasticsearch/DocumentUpdateServiceImpl.java @@ -7,9 +7,9 @@ import org.springframework.stereotype.Service; import com.iqser.red.service.search.v1.server.exception.IndexException; import com.iqser.red.service.search.v1.server.model.IndexDocumentUpdate; -import com.iqser.red.service.search.v1.server.multitenancy.TenantContext; import com.iqser.red.service.search.v1.server.service.DocumentUpdateService; import com.iqser.red.service.search.v1.server.settings.ElasticsearchSettings; +import com.knecon.fforesight.tenantcommons.TenantContext; import co.elastic.clients.elasticsearch._types.ElasticsearchException; import co.elastic.clients.elasticsearch._types.Refresh; @@ -39,4 +39,4 @@ public class DocumentUpdateServiceImpl implements DocumentUpdateService { } } -} \ No newline at end of file +} diff --git a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/elasticsearch/EsClient.java b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/elasticsearch/EsClient.java index 39b53c1..ef1f2cf 100644 --- a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/elasticsearch/EsClient.java +++ b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/elasticsearch/EsClient.java @@ -10,7 +10,7 @@ import org.apache.http.impl.client.BasicCredentialsProvider; import org.elasticsearch.client.RestClient; import org.elasticsearch.client.RestClientBuilder; -import com.iqser.red.service.persistence.service.v1.api.shared.model.multitenancy.SearchConnection; +import com.knecon.fforesight.tenantcommons.model.SearchConnection; import co.elastic.clients.elasticsearch.ElasticsearchClient; import co.elastic.clients.json.jackson.JacksonJsonpMapper; 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 d8a673b..deb6ae2 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 @@ -10,9 +10,9 @@ import com.google.common.cache.CacheBuilder; import com.google.common.cache.CacheLoader; import com.google.common.cache.LoadingCache; import com.google.common.cache.RemovalListener; -import com.iqser.red.service.search.v1.server.client.TenantsClient; -import com.iqser.red.service.search.v1.server.multitenancy.EncryptionDecryptionService; -import com.iqser.red.service.search.v1.server.multitenancy.TenantContext; +import com.knecon.fforesight.tenantcommons.EncryptionDecryptionService; +import com.knecon.fforesight.tenantcommons.TenantContext; +import com.knecon.fforesight.tenantcommons.TenantsClient; import jakarta.annotation.PostConstruct; import lombok.RequiredArgsConstructor; @@ -71,4 +71,4 @@ public class EsClientCache { return clients.get(TenantContext.getTenantId()); } -} \ No newline at end of file +} diff --git a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/elasticsearch/IndexCreatorServiceImpl.java b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/elasticsearch/IndexCreatorServiceImpl.java index 43d41df..14329ca 100644 --- a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/elasticsearch/IndexCreatorServiceImpl.java +++ b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/elasticsearch/IndexCreatorServiceImpl.java @@ -9,8 +9,8 @@ import org.springframework.core.io.ResourceLoader; import org.springframework.stereotype.Service; import com.iqser.red.service.search.v1.server.exception.IndexException; -import com.iqser.red.service.search.v1.server.multitenancy.TenantContext; import com.iqser.red.service.search.v1.server.settings.ElasticsearchSettings; +import com.knecon.fforesight.tenantcommons.TenantContext; import co.elastic.clients.elasticsearch._types.mapping.TypeMapping; import co.elastic.clients.elasticsearch.indices.IndexSettings; @@ -77,4 +77,4 @@ public class IndexCreatorServiceImpl { } } -} \ No newline at end of file +} diff --git a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/elasticsearch/IndexDeleteServiceImpl.java b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/elasticsearch/IndexDeleteServiceImpl.java index 3a30987..b9ec479 100644 --- a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/elasticsearch/IndexDeleteServiceImpl.java +++ b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/elasticsearch/IndexDeleteServiceImpl.java @@ -4,8 +4,8 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.stereotype.Service; import com.iqser.red.service.search.v1.server.exception.IndexException; -import com.iqser.red.service.search.v1.server.multitenancy.TenantContext; import com.iqser.red.service.search.v1.server.service.IndexDeleteService; +import com.knecon.fforesight.tenantcommons.TenantContext; import lombok.RequiredArgsConstructor; import lombok.SneakyThrows; @@ -54,4 +54,4 @@ public class IndexDeleteServiceImpl implements IndexDeleteService { } } -} \ No newline at end of file +} diff --git a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/elasticsearch/SearchServiceImpl.java b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/elasticsearch/SearchServiceImpl.java index 0d3adb7..b318602 100644 --- a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/elasticsearch/SearchServiceImpl.java +++ b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/elasticsearch/SearchServiceImpl.java @@ -21,9 +21,9 @@ import com.iqser.red.service.search.v1.model.SearchResult; import com.iqser.red.service.search.v1.server.exception.IndexException; import com.iqser.red.service.search.v1.server.model.IndexDocument; import com.iqser.red.service.search.v1.server.model.Query; -import com.iqser.red.service.search.v1.server.multitenancy.TenantContext; import com.iqser.red.service.search.v1.server.service.SearchService; import com.iqser.red.service.search.v1.server.utils.QueryStringConverter; +import com.knecon.fforesight.tenantcommons.TenantContext; import co.elastic.clients.elasticsearch._types.FieldValue; import co.elastic.clients.elasticsearch._types.query_dsl.ChildScoreMode; @@ -333,4 +333,4 @@ public class SearchServiceImpl implements SearchService { return page; } -} \ No newline at end of file +} diff --git a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/opensearch/DocumentDeleteServiceImpl.java b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/opensearch/DocumentDeleteServiceImpl.java index 78b3176..f304057 100644 --- a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/opensearch/DocumentDeleteServiceImpl.java +++ b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/opensearch/DocumentDeleteServiceImpl.java @@ -9,9 +9,9 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.stereotype.Service; import com.iqser.red.service.search.v1.server.exception.IndexException; -import com.iqser.red.service.search.v1.server.multitenancy.TenantContext; import com.iqser.red.service.search.v1.server.service.DocumentDeleteService; import com.iqser.red.service.search.v1.server.settings.ElasticsearchSettings; +import com.knecon.fforesight.tenantcommons.TenantContext; import lombok.RequiredArgsConstructor; diff --git a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/opensearch/DocumentIndexServiceImpl.java b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/opensearch/DocumentIndexServiceImpl.java index 39dbb20..b4941c4 100644 --- a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/opensearch/DocumentIndexServiceImpl.java +++ b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/opensearch/DocumentIndexServiceImpl.java @@ -9,9 +9,9 @@ import org.springframework.stereotype.Service; import com.iqser.red.service.search.v1.server.exception.IndexException; import com.iqser.red.service.search.v1.server.model.IndexDocument; -import com.iqser.red.service.search.v1.server.multitenancy.TenantContext; import com.iqser.red.service.search.v1.server.service.DocumentIndexService; import com.iqser.red.service.search.v1.server.settings.ElasticsearchSettings; +import com.knecon.fforesight.tenantcommons.TenantContext; import io.micrometer.core.annotation.Timed; import lombok.RequiredArgsConstructor; diff --git a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/opensearch/DocumentUpdateServiceImpl.java b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/opensearch/DocumentUpdateServiceImpl.java index f7f6fa8..71e6150 100644 --- a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/opensearch/DocumentUpdateServiceImpl.java +++ b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/opensearch/DocumentUpdateServiceImpl.java @@ -9,9 +9,9 @@ import org.springframework.stereotype.Service; import com.iqser.red.service.search.v1.server.exception.IndexException; import com.iqser.red.service.search.v1.server.model.IndexDocumentUpdate; -import com.iqser.red.service.search.v1.server.multitenancy.TenantContext; import com.iqser.red.service.search.v1.server.service.DocumentUpdateService; import com.iqser.red.service.search.v1.server.settings.ElasticsearchSettings; +import com.knecon.fforesight.tenantcommons.TenantContext; import io.micrometer.core.annotation.Timed; import lombok.RequiredArgsConstructor; diff --git a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/opensearch/IndexCreatorServiceImpl.java b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/opensearch/IndexCreatorServiceImpl.java index c8a5674..9019724 100644 --- a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/opensearch/IndexCreatorServiceImpl.java +++ b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/opensearch/IndexCreatorServiceImpl.java @@ -12,8 +12,8 @@ import org.springframework.core.io.ResourceLoader; import org.springframework.stereotype.Service; import com.iqser.red.service.search.v1.server.exception.IndexException; -import com.iqser.red.service.search.v1.server.multitenancy.TenantContext; import com.iqser.red.service.search.v1.server.settings.ElasticsearchSettings; +import com.knecon.fforesight.tenantcommons.TenantContext; import jakarta.json.stream.JsonParser; import lombok.RequiredArgsConstructor; diff --git a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/opensearch/IndexDeleteServiceImpl.java b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/opensearch/IndexDeleteServiceImpl.java index 26d5bc5..f69ab67 100644 --- a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/opensearch/IndexDeleteServiceImpl.java +++ b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/opensearch/IndexDeleteServiceImpl.java @@ -4,8 +4,8 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.stereotype.Service; import com.iqser.red.service.search.v1.server.exception.IndexException; -import com.iqser.red.service.search.v1.server.multitenancy.TenantContext; import com.iqser.red.service.search.v1.server.service.IndexDeleteService; +import com.knecon.fforesight.tenantcommons.TenantContext; import lombok.RequiredArgsConstructor; import lombok.SneakyThrows; 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 c37c782..ae06f8a 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 @@ -13,7 +13,7 @@ import org.opensearch.client.json.jackson.JacksonJsonpMapper; import org.opensearch.client.opensearch.OpenSearchClient; import org.opensearch.client.transport.rest_client.RestClientTransport; -import com.iqser.red.service.persistence.service.v1.api.shared.model.multitenancy.SearchConnection; +import com.knecon.fforesight.tenantcommons.model.SearchConnection; import jakarta.annotation.PreDestroy; import lombok.Data; 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 13f8688..a5a118f 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 @@ -10,9 +10,9 @@ import com.google.common.cache.CacheBuilder; import com.google.common.cache.CacheLoader; import com.google.common.cache.LoadingCache; import com.google.common.cache.RemovalListener; -import com.iqser.red.service.search.v1.server.client.TenantsClient; -import com.iqser.red.service.search.v1.server.multitenancy.EncryptionDecryptionService; -import com.iqser.red.service.search.v1.server.multitenancy.TenantContext; +import com.knecon.fforesight.tenantcommons.EncryptionDecryptionService; +import com.knecon.fforesight.tenantcommons.TenantContext; +import com.knecon.fforesight.tenantcommons.TenantsClient; import jakarta.annotation.PostConstruct; import lombok.RequiredArgsConstructor; @@ -71,4 +71,4 @@ public class OpensearchClientCache { return clients.get(TenantContext.getTenantId()); } -} \ No newline at end of file +} diff --git a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/opensearch/SearchServiceImpl.java b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/opensearch/SearchServiceImpl.java index c9640b8..5994dc7 100644 --- a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/opensearch/SearchServiceImpl.java +++ b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/opensearch/SearchServiceImpl.java @@ -32,9 +32,9 @@ import com.iqser.red.service.search.v1.model.SearchResult; import com.iqser.red.service.search.v1.server.exception.IndexException; import com.iqser.red.service.search.v1.server.model.IndexDocument; import com.iqser.red.service.search.v1.server.model.Query; -import com.iqser.red.service.search.v1.server.multitenancy.TenantContext; import com.iqser.red.service.search.v1.server.service.SearchService; import com.iqser.red.service.search.v1.server.utils.QueryStringConverter; +import com.knecon.fforesight.tenantcommons.TenantContext; import io.micrometer.core.annotation.Timed; import io.micrometer.core.instrument.util.StringUtils; diff --git a/search-service-v1/search-service-server-v1/src/main/resources/application-dev.yaml b/search-service-v1/search-service-server-v1/src/main/resources/application-dev.yaml new file mode 100644 index 0000000..499da9e --- /dev/null +++ b/search-service-v1/search-service-server-v1/src/main/resources/application-dev.yaml @@ -0,0 +1,5 @@ +server: + port: 8099 + +persistence-service.url: "http://localhost:8085" +tenant-user-management-service.url: "http://localhost:8091/tenant-user-management/internal" diff --git a/search-service-v1/search-service-server-v1/src/main/resources/application.yml b/search-service-v1/search-service-server-v1/src/main/resources/application.yaml similarity index 88% rename from search-service-v1/search-service-server-v1/src/main/resources/application.yml rename to search-service-v1/search-service-server-v1/src/main/resources/application.yaml index 2a998de..22c1f6d 100644 --- a/search-service-v1/search-service-server-v1/src/main/resources/application.yml +++ b/search-service-v1/search-service-server-v1/src/main/resources/application.yaml @@ -2,6 +2,8 @@ info: description: Search Service Server V1 persistence-service.url: "http://persistence-service-v1:8080" +tenant-user-management-service.url: "http://tenant-user-management-service:8080/internal" +fforesight.tenants.remote: true server: port: 8080 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 caeccbc..fc01ab0 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 @@ -26,13 +26,13 @@ import org.springframework.test.context.junit.jupiter.SpringExtension; import org.testcontainers.elasticsearch.ElasticsearchContainer; import org.testcontainers.utility.DockerImageName; -import com.iqser.red.service.persistence.service.v1.api.shared.model.multitenancy.SearchConnection; -import com.iqser.red.service.persistence.service.v1.api.shared.model.multitenancy.TenantResponse; import com.iqser.red.service.search.v1.server.Application; -import com.iqser.red.service.search.v1.server.client.TenantsClient; -import com.iqser.red.service.search.v1.server.multitenancy.TenantContext; import com.iqser.red.storage.commons.StorageAutoConfiguration; import com.iqser.red.storage.commons.service.StorageService; +import com.knecon.fforesight.tenantcommons.TenantContext; +import com.knecon.fforesight.tenantcommons.TenantsClient; +import com.knecon.fforesight.tenantcommons.model.SearchConnection; +import com.knecon.fforesight.tenantcommons.model.TenantResponse; @ComponentScan @ExtendWith(SpringExtension.class) 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 c8ed4f6..1eb5a24 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 @@ -25,13 +25,13 @@ import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit.jupiter.SpringExtension; import org.testcontainers.utility.DockerImageName; -import com.iqser.red.service.persistence.service.v1.api.shared.model.multitenancy.SearchConnection; -import com.iqser.red.service.persistence.service.v1.api.shared.model.multitenancy.TenantResponse; import com.iqser.red.service.search.v1.server.Application; -import com.iqser.red.service.search.v1.server.client.TenantsClient; -import com.iqser.red.service.search.v1.server.multitenancy.TenantContext; import com.iqser.red.storage.commons.StorageAutoConfiguration; import com.iqser.red.storage.commons.service.StorageService; +import com.knecon.fforesight.tenantcommons.TenantContext; +import com.knecon.fforesight.tenantcommons.TenantsClient; +import com.knecon.fforesight.tenantcommons.model.SearchConnection; +import com.knecon.fforesight.tenantcommons.model.TenantResponse; @ComponentScan @ExtendWith(SpringExtension.class) diff --git a/search-service-v1/search-service-server-v1/src/test/java/com/iqser/red/service/search/v1/server/service/MetricsIntegrationTest.java b/search-service-v1/search-service-server-v1/src/test/java/com/iqser/red/service/search/v1/server/service/MetricsIntegrationTest.java index 825cccf..83e040c 100644 --- a/search-service-v1/search-service-server-v1/src/test/java/com/iqser/red/service/search/v1/server/service/MetricsIntegrationTest.java +++ b/search-service-v1/search-service-server-v1/src/test/java/com/iqser/red/service/search/v1/server/service/MetricsIntegrationTest.java @@ -22,9 +22,9 @@ import com.iqser.red.service.search.v1.server.client.FileStatusProcessingUpdateC import com.iqser.red.service.search.v1.server.client.IndexInformationClient; import com.iqser.red.service.search.v1.server.controller.SearchController; import com.iqser.red.service.search.v1.server.model.Text; -import com.iqser.red.service.search.v1.server.multitenancy.TenantContext; import com.iqser.red.service.search.v1.server.queue.IndexingMessageReceiver; import com.iqser.red.service.search.v1.server.service.utils.MetricValidationUtils; +import com.knecon.fforesight.tenantcommons.TenantContext; import io.micrometer.prometheus.PrometheusMeterRegistry; import lombok.SneakyThrows; diff --git a/search-service-v1/search-service-server-v1/src/test/resources/application.yml b/search-service-v1/search-service-server-v1/src/test/resources/application.yml index cd435bf..774fa4a 100644 --- a/search-service-v1/search-service-server-v1/src/test/resources/application.yml +++ b/search-service-v1/search-service-server-v1/src/test/resources/application.yml @@ -1,3 +1,4 @@ + ribbon: ConnectTimeout: 600000 ReadTimeout: 600000 @@ -21,3 +22,6 @@ management: metrics.export.prometheus.enabled: true persistence-service.url: 'http://mock.url' + +server: + port: 19547