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