From 1863b05c165b193c8f06a9ff8c5606d09c71b733 Mon Sep 17 00:00:00 2001
From: OZGCloud <ozgcloud@mgm-tp.com>
Date: Thu, 3 Aug 2023 21:56:55 +0200
Subject: [PATCH] OZG-4087 OZG-4144 implement service

---
 .../de/ozgcloud/xdomea/XDomeaService.java     | 31 +++++++++++++++++++
 .../de/ozgcloud/xdomea/XDomeaServiceTest.java | 20 ++++++++++++
 2 files changed, 51 insertions(+)

diff --git a/alfa-xdomea/src/main/java/de/ozgcloud/xdomea/XDomeaService.java b/alfa-xdomea/src/main/java/de/ozgcloud/xdomea/XDomeaService.java
index aff6e587e7..5cc88680d4 100644
--- a/alfa-xdomea/src/main/java/de/ozgcloud/xdomea/XDomeaService.java
+++ b/alfa-xdomea/src/main/java/de/ozgcloud/xdomea/XDomeaService.java
@@ -1,4 +1,35 @@
 package de.ozgcloud.xdomea;
 
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.util.zip.ZipEntry;
+import java.util.zip.ZipOutputStream;
+
+import org.springframework.stereotype.Service;
+
+import de.itvsh.kop.common.errorhandling.TechnicalException;
+
+@Service
 class XDomeaService {
+
+	public ByteArrayOutputStream createVorgangExport() {
+		ByteArrayOutputStream outputBytes = new ByteArrayOutputStream();
+		try (ZipOutputStream zipOutputStream = new ZipOutputStream(outputBytes)) {
+
+			putZipEntry("fake_file.txt", "data", zipOutputStream);
+
+		} catch (IOException ioe) {
+			throw new TechnicalException("Error creating zip file with Vorgang export", ioe);
+		}
+
+		return outputBytes;
+	}
+
+	private void putZipEntry(String fileName, String fileData, ZipOutputStream zipOutputStream) throws IOException {
+		ZipEntry entry = new ZipEntry(fileName);
+		zipOutputStream.putNextEntry(entry);
+		zipOutputStream.write(fileData.getBytes());
+		zipOutputStream.closeEntry();
+	}
+
 }
diff --git a/alfa-xdomea/src/test/java/de/ozgcloud/xdomea/XDomeaServiceTest.java b/alfa-xdomea/src/test/java/de/ozgcloud/xdomea/XDomeaServiceTest.java
index be7ef5852b..99312919ce 100644
--- a/alfa-xdomea/src/test/java/de/ozgcloud/xdomea/XDomeaServiceTest.java
+++ b/alfa-xdomea/src/test/java/de/ozgcloud/xdomea/XDomeaServiceTest.java
@@ -1,5 +1,25 @@
 package de.ozgcloud.xdomea;
 
+import static org.assertj.core.api.Assertions.*;
+
+import org.junit.jupiter.api.Nested;
+import org.junit.jupiter.api.Test;
+
 class XDomeaServiceTest {
 
+	private XDomeaService service = new XDomeaService();
+
+	@Nested
+	class TestCreateVorgangExport {
+
+		@Test
+		void shouldCreate() {
+			var zipBytesStream = service.createVorgangExport();
+
+			assertThat(zipBytesStream).isNotNull();
+			assertThat(zipBytesStream.toByteArray()).hasSizeGreaterThan(100);
+		}
+
+	}
+
 }
\ No newline at end of file
-- 
GitLab