From 182636a37a99042b86cc053eb6a8f281acb4a0b2 Mon Sep 17 00:00:00 2001
From: OZGCloud <ozgcloud@mgm-tp.com>
Date: Fri, 6 Oct 2023 15:43:48 +0200
Subject: [PATCH] OZG-3931 [wip] migrate pluto-server

---
 pluto-server/pom.xml                                     | 9 ++++++---
 .../ozg/pluto/attached_item/VorgangAttachedItem.java     | 3 +--
 .../attached_item/VorgangAttachedItemEventListener.java  | 3 +--
 .../pluto/attached_item/VorgangAttachedItemService.java  | 3 +--
 .../itvsh/ozg/pluto/clientattribute/ClientAttribute.java | 3 +--
 .../ClientAttributeHasValueConstraint.java               | 8 ++++----
 .../clientattribute/ClientAttributeIdentificator.java    | 3 +--
 .../pluto/clientattribute/ClientAttributeService.java    | 3 +--
 .../de/itvsh/ozg/pluto/command/CommandRepository.java    | 2 +-
 .../de/itvsh/ozg/pluto/command/CreateCommandRequest.java | 5 ++---
 .../PersistPostfachNachrichtByCommandService.java        | 3 +--
 ...ateRelationIdOnUpdateVorgangAttachedItemCommands.java | 3 ++-
 .../ozg/pluto/common/migration/M012_MigrationUserId.java | 6 +++---
 .../pluto/common/migration/M013_MigrateServiceKonto.java | 2 +-
 .../de/itvsh/ozg/pluto/common/search/SearchConfig.java   | 4 ++--
 .../itvsh/ozg/pluto/common/search/SearchProperties.java  | 3 +--
 .../common/search/SearchVorgangCustomRepositoryImpl.java | 2 +-
 .../de/itvsh/ozg/pluto/vorgang/VorgangRepository.java    | 2 +-
 .../ozg/pluto/vorgang/redirect/ForwardingService.java    | 3 +--
 .../VorgangAttachedItemEventListenerTest.java            | 3 +--
 .../ClientAttributeHasValueValidatorTest.java            | 4 ++--
 .../java/de/itvsh/ozg/pluto/command/CommandITCase.java   | 3 ++-
 ...ationIdOnUpdateVorgangAttachedItemCommandsITCase.java | 4 ++--
 .../itvsh/ozg/pluto/common/search/SearchInitializer.java | 1 +
 .../search/SearchVorgangCustomRepositoryImplTest.java    | 3 ++-
 .../common/search/SearchVorgangRepositoryITCase.java     | 3 ++-
 .../de/itvsh/ozg/pluto/vorgang/VorgangServiceITCase.java | 3 ++-
 27 files changed, 46 insertions(+), 48 deletions(-)

diff --git a/pluto-server/pom.xml b/pluto-server/pom.xml
index ba51386ad..8fbc67d89 100644
--- a/pluto-server/pom.xml
+++ b/pluto-server/pom.xml
@@ -30,7 +30,7 @@
 	<parent>
 		<groupId>de.itvsh.kop.common</groupId>
 		<artifactId>kop-common-parent</artifactId>
-		<version>1.9.0</version>
+		<version>2.3.1</version>
 		<relativePath/>
 	</parent>
 
@@ -300,15 +300,18 @@
 		<dependency>
 			<groupId>org.testcontainers</groupId>
 			<artifactId>mongodb</artifactId>
-			<version>${testcontainer.version}</version>
 			<scope>test</scope>
 		</dependency>
 		<dependency>
 			<groupId>org.testcontainers</groupId>
 			<artifactId>elasticsearch</artifactId>
-			<version>${testcontainer.version}</version>
 			<scope>test</scope>
 		</dependency>
+		<dependency>
+			<groupId>com.github.docker-java</groupId>
+			<artifactId>docker-java-api</artifactId>
+			<version>3.3.3</version>
+		</dependency>
 
 		<!-- mongock -->
 		<dependency>
diff --git a/pluto-server/src/main/java/de/itvsh/ozg/pluto/attached_item/VorgangAttachedItem.java b/pluto-server/src/main/java/de/itvsh/ozg/pluto/attached_item/VorgangAttachedItem.java
index dabd2b581..a7ac2d1db 100644
--- a/pluto-server/src/main/java/de/itvsh/ozg/pluto/attached_item/VorgangAttachedItem.java
+++ b/pluto-server/src/main/java/de/itvsh/ozg/pluto/attached_item/VorgangAttachedItem.java
@@ -25,13 +25,12 @@ package de.itvsh.ozg.pluto.attached_item;
 
 import java.util.Map;
 
-import javax.validation.constraints.NotBlank;
-
 import org.springframework.data.annotation.Id;
 import org.springframework.data.annotation.TypeAlias;
 import org.springframework.data.annotation.Version;
 import org.springframework.data.mongodb.core.mapping.Document;
 
+import jakarta.validation.constraints.NotBlank;
 import lombok.AccessLevel;
 import lombok.AllArgsConstructor;
 import lombok.Builder;
diff --git a/pluto-server/src/main/java/de/itvsh/ozg/pluto/attached_item/VorgangAttachedItemEventListener.java b/pluto-server/src/main/java/de/itvsh/ozg/pluto/attached_item/VorgangAttachedItemEventListener.java
index e69aa43a1..f21e805da 100644
--- a/pluto-server/src/main/java/de/itvsh/ozg/pluto/attached_item/VorgangAttachedItemEventListener.java
+++ b/pluto-server/src/main/java/de/itvsh/ozg/pluto/attached_item/VorgangAttachedItemEventListener.java
@@ -26,8 +26,6 @@ package de.itvsh.ozg.pluto.attached_item;
 import java.util.Objects;
 import java.util.function.Predicate;
 
-import javax.validation.ValidationException;
-
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.ApplicationEventPublisher;
@@ -42,6 +40,7 @@ import de.itvsh.ozg.pluto.command.CommandRevokedEvent;
 import de.itvsh.ozg.pluto.command.Order;
 import de.itvsh.ozg.pluto.command.RevokeCommandEvent;
 import de.itvsh.ozg.pluto.vorgang.VorgangDeletedEvent;
+import jakarta.validation.ValidationException;
 import lombok.extern.log4j.Log4j2;
 
 @Component
diff --git a/pluto-server/src/main/java/de/itvsh/ozg/pluto/attached_item/VorgangAttachedItemService.java b/pluto-server/src/main/java/de/itvsh/ozg/pluto/attached_item/VorgangAttachedItemService.java
index f10fa578c..e4a79eca5 100644
--- a/pluto-server/src/main/java/de/itvsh/ozg/pluto/attached_item/VorgangAttachedItemService.java
+++ b/pluto-server/src/main/java/de/itvsh/ozg/pluto/attached_item/VorgangAttachedItemService.java
@@ -29,8 +29,6 @@ import java.util.Map;
 import java.util.Optional;
 import java.util.stream.Stream;
 
-import javax.validation.Valid;
-
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.ApplicationEventPublisher;
 import org.springframework.stereotype.Service;
@@ -38,6 +36,7 @@ import org.springframework.validation.annotation.Validated;
 
 import de.itvsh.ozg.pluto.command.Command;
 import de.itvsh.ozg.pluto.common.errorhandling.NotFoundException;
+import jakarta.validation.Valid;
 import lombok.NonNull;
 
 @Service
diff --git a/pluto-server/src/main/java/de/itvsh/ozg/pluto/clientattribute/ClientAttribute.java b/pluto-server/src/main/java/de/itvsh/ozg/pluto/clientattribute/ClientAttribute.java
index 89e07a693..5a61c33dd 100644
--- a/pluto-server/src/main/java/de/itvsh/ozg/pluto/clientattribute/ClientAttribute.java
+++ b/pluto-server/src/main/java/de/itvsh/ozg/pluto/clientattribute/ClientAttribute.java
@@ -25,13 +25,12 @@ package de.itvsh.ozg.pluto.clientattribute;
 
 import java.util.Optional;
 
-import javax.validation.constraints.NotNull;
-
 import org.springframework.data.annotation.AccessType;
 import org.springframework.data.annotation.PersistenceCreator;
 import org.springframework.data.annotation.Transient;
 import org.springframework.data.annotation.TypeAlias;
 
+import jakarta.validation.constraints.NotNull;
 import lombok.AccessLevel;
 import lombok.AllArgsConstructor;
 import lombok.Builder;
diff --git a/pluto-server/src/main/java/de/itvsh/ozg/pluto/clientattribute/ClientAttributeHasValueConstraint.java b/pluto-server/src/main/java/de/itvsh/ozg/pluto/clientattribute/ClientAttributeHasValueConstraint.java
index e454f0266..421e575fd 100644
--- a/pluto-server/src/main/java/de/itvsh/ozg/pluto/clientattribute/ClientAttributeHasValueConstraint.java
+++ b/pluto-server/src/main/java/de/itvsh/ozg/pluto/clientattribute/ClientAttributeHasValueConstraint.java
@@ -30,10 +30,10 @@ import java.lang.annotation.ElementType;
 import java.lang.annotation.Retention;
 import java.lang.annotation.Target;
 
-import javax.validation.Constraint;
-import javax.validation.ConstraintValidator;
-import javax.validation.ConstraintValidatorContext;
-import javax.validation.Payload;
+import jakarta.validation.Constraint;
+import jakarta.validation.ConstraintValidator;
+import jakarta.validation.ConstraintValidatorContext;
+import jakarta.validation.Payload;
 
 @Constraint(validatedBy = ClientAttributeHasValueValidator.class)
 @Target(ElementType.TYPE)
diff --git a/pluto-server/src/main/java/de/itvsh/ozg/pluto/clientattribute/ClientAttributeIdentificator.java b/pluto-server/src/main/java/de/itvsh/ozg/pluto/clientattribute/ClientAttributeIdentificator.java
index 6be4f8d08..a57e9b53c 100644
--- a/pluto-server/src/main/java/de/itvsh/ozg/pluto/clientattribute/ClientAttributeIdentificator.java
+++ b/pluto-server/src/main/java/de/itvsh/ozg/pluto/clientattribute/ClientAttributeIdentificator.java
@@ -23,8 +23,7 @@
  */
 package de.itvsh.ozg.pluto.clientattribute;
 
-import javax.validation.constraints.NotEmpty;
-
+import jakarta.validation.constraints.NotEmpty;
 import lombok.Builder;
 import lombok.EqualsAndHashCode;
 import lombok.Getter;
diff --git a/pluto-server/src/main/java/de/itvsh/ozg/pluto/clientattribute/ClientAttributeService.java b/pluto-server/src/main/java/de/itvsh/ozg/pluto/clientattribute/ClientAttributeService.java
index 2348180d1..d999eca7b 100644
--- a/pluto-server/src/main/java/de/itvsh/ozg/pluto/clientattribute/ClientAttributeService.java
+++ b/pluto-server/src/main/java/de/itvsh/ozg/pluto/clientattribute/ClientAttributeService.java
@@ -23,12 +23,11 @@
  */
 package de.itvsh.ozg.pluto.clientattribute;
 
-import javax.validation.Valid;
-
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.validation.annotation.Validated;
 
+import jakarta.validation.Valid;
 import lombok.NonNull;
 
 @Service
diff --git a/pluto-server/src/main/java/de/itvsh/ozg/pluto/command/CommandRepository.java b/pluto-server/src/main/java/de/itvsh/ozg/pluto/command/CommandRepository.java
index d5f59da7a..d5fff3e5f 100644
--- a/pluto-server/src/main/java/de/itvsh/ozg/pluto/command/CommandRepository.java
+++ b/pluto-server/src/main/java/de/itvsh/ozg/pluto/command/CommandRepository.java
@@ -131,7 +131,7 @@ class CommandRepository {
 	}
 
 	public Stream<Command> findCommands(Order order, CommandStatus status, ZonedDateTime createdBefore) {
-		return mongoOperations.stream(buildCommandsQuery(order, status, createdBefore), Command.class).stream();
+		return mongoOperations.stream(buildCommandsQuery(order, status, createdBefore), Command.class);
 	}
 
 	private Query buildCommandsQuery(Order order, CommandStatus status, ZonedDateTime createdBefore) {
diff --git a/pluto-server/src/main/java/de/itvsh/ozg/pluto/command/CreateCommandRequest.java b/pluto-server/src/main/java/de/itvsh/ozg/pluto/command/CreateCommandRequest.java
index e3cfbca8d..3c1539471 100644
--- a/pluto-server/src/main/java/de/itvsh/ozg/pluto/command/CreateCommandRequest.java
+++ b/pluto-server/src/main/java/de/itvsh/ozg/pluto/command/CreateCommandRequest.java
@@ -25,11 +25,10 @@ package de.itvsh.ozg.pluto.command;
 
 import java.util.Map;
 
-import javax.validation.Valid;
-import javax.validation.constraints.NotNull;
-
 import de.itvsh.ozg.pluto.common.callcontext.CallContext;
 import de.itvsh.ozg.pluto.vorgang.redirect.RedirectRequest;
+import jakarta.validation.Valid;
+import jakarta.validation.constraints.NotNull;
 import lombok.Builder;
 import lombok.Getter;
 import lombok.ToString;
diff --git a/pluto-server/src/main/java/de/itvsh/ozg/pluto/command/PersistPostfachNachrichtByCommandService.java b/pluto-server/src/main/java/de/itvsh/ozg/pluto/command/PersistPostfachNachrichtByCommandService.java
index 9a08dd126..1209672d4 100644
--- a/pluto-server/src/main/java/de/itvsh/ozg/pluto/command/PersistPostfachNachrichtByCommandService.java
+++ b/pluto-server/src/main/java/de/itvsh/ozg/pluto/command/PersistPostfachNachrichtByCommandService.java
@@ -39,8 +39,6 @@ import java.util.concurrent.TimeUnit;
 import java.util.concurrent.TimeoutException;
 import java.util.stream.Stream;
 
-import javax.activation.MimetypesFileTypeMap;
-
 import org.apache.commons.lang3.StringUtils;
 import org.apache.http.entity.ContentType;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -60,6 +58,7 @@ import de.itvsh.ozg.pluto.common.callcontext.User;
 import de.itvsh.ozg.pluto.files.FileService;
 import de.itvsh.ozg.pluto.files.OzgFile;
 import de.itvsh.ozg.pluto.files.UploadedFilesReference;
+import jakarta.activation.MimetypesFileTypeMap;
 import lombok.extern.log4j.Log4j2;
 
 /**
diff --git a/pluto-server/src/main/java/de/itvsh/ozg/pluto/common/migration/M007_MigrateRelationIdOnUpdateVorgangAttachedItemCommands.java b/pluto-server/src/main/java/de/itvsh/ozg/pluto/common/migration/M007_MigrateRelationIdOnUpdateVorgangAttachedItemCommands.java
index 0e071164d..24bf523c4 100644
--- a/pluto-server/src/main/java/de/itvsh/ozg/pluto/common/migration/M007_MigrateRelationIdOnUpdateVorgangAttachedItemCommands.java
+++ b/pluto-server/src/main/java/de/itvsh/ozg/pluto/common/migration/M007_MigrateRelationIdOnUpdateVorgangAttachedItemCommands.java
@@ -60,7 +60,8 @@ public class M007_MigrateRelationIdOnUpdateVorgangAttachedItemCommands { // NOSO
 	}
 
 	CloseableIterator<Document> getCommands(MongoTemplate template) {
-		return template.stream(createSearchQuery(), Document.class, COMMAND_COLLECTION);
+//		return template.stream(createSearchQuery(), Document.class, COMMAND_COLLECTION);
+		return null;
 	}
 
 	private Query createSearchQuery() {
diff --git a/pluto-server/src/main/java/de/itvsh/ozg/pluto/common/migration/M012_MigrationUserId.java b/pluto-server/src/main/java/de/itvsh/ozg/pluto/common/migration/M012_MigrationUserId.java
index 3c63dd39a..9af29dc62 100644
--- a/pluto-server/src/main/java/de/itvsh/ozg/pluto/common/migration/M012_MigrationUserId.java
+++ b/pluto-server/src/main/java/de/itvsh/ozg/pluto/common/migration/M012_MigrationUserId.java
@@ -88,7 +88,7 @@ public class M012_MigrationUserId {// NOSONAR
 	}
 
 	private Stream<Document> findVorgangWithFilledAssignedTo() {
-		return template.stream(createFindVorgangWithFilledAssignedToQuery(), Document.class, COLLECTION_VORGANG_NAME).stream();
+		return template.stream(createFindVorgangWithFilledAssignedToQuery(), Document.class, COLLECTION_VORGANG_NAME);
 	}
 
 	Query createFindVorgangWithFilledAssignedToQuery() {
@@ -111,7 +111,7 @@ public class M012_MigrationUserId {// NOSONAR
 	}
 
 	private Stream<Document> findCommandWithCreateBy() {
-		return template.stream(createFindCommandWithCreatedByQuery(), Document.class, COLLECTION_COMMAND_NAME).stream();
+		return template.stream(createFindCommandWithCreatedByQuery(), Document.class, COLLECTION_COMMAND_NAME);
 	}
 
 	Query createFindCommandWithCreatedByQuery() {
@@ -134,7 +134,7 @@ public class M012_MigrationUserId {// NOSONAR
 	}
 
 	private Stream<Document> findVorgangAttachedItemWithCreatedBy() {
-		return template.stream(createFindVorgangAttachedItemdWithCreatedByQuery(), Document.class, COLLECTION_VORGANG_ATTACHED_ITEM_NAME).stream();
+		return template.stream(createFindVorgangAttachedItemdWithCreatedByQuery(), Document.class, COLLECTION_VORGANG_ATTACHED_ITEM_NAME);
 	}
 
 	Query createFindVorgangAttachedItemdWithCreatedByQuery() {
diff --git a/pluto-server/src/main/java/de/itvsh/ozg/pluto/common/migration/M013_MigrateServiceKonto.java b/pluto-server/src/main/java/de/itvsh/ozg/pluto/common/migration/M013_MigrateServiceKonto.java
index 1073615b3..eee262fbf 100644
--- a/pluto-server/src/main/java/de/itvsh/ozg/pluto/common/migration/M013_MigrateServiceKonto.java
+++ b/pluto-server/src/main/java/de/itvsh/ozg/pluto/common/migration/M013_MigrateServiceKonto.java
@@ -70,7 +70,7 @@ public class M013_MigrateServiceKonto {// NOSONAR
 	protected CloseableIterator<Document> findVorgangsWithoutServiceKonto(MongoTemplate template) {
 		var query = query(where(HEADER_SERVICE_KONTO_KEY).isNull().and(EINGANGS_POSTFACH_ID_KEY).nin(null, StringUtils.EMPTY));
 		query.fields().include(EINGANGS_POSTFACH_ID_KEY);
-		return template.stream(query, Document.class, VORGANG_COLLECTION);
+		return null;// template.stream(query, Document.class, VORGANG_COLLECTION);
 	}
 
 	protected Pair<Query, Update> createUpdate(Document vorgang) {
diff --git a/pluto-server/src/main/java/de/itvsh/ozg/pluto/common/search/SearchConfig.java b/pluto-server/src/main/java/de/itvsh/ozg/pluto/common/search/SearchConfig.java
index 411e56e4b..3a89526e1 100644
--- a/pluto-server/src/main/java/de/itvsh/ozg/pluto/common/search/SearchConfig.java
+++ b/pluto-server/src/main/java/de/itvsh/ozg/pluto/common/search/SearchConfig.java
@@ -30,7 +30,6 @@ import java.security.NoSuchAlgorithmException;
 import java.security.cert.CertificateException;
 
 import javax.net.ssl.SSLContext;
-import javax.validation.Valid;
 
 import org.apache.http.ssl.SSLContextBuilder;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -38,8 +37,9 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.data.elasticsearch.client.ClientConfiguration;
 import org.springframework.data.elasticsearch.client.elc.ElasticsearchConfiguration;
-import org.springframework.http.HttpHeaders;
+import org.springframework.data.elasticsearch.support.HttpHeaders;
 
+import jakarta.validation.Valid;
 import lombok.SneakyThrows;
 
 @Configuration
diff --git a/pluto-server/src/main/java/de/itvsh/ozg/pluto/common/search/SearchProperties.java b/pluto-server/src/main/java/de/itvsh/ozg/pluto/common/search/SearchProperties.java
index eba987faf..dbafe3d76 100644
--- a/pluto-server/src/main/java/de/itvsh/ozg/pluto/common/search/SearchProperties.java
+++ b/pluto-server/src/main/java/de/itvsh/ozg/pluto/common/search/SearchProperties.java
@@ -23,12 +23,11 @@
  */
 package de.itvsh.ozg.pluto.common.search;
 
-import javax.validation.constraints.NotEmpty;
-
 import org.springframework.boot.context.properties.ConfigurationProperties;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.core.io.Resource;
 
+import jakarta.validation.constraints.NotEmpty;
 import lombok.Getter;
 import lombok.Setter;
 
diff --git a/pluto-server/src/main/java/de/itvsh/ozg/pluto/common/search/SearchVorgangCustomRepositoryImpl.java b/pluto-server/src/main/java/de/itvsh/ozg/pluto/common/search/SearchVorgangCustomRepositoryImpl.java
index 02abf41d2..e674a01b2 100644
--- a/pluto-server/src/main/java/de/itvsh/ozg/pluto/common/search/SearchVorgangCustomRepositoryImpl.java
+++ b/pluto-server/src/main/java/de/itvsh/ozg/pluto/common/search/SearchVorgangCustomRepositoryImpl.java
@@ -24,7 +24,6 @@
 package de.itvsh.ozg.pluto.common.search;
 
 import static de.itvsh.ozg.pluto.common.search.IndexedVorgang.*;
-import static org.elasticsearch.index.query.AbstractQueryBuilder.*;
 
 import java.util.List;
 import java.util.stream.Stream;
@@ -59,6 +58,7 @@ class SearchVorgangCustomRepositoryImpl implements SearchVorgangCustomRepository
 	private static final String STATUS = FIELD_STATUS + KEYWORD;
 	private static final String ASSIGNED_TO = FIELD_ASSIGNED_TO + KEYWORD;
 
+	private static final float DEFAULT_BOOST = 1f;
 	private static final float HALF_BOOST = 0.5f;
 	private static final float DOUBLE_BOOST = 2f;
 
diff --git a/pluto-server/src/main/java/de/itvsh/ozg/pluto/vorgang/VorgangRepository.java b/pluto-server/src/main/java/de/itvsh/ozg/pluto/vorgang/VorgangRepository.java
index de6afff67..662f2f24b 100644
--- a/pluto-server/src/main/java/de/itvsh/ozg/pluto/vorgang/VorgangRepository.java
+++ b/pluto-server/src/main/java/de/itvsh/ozg/pluto/vorgang/VorgangRepository.java
@@ -66,7 +66,7 @@ class VorgangRepository {
 	}
 
 	public Stream<Vorgang> findAll() {
-		return mongoOperations.stream(query(CriteriaUtil.vorgangNotInCreation().andOperator(CriteriaUtil.isNotDeleted())), Vorgang.class).stream();
+		return mongoOperations.stream(query(CriteriaUtil.vorgangNotInCreation().andOperator(CriteriaUtil.isNotDeleted())), Vorgang.class);
 	}
 
 	public void patch(String vorgangId, long version, Map<String, Object> patch) {
diff --git a/pluto-server/src/main/java/de/itvsh/ozg/pluto/vorgang/redirect/ForwardingService.java b/pluto-server/src/main/java/de/itvsh/ozg/pluto/vorgang/redirect/ForwardingService.java
index 16a6afb08..128925181 100644
--- a/pluto-server/src/main/java/de/itvsh/ozg/pluto/vorgang/redirect/ForwardingService.java
+++ b/pluto-server/src/main/java/de/itvsh/ozg/pluto/vorgang/redirect/ForwardingService.java
@@ -32,8 +32,6 @@ import java.util.Map;
 import java.util.Optional;
 import java.util.stream.Stream;
 
-import javax.mail.util.ByteArrayDataSource;
-
 import org.apache.commons.io.IOUtils;
 import org.apache.commons.lang3.ArrayUtils;
 import org.apache.commons.lang3.StringUtils;
@@ -57,6 +55,7 @@ import de.itvsh.ozg.pluto.vorgang.redirect.Forwarding.Status;
 import freemarker.template.Configuration;
 import freemarker.template.Template;
 import freemarker.template.TemplateException;
+import jakarta.mail.util.ByteArrayDataSource;
 import lombok.extern.log4j.Log4j2;
 
 @Service
diff --git a/pluto-server/src/test/java/de/itvsh/ozg/pluto/attached_item/VorgangAttachedItemEventListenerTest.java b/pluto-server/src/test/java/de/itvsh/ozg/pluto/attached_item/VorgangAttachedItemEventListenerTest.java
index e1018b13a..f6325566f 100644
--- a/pluto-server/src/test/java/de/itvsh/ozg/pluto/attached_item/VorgangAttachedItemEventListenerTest.java
+++ b/pluto-server/src/test/java/de/itvsh/ozg/pluto/attached_item/VorgangAttachedItemEventListenerTest.java
@@ -30,8 +30,6 @@ import static org.mockito.Mockito.*;
 import java.util.HashMap;
 import java.util.Map;
 
-import javax.validation.ValidationException;
-
 import org.junit.jupiter.api.DisplayName;
 import org.junit.jupiter.api.Nested;
 import org.junit.jupiter.api.Test;
@@ -50,6 +48,7 @@ import de.itvsh.ozg.pluto.command.CommandTestFactory;
 import de.itvsh.ozg.pluto.command.RevokeCommandEvent;
 import de.itvsh.ozg.pluto.vorgang.VorgangDeletedEventTestFactory;
 import de.itvsh.ozg.pluto.vorgang.VorgangTestFactory;
+import jakarta.validation.ValidationException;
 
 class VorgangAttachedItemEventListenerTest {
 
diff --git a/pluto-server/src/test/java/de/itvsh/ozg/pluto/clientattribute/ClientAttributeHasValueValidatorTest.java b/pluto-server/src/test/java/de/itvsh/ozg/pluto/clientattribute/ClientAttributeHasValueValidatorTest.java
index 9fb1e9b85..0ef3914f8 100644
--- a/pluto-server/src/test/java/de/itvsh/ozg/pluto/clientattribute/ClientAttributeHasValueValidatorTest.java
+++ b/pluto-server/src/test/java/de/itvsh/ozg/pluto/clientattribute/ClientAttributeHasValueValidatorTest.java
@@ -28,14 +28,14 @@ import static org.assertj.core.api.Assertions.*;
 
 import java.util.Optional;
 
-import javax.validation.ConstraintValidatorContext;
-
 import org.junit.jupiter.api.DisplayName;
 import org.junit.jupiter.api.Nested;
 import org.junit.jupiter.api.Test;
 import org.mockito.InjectMocks;
 import org.mockito.Mock;
 
+import jakarta.validation.ConstraintValidatorContext;
+
 class ClientAttributeHasValueValidatorTest {
 
 	@InjectMocks
diff --git a/pluto-server/src/test/java/de/itvsh/ozg/pluto/command/CommandITCase.java b/pluto-server/src/test/java/de/itvsh/ozg/pluto/command/CommandITCase.java
index 9035706f6..7e50ef16b 100644
--- a/pluto-server/src/test/java/de/itvsh/ozg/pluto/command/CommandITCase.java
+++ b/pluto-server/src/test/java/de/itvsh/ozg/pluto/command/CommandITCase.java
@@ -26,8 +26,9 @@ package de.itvsh.ozg.pluto.command;
 import static org.assertj.core.api.Assertions.*;
 import static org.mockito.Mockito.*;
 
+import java.util.Map;
+
 import org.assertj.core.api.InstanceOfAssertFactories;
-import org.elasticsearch.core.Map;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.DisplayName;
 import org.junit.jupiter.api.Nested;
diff --git a/pluto-server/src/test/java/de/itvsh/ozg/pluto/common/migration/M007_MigrateRelationIdOnUpdateVorgangAttachedItemCommandsITCase.java b/pluto-server/src/test/java/de/itvsh/ozg/pluto/common/migration/M007_MigrateRelationIdOnUpdateVorgangAttachedItemCommandsITCase.java
index 59bf2edc5..b4ef23e7c 100644
--- a/pluto-server/src/test/java/de/itvsh/ozg/pluto/common/migration/M007_MigrateRelationIdOnUpdateVorgangAttachedItemCommandsITCase.java
+++ b/pluto-server/src/test/java/de/itvsh/ozg/pluto/common/migration/M007_MigrateRelationIdOnUpdateVorgangAttachedItemCommandsITCase.java
@@ -23,6 +23,8 @@
  */
 package de.itvsh.ozg.pluto.common.migration;
 
+import static org.assertj.core.api.Assertions.*;
+
 import java.util.UUID;
 
 import org.bson.Document;
@@ -33,8 +35,6 @@ import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.mongodb.core.MongoTemplate;
 
-import static org.assertj.core.api.Assertions.*;
-
 import de.itvsh.kop.common.test.DataITCase;
 
 @DataITCase
diff --git a/pluto-server/src/test/java/de/itvsh/ozg/pluto/common/search/SearchInitializer.java b/pluto-server/src/test/java/de/itvsh/ozg/pluto/common/search/SearchInitializer.java
index 4cc526298..5b57e8bff 100644
--- a/pluto-server/src/test/java/de/itvsh/ozg/pluto/common/search/SearchInitializer.java
+++ b/pluto-server/src/test/java/de/itvsh/ozg/pluto/common/search/SearchInitializer.java
@@ -77,6 +77,7 @@ class SearchInitializer implements ApplicationContextInitializer<ConfigurableApp
 				"ozgcloud.elasticsearch.address=" + elasticAddress,
 				"ozgcloud.elasticsearch.username=" + USERNAME,
 				"ozgcloud.elasticsearch.password=" + PASSWORD,
+				"ozgcloud.elasticsearch.use-ssl=false",
 				"ozgcloud.elasticsearch.index=test").applyTo(applicationContext);
 	}
 }
diff --git a/pluto-server/src/test/java/de/itvsh/ozg/pluto/common/search/SearchVorgangCustomRepositoryImplTest.java b/pluto-server/src/test/java/de/itvsh/ozg/pluto/common/search/SearchVorgangCustomRepositoryImplTest.java
index a40fbcaf0..61b0485a7 100644
--- a/pluto-server/src/test/java/de/itvsh/ozg/pluto/common/search/SearchVorgangCustomRepositoryImplTest.java
+++ b/pluto-server/src/test/java/de/itvsh/ozg/pluto/common/search/SearchVorgangCustomRepositoryImplTest.java
@@ -27,7 +27,8 @@ import static org.assertj.core.api.Assertions.*;
 import static org.mockito.ArgumentMatchers.*;
 import static org.mockito.Mockito.*;
 
-import org.elasticsearch.core.List;
+import java.util.List;
+
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Nested;
 import org.junit.jupiter.api.Test;
diff --git a/pluto-server/src/test/java/de/itvsh/ozg/pluto/common/search/SearchVorgangRepositoryITCase.java b/pluto-server/src/test/java/de/itvsh/ozg/pluto/common/search/SearchVorgangRepositoryITCase.java
index 9c3dab2f6..741b606e4 100644
--- a/pluto-server/src/test/java/de/itvsh/ozg/pluto/common/search/SearchVorgangRepositoryITCase.java
+++ b/pluto-server/src/test/java/de/itvsh/ozg/pluto/common/search/SearchVorgangRepositoryITCase.java
@@ -25,7 +25,8 @@ package de.itvsh.ozg.pluto.common.search;
 
 import static org.assertj.core.api.Assertions.*;
 
-import org.elasticsearch.core.List;
+import java.util.List;
+
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Nested;
 import org.junit.jupiter.api.Test;
diff --git a/pluto-server/src/test/java/de/itvsh/ozg/pluto/vorgang/VorgangServiceITCase.java b/pluto-server/src/test/java/de/itvsh/ozg/pluto/vorgang/VorgangServiceITCase.java
index 218c786cf..77bcc68b4 100644
--- a/pluto-server/src/test/java/de/itvsh/ozg/pluto/vorgang/VorgangServiceITCase.java
+++ b/pluto-server/src/test/java/de/itvsh/ozg/pluto/vorgang/VorgangServiceITCase.java
@@ -27,7 +27,8 @@ import static org.assertj.core.api.Assertions.*;
 import static org.mockito.ArgumentMatchers.*;
 import static org.mockito.Mockito.*;
 
-import org.elasticsearch.core.List;
+import java.util.List;
+
 import org.junit.jupiter.api.DisplayName;
 import org.junit.jupiter.api.Nested;
 import org.junit.jupiter.api.Test;
-- 
GitLab