From 13a61a76f4274a8af99bb2353abbb0dcfbaf5261 Mon Sep 17 00:00:00 2001 From: OZGCloud <ozgcloud@mgm-tp.com> Date: Tue, 30 Aug 2022 11:57:44 +0200 Subject: [PATCH] OZG-2652 cleanup Exception/Log handling --- .../java/de/itvsh/kop/user/UserService.java | 3 +- .../errorhandling/ExceptionHandler.java | 28 ------------------- .../kop/user/keycloak/KeycloakApiService.java | 9 ++++-- .../de/itvsh/kop/user/sync/LockService.java | 2 -- .../de/itvsh/kop/user/sync/SyncService.java | 1 + .../de/itvsh/kop/user/UserRepositoryTest.java | 8 +++--- .../errorhandling/ExceptionHandlerTest.java | 6 ---- 7 files changed, 13 insertions(+), 44 deletions(-) delete mode 100644 src/main/java/de/itvsh/kop/user/common/errorhandling/ExceptionHandler.java delete mode 100644 src/test/java/de/itvsh/kop/user/common/errorhandling/ExceptionHandlerTest.java diff --git a/src/main/java/de/itvsh/kop/user/UserService.java b/src/main/java/de/itvsh/kop/user/UserService.java index c9b40765..b7c622d7 100644 --- a/src/main/java/de/itvsh/kop/user/UserService.java +++ b/src/main/java/de/itvsh/kop/user/UserService.java @@ -26,8 +26,7 @@ public class UserService { } private User addIdUser(User user, User persistedUser) { - user.setId(persistedUser.getId()); - return user; + return user.toBuilder().id(persistedUser.getId()).build(); } public void markUnsyncedUsersAsDeleted(long lastSyncTimestamp) { diff --git a/src/main/java/de/itvsh/kop/user/common/errorhandling/ExceptionHandler.java b/src/main/java/de/itvsh/kop/user/common/errorhandling/ExceptionHandler.java deleted file mode 100644 index 009b7d64..00000000 --- a/src/main/java/de/itvsh/kop/user/common/errorhandling/ExceptionHandler.java +++ /dev/null @@ -1,28 +0,0 @@ -package de.itvsh.kop.user.common.errorhandling; - -import javax.ws.rs.core.Response; -import javax.ws.rs.core.Response.Status; -import javax.ws.rs.ext.ExceptionMapper; -import javax.ws.rs.ext.Provider; - -import lombok.extern.log4j.Log4j2; - -@Log4j2 -public class ExceptionHandler { - - @Provider - class KeycloakUnavailableExceptionMapper implements ExceptionMapper<KeycloakUnavailableException> { - - @Override - public Response toResponse(KeycloakUnavailableException exception) { - LOG.error(exception.getMessage()); - return buildInternalServerErrorResponse(exception); - } - } - - Response buildInternalServerErrorResponse(TechnicalException exception) { - return Response.status(Status.INTERNAL_SERVER_ERROR) - .entity(exception.getMessage()) - .build(); - } -} \ No newline at end of file diff --git a/src/main/java/de/itvsh/kop/user/keycloak/KeycloakApiService.java b/src/main/java/de/itvsh/kop/user/keycloak/KeycloakApiService.java index 559a346b..e98bc4b4 100644 --- a/src/main/java/de/itvsh/kop/user/keycloak/KeycloakApiService.java +++ b/src/main/java/de/itvsh/kop/user/keycloak/KeycloakApiService.java @@ -19,6 +19,7 @@ import de.itvsh.kop.user.User; import de.itvsh.kop.user.UserResourceMapper; import de.itvsh.kop.user.common.errorhandling.KeycloakClientException; import de.itvsh.kop.user.common.errorhandling.KeycloakUnavailableException; +import io.quarkus.logging.Log; @ApplicationScoped class KeycloakApiService { @@ -54,9 +55,13 @@ class KeycloakApiService { try { return runnable.get(); } catch (ClientErrorException e) { - throw new KeycloakClientException(properties.user(), properties.realm(), keycloakUrl, e); + var exception = new KeycloakClientException(properties.user(), properties.realm(), keycloakUrl, e); + Log.error(exception.getMessage()); + throw exception; } catch (ProcessingException | IllegalStateException e) { - throw new KeycloakUnavailableException(properties.user(), properties.realm(), keycloakUrl, e); + var exception = new KeycloakUnavailableException(properties.user(), properties.realm(), keycloakUrl, e); + Log.error(exception.getMessage()); + throw exception; } } } \ No newline at end of file diff --git a/src/main/java/de/itvsh/kop/user/sync/LockService.java b/src/main/java/de/itvsh/kop/user/sync/LockService.java index 53246930..3c2a6fd4 100644 --- a/src/main/java/de/itvsh/kop/user/sync/LockService.java +++ b/src/main/java/de/itvsh/kop/user/sync/LockService.java @@ -32,13 +32,11 @@ public class LockService { } public void unlock(Lock lock) { - LOG.info("Delete lock..."); repository.delete(lock); LOG.info("Lock deleted"); } public void lock(Instant timestamp) { - LOG.info("Create lock..."); repository.persist(Lock.builder().timestamp(timestamp.toEpochMilli()).build()); LOG.info("Lock created"); } diff --git a/src/main/java/de/itvsh/kop/user/sync/SyncService.java b/src/main/java/de/itvsh/kop/user/sync/SyncService.java index e694f15a..82a06ac5 100644 --- a/src/main/java/de/itvsh/kop/user/sync/SyncService.java +++ b/src/main/java/de/itvsh/kop/user/sync/SyncService.java @@ -41,6 +41,7 @@ class SyncService { .forEach(user -> userService.save(addLastSyncTimestamp(user, lock))); userService.markUnsyncedUsersAsDeleted(lock.getTimestamp()); + LOG.info("sync successful."); } catch (Exception e) { LOG.error("Error syncing user", e); } finally { diff --git a/src/test/java/de/itvsh/kop/user/UserRepositoryTest.java b/src/test/java/de/itvsh/kop/user/UserRepositoryTest.java index 057b1952..442db85e 100644 --- a/src/test/java/de/itvsh/kop/user/UserRepositoryTest.java +++ b/src/test/java/de/itvsh/kop/user/UserRepositoryTest.java @@ -1,12 +1,12 @@ package de.itvsh.kop.user; -import static org.assertj.core.api.Assertions.*; - import javax.inject.Inject; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; +import static org.assertj.core.api.Assertions.*; + import io.quarkus.test.junit.QuarkusTest; @QuarkusTest @@ -25,7 +25,7 @@ class UserRepositoryTest { user2 = UserTestFactory.createBuilder().externalId("unknown").build(); repository.persist(user2); - user2.setExternalId(null); + user2 = user2.toBuilder().externalId(null).build(); } @Test @@ -48,7 +48,7 @@ class UserRepositoryTest { void shouldNotFindByEmptyEmail() { var user = UserTestFactory.createBuilder().externalId("unknown").email(null).build(); repository.persist(user); - user.setExternalId(null); + user = user.toBuilder().externalId(null).build(); var res = repository.findByEmail(user.getEmail()); assertThat(res).isEmpty(); diff --git a/src/test/java/de/itvsh/kop/user/common/errorhandling/ExceptionHandlerTest.java b/src/test/java/de/itvsh/kop/user/common/errorhandling/ExceptionHandlerTest.java deleted file mode 100644 index e2875095..00000000 --- a/src/test/java/de/itvsh/kop/user/common/errorhandling/ExceptionHandlerTest.java +++ /dev/null @@ -1,6 +0,0 @@ -package de.itvsh.kop.user.common.errorhandling; - -class ExceptionHandlerITCase { - - // TODO -} -- GitLab