From 1a1e799d40c01a2478fe132e6646cc4f95618f11 Mon Sep 17 00:00:00 2001 From: Ali Oezyetimoglu Date: Wed, 9 Nov 2022 17:22:32 +0100 Subject: [PATCH] RED-5293: removed IllegalArgumentException in ControllerAdvice and specified it in in TenantsController --- .../v1/api/model/multitenancy/TenantRequest.java | 1 - .../v1/server/controller/ControllerAdvice.java | 8 -------- .../v1/server/controller/TenantsController.java | 7 ++++++- .../v1/server/service/TenantManagementService.java | 11 +++++++++-- 4 files changed, 15 insertions(+), 12 deletions(-) diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/multitenancy/TenantRequest.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/multitenancy/TenantRequest.java index c903032b8..f16b42430 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/multitenancy/TenantRequest.java +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/multitenancy/TenantRequest.java @@ -1,7 +1,6 @@ package com.iqser.red.service.persistence.service.v1.api.model.multitenancy; import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotNull; import lombok.AllArgsConstructor; import lombok.Builder; diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/ControllerAdvice.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/ControllerAdvice.java index 76a0923c5..36adba632 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/ControllerAdvice.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/ControllerAdvice.java @@ -106,12 +106,4 @@ public class ControllerAdvice { return new ErrorMessage(OffsetDateTime.now(), String.format("You have empty/wrong formatted parameters: %s", errorListAsString)); } - @ResponseBody - @ResponseStatus(value = HttpStatus.BAD_REQUEST) - @ExceptionHandler(value = IllegalArgumentException.class) - public ErrorMessage handleIllegalArgumentException(IllegalArgumentException e) { - - return new ErrorMessage(OffsetDateTime.now(), e.getMessage()); - } - } diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/TenantsController.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/TenantsController.java index 77550538b..884f4b1b9 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/TenantsController.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/TenantsController.java @@ -10,6 +10,7 @@ import org.springframework.web.bind.annotation.RestController; import com.iqser.red.service.peristence.v1.server.service.DeploymentKeyService; import com.iqser.red.service.peristence.v1.server.service.TenantManagementService; +import com.iqser.red.service.persistence.management.v1.processor.exception.BadRequestException; import com.iqser.red.service.persistence.service.v1.api.model.common.JSONPrimitive; import com.iqser.red.service.persistence.service.v1.api.model.multitenancy.TenantRequest; import com.iqser.red.service.persistence.service.v1.api.model.multitenancy.TenantResponse; @@ -27,7 +28,11 @@ public class TenantsController implements TenantsResource { public void createTenant(@Valid @RequestBody TenantRequest tenantRequest) { - tenantManagementService.createTenant(tenantRequest); + try { + tenantManagementService.createTenant(tenantRequest); + } catch (IllegalArgumentException e) { + throw new BadRequestException(e.getMessage(), e); + } } diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/TenantManagementService.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/TenantManagementService.java index 9fa5643db..a6eaaf628 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/TenantManagementService.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/TenantManagementService.java @@ -36,7 +36,15 @@ import lombok.extern.slf4j.Slf4j; @EnableConfigurationProperties(LiquibaseProperties.class) public class TenantManagementService { - private static final Set SQL_CONNECTION_ERROR_CODES = Set.of("08000", "08003", "08006", "3D000"); + private static final Set SQL_CONNECTION_ERROR_CODES = Set.of( + // connection_exception + "08000", + // connection_does_not_exist + "08003", + // connection_failure + "08006", + // invalid_catalog_name + "3D000"); private final EncryptionDecryptionService encryptionService; @@ -71,7 +79,6 @@ public class TenantManagementService { DataSource tenantDataSource = new SingleConnectionDataSource(connection, false); runLiquibase(tenantDataSource); } catch (PSQLException e) { - log.info("SQL state: {}, msg: {}, localized msg: {}", e.getSQLState(), e.getMessage(), e.getLocalizedMessage()); handleClientException(e); handleInternalException(e); }