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