From 5033049ee8fdc1765ff15b4ef8a39e028d1e3736 Mon Sep 17 00:00:00 2001
From: OZGCloud <ozgcloud@mgm-tp.com>
Date: Sat, 28 Oct 2023 13:27:33 +0200
Subject: [PATCH] OZG-4460 OZG-4495 upgrade to quarkus 3.5.0

---
 build-native-local-docker-image.sh            |  9 ++
 user-manager-server/pom.xml                   | 26 +++++-
 .../itvsh/kop/user/UserProfileResource.java   | 16 ++--
 .../user/UserProfileResourceAssembler.java    |  4 +-
 .../de/itvsh/kop/user/UserRepository.java     |  2 +-
 .../de/itvsh/kop/user/UserResourceMapper.java |  2 +-
 .../java/de/itvsh/kop/user/UserService.java   |  4 +-
 .../de/itvsh/kop/user/common/JwtUtil.java     |  8 +-
 .../kop/user/common/TargetTypeProvider.java   |  2 +-
 .../CurrentCallContextUserService.java        |  2 +-
 .../GrpcCallContextInterceptor.java           |  4 +-
 .../callcontext/HttpRequestInterceptor.java   |  8 +-
 .../callcontext/HttpSecurityFilter.java       | 10 +--
 .../common/errorhandling/ApiErrorUtil.java    |  4 +-
 .../errorhandling/ExceptionHandler.java       | 10 +--
 .../kop/user/common/lock/LockRepository.java  |  2 +-
 .../kop/user/common/lock/LockService.java     |  4 +-
 .../user/keycloak/KeycloakApiProperties.java  |  2 +-
 .../kop/user/keycloak/KeycloakApiService.java | 10 +--
 .../kop/user/keycloak/KeycloakProvider.java   |  4 +-
 .../keycloak/KeycloakUserRemoteService.java   |  4 +-
 .../OrganisationsEinheitGrpcService.java      |  4 +-
 .../OrganisationsEinheitRepository.java       |  2 +-
 .../OrganisationsEinheitService.java          |  6 +-
 .../user/recipient/RecipientGrpcService.java  |  2 +-
 .../user/recipient/RecipientRepository.java   |  2 +-
 .../kop/user/recipient/RecipientService.java  |  4 +-
 .../user/settings/UserSettingsRepository.java |  2 +-
 .../user/settings/UserSettingsResource.java   | 14 ++--
 .../UserSettingsResourceAssembler.java        |  6 +-
 .../user/settings/UserSettingsService.java    |  4 +-
 .../de/itvsh/kop/user/sync/SyncScheduler.java |  4 +-
 .../de/itvsh/kop/user/sync/SyncService.java   |  4 +-
 .../userprofile/UserProfileGrpcService.java   |  6 +-
 .../src/main/resources/application-e2e.yaml   |  2 +-
 .../src/main/resources/application-local.yaml |  2 +-
 .../src/main/resources/application.yaml       | 84 +++++++++----------
 .../kop/user/UserProfileResourceITCase.java   |  4 +-
 .../itvsh/kop/user/UserRepositoryITCase.java  |  2 +-
 .../de/itvsh/kop/user/UserResourceStub.java   | 13 ++-
 .../de/itvsh/kop/user/UserServiceITCase.java  |  2 +-
 .../de/itvsh/kop/user/common/JwtUtilTest.java |  4 +-
 .../HttpRequestInterceptorTest.java           |  4 +-
 .../callcontext/HttpSecurityFilterTest.java   |  2 +-
 .../errorhandling/ApiErrorUtilTest.java       |  2 +-
 .../errorhandling/ExceptionHandlerTest.java   |  4 +-
 .../common/lock/LockRepositoryITCase.java     |  2 +-
 .../keycloak/KeycloakApiServiceITCase.java    |  2 +-
 .../user/keycloak/KeycloakApiServiceTest.java |  6 +-
 .../user/keycloak/KeycloakProviderITCase.java |  2 +-
 .../user/keycloak/KeycloakProviderTest.java   |  1 +
 .../KeycloakUserRemoteServiceITCase.java      |  2 +-
 .../OrganisationsEinheitRepositoryITCase.java | 11 +--
 .../recipient/RecipientRepositoryITCase.java  |  2 +-
 .../UserSettingsRepositoryITCase.java         |  2 +-
 .../settings/UserSettingsResourceITCase.java  |  4 +-
 .../settings/UserSettingsResourceTest.java    |  2 +-
 .../settings/UserSettingsServiceITCase.java   |  2 +-
 .../kop/user/sync/SyncSchedulerITCase.java    |  4 +-
 .../kop/user/sync/SyncServiceITCase.java      |  4 +-
 .../UserProfileGrpcServiceITCase.java         |  2 +-
 .../src/test/resources/application.yml        |  4 +-
 62 files changed, 207 insertions(+), 167 deletions(-)
 create mode 100755 build-native-local-docker-image.sh

diff --git a/build-native-local-docker-image.sh b/build-native-local-docker-image.sh
new file mode 100755
index 00000000..3319d2d5
--- /dev/null
+++ b/build-native-local-docker-image.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+
+cd user-manager-server
+./mvnw clean verify \
+      -Pnative \
+      -Dquarkus.container-image.registry=docker.ozg-sh.de \
+      -Dquarkus.container-image.push=false \
+      -Dquarkus.container-image.build=true \
+      -Dquarkus.native.remote-container-build=false
\ No newline at end of file
diff --git a/user-manager-server/pom.xml b/user-manager-server/pom.xml
index 09b5c301..4f977764 100644
--- a/user-manager-server/pom.xml
+++ b/user-manager-server/pom.xml
@@ -30,7 +30,7 @@
 	<parent>
 		<groupId>de.itvsh.kop.common</groupId>
 		<artifactId>kop-common-dependencies</artifactId>
-		<version>1.7.1</version>
+		<version>2.3.2-SNAPSHOT</version>
 		<relativePath/>
 	</parent>
 
@@ -54,8 +54,10 @@
 
 		<lombok.version>1.18.24</lombok.version>
 
-		<jakarta.interceptor.version>1.2.5</jakarta.interceptor.version>
-		<jakarta.annotatioin.version>1.3.5</jakarta.annotatioin.version>
+		<jakarta.interceptor.version>2.1.0</jakarta.interceptor.version>
+		<jakarta.annotatioin.version>2.1.1</jakarta.annotatioin.version>
+
+		<keycloak-adapter.version>22.0.5</keycloak-adapter.version>
 	</properties>
 
 	<dependencyManagement>
@@ -207,11 +209,27 @@
 			<artifactId>jakarta.interceptor-api</artifactId>
 			<version>${jakarta.interceptor.version}</version>
 		</dependency>
+		<dependency>
+			<groupId>jakarta.json</groupId>
+			<artifactId>jakarta.json-api</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>jakarta.validation</groupId>
+			<artifactId>jakarta.validation-api</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>jakarta.ws.rs</groupId>
+			<artifactId>jakarta.ws.rs-api</artifactId>
+		</dependency>
 		<dependency>
 			<groupId>jakarta.annotation</groupId>
 			<artifactId>jakarta.annotation-api</artifactId>
 			<version>${jakarta.annotatioin.version}</version>
 		</dependency>
+		<dependency>
+			<groupId>jakarta.inject</groupId>
+			<artifactId>jakarta.inject-api</artifactId>
+		</dependency>
 
 		<!-- Test -->
 		<dependency>
@@ -290,7 +308,7 @@
 					<compilerArgs>
 						<arg>-parameters</arg>
 						<compilerArg>
-								-Amapstruct.defaultComponentModel=cdi
+								-Amapstruct.defaultComponentModel=jakarta
 							</compilerArg>
 						<compilerArg>
 								-Amapstruct.unmappedTargetPolicy=WARN
diff --git a/user-manager-server/src/main/java/de/itvsh/kop/user/UserProfileResource.java b/user-manager-server/src/main/java/de/itvsh/kop/user/UserProfileResource.java
index bbc4f108..29b2ddb2 100644
--- a/user-manager-server/src/main/java/de/itvsh/kop/user/UserProfileResource.java
+++ b/user-manager-server/src/main/java/de/itvsh/kop/user/UserProfileResource.java
@@ -26,13 +26,13 @@ package de.itvsh.kop.user;
 import java.util.Optional;
 import java.util.stream.Stream;
 
-import javax.inject.Inject;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.MediaType;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.core.MediaType;
 
 import org.eclipse.microprofile.config.inject.ConfigProperty;
 import org.jboss.resteasy.reactive.common.util.RestMediaType;
@@ -80,7 +80,7 @@ public class UserProfileResource {
 		Stream<User> users;
 		if (deleted.isEmpty()) {
 			users = userService.findUsers(query);
-		} else if (deleted.get()) {
+		} else if (deleted.orElse(false)) {
 			users = userService.findInactiveUsers(query);
 		} else {
 			users = userService.findActiveUsers(query);
diff --git a/user-manager-server/src/main/java/de/itvsh/kop/user/UserProfileResourceAssembler.java b/user-manager-server/src/main/java/de/itvsh/kop/user/UserProfileResourceAssembler.java
index e4329c10..ebfcc495 100644
--- a/user-manager-server/src/main/java/de/itvsh/kop/user/UserProfileResourceAssembler.java
+++ b/user-manager-server/src/main/java/de/itvsh/kop/user/UserProfileResourceAssembler.java
@@ -25,8 +25,8 @@ package de.itvsh.kop.user;
 
 import java.util.List;
 
-import javax.enterprise.context.ApplicationScoped;
-import javax.ws.rs.core.Link;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.ws.rs.core.Link;
 
 import de.itvsh.kop.user.settings.UserSettingsResource;
 import io.quarkus.hal.HalCollectionWrapper;
diff --git a/user-manager-server/src/main/java/de/itvsh/kop/user/UserRepository.java b/user-manager-server/src/main/java/de/itvsh/kop/user/UserRepository.java
index d0b96122..d382098e 100644
--- a/user-manager-server/src/main/java/de/itvsh/kop/user/UserRepository.java
+++ b/user-manager-server/src/main/java/de/itvsh/kop/user/UserRepository.java
@@ -28,7 +28,7 @@ import static de.itvsh.kop.user.User.*;
 import java.util.Optional;
 import java.util.stream.Stream;
 
-import javax.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.context.ApplicationScoped;
 
 import org.bson.types.ObjectId;
 
diff --git a/user-manager-server/src/main/java/de/itvsh/kop/user/UserResourceMapper.java b/user-manager-server/src/main/java/de/itvsh/kop/user/UserResourceMapper.java
index af43d281..7a0d8d12 100644
--- a/user-manager-server/src/main/java/de/itvsh/kop/user/UserResourceMapper.java
+++ b/user-manager-server/src/main/java/de/itvsh/kop/user/UserResourceMapper.java
@@ -32,7 +32,7 @@ import java.util.Objects;
 import java.util.Optional;
 import java.util.Set;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import org.keycloak.admin.client.resource.RealmResource;
 import org.keycloak.admin.client.resource.UserResource;
diff --git a/user-manager-server/src/main/java/de/itvsh/kop/user/UserService.java b/user-manager-server/src/main/java/de/itvsh/kop/user/UserService.java
index fbe22879..700348fb 100644
--- a/user-manager-server/src/main/java/de/itvsh/kop/user/UserService.java
+++ b/user-manager-server/src/main/java/de/itvsh/kop/user/UserService.java
@@ -26,8 +26,8 @@ package de.itvsh.kop.user;
 import java.util.Optional;
 import java.util.stream.Stream;
 
-import javax.enterprise.context.ApplicationScoped;
-import javax.inject.Inject;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.inject.Inject;
 
 import org.apache.commons.lang3.StringUtils;
 
diff --git a/user-manager-server/src/main/java/de/itvsh/kop/user/common/JwtUtil.java b/user-manager-server/src/main/java/de/itvsh/kop/user/common/JwtUtil.java
index be7bae09..10b6fe56 100644
--- a/user-manager-server/src/main/java/de/itvsh/kop/user/common/JwtUtil.java
+++ b/user-manager-server/src/main/java/de/itvsh/kop/user/common/JwtUtil.java
@@ -28,10 +28,10 @@ import java.util.List;
 import java.util.Map;
 import java.util.Optional;
 
-import javax.enterprise.context.ApplicationScoped;
-import javax.inject.Inject;
-import javax.json.JsonArray;
-import javax.json.JsonString;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.inject.Inject;
+import jakarta.json.JsonArray;
+import jakarta.json.JsonString;
 
 import org.apache.commons.lang3.StringUtils;
 import org.eclipse.microprofile.jwt.JsonWebToken;
diff --git a/user-manager-server/src/main/java/de/itvsh/kop/user/common/TargetTypeProvider.java b/user-manager-server/src/main/java/de/itvsh/kop/user/common/TargetTypeProvider.java
index 93a2f92e..bcdc58e4 100644
--- a/user-manager-server/src/main/java/de/itvsh/kop/user/common/TargetTypeProvider.java
+++ b/user-manager-server/src/main/java/de/itvsh/kop/user/common/TargetTypeProvider.java
@@ -25,7 +25,7 @@ package de.itvsh.kop.user.common;
 
 import java.lang.reflect.Type;
 
-import javax.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.context.ApplicationScoped;
 
 import org.jboss.resteasy.reactive.server.core.CurrentRequestManager;
 
diff --git a/user-manager-server/src/main/java/de/itvsh/kop/user/common/callcontext/CurrentCallContextUserService.java b/user-manager-server/src/main/java/de/itvsh/kop/user/common/callcontext/CurrentCallContextUserService.java
index 225ab939..37e68a10 100644
--- a/user-manager-server/src/main/java/de/itvsh/kop/user/common/callcontext/CurrentCallContextUserService.java
+++ b/user-manager-server/src/main/java/de/itvsh/kop/user/common/callcontext/CurrentCallContextUserService.java
@@ -25,7 +25,7 @@ package de.itvsh.kop.user.common.callcontext;
 
 import java.util.Optional;
 
-import javax.enterprise.context.RequestScoped;
+import jakarta.enterprise.context.RequestScoped;
 
 @RequestScoped
 public class CurrentCallContextUserService {
diff --git a/user-manager-server/src/main/java/de/itvsh/kop/user/common/callcontext/GrpcCallContextInterceptor.java b/user-manager-server/src/main/java/de/itvsh/kop/user/common/callcontext/GrpcCallContextInterceptor.java
index 5b027a41..9717a5bd 100644
--- a/user-manager-server/src/main/java/de/itvsh/kop/user/common/callcontext/GrpcCallContextInterceptor.java
+++ b/user-manager-server/src/main/java/de/itvsh/kop/user/common/callcontext/GrpcCallContextInterceptor.java
@@ -26,8 +26,8 @@ package de.itvsh.kop.user.common.callcontext;
 import java.util.Optional;
 import java.util.UUID;
 
-import javax.enterprise.context.ApplicationScoped;
-import javax.inject.Inject;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.inject.Inject;
 
 import org.apache.logging.log4j.CloseableThreadContext;
 
diff --git a/user-manager-server/src/main/java/de/itvsh/kop/user/common/callcontext/HttpRequestInterceptor.java b/user-manager-server/src/main/java/de/itvsh/kop/user/common/callcontext/HttpRequestInterceptor.java
index 11366a4d..81e3f3f9 100644
--- a/user-manager-server/src/main/java/de/itvsh/kop/user/common/callcontext/HttpRequestInterceptor.java
+++ b/user-manager-server/src/main/java/de/itvsh/kop/user/common/callcontext/HttpRequestInterceptor.java
@@ -25,10 +25,10 @@ package de.itvsh.kop.user.common.callcontext;
 
 import java.io.IOException;
 
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.ext.Provider;
-import javax.ws.rs.ext.ReaderInterceptor;
-import javax.ws.rs.ext.ReaderInterceptorContext;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.ext.Provider;
+import jakarta.ws.rs.ext.ReaderInterceptor;
+import jakarta.ws.rs.ext.ReaderInterceptorContext;
 
 import org.apache.commons.lang3.StringUtils;
 import org.apache.logging.log4j.CloseableThreadContext;
diff --git a/user-manager-server/src/main/java/de/itvsh/kop/user/common/callcontext/HttpSecurityFilter.java b/user-manager-server/src/main/java/de/itvsh/kop/user/common/callcontext/HttpSecurityFilter.java
index a84743ec..aabdd9cd 100644
--- a/user-manager-server/src/main/java/de/itvsh/kop/user/common/callcontext/HttpSecurityFilter.java
+++ b/user-manager-server/src/main/java/de/itvsh/kop/user/common/callcontext/HttpSecurityFilter.java
@@ -25,11 +25,11 @@ package de.itvsh.kop.user.common.callcontext;
 
 import java.io.IOException;
 
-import javax.inject.Inject;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.PreMatching;
-import javax.ws.rs.ext.Provider;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.PreMatching;
+import jakarta.ws.rs.ext.Provider;
 
 import de.itvsh.kop.user.common.JwtUtil;
 
diff --git a/user-manager-server/src/main/java/de/itvsh/kop/user/common/errorhandling/ApiErrorUtil.java b/user-manager-server/src/main/java/de/itvsh/kop/user/common/errorhandling/ApiErrorUtil.java
index dbd6b4cf..c11c6eb5 100644
--- a/user-manager-server/src/main/java/de/itvsh/kop/user/common/errorhandling/ApiErrorUtil.java
+++ b/user-manager-server/src/main/java/de/itvsh/kop/user/common/errorhandling/ApiErrorUtil.java
@@ -25,8 +25,8 @@ package de.itvsh.kop.user.common.errorhandling;
 
 import java.util.UUID;
 
-import javax.enterprise.context.ApplicationScoped;
-import javax.ws.rs.NotFoundException;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.ws.rs.NotFoundException;
 
 import de.itvsh.kop.common.errorhandling.ExceptionUtil;
 import lombok.extern.log4j.Log4j2;
diff --git a/user-manager-server/src/main/java/de/itvsh/kop/user/common/errorhandling/ExceptionHandler.java b/user-manager-server/src/main/java/de/itvsh/kop/user/common/errorhandling/ExceptionHandler.java
index 394b30ac..9453922c 100644
--- a/user-manager-server/src/main/java/de/itvsh/kop/user/common/errorhandling/ExceptionHandler.java
+++ b/user-manager-server/src/main/java/de/itvsh/kop/user/common/errorhandling/ExceptionHandler.java
@@ -23,11 +23,11 @@
  */
 package de.itvsh.kop.user.common.errorhandling;
 
-import javax.inject.Inject;
-import javax.ws.rs.NotFoundException;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Response.Status;
-import javax.ws.rs.core.UriInfo;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.NotFoundException;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response.Status;
+import jakarta.ws.rs.core.UriInfo;
 
 import org.jboss.resteasy.reactive.server.ServerExceptionMapper;
 
diff --git a/user-manager-server/src/main/java/de/itvsh/kop/user/common/lock/LockRepository.java b/user-manager-server/src/main/java/de/itvsh/kop/user/common/lock/LockRepository.java
index ea4f6fce..6ca0b99f 100644
--- a/user-manager-server/src/main/java/de/itvsh/kop/user/common/lock/LockRepository.java
+++ b/user-manager-server/src/main/java/de/itvsh/kop/user/common/lock/LockRepository.java
@@ -26,7 +26,7 @@ package de.itvsh.kop.user.common.lock;
 import java.time.Instant;
 import java.util.Optional;
 
-import javax.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.context.ApplicationScoped;
 
 import de.itvsh.kop.common.logging.KopLogging;
 import io.quarkus.mongodb.panache.PanacheMongoRepository;
diff --git a/user-manager-server/src/main/java/de/itvsh/kop/user/common/lock/LockService.java b/user-manager-server/src/main/java/de/itvsh/kop/user/common/lock/LockService.java
index a37b3e43..85de5686 100644
--- a/user-manager-server/src/main/java/de/itvsh/kop/user/common/lock/LockService.java
+++ b/user-manager-server/src/main/java/de/itvsh/kop/user/common/lock/LockService.java
@@ -26,8 +26,8 @@ package de.itvsh.kop.user.common.lock;
 import java.time.Instant;
 import java.time.temporal.ChronoUnit;
 
-import javax.enterprise.context.ApplicationScoped;
-import javax.inject.Inject;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.inject.Inject;
 
 import de.itvsh.kop.common.logging.KopLogging;
 import de.itvsh.kop.user.common.errorhandling.LockCreationException;
diff --git a/user-manager-server/src/main/java/de/itvsh/kop/user/keycloak/KeycloakApiProperties.java b/user-manager-server/src/main/java/de/itvsh/kop/user/keycloak/KeycloakApiProperties.java
index 5bb7e88d..b480c6c4 100644
--- a/user-manager-server/src/main/java/de/itvsh/kop/user/keycloak/KeycloakApiProperties.java
+++ b/user-manager-server/src/main/java/de/itvsh/kop/user/keycloak/KeycloakApiProperties.java
@@ -23,7 +23,7 @@
  */
 package de.itvsh.kop.user.keycloak;
 
-import javax.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotBlank;
 
 import io.smallrye.config.ConfigMapping;
 
diff --git a/user-manager-server/src/main/java/de/itvsh/kop/user/keycloak/KeycloakApiService.java b/user-manager-server/src/main/java/de/itvsh/kop/user/keycloak/KeycloakApiService.java
index 3a005b22..82fd22a0 100644
--- a/user-manager-server/src/main/java/de/itvsh/kop/user/keycloak/KeycloakApiService.java
+++ b/user-manager-server/src/main/java/de/itvsh/kop/user/keycloak/KeycloakApiService.java
@@ -29,11 +29,11 @@ import java.util.function.Supplier;
 import java.util.stream.Stream;
 import java.util.stream.StreamSupport;
 
-import javax.enterprise.context.ApplicationScoped;
-import javax.inject.Inject;
-import javax.ws.rs.BadRequestException;
-import javax.ws.rs.ClientErrorException;
-import javax.ws.rs.ProcessingException;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.BadRequestException;
+import jakarta.ws.rs.ClientErrorException;
+import jakarta.ws.rs.ProcessingException;
 
 import org.apache.commons.lang3.ObjectUtils;
 import org.eclipse.microprofile.config.inject.ConfigProperty;
diff --git a/user-manager-server/src/main/java/de/itvsh/kop/user/keycloak/KeycloakProvider.java b/user-manager-server/src/main/java/de/itvsh/kop/user/keycloak/KeycloakProvider.java
index 4f5a8d84..5c59bbf5 100644
--- a/user-manager-server/src/main/java/de/itvsh/kop/user/keycloak/KeycloakProvider.java
+++ b/user-manager-server/src/main/java/de/itvsh/kop/user/keycloak/KeycloakProvider.java
@@ -23,8 +23,8 @@
  */
 package de.itvsh.kop.user.keycloak;
 
-import javax.enterprise.context.ApplicationScoped;
-import javax.inject.Inject;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.inject.Inject;
 
 import org.eclipse.microprofile.config.inject.ConfigProperty;
 import org.keycloak.admin.client.Keycloak;
diff --git a/user-manager-server/src/main/java/de/itvsh/kop/user/keycloak/KeycloakUserRemoteService.java b/user-manager-server/src/main/java/de/itvsh/kop/user/keycloak/KeycloakUserRemoteService.java
index 9bf0a5a1..b6c910d2 100644
--- a/user-manager-server/src/main/java/de/itvsh/kop/user/keycloak/KeycloakUserRemoteService.java
+++ b/user-manager-server/src/main/java/de/itvsh/kop/user/keycloak/KeycloakUserRemoteService.java
@@ -26,8 +26,8 @@ package de.itvsh.kop.user.keycloak;
 import java.util.Optional;
 import java.util.stream.Stream;
 
-import javax.enterprise.context.ApplicationScoped;
-import javax.inject.Inject;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.inject.Inject;
 
 import de.itvsh.kop.common.logging.KopLogging;
 import de.itvsh.kop.user.User;
diff --git a/user-manager-server/src/main/java/de/itvsh/kop/user/organisationseinheit/OrganisationsEinheitGrpcService.java b/user-manager-server/src/main/java/de/itvsh/kop/user/organisationseinheit/OrganisationsEinheitGrpcService.java
index 791c010d..430440ae 100644
--- a/user-manager-server/src/main/java/de/itvsh/kop/user/organisationseinheit/OrganisationsEinheitGrpcService.java
+++ b/user-manager-server/src/main/java/de/itvsh/kop/user/organisationseinheit/OrganisationsEinheitGrpcService.java
@@ -25,7 +25,7 @@ package de.itvsh.kop.user.organisationseinheit;
 
 import java.util.Collection;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import com.google.protobuf.Empty;
 
@@ -38,7 +38,7 @@ import io.quarkus.grpc.GrpcService;
 public class OrganisationsEinheitGrpcService extends OrganisationsEinheitServiceImplBase {
 
 	@Inject
-	private OrganisationsEinheitService organisationsEinheitService;
+	OrganisationsEinheitService organisationsEinheitService;
 
 	@Override
 	public void getSupportedOrganisationsEinheiten(Empty request, StreamObserver<GrpcGetSupportedOrganisationsEinheitenResponse> responseObserver) {
diff --git a/user-manager-server/src/main/java/de/itvsh/kop/user/organisationseinheit/OrganisationsEinheitRepository.java b/user-manager-server/src/main/java/de/itvsh/kop/user/organisationseinheit/OrganisationsEinheitRepository.java
index 8bbe58ac..5f22d5f5 100644
--- a/user-manager-server/src/main/java/de/itvsh/kop/user/organisationseinheit/OrganisationsEinheitRepository.java
+++ b/user-manager-server/src/main/java/de/itvsh/kop/user/organisationseinheit/OrganisationsEinheitRepository.java
@@ -28,7 +28,7 @@ import static org.apache.commons.collections4.IterableUtils.*;
 
 import java.util.Collection;
 
-import javax.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.context.ApplicationScoped;
 
 import com.mongodb.client.model.Filters;
 
diff --git a/user-manager-server/src/main/java/de/itvsh/kop/user/organisationseinheit/OrganisationsEinheitService.java b/user-manager-server/src/main/java/de/itvsh/kop/user/organisationseinheit/OrganisationsEinheitService.java
index bc701b94..f5f77cde 100644
--- a/user-manager-server/src/main/java/de/itvsh/kop/user/organisationseinheit/OrganisationsEinheitService.java
+++ b/user-manager-server/src/main/java/de/itvsh/kop/user/organisationseinheit/OrganisationsEinheitService.java
@@ -25,14 +25,14 @@ package de.itvsh.kop.user.organisationseinheit;
 
 import java.util.Collection;
 
-import javax.enterprise.context.ApplicationScoped;
-import javax.inject.Inject;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.inject.Inject;
 
 @ApplicationScoped
 class OrganisationsEinheitService {
 
 	@Inject
-	private OrganisationsEinheitRepository repository;
+	OrganisationsEinheitRepository repository;
 
 	public Collection<String> findAllOrganisationsEinheitIds() {
 		return repository.findAllOrganisationsEinheitIds();
diff --git a/user-manager-server/src/main/java/de/itvsh/kop/user/recipient/RecipientGrpcService.java b/user-manager-server/src/main/java/de/itvsh/kop/user/recipient/RecipientGrpcService.java
index 58551122..16e7f06e 100644
--- a/user-manager-server/src/main/java/de/itvsh/kop/user/recipient/RecipientGrpcService.java
+++ b/user-manager-server/src/main/java/de/itvsh/kop/user/recipient/RecipientGrpcService.java
@@ -25,7 +25,7 @@ package de.itvsh.kop.user.recipient;
 
 import java.util.Collection;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import de.itvsh.kop.user.User;
 import de.itvsh.kop.user.grpc.recipient.GrpcFindRecipientRequest;
diff --git a/user-manager-server/src/main/java/de/itvsh/kop/user/recipient/RecipientRepository.java b/user-manager-server/src/main/java/de/itvsh/kop/user/recipient/RecipientRepository.java
index dcebbee5..70ea06ce 100644
--- a/user-manager-server/src/main/java/de/itvsh/kop/user/recipient/RecipientRepository.java
+++ b/user-manager-server/src/main/java/de/itvsh/kop/user/recipient/RecipientRepository.java
@@ -4,7 +4,7 @@ import static de.itvsh.kop.user.User.*;
 
 import java.util.List;
 
-import javax.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.context.ApplicationScoped;
 
 import de.itvsh.kop.common.logging.KopLogging;
 import de.itvsh.kop.user.User;
diff --git a/user-manager-server/src/main/java/de/itvsh/kop/user/recipient/RecipientService.java b/user-manager-server/src/main/java/de/itvsh/kop/user/recipient/RecipientService.java
index 1f65e76a..8958d2ee 100644
--- a/user-manager-server/src/main/java/de/itvsh/kop/user/recipient/RecipientService.java
+++ b/user-manager-server/src/main/java/de/itvsh/kop/user/recipient/RecipientService.java
@@ -25,8 +25,8 @@ package de.itvsh.kop.user.recipient;
 
 import java.util.List;
 
-import javax.enterprise.context.ApplicationScoped;
-import javax.inject.Inject;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.inject.Inject;
 
 import com.cronutils.utils.StringUtils;
 
diff --git a/user-manager-server/src/main/java/de/itvsh/kop/user/settings/UserSettingsRepository.java b/user-manager-server/src/main/java/de/itvsh/kop/user/settings/UserSettingsRepository.java
index b90a0114..d3089627 100644
--- a/user-manager-server/src/main/java/de/itvsh/kop/user/settings/UserSettingsRepository.java
+++ b/user-manager-server/src/main/java/de/itvsh/kop/user/settings/UserSettingsRepository.java
@@ -25,7 +25,7 @@ package de.itvsh.kop.user.settings;
 
 import java.util.Optional;
 
-import javax.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.context.ApplicationScoped;
 
 import org.bson.types.ObjectId;
 
diff --git a/user-manager-server/src/main/java/de/itvsh/kop/user/settings/UserSettingsResource.java b/user-manager-server/src/main/java/de/itvsh/kop/user/settings/UserSettingsResource.java
index 37cd684d..2b2f7c60 100644
--- a/user-manager-server/src/main/java/de/itvsh/kop/user/settings/UserSettingsResource.java
+++ b/user-manager-server/src/main/java/de/itvsh/kop/user/settings/UserSettingsResource.java
@@ -25,13 +25,13 @@ package de.itvsh.kop.user.settings;
 
 import java.util.Objects;
 
-import javax.inject.Inject;
-import javax.ws.rs.GET;
-import javax.ws.rs.PATCH;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.PATCH;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
 
 import org.apache.commons.lang3.StringUtils;
 import org.eclipse.microprofile.config.inject.ConfigProperty;
diff --git a/user-manager-server/src/main/java/de/itvsh/kop/user/settings/UserSettingsResourceAssembler.java b/user-manager-server/src/main/java/de/itvsh/kop/user/settings/UserSettingsResourceAssembler.java
index e2ec0d3c..3f3c6528 100644
--- a/user-manager-server/src/main/java/de/itvsh/kop/user/settings/UserSettingsResourceAssembler.java
+++ b/user-manager-server/src/main/java/de/itvsh/kop/user/settings/UserSettingsResourceAssembler.java
@@ -23,9 +23,9 @@
  */
 package de.itvsh.kop.user.settings;
 
-import javax.enterprise.context.ApplicationScoped;
-import javax.inject.Inject;
-import javax.ws.rs.core.Link;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.core.Link;
 
 import org.apache.commons.lang3.StringUtils;
 
diff --git a/user-manager-server/src/main/java/de/itvsh/kop/user/settings/UserSettingsService.java b/user-manager-server/src/main/java/de/itvsh/kop/user/settings/UserSettingsService.java
index 986bf650..d05de31f 100644
--- a/user-manager-server/src/main/java/de/itvsh/kop/user/settings/UserSettingsService.java
+++ b/user-manager-server/src/main/java/de/itvsh/kop/user/settings/UserSettingsService.java
@@ -26,8 +26,8 @@ package de.itvsh.kop.user.settings;
 import java.util.Objects;
 import java.util.Optional;
 
-import javax.enterprise.context.ApplicationScoped;
-import javax.inject.Inject;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.inject.Inject;
 
 import de.itvsh.kop.user.UserService;
 
diff --git a/user-manager-server/src/main/java/de/itvsh/kop/user/sync/SyncScheduler.java b/user-manager-server/src/main/java/de/itvsh/kop/user/sync/SyncScheduler.java
index e10e7c78..f2137dc0 100644
--- a/user-manager-server/src/main/java/de/itvsh/kop/user/sync/SyncScheduler.java
+++ b/user-manager-server/src/main/java/de/itvsh/kop/user/sync/SyncScheduler.java
@@ -25,8 +25,8 @@ package de.itvsh.kop.user.sync;
 
 import static io.quarkus.scheduler.Scheduled.ConcurrentExecution.*;
 
-import javax.enterprise.context.ApplicationScoped;
-import javax.inject.Inject;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.inject.Inject;
 
 import de.itvsh.kop.user.common.lock.LockService;
 import io.quarkus.scheduler.Scheduled;
diff --git a/user-manager-server/src/main/java/de/itvsh/kop/user/sync/SyncService.java b/user-manager-server/src/main/java/de/itvsh/kop/user/sync/SyncService.java
index d677c3e0..baed27bb 100644
--- a/user-manager-server/src/main/java/de/itvsh/kop/user/sync/SyncService.java
+++ b/user-manager-server/src/main/java/de/itvsh/kop/user/sync/SyncService.java
@@ -25,8 +25,8 @@ package de.itvsh.kop.user.sync;
 
 import java.util.function.Predicate;
 
-import javax.enterprise.context.ApplicationScoped;
-import javax.inject.Inject;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.inject.Inject;
 
 import org.apache.commons.collections4.CollectionUtils;
 
diff --git a/user-manager-server/src/main/java/de/itvsh/kop/user/userprofile/UserProfileGrpcService.java b/user-manager-server/src/main/java/de/itvsh/kop/user/userprofile/UserProfileGrpcService.java
index 15f14793..81106fa8 100644
--- a/user-manager-server/src/main/java/de/itvsh/kop/user/userprofile/UserProfileGrpcService.java
+++ b/user-manager-server/src/main/java/de/itvsh/kop/user/userprofile/UserProfileGrpcService.java
@@ -25,7 +25,7 @@ package de.itvsh.kop.user.userprofile;
 
 import java.util.stream.Stream;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import com.google.protobuf.Empty;
 
@@ -39,10 +39,10 @@ import io.quarkus.grpc.GrpcService;
 public class UserProfileGrpcService extends UserProfileServiceImplBase {
 
 	@Inject
-	private UserService service;
+	UserService service;
 
 	@Inject
-	private UserProfileMapper mapper;
+	UserProfileMapper mapper;
 
 	@Override
 	public void getById(GrpcGetUserProfileRequest request, StreamObserver<GrpcGetUserProfileResponse> responseObserver) {
diff --git a/user-manager-server/src/main/resources/application-e2e.yaml b/user-manager-server/src/main/resources/application-e2e.yaml
index 3c0d3eb7..35e890b0 100644
--- a/user-manager-server/src/main/resources/application-e2e.yaml
+++ b/user-manager-server/src/main/resources/application-e2e.yaml
@@ -13,7 +13,7 @@ quarkus:
       "io.quarkus.oidc.runtime.OidcProvider":
         level: TRACE
         min-level: TRACE
-    
+
 kop:
   keycloak:
     api:
diff --git a/user-manager-server/src/main/resources/application-local.yaml b/user-manager-server/src/main/resources/application-local.yaml
index 7f8084ea..7ae989a0 100644
--- a/user-manager-server/src/main/resources/application-local.yaml
+++ b/user-manager-server/src/main/resources/application-local.yaml
@@ -9,4 +9,4 @@ kop:
   user-manager:
     url: http://localhost:9091
 keycloak:
-    url: http://localhost:8088
\ No newline at end of file
+  url: http://localhost:8088
\ No newline at end of file
diff --git a/user-manager-server/src/main/resources/application.yaml b/user-manager-server/src/main/resources/application.yaml
index 261320fb..60404201 100644
--- a/user-manager-server/src/main/resources/application.yaml
+++ b/user-manager-server/src/main/resources/application.yaml
@@ -1,46 +1,46 @@
 "%prod":
-   quarkus:
-      grpc:
-         server:
-            ssl:
-               certificate: /user-manager-tls-certificate/tls.crt
-               key: /user-manager-tls-certificate/tls.key
+  quarkus:
+    grpc:
+      server:
+        ssl:
+          certificate: /user-manager-tls-certificate/tls.crt
+          key: /user-manager-tls-certificate/tls.key
 quarkus:
- application:
-  name: kopusermanager
- http:
-  cors:
-    ~: true
-  auth:
-   permission:
-    bearer:
-     paths: /api/userProfiles/*,/api/user/*
-     policy: authenticated
-    permit-migration:
-     paths: /api/migration/user/*
-     policy: permit
-     methods: GET
-    deny-api:
-     paths: /api/*
-     policy: deny
- scheduler:
-  metrics:
-   enabled: true
- log:
-  level: INFO
- mongodb:
-  database: usermanager
+  application:
+    name: kopusermanager
+  http:
+    cors:
+      ~: true
+    auth:
+      permission:
+        bearer:
+          paths: /api/userProfiles/*,/api/user/*
+          policy: authenticated
+        permit-migration:
+          paths: /api/migration/user/*
+          policy: permit
+          methods: GET
+        deny-api:
+          paths: /api/*
+          policy: deny
+  scheduler:
+    metrics:
+      enabled: true
+  log:
+    level: INFO
+  mongodb:
+    database: usermanager
 grpc:
- server:
-  enable-reflection-service: true
+  server:
+    enable-reflection-service: true
 kop:
- keycloak:
-  api:
-   ldap-id-key: LDAP_ID
-   organisations-einheit-id-key: organisationseinheitId
-   user: "-"
-   password: "-"
-   realm: by-kiel-dev
-   client: alfa
-  sync:
-   cron: "0 5 2 * * ?"
\ No newline at end of file
+  keycloak:
+    api:
+      ldap-id-key: LDAP_ID
+      organisations-einheit-id-key: organisationseinheitId
+      user: "-"
+      password: "-"
+      realm: by-kiel-dev
+      client: alfa
+    sync:
+      cron: "0 5 2 * * ?"
\ No newline at end of file
diff --git a/user-manager-server/src/test/java/de/itvsh/kop/user/UserProfileResourceITCase.java b/user-manager-server/src/test/java/de/itvsh/kop/user/UserProfileResourceITCase.java
index 681995a8..449be255 100644
--- a/user-manager-server/src/test/java/de/itvsh/kop/user/UserProfileResourceITCase.java
+++ b/user-manager-server/src/test/java/de/itvsh/kop/user/UserProfileResourceITCase.java
@@ -40,15 +40,15 @@ import org.junit.jupiter.api.Test;
 import de.itvsh.kop.user.common.errorhandling.ApiErrorUtil;
 import de.itvsh.kop.user.common.errorhandling.ResourceNotFoundException;
 import de.itvsh.kop.user.settings.UserSettingsResource;
+import io.quarkus.test.InjectMock;
 import io.quarkus.test.junit.QuarkusTest;
 import io.quarkus.test.junit.TestProfile;
-import io.quarkus.test.junit.mockito.InjectMock;
 
 @QuarkusTest
 @TestProfile(UserProfileResourceTestProfile.class)
 class UserProfileResourceITCase {
-	private static final String HTTP_LOCALHOST = "http://localhost:9092";
 
+	private static final String HTTP_LOCALHOST = "http://localhost:9092";
 	private static final String SEARCH_PATH = UserProfileResource.USERS_PATH + "/?" + UserProfileResource.PARAM_SEARCH_BY + "=";
 
 	@InjectMock
diff --git a/user-manager-server/src/test/java/de/itvsh/kop/user/UserRepositoryITCase.java b/user-manager-server/src/test/java/de/itvsh/kop/user/UserRepositoryITCase.java
index 0b8ddba9..13f17a48 100644
--- a/user-manager-server/src/test/java/de/itvsh/kop/user/UserRepositoryITCase.java
+++ b/user-manager-server/src/test/java/de/itvsh/kop/user/UserRepositoryITCase.java
@@ -30,7 +30,7 @@ import java.time.Instant;
 import java.util.List;
 import java.util.stream.Stream;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import org.bson.types.ObjectId;
 import org.junit.jupiter.api.BeforeEach;
diff --git a/user-manager-server/src/test/java/de/itvsh/kop/user/UserResourceStub.java b/user-manager-server/src/test/java/de/itvsh/kop/user/UserResourceStub.java
index 509d8fd4..723b6076 100644
--- a/user-manager-server/src/test/java/de/itvsh/kop/user/UserResourceStub.java
+++ b/user-manager-server/src/test/java/de/itvsh/kop/user/UserResourceStub.java
@@ -26,7 +26,7 @@ package de.itvsh.kop.user;
 import java.util.List;
 import java.util.Map;
 
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response;
 
 import org.keycloak.admin.client.resource.RoleMappingResource;
 import org.keycloak.admin.client.resource.RoleScopeResource;
@@ -44,6 +44,7 @@ import lombok.NoArgsConstructor;
 
 @NoArgsConstructor
 class UserResourceStub implements UserResource {
+
 	private UserRepresentation userRepresentation = UserRepresentationTestFactory.create();
 	private List<GroupRepresentation> groups = List.of(GroupRepresentationTestFactory.createGroup(UserResourceMapperTest.GROUP_1_PATH));
 
@@ -60,6 +61,11 @@ class UserResourceStub implements UserResource {
 		return userRepresentation;
 	}
 
+	@Override
+	public UserRepresentation toRepresentation(boolean userProfileMetadata) {
+		return userRepresentation;
+	}
+
 	@Override
 	public void update(UserRepresentation userRepresentation) {
 		// not implemented
@@ -95,6 +101,11 @@ class UserResourceStub implements UserResource {
 		return groups();
 	}
 
+	@Override
+	public List<GroupRepresentation> groups(String search, boolean briefRepresentation) {
+		return groups();
+	}
+
 	@Override
 	public List<GroupRepresentation> groups(String search, Integer firstResult, Integer maxResults, boolean briefRepresentation) {
 		return groups();
diff --git a/user-manager-server/src/test/java/de/itvsh/kop/user/UserServiceITCase.java b/user-manager-server/src/test/java/de/itvsh/kop/user/UserServiceITCase.java
index d7514fd1..7375478b 100644
--- a/user-manager-server/src/test/java/de/itvsh/kop/user/UserServiceITCase.java
+++ b/user-manager-server/src/test/java/de/itvsh/kop/user/UserServiceITCase.java
@@ -25,7 +25,7 @@ package de.itvsh.kop.user;
 
 import static org.assertj.core.api.Assertions.*;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.DisplayName;
diff --git a/user-manager-server/src/test/java/de/itvsh/kop/user/common/JwtUtilTest.java b/user-manager-server/src/test/java/de/itvsh/kop/user/common/JwtUtilTest.java
index 11675400..db2c0070 100644
--- a/user-manager-server/src/test/java/de/itvsh/kop/user/common/JwtUtilTest.java
+++ b/user-manager-server/src/test/java/de/itvsh/kop/user/common/JwtUtilTest.java
@@ -30,8 +30,8 @@ import static org.mockito.Mockito.*;
 import java.util.List;
 import java.util.Map;
 
-import javax.json.Json;
-import javax.json.JsonArray;
+import jakarta.json.Json;
+import jakarta.json.JsonArray;
 
 import org.eclipse.microprofile.jwt.JsonWebToken;
 import org.junit.jupiter.api.BeforeEach;
diff --git a/user-manager-server/src/test/java/de/itvsh/kop/user/common/callcontext/HttpRequestInterceptorTest.java b/user-manager-server/src/test/java/de/itvsh/kop/user/common/callcontext/HttpRequestInterceptorTest.java
index c81a265d..c52e0e90 100644
--- a/user-manager-server/src/test/java/de/itvsh/kop/user/common/callcontext/HttpRequestInterceptorTest.java
+++ b/user-manager-server/src/test/java/de/itvsh/kop/user/common/callcontext/HttpRequestInterceptorTest.java
@@ -29,8 +29,8 @@ import static org.mockito.Mockito.*;
 import java.util.List;
 import java.util.UUID;
 
-import javax.ws.rs.core.MultivaluedHashMap;
-import javax.ws.rs.ext.ReaderInterceptorContext;
+import jakarta.ws.rs.core.MultivaluedHashMap;
+import jakarta.ws.rs.ext.ReaderInterceptorContext;
 
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Nested;
diff --git a/user-manager-server/src/test/java/de/itvsh/kop/user/common/callcontext/HttpSecurityFilterTest.java b/user-manager-server/src/test/java/de/itvsh/kop/user/common/callcontext/HttpSecurityFilterTest.java
index afb1df56..3c6898e7 100644
--- a/user-manager-server/src/test/java/de/itvsh/kop/user/common/callcontext/HttpSecurityFilterTest.java
+++ b/user-manager-server/src/test/java/de/itvsh/kop/user/common/callcontext/HttpSecurityFilterTest.java
@@ -29,7 +29,7 @@ import static org.mockito.Mockito.*;
 
 import java.io.IOException;
 
-import javax.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestContext;
 
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.DisplayName;
diff --git a/user-manager-server/src/test/java/de/itvsh/kop/user/common/errorhandling/ApiErrorUtilTest.java b/user-manager-server/src/test/java/de/itvsh/kop/user/common/errorhandling/ApiErrorUtilTest.java
index 1fdb9bd1..5d6ecf25 100644
--- a/user-manager-server/src/test/java/de/itvsh/kop/user/common/errorhandling/ApiErrorUtilTest.java
+++ b/user-manager-server/src/test/java/de/itvsh/kop/user/common/errorhandling/ApiErrorUtilTest.java
@@ -28,7 +28,7 @@ import static org.mockito.Mockito.*;
 
 import java.util.UUID;
 
-import javax.ws.rs.NotFoundException;
+import jakarta.ws.rs.NotFoundException;
 
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.DisplayName;
diff --git a/user-manager-server/src/test/java/de/itvsh/kop/user/common/errorhandling/ExceptionHandlerTest.java b/user-manager-server/src/test/java/de/itvsh/kop/user/common/errorhandling/ExceptionHandlerTest.java
index 3740e5fa..87f36bfb 100644
--- a/user-manager-server/src/test/java/de/itvsh/kop/user/common/errorhandling/ExceptionHandlerTest.java
+++ b/user-manager-server/src/test/java/de/itvsh/kop/user/common/errorhandling/ExceptionHandlerTest.java
@@ -27,8 +27,8 @@ import static org.assertj.core.api.Assertions.*;
 import static org.mockito.ArgumentMatchers.*;
 import static org.mockito.Mockito.*;
 
-import javax.ws.rs.NotFoundException;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.NotFoundException;
+import jakarta.ws.rs.core.UriInfo;
 
 import org.apache.commons.lang3.StringUtils;
 import org.junit.jupiter.api.BeforeEach;
diff --git a/user-manager-server/src/test/java/de/itvsh/kop/user/common/lock/LockRepositoryITCase.java b/user-manager-server/src/test/java/de/itvsh/kop/user/common/lock/LockRepositoryITCase.java
index e7beac94..37acb819 100644
--- a/user-manager-server/src/test/java/de/itvsh/kop/user/common/lock/LockRepositoryITCase.java
+++ b/user-manager-server/src/test/java/de/itvsh/kop/user/common/lock/LockRepositoryITCase.java
@@ -28,7 +28,7 @@ import static org.assertj.core.api.Assertions.*;
 import java.time.Instant;
 import java.time.temporal.ChronoUnit;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
diff --git a/user-manager-server/src/test/java/de/itvsh/kop/user/keycloak/KeycloakApiServiceITCase.java b/user-manager-server/src/test/java/de/itvsh/kop/user/keycloak/KeycloakApiServiceITCase.java
index e6d76f21..5514fea7 100644
--- a/user-manager-server/src/test/java/de/itvsh/kop/user/keycloak/KeycloakApiServiceITCase.java
+++ b/user-manager-server/src/test/java/de/itvsh/kop/user/keycloak/KeycloakApiServiceITCase.java
@@ -25,7 +25,7 @@ package de.itvsh.kop.user.keycloak;
 
 import static org.assertj.core.api.Assertions.*;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import org.junit.jupiter.api.Test;
 
diff --git a/user-manager-server/src/test/java/de/itvsh/kop/user/keycloak/KeycloakApiServiceTest.java b/user-manager-server/src/test/java/de/itvsh/kop/user/keycloak/KeycloakApiServiceTest.java
index deb55ce6..9167c413 100644
--- a/user-manager-server/src/test/java/de/itvsh/kop/user/keycloak/KeycloakApiServiceTest.java
+++ b/user-manager-server/src/test/java/de/itvsh/kop/user/keycloak/KeycloakApiServiceTest.java
@@ -31,9 +31,9 @@ import static org.mockito.Mockito.*;
 import java.util.function.Supplier;
 import java.util.stream.Stream;
 
-import javax.ws.rs.BadRequestException;
-import javax.ws.rs.ClientErrorException;
-import javax.ws.rs.ProcessingException;
+import jakarta.ws.rs.BadRequestException;
+import jakarta.ws.rs.ClientErrorException;
+import jakarta.ws.rs.ProcessingException;
 
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.DisplayName;
diff --git a/user-manager-server/src/test/java/de/itvsh/kop/user/keycloak/KeycloakProviderITCase.java b/user-manager-server/src/test/java/de/itvsh/kop/user/keycloak/KeycloakProviderITCase.java
index 19b26b81..02c286d7 100644
--- a/user-manager-server/src/test/java/de/itvsh/kop/user/keycloak/KeycloakProviderITCase.java
+++ b/user-manager-server/src/test/java/de/itvsh/kop/user/keycloak/KeycloakProviderITCase.java
@@ -25,7 +25,7 @@ package de.itvsh.kop.user.keycloak;
 
 import static org.assertj.core.api.Assertions.*;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import org.junit.jupiter.api.Test;
 import org.keycloak.admin.client.resource.RealmResource;
diff --git a/user-manager-server/src/test/java/de/itvsh/kop/user/keycloak/KeycloakProviderTest.java b/user-manager-server/src/test/java/de/itvsh/kop/user/keycloak/KeycloakProviderTest.java
index b12dcbdd..38ccbb59 100644
--- a/user-manager-server/src/test/java/de/itvsh/kop/user/keycloak/KeycloakProviderTest.java
+++ b/user-manager-server/src/test/java/de/itvsh/kop/user/keycloak/KeycloakProviderTest.java
@@ -38,6 +38,7 @@ import org.mockito.Mock;
 import lombok.SneakyThrows;
 
 class KeycloakProviderTest {
+
 	@InjectMocks
 	KeycloakProvider keycloakProvider;
 	@Mock
diff --git a/user-manager-server/src/test/java/de/itvsh/kop/user/keycloak/KeycloakUserRemoteServiceITCase.java b/user-manager-server/src/test/java/de/itvsh/kop/user/keycloak/KeycloakUserRemoteServiceITCase.java
index 272a07ef..e98d518f 100644
--- a/user-manager-server/src/test/java/de/itvsh/kop/user/keycloak/KeycloakUserRemoteServiceITCase.java
+++ b/user-manager-server/src/test/java/de/itvsh/kop/user/keycloak/KeycloakUserRemoteServiceITCase.java
@@ -27,8 +27,8 @@ import static org.mockito.Mockito.*;
 
 import org.junit.jupiter.api.Test;
 
+import io.quarkus.test.InjectMock;
 import io.quarkus.test.junit.QuarkusTest;
-import io.quarkus.test.junit.mockito.InjectMock;
 import io.quarkus.test.junit.mockito.InjectSpy;
 
 @QuarkusTest
diff --git a/user-manager-server/src/test/java/de/itvsh/kop/user/organisationseinheit/OrganisationsEinheitRepositoryITCase.java b/user-manager-server/src/test/java/de/itvsh/kop/user/organisationseinheit/OrganisationsEinheitRepositoryITCase.java
index 4327c216..1f1082a1 100644
--- a/user-manager-server/src/test/java/de/itvsh/kop/user/organisationseinheit/OrganisationsEinheitRepositoryITCase.java
+++ b/user-manager-server/src/test/java/de/itvsh/kop/user/organisationseinheit/OrganisationsEinheitRepositoryITCase.java
@@ -2,7 +2,7 @@ package de.itvsh.kop.user.organisationseinheit;
 
 import static org.assertj.core.api.Assertions.*;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.DisplayName;
@@ -22,10 +22,10 @@ import io.quarkus.test.junit.TestProfile;
 class OrganisationsEinheitRepositoryITCase {
 
 	@Inject
-	private OrganisationsEinheitRepository repository;
+	OrganisationsEinheitRepository repository;
 
 	@Inject
-	private MongoClient mongoClient;
+	MongoClient mongoClient;
 
 	@Nested
 	@DisplayName("Test finding all Organisationseinheiten IDs")
@@ -53,8 +53,9 @@ class OrganisationsEinheitRepositoryITCase {
 
 			var result = repository.findAllOrganisationsEinheitIds();
 
-			assertThat(result).hasSize(1);
-			assertThat(result).containsExactlyInAnyOrder(UserTestFactory.ORGANISTATIONSEINHEITEN_ID);
+			assertThat(result)
+					.hasSize(1)
+					.containsExactlyInAnyOrder(UserTestFactory.ORGANISTATIONSEINHEITEN_ID);
 		}
 	}
 
diff --git a/user-manager-server/src/test/java/de/itvsh/kop/user/recipient/RecipientRepositoryITCase.java b/user-manager-server/src/test/java/de/itvsh/kop/user/recipient/RecipientRepositoryITCase.java
index 34f8f13b..368f71a4 100644
--- a/user-manager-server/src/test/java/de/itvsh/kop/user/recipient/RecipientRepositoryITCase.java
+++ b/user-manager-server/src/test/java/de/itvsh/kop/user/recipient/RecipientRepositoryITCase.java
@@ -3,7 +3,7 @@ package de.itvsh.kop.user.recipient;
 import static de.itvsh.kop.user.settings.NotificationsSendFor.*;
 import static org.assertj.core.api.Assertions.*;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.DisplayName;
diff --git a/user-manager-server/src/test/java/de/itvsh/kop/user/settings/UserSettingsRepositoryITCase.java b/user-manager-server/src/test/java/de/itvsh/kop/user/settings/UserSettingsRepositoryITCase.java
index 98ba6e05..5b7e3a40 100644
--- a/user-manager-server/src/test/java/de/itvsh/kop/user/settings/UserSettingsRepositoryITCase.java
+++ b/user-manager-server/src/test/java/de/itvsh/kop/user/settings/UserSettingsRepositoryITCase.java
@@ -2,7 +2,7 @@ package de.itvsh.kop.user.settings;
 
 import static org.assertj.core.api.Assertions.*;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import org.bson.types.ObjectId;
 import org.junit.jupiter.api.BeforeEach;
diff --git a/user-manager-server/src/test/java/de/itvsh/kop/user/settings/UserSettingsResourceITCase.java b/user-manager-server/src/test/java/de/itvsh/kop/user/settings/UserSettingsResourceITCase.java
index d0ec6596..43d94773 100644
--- a/user-manager-server/src/test/java/de/itvsh/kop/user/settings/UserSettingsResourceITCase.java
+++ b/user-manager-server/src/test/java/de/itvsh/kop/user/settings/UserSettingsResourceITCase.java
@@ -28,8 +28,8 @@ import static de.itvsh.kop.user.settings.UserSettingsResource.*;
 import static io.restassured.RestAssured.*;
 import static org.hamcrest.CoreMatchers.*;
 
-import javax.inject.Inject;
-import javax.ws.rs.core.MediaType;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.core.MediaType;
 
 import org.apache.http.HttpStatus;
 import org.eclipse.microprofile.jwt.JsonWebToken;
diff --git a/user-manager-server/src/test/java/de/itvsh/kop/user/settings/UserSettingsResourceTest.java b/user-manager-server/src/test/java/de/itvsh/kop/user/settings/UserSettingsResourceTest.java
index 7e4cc5d1..b3f6ebb7 100644
--- a/user-manager-server/src/test/java/de/itvsh/kop/user/settings/UserSettingsResourceTest.java
+++ b/user-manager-server/src/test/java/de/itvsh/kop/user/settings/UserSettingsResourceTest.java
@@ -30,7 +30,7 @@ import static org.mockito.Mockito.*;
 import java.util.Optional;
 import java.util.UUID;
 
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.core.UriInfo;
 
 import org.bson.types.ObjectId;
 import org.eclipse.microprofile.jwt.JsonWebToken;
diff --git a/user-manager-server/src/test/java/de/itvsh/kop/user/settings/UserSettingsServiceITCase.java b/user-manager-server/src/test/java/de/itvsh/kop/user/settings/UserSettingsServiceITCase.java
index 47114b64..525c4af5 100644
--- a/user-manager-server/src/test/java/de/itvsh/kop/user/settings/UserSettingsServiceITCase.java
+++ b/user-manager-server/src/test/java/de/itvsh/kop/user/settings/UserSettingsServiceITCase.java
@@ -25,7 +25,7 @@ package de.itvsh.kop.user.settings;
 
 import static org.assertj.core.api.Assertions.*;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.DisplayName;
diff --git a/user-manager-server/src/test/java/de/itvsh/kop/user/sync/SyncSchedulerITCase.java b/user-manager-server/src/test/java/de/itvsh/kop/user/sync/SyncSchedulerITCase.java
index 953d9120..969600a2 100644
--- a/user-manager-server/src/test/java/de/itvsh/kop/user/sync/SyncSchedulerITCase.java
+++ b/user-manager-server/src/test/java/de/itvsh/kop/user/sync/SyncSchedulerITCase.java
@@ -10,7 +10,7 @@ import java.util.Arrays;
 import java.util.Map;
 import java.util.stream.Stream;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import org.bson.Document;
 import org.junit.jupiter.api.BeforeEach;
@@ -28,9 +28,9 @@ import de.itvsh.kop.user.UserTestFactory;
 import de.itvsh.kop.user.common.MongoDbTestProfile;
 import de.itvsh.kop.user.common.lock.Lock;
 import de.itvsh.kop.user.keycloak.KeycloakUserRemoteService;
+import io.quarkus.test.InjectMock;
 import io.quarkus.test.junit.QuarkusTest;
 import io.quarkus.test.junit.TestProfile;
-import io.quarkus.test.junit.mockito.InjectMock;
 import io.quarkus.test.junit.mockito.InjectSpy;
 
 @QuarkusTest
diff --git a/user-manager-server/src/test/java/de/itvsh/kop/user/sync/SyncServiceITCase.java b/user-manager-server/src/test/java/de/itvsh/kop/user/sync/SyncServiceITCase.java
index 909b45f5..e1685bd2 100644
--- a/user-manager-server/src/test/java/de/itvsh/kop/user/sync/SyncServiceITCase.java
+++ b/user-manager-server/src/test/java/de/itvsh/kop/user/sync/SyncServiceITCase.java
@@ -32,7 +32,7 @@ import java.util.Arrays;
 import java.util.List;
 import java.util.stream.Stream;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
@@ -46,9 +46,9 @@ import de.itvsh.kop.user.UserService;
 import de.itvsh.kop.user.UserTestFactory;
 import de.itvsh.kop.user.common.MongoDbTestProfile;
 import de.itvsh.kop.user.keycloak.KeycloakUserRemoteService;
+import io.quarkus.test.InjectMock;
 import io.quarkus.test.junit.QuarkusTest;
 import io.quarkus.test.junit.TestProfile;
-import io.quarkus.test.junit.mockito.InjectMock;
 import io.quarkus.test.junit.mockito.InjectSpy;
 
 @QuarkusTest
diff --git a/user-manager-server/src/test/java/de/itvsh/kop/user/userprofile/UserProfileGrpcServiceITCase.java b/user-manager-server/src/test/java/de/itvsh/kop/user/userprofile/UserProfileGrpcServiceITCase.java
index b511232c..972f94a7 100644
--- a/user-manager-server/src/test/java/de/itvsh/kop/user/userprofile/UserProfileGrpcServiceITCase.java
+++ b/user-manager-server/src/test/java/de/itvsh/kop/user/userprofile/UserProfileGrpcServiceITCase.java
@@ -16,8 +16,8 @@ import de.itvsh.kop.user.common.callcontext.CallContextInterceptorTestFactory;
 import de.itvsh.kop.user.grpc.userprofile.UserProfileServiceGrpc.UserProfileServiceBlockingStub;
 import io.grpc.StatusRuntimeException;
 import io.quarkus.grpc.GrpcClient;
+import io.quarkus.test.InjectMock;
 import io.quarkus.test.junit.QuarkusTest;
-import io.quarkus.test.junit.mockito.InjectMock;
 
 @QuarkusTest
 class UserProfileGrpcServiceITCase {
diff --git a/user-manager-server/src/test/resources/application.yml b/user-manager-server/src/test/resources/application.yml
index 59023b08..2a586a62 100644
--- a/user-manager-server/src/test/resources/application.yml
+++ b/user-manager-server/src/test/resources/application.yml
@@ -14,7 +14,7 @@ quarkus:
  log:
   level: INFO
  oidc:
-  auth-server-url: https://sso.dev.ozg-sh.de/realms/sh-kiel-dev
+  auth-server-url: https://sso.dev.by.ozg-cloud.de/realms/by-kiel-dev
 
 kop:
  keycloak:
@@ -23,7 +23,7 @@ kop:
   api:
    user: "-"
    password: "-"
-   realm: sh-kiel-dev
+   realm: by-kiel-dev
    organisations-einheit-id-key: organisationseinheitId
    ldap-id-key: LDAP_ID
    client: sh-kiel-dev-goofy
-- 
GitLab