From c4aeb6c1bd62cb7d195f88b11f2772c7c06c1ea9 Mon Sep 17 00:00:00 2001
From: OZGCloud <ozgcloud@mgm-tp.com>
Date: Tue, 10 Dec 2024 08:10:04 +0100
Subject: [PATCH] OZG-6810 adjust configuration

---
 .../NachrichtenManagerConfiguration.java            |  4 ++--
 .../nachrichten/file/AttachmentFileMapper.java      |  8 +++++++-
 .../nachrichten/file/AttachmentFileService.java     | 13 ++++++++-----
 .../NachrichtenManagerTestApplication.java          |  8 ++++++++
 4 files changed, 25 insertions(+), 8 deletions(-)

diff --git a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/NachrichtenManagerConfiguration.java b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/NachrichtenManagerConfiguration.java
index 4a6d1a5..48d588f 100644
--- a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/NachrichtenManagerConfiguration.java
+++ b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/NachrichtenManagerConfiguration.java
@@ -26,8 +26,8 @@ public class NachrichtenManagerConfiguration {
 	public static final String NACHRICHTEN_VORGANG_REMOTE_SERVICE = "nachrichten_vorgangRemoteService";
 	public static final String NACHRICHTEN_ATTACHED_ITEM_SERVICE = "nachrichten_attachedItemService";
 	public static final String NACHRICHTEN_OZG_CLOUD_FILE_MAPPER = "nachrichten_OzgCloudFileMapperImpl";
-	public static final String BINARY_FILE_SERVICE_NAME = "nachrichten_BinaryFileService";
-	public static final String BINARY_FILE_REMOTE_SERVICE_NAME = "nachrichten_BinaryFileRemoteService";
+	public static final String ATTACHMENT_FILE_SERVICE_NAME = "nachrichten_AttachmentFileService";
+	public static final String ATTACHMENT_FILE_MAPPER_NAME = "nachrichten_AttachmentFileMapper";
 
 	public static final String GRPC_VORGANG_MANAGER_NAME = "vorgang-manager";
 	public static final String GRPC_COMMAND_MANAGER_NAME = "command-manager";
diff --git a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/file/AttachmentFileMapper.java b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/file/AttachmentFileMapper.java
index e1f6f6e..6ccc7eb 100644
--- a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/file/AttachmentFileMapper.java
+++ b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/file/AttachmentFileMapper.java
@@ -23,13 +23,19 @@
  */
 package de.ozgcloud.nachrichten.file;
 
+import org.mapstruct.AnnotateWith;
 import org.mapstruct.Mapper;
 import org.mapstruct.Mapping;
+import org.mapstruct.NullValueCheckStrategy;
+import org.mapstruct.ReportingPolicy;
+import org.springframework.stereotype.Component;
 
 import de.ozgcloud.apilib.file.OzgCloudFile;
 import de.ozgcloud.apilib.file.OzgCloudUploadFile;
+import de.ozgcloud.nachrichten.NachrichtenManagerConfiguration;
 
-@Mapper
+@Mapper(nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS, unmappedTargetPolicy = ReportingPolicy.WARN)
+@AnnotateWith(value = Component.class, elements = @AnnotateWith.Element(strings = NachrichtenManagerConfiguration.ATTACHMENT_FILE_MAPPER_NAME))
 interface AttachmentFileMapper {
 
 	@Mapping(target = "vorgangId", ignore = true)
diff --git a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/file/AttachmentFileService.java b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/file/AttachmentFileService.java
index 2e57636..d04fc89 100644
--- a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/file/AttachmentFileService.java
+++ b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/file/AttachmentFileService.java
@@ -38,6 +38,7 @@ import jakarta.activation.MimetypesFileTypeMap;
 
 import org.apache.commons.io.IOUtils;
 import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.core.task.TaskExecutor;
 import org.springframework.stereotype.Service;
 
@@ -49,7 +50,7 @@ import de.ozgcloud.nachrichten.postfach.FileId;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.log4j.Log4j2;
 
-@Service(NachrichtenManagerConfiguration.BINARY_FILE_SERVICE_NAME)
+@Service(NachrichtenManagerConfiguration.ATTACHMENT_FILE_SERVICE_NAME)
 @RequiredArgsConstructor
 @Log4j2
 public class AttachmentFileService {
@@ -57,8 +58,10 @@ public class AttachmentFileService {
 	private static final int BUFFER_SIZE = 4 * 1024;
 	static final String ATTACHMENT_NAME = "PostfachAttachment";
 
-	private final OzgCloudFileService fileService;
+	@Qualifier(NachrichtenManagerConfiguration.OZG_CLOUD_FILE_SERVICE_NAME)
+	private final OzgCloudFileService ozgCloudFileService;
 	private final OzgCloudFileIdMapper fileIdMapper;
+	@Qualifier(NachrichtenManagerConfiguration.ATTACHMENT_FILE_MAPPER_NAME)
 	private final AttachmentFileMapper attachmentFileMapper;
 
 	private final TaskExecutor taskExecutor;
@@ -66,14 +69,14 @@ public class AttachmentFileService {
 	private final MimetypesFileTypeMap mimetypesFileTypeMap;
 
 	public AttachmentFile getFile(FileId fileId) {
-		var ozgCloudFile = fileService.getFile(fileIdMapper.toFileId(fileId.toString()));
+		var ozgCloudFile = ozgCloudFileService.getFile(fileIdMapper.toFileId(fileId.toString()));
 		return attachmentFileMapper.fromOzgCloudFile(ozgCloudFile);
 	}
 
 	public InputStream getFileContent(FileId fileId) {
 		var inputStream = createInputStream();
 		var outputStream = connectToOutputStream(inputStream);
-		taskExecutor.execute(() -> fileService.writeFileDataToStream(fileIdMapper.toFileId(fileId.toString()), outputStream));
+		taskExecutor.execute(() -> ozgCloudFileService.writeFileDataToStream(fileIdMapper.toFileId(fileId.toString()), outputStream));
 		return inputStream;
 	}
 
@@ -90,7 +93,7 @@ public class AttachmentFileService {
 	}
 
 	public String createAttachmentFile(AttachmentFile attachmentFile, String fileContent) {
-		var ozgCloudFileId = fileService.uploadFile(attachmentFileMapper.toOzgCloudUploadFile(enhanceAttachmentFile(attachmentFile, fileContent)),
+		var ozgCloudFileId = ozgCloudFileService.uploadFile(attachmentFileMapper.toOzgCloudUploadFile(enhanceAttachmentFile(attachmentFile, fileContent)),
 				toDecodedInputStream(fileContent));
 		return ozgCloudFileId.toString();
 	}
diff --git a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/NachrichtenManagerTestApplication.java b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/NachrichtenManagerTestApplication.java
index 36c71b3..8b90c6b 100644
--- a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/NachrichtenManagerTestApplication.java
+++ b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/NachrichtenManagerTestApplication.java
@@ -1,12 +1,15 @@
 package de.ozgcloud.nachrichten;
 
+import org.mapstruct.factory.Mappers;
 import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.boot.test.mock.mockito.MockBean;
+import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.ComponentScan;
 
 import de.ozgcloud.apilib.common.command.OzgCloudCommandService;
 import de.ozgcloud.apilib.file.OzgCloudFileService;
+import de.ozgcloud.apilib.vorgang.OzgCloudFileIdMapper;
 import de.ozgcloud.nachrichten.postfach.muk.MukPostfachConfiguration;
 
 @SpringBootApplication
@@ -22,4 +25,9 @@ public class NachrichtenManagerTestApplication {
 	@Qualifier(MukPostfachConfiguration.OZG_CLOUD_FILE_SERVICE_NAME)
 	private OzgCloudFileService mukOzgCloudFileServices;
 
+
+	@Bean
+	OzgCloudFileIdMapper ozgCloudFileIdMapper() {
+		return Mappers.getMapper(OzgCloudFileIdMapper.class);
+	}
 }
-- 
GitLab