From f04dfcc7dc77094cb881c630e7818523190fbf73 Mon Sep 17 00:00:00 2001
From: Jan Zickermann <jan.zickermann@dataport.de>
Date: Thu, 6 Mar 2025 15:39:28 +0100
Subject: [PATCH] OZG-4097 send-attachment: Fix sending attachments

---
 .../nachrichten/postfach/osiv2/model/FileChunkInfo.java     | 6 ++++++
 .../nachrichten/postfach/osiv2/model/Osi2Attachment.java    | 2 +-
 .../postfach/osiv2/transfer/Osi2ResponseMapper.java         | 2 +-
 src/main/resources/application-stage.yml                    | 2 +-
 .../osiv2/extension/AttachmentExampleUploadUtil.java        | 2 +-
 5 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/model/FileChunkInfo.java b/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/model/FileChunkInfo.java
index a119cba..f63abe3 100644
--- a/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/model/FileChunkInfo.java
+++ b/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/model/FileChunkInfo.java
@@ -16,6 +16,12 @@ public record FileChunkInfo(
 ) {
 	public AbstractResource createUploadResource(InputStream fileInputStream) {
 		return new AbstractResource() {
+
+			@Override
+			public String getFilename() {
+				return upload.file().getName();
+			}
+
 			@Override
 			public String getDescription() {
 				return "File chunk " + chunkIndex + " of " + upload.getLoggableString();
diff --git a/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/model/Osi2Attachment.java b/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/model/Osi2Attachment.java
index dc41ec7..a948a1a 100644
--- a/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/model/Osi2Attachment.java
+++ b/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/model/Osi2Attachment.java
@@ -10,7 +10,7 @@ public record Osi2Attachment(
 		String guid,
 		OzgCloudFile file
 ) {
-	public static final long CHUNK_SIZE = 100L * (2L << 10);
+	public static final long CHUNK_SIZE = (2L << 14);
 
 	public static Osi2Attachment from(OzgCloudFile file) {
 		return Osi2Attachment.builder()
diff --git a/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/transfer/Osi2ResponseMapper.java b/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/transfer/Osi2ResponseMapper.java
index 74a34e0..1dda33f 100644
--- a/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/transfer/Osi2ResponseMapper.java
+++ b/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/transfer/Osi2ResponseMapper.java
@@ -113,7 +113,7 @@ public interface Osi2ResponseMapper {
 	}
 
 	default void checkChunkUploadSuccess(QuarantineFileResult quarantineFileResult) {
-		if (!Boolean.TRUE.equals(quarantineFileResult.getSuccess())) {
+		if (!Optional.ofNullable(quarantineFileResult.getError()).map(String::isBlank).orElse(true)) {
 			throw new Osi2RuntimeException(
 					"Chunk-Upload of file %s failed: %s".formatted(quarantineFileResult.getFileUid(), quarantineFileResult.getError()), null);
 		}
diff --git a/src/main/resources/application-stage.yml b/src/main/resources/application-stage.yml
index 2618fc5..e69cb9d 100644
--- a/src/main/resources/application-stage.yml
+++ b/src/main/resources/application-stage.yml
@@ -2,7 +2,7 @@ ozgcloud:
   osiv2:
     enabled: false
     auth:
-      client-id: 'OZG-Kopfstelle'
+      client-id: 'OZG-Kopfstelle-SH'
       client-secret: 'changeme'
       scope: default, access_urn:dataport:osi:sh:stage:ozgkopfstelle
       token-uri: 'https://idp.serviceportal-stage.schleswig-holstein.de/webidp2/connect/token'
diff --git a/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/extension/AttachmentExampleUploadUtil.java b/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/extension/AttachmentExampleUploadUtil.java
index 8aa5491..97cc84d 100644
--- a/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/extension/AttachmentExampleUploadUtil.java
+++ b/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/extension/AttachmentExampleUploadUtil.java
@@ -12,7 +12,7 @@ import lombok.extern.log4j.Log4j2;
 @Log4j2
 public class AttachmentExampleUploadUtil {
 
-	public static final byte[] EXAMPLE_TEXT_DATA = LoremIpsum.getInstance().getParagraphs(5,100).getBytes();
+	public static final byte[] EXAMPLE_TEXT_DATA = LoremIpsum.getInstance().getParagraphs(5,10).getBytes();
 
 	public static String uploadTextFile(Osi2AttachmentFileService remoteService) {
 
-- 
GitLab