diff --git a/src/main/java/de/itvsh/kop/user/UserService.java b/src/main/java/de/itvsh/kop/user/UserService.java index c9b407655908d81cf306b567288166a176071736..b7c622d7f93bdb1314a20fa4e855d683b866a51a 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 009b7d643955735f1418cf193843f6dddee44fba..0000000000000000000000000000000000000000 --- 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 559a346b2d19f3e4b77c0964ae55b6384f3ad0c5..e98bc4b43da8940e5a12c6bee1324e18642cb4f6 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 d798349050849dedb0a7c70d9a010ed80ca51832..57710a665a312e5e8df854d67f0e67d8fe7497ed 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 1c4241a900f0db397e22822fc3406d2b99d760b3..2a597fb129821b3385f44dd8aa006bf036eba373 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/main/resources/application.yaml b/src/main/resources/application.yaml index 1221622e5387eb58dd6656b4fafc59b025d74770..14a06cba56e00d0d5462330822b03c752638225d 100644 --- a/src/main/resources/application.yaml +++ b/src/main/resources/application.yaml @@ -1,6 +1,6 @@ quarkus: application: - name: KopUserManager + name: kopusermanager mongodb: database: usermanager scheduler: diff --git a/src/test/java/de/itvsh/kop/user/UserRepositoryTest.java b/src/test/java/de/itvsh/kop/user/UserRepositoryTest.java index 057b19529e8b4d702a5cde12df03134a3440e3c2..442db85e3ecdb9e2d770e01a8b1a94db41abe0c2 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 e287509546352d7a48b99d5b3d70d7a13cd2ed33..0000000000000000000000000000000000000000 --- 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 -}