From 2946c5e0488634a4a3ee82de8c1f69ac6edba7a1 Mon Sep 17 00:00:00 2001 From: OZGCloud <ozgcloud@mgm-tp.com> Date: Wed, 16 Oct 2024 17:00:27 +0200 Subject: [PATCH] OZG-6944 OzgCloudFileService --- .../muk/MukPostfachCallContextProvider.java | 17 ++++++++++ .../muk/MukPostfachConfiguration.java | 31 +++++++++++++++++++ .../muk/transfer/AttachmentService.java | 5 +-- 3 files changed, 51 insertions(+), 2 deletions(-) create mode 100644 src/main/java/de/ozgcloud/nachrichten/postfach/muk/MukPostfachCallContextProvider.java create mode 100644 src/main/java/de/ozgcloud/nachrichten/postfach/muk/MukPostfachConfiguration.java diff --git a/src/main/java/de/ozgcloud/nachrichten/postfach/muk/MukPostfachCallContextProvider.java b/src/main/java/de/ozgcloud/nachrichten/postfach/muk/MukPostfachCallContextProvider.java new file mode 100644 index 0000000..b65237d --- /dev/null +++ b/src/main/java/de/ozgcloud/nachrichten/postfach/muk/MukPostfachCallContextProvider.java @@ -0,0 +1,17 @@ +package de.ozgcloud.nachrichten.postfach.muk; + +import org.springframework.stereotype.Component; + +import de.ozgcloud.apilib.common.callcontext.CallContext; +import de.ozgcloud.apilib.common.callcontext.OzgCloudCallContextProvider; +import lombok.RequiredArgsConstructor; + +@Component +@RequiredArgsConstructor +class MukPostfachCallContextProvider implements OzgCloudCallContextProvider { + + @Override + public CallContext provideContext() { + return CallContext.builder().clientName(MukPostfachConfiguration.MUK_POSTFACH_CLIENT_NAME).build(); + } +} \ No newline at end of file diff --git a/src/main/java/de/ozgcloud/nachrichten/postfach/muk/MukPostfachConfiguration.java b/src/main/java/de/ozgcloud/nachrichten/postfach/muk/MukPostfachConfiguration.java new file mode 100644 index 0000000..bc8640f --- /dev/null +++ b/src/main/java/de/ozgcloud/nachrichten/postfach/muk/MukPostfachConfiguration.java @@ -0,0 +1,31 @@ +package de.ozgcloud.nachrichten.postfach.muk; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +import de.ozgcloud.apilib.file.OzgCloudFileService; +import de.ozgcloud.apilib.file.grpc.GrpcOzgCloudFileService; +import de.ozgcloud.apilib.file.grpc.OzgCloudFileMapper; +import de.ozgcloud.vorgang.grpc.binaryFile.BinaryFileServiceGrpc.BinaryFileServiceBlockingStub; +import de.ozgcloud.vorgang.grpc.binaryFile.BinaryFileServiceGrpc.BinaryFileServiceStub; +import net.devh.boot.grpc.client.inject.GrpcClient; + +@Configuration +public class MukPostfachConfiguration { + + public static final String OZG_CLOUD_FILE_SERVICE_NAME = "mukPostfach_OzgCloudFileService"; + + public static final String GRPC_FILE_MANAGER_FILE = "file-manager"; + + public static final String MUK_POSTFACH_CLIENT_NAME = "OzgCloud_MukPostfach"; + + @GrpcClient(GRPC_FILE_MANAGER_FILE) + private BinaryFileServiceBlockingStub fileServiceBlockingStub; + @GrpcClient(GRPC_FILE_MANAGER_FILE) + private BinaryFileServiceStub fileServiceAsyncServiceStub; + + @Bean(OZG_CLOUD_FILE_SERVICE_NAME) // NOSONAR + OzgCloudFileService grpcOzgCloudFileService(MukPostfachCallContextProvider contextProvider, OzgCloudFileMapper mapper) { + return new GrpcOzgCloudFileService(fileServiceBlockingStub, fileServiceAsyncServiceStub, contextProvider, mapper); + } +} diff --git a/src/main/java/de/ozgcloud/nachrichten/postfach/muk/transfer/AttachmentService.java b/src/main/java/de/ozgcloud/nachrichten/postfach/muk/transfer/AttachmentService.java index 5a259d1..09b3764 100644 --- a/src/main/java/de/ozgcloud/nachrichten/postfach/muk/transfer/AttachmentService.java +++ b/src/main/java/de/ozgcloud/nachrichten/postfach/muk/transfer/AttachmentService.java @@ -25,19 +25,20 @@ package de.ozgcloud.nachrichten.postfach.muk.transfer; import java.io.BufferedInputStream; import java.io.OutputStream; +import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.stereotype.Service; import de.ozgcloud.apilib.file.OzgCloudFile; import de.ozgcloud.apilib.file.OzgCloudFileId; import de.ozgcloud.apilib.file.OzgCloudFileService; import de.ozgcloud.apilib.file.OzgCloudUploadFile; +import de.ozgcloud.nachrichten.postfach.muk.MukPostfachConfiguration; import lombok.RequiredArgsConstructor; -import lombok.extern.log4j.Log4j2; -@Log4j2 @Service @RequiredArgsConstructor public class AttachmentService { + @Qualifier(MukPostfachConfiguration.OZG_CLOUD_FILE_SERVICE_NAME) // NOSONAR private final OzgCloudFileService ozgCloudFileService; OzgCloudFile getCloudFile(String fileId) { -- GitLab