From a4298be7fd49947adf2e2d680da0e2f424d967bb Mon Sep 17 00:00:00 2001
From: Jan Zickermann <jan.zickermann@dataport.de>
Date: Thu, 18 Jul 2024 15:30:35 +0200
Subject: [PATCH] KOP-2139 KOP-2444 model: Copy data model from xta-adapter

---
 .../de/ozgcloud/xta/client/XtaClient.java     | 26 +++++++++++++++++++
 .../de/ozgcloud/xta/client/model/XtaFile.java | 14 ++++++++++
 .../ozgcloud/xta/client/model/XtaMessage.java | 15 +++++++++++
 .../xta/client/model/XtaMessageId.java        | 14 ++++++++++
 .../xta/client/model/XtaMessageMetaData.java  | 20 ++++++++++++++
 .../model/XtaMessageMetaDatasAndHeader.java   | 10 +++++++
 .../java/de/ozgcloud/xtaClientLib/Main.java   |  9 -------
 7 files changed, 99 insertions(+), 9 deletions(-)
 create mode 100644 src/main/java/de/ozgcloud/xta/client/XtaClient.java
 create mode 100644 src/main/java/de/ozgcloud/xta/client/model/XtaFile.java
 create mode 100644 src/main/java/de/ozgcloud/xta/client/model/XtaMessage.java
 create mode 100644 src/main/java/de/ozgcloud/xta/client/model/XtaMessageId.java
 create mode 100644 src/main/java/de/ozgcloud/xta/client/model/XtaMessageMetaData.java
 create mode 100644 src/main/java/de/ozgcloud/xta/client/model/XtaMessageMetaDatasAndHeader.java
 delete mode 100644 src/main/java/de/ozgcloud/xtaClientLib/Main.java

diff --git a/src/main/java/de/ozgcloud/xta/client/XtaClient.java b/src/main/java/de/ozgcloud/xta/client/XtaClient.java
new file mode 100644
index 0000000..feb6242
--- /dev/null
+++ b/src/main/java/de/ozgcloud/xta/client/XtaClient.java
@@ -0,0 +1,26 @@
+package de.ozgcloud.xta.client;
+
+import org.apache.commons.lang3.NotImplementedException;
+
+import de.ozgcloud.xta.client.model.XtaMessage;
+import de.ozgcloud.xta.client.model.XtaMessageId;
+import de.ozgcloud.xta.client.model.XtaMessageMetaDatasAndHeader;
+
+public class XtaClient {
+
+	public XtaMessageMetaDatasAndHeader getMessagesMetadata(String selfIdentifier) {
+		throw new NotImplementedException("");
+	}
+
+	public XtaMessageMetaDatasAndHeader getNextMessagesMetadata(String selfIdentifier, String msgBoxRequestId) {
+		throw new NotImplementedException("");
+	}
+
+	public XtaMessage getMessage(XtaMessageId messageId) {
+		throw new NotImplementedException("");
+	}
+
+	public void close(XtaMessageId messageId) {
+		throw new NotImplementedException("");
+	}
+}
diff --git a/src/main/java/de/ozgcloud/xta/client/model/XtaFile.java b/src/main/java/de/ozgcloud/xta/client/model/XtaFile.java
new file mode 100644
index 0000000..1469b74
--- /dev/null
+++ b/src/main/java/de/ozgcloud/xta/client/model/XtaFile.java
@@ -0,0 +1,14 @@
+package de.ozgcloud.xta.client.model;
+
+import java.io.File;
+import java.math.BigInteger;
+
+import lombok.Builder;
+
+@Builder
+public record XtaFile(File file,
+		String contentType,
+		String name,
+		BigInteger size) {
+
+}
diff --git a/src/main/java/de/ozgcloud/xta/client/model/XtaMessage.java b/src/main/java/de/ozgcloud/xta/client/model/XtaMessage.java
new file mode 100644
index 0000000..4d76aac
--- /dev/null
+++ b/src/main/java/de/ozgcloud/xta/client/model/XtaMessage.java
@@ -0,0 +1,15 @@
+package de.ozgcloud.xta.client.model;
+
+import java.util.Collection;
+
+import lombok.Builder;
+import lombok.Getter;
+import lombok.Singular;
+
+@Builder(toBuilder = true)
+@Getter
+public class XtaMessage {
+	private XtaMessageMetaData metaData;
+	@Singular
+	private Collection<XtaFile> messageFiles;
+}
diff --git a/src/main/java/de/ozgcloud/xta/client/model/XtaMessageId.java b/src/main/java/de/ozgcloud/xta/client/model/XtaMessageId.java
new file mode 100644
index 0000000..8c65706
--- /dev/null
+++ b/src/main/java/de/ozgcloud/xta/client/model/XtaMessageId.java
@@ -0,0 +1,14 @@
+package de.ozgcloud.xta.client.model;
+
+import de.ozgcloud.common.datatype.StringBasedValue;
+
+public class XtaMessageId extends StringBasedValue {
+
+	public XtaMessageId(String messageId) {
+		super(messageId);
+	}
+
+	public static XtaMessageId from(String messageId) {
+		return new XtaMessageId(messageId);
+	}
+}
diff --git a/src/main/java/de/ozgcloud/xta/client/model/XtaMessageMetaData.java b/src/main/java/de/ozgcloud/xta/client/model/XtaMessageMetaData.java
new file mode 100644
index 0000000..3f4d0b8
--- /dev/null
+++ b/src/main/java/de/ozgcloud/xta/client/model/XtaMessageMetaData.java
@@ -0,0 +1,20 @@
+package de.ozgcloud.xta.client.model;
+
+import java.time.ZonedDateTime;
+
+import lombok.Builder;
+import lombok.Getter;
+
+@Builder
+@Getter
+class XtaMessageMetaData {
+	// MsgIdentification.MessageId
+	private XtaMessageId messageId;
+	// DeliveryAttributes.origin
+	private ZonedDateTime origin;
+	// DeliveryAttributes.delivery
+	private ZonedDateTime delivery;
+	// Qualifier.MessageType.code
+	private String messageType;
+
+}
diff --git a/src/main/java/de/ozgcloud/xta/client/model/XtaMessageMetaDatasAndHeader.java b/src/main/java/de/ozgcloud/xta/client/model/XtaMessageMetaDatasAndHeader.java
new file mode 100644
index 0000000..6a14f2d
--- /dev/null
+++ b/src/main/java/de/ozgcloud/xta/client/model/XtaMessageMetaDatasAndHeader.java
@@ -0,0 +1,10 @@
+package de.ozgcloud.xta.client.model;
+
+import java.util.stream.Stream;
+
+public class XtaMessageMetaDatasAndHeader {
+
+	private String msgBoxRequestID;
+	private boolean moreMessagesAvailable;
+	private Stream<XtaMessageMetaData> messages;
+}
diff --git a/src/main/java/de/ozgcloud/xtaClientLib/Main.java b/src/main/java/de/ozgcloud/xtaClientLib/Main.java
deleted file mode 100644
index 9adb042..0000000
--- a/src/main/java/de/ozgcloud/xtaClientLib/Main.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package de.ozgcloud.xtaClientLib;
-
-public class Main {
-
-	public static void main(String[] args) {
-		System.out.println("Hello World!");
-	}
-
-}
-- 
GitLab