diff --git a/lombok.config b/lombok.config index 81661f0fd9c5f6e2f40f39aa9ee13f7017fc2726..a0e918012b6da2b2cd06374cf7ac35d085bfa3e0 100644 --- a/lombok.config +++ b/lombok.config @@ -27,4 +27,5 @@ lombok.log.slf4j.flagUsage = ERROR lombok.log.log4j.flagUsage = ERROR lombok.data.flagUsage = ERROR lombok.nonNull.exceptionType = IllegalArgumentException -lombok.addLombokGeneratedAnnotation = true \ No newline at end of file +lombok.addLombokGeneratedAnnotation = true +lombok.copyableAnnotations += org.springframework.beans.factory.annotation.Qualifier \ No newline at end of file diff --git a/pom.xml b/pom.xml index 16fb006bed5bd4a396d98a75422044f43c1b3f19..61a64720dc3408155c9eb38f63d9f84f4d155066 100644 --- a/pom.xml +++ b/pom.xml @@ -1,6 +1,8 @@ <!-- - ~ Copyright (c) 2024. Das Land Schleswig-Holstein vertreten durch den Ministerpräsidenten des Landes - ~ Schleswig-Holstein Staatskanzlei Abteilung Digitalisierung und zentrales IT-Management der Landesregierung + ~ Copyright (c) 2024. Das Land Schleswig-Holstein vertreten durch den Ministerpräsidenten des +Landes + ~ Schleswig-Holstein Staatskanzlei Abteilung Digitalisierung und zentrales IT-Management der +Landesregierung ~ ~ Lizenziert unter der EUPL, Version 1.2 oder - sobald ~ diese von der Europäischen Kommission genehmigt wurden - @@ -21,14 +23,14 @@ --> <project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>de.ozgcloud.common</groupId> <artifactId>ozgcloud-common-parent</artifactId> - <version>4.0.1</version> + <version>4.3.2</version> </parent> <groupId>de.ozgcloud.muk</groupId> @@ -39,7 +41,7 @@ <description>OZG-Cloud MUK Postfach</description> <properties> - <api-lib.version>0.9.0</api-lib.version> + <api-lib.version>0.12.0</api-lib.version> <nachrichten-manager.version>2.10.0-SNAPSHOT</nachrichten-manager.version> <jackson-databind-nullable-version>0.2.6</jackson-databind-nullable-version> <wiremock.version>3.5.4</wiremock.version> @@ -153,7 +155,8 @@ <goal>generate</goal> </goals> <configuration> - <inputSpec>${project.basedir}/src/main/resources/${elster-transfer.version} + <inputSpec> + ${project.basedir}/src/main/resources/${elster-transfer.version} </inputSpec> <generatorName>java</generatorName> <generateApis>false</generateApis> @@ -181,4 +184,4 @@ </plugin> </plugins> </build> -</project> +</project> \ No newline at end of file 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 0000000000000000000000000000000000000000..b65237d4770a75b65c9b9553a11f4589318c8560 --- /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 0000000000000000000000000000000000000000..bfec782bac5ddadb10a12ab64289eb636b4933de --- /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_NAME = "file-manager"; + + public static final String MUK_POSTFACH_CLIENT_NAME = "OzgCloud_MukPostfach"; + + @GrpcClient(GRPC_FILE_MANAGER_NAME) + private BinaryFileServiceBlockingStub fileServiceBlockingStub; + @GrpcClient(GRPC_FILE_MANAGER_NAME) + 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 5a259d19982ae9ed73df9280e9c76b1bca7cbc6e..09b376460edf735193f39cb3d84f4ddfb4891589 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) {