gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[libeufin] branch master updated: message definitions


From: gnunet
Subject: [libeufin] branch master updated: message definitions
Date: Tue, 05 Nov 2019 17:46:40 +0100

This is an automated email from the git hooks/post-receive script.

dold pushed a commit to branch master
in repository libeufin.

The following commit(s) were added to refs/heads/master by this push:
     new 32124aa  message definitions
32124aa is described below

commit 32124aafb399b6b2faa6e8581b07fbb2646244fb
Author: Florian Dold <address@hidden>
AuthorDate: Tue Nov 5 17:46:37 2019 +0100

    message definitions
---
 .../libeufin/schema/ebics_h004/EbicsNpkdRequest.kt |  14 +-
 .../libeufin/schema/ebics_h004/EbicsRequest.kt     | 162 ++++++++++++++++++++-
 .../libeufin/schema/ebics_h004/EbicsResponse.kt    |  12 +-
 .../tech/libeufin/schema/ebics_h004/EbicsTypes.kt  |  18 ---
 .../schema/ebics_h004/EbicsUnsecuredRequest.kt     |  14 +-
 .../libeufin/schema/ebics_s001/EbicsMessages.kt    |   6 -
 6 files changed, 183 insertions(+), 43 deletions(-)

diff --git 
a/sandbox/src/main/kotlin/tech/libeufin/schema/ebics_h004/EbicsNpkdRequest.kt 
b/sandbox/src/main/kotlin/tech/libeufin/schema/ebics_h004/EbicsNpkdRequest.kt
index e079536..4657020 100644
--- 
a/sandbox/src/main/kotlin/tech/libeufin/schema/ebics_h004/EbicsNpkdRequest.kt
+++ 
b/sandbox/src/main/kotlin/tech/libeufin/schema/ebics_h004/EbicsNpkdRequest.kt
@@ -76,12 +76,24 @@ class EbicsNpkdRequest {
         val product: EbicsTypes.Product? = null
 
         @get:XmlElement(name = "OrderDetails", required = true)
-        lateinit var orderDetails: EbicsTypes.SimpleOrderDetails
+        lateinit var orderDetails: OrderDetails
 
         @get:XmlElement(name = "SecurityMedium", required = true)
         lateinit var securityMedium: String
     }
 
+    @XmlAccessorType(XmlAccessType.NONE)
+    @XmlType(name = "", propOrder = ["orderType", "orderAttribute"])
+    class OrderDetails {
+        @get:XmlElement(name = "OrderType", required = true)
+        @get:XmlJavaTypeAdapter(CollapsedStringAdapter::class)
+        lateinit var orderType: String
+
+        @get:XmlElement(name = "OrderAttribute", required = true)
+        @get:XmlJavaTypeAdapter(CollapsedStringAdapter::class)
+        lateinit var orderAttribute: String
+    }
+
     @XmlAccessorType(XmlAccessType.NONE)
     @XmlType(name = "")
     class EmptyMutableHeader
diff --git 
a/sandbox/src/main/kotlin/tech/libeufin/schema/ebics_h004/EbicsRequest.kt 
b/sandbox/src/main/kotlin/tech/libeufin/schema/ebics_h004/EbicsRequest.kt
index 544b7a9..0211948 100644
--- a/sandbox/src/main/kotlin/tech/libeufin/schema/ebics_h004/EbicsRequest.kt
+++ b/sandbox/src/main/kotlin/tech/libeufin/schema/ebics_h004/EbicsRequest.kt
@@ -1,7 +1,13 @@
 package tech.libeufin.schema.ebics_h004
 
 import org.apache.xml.security.binding.xmldsig.SignatureType
+import java.math.BigInteger
 import javax.xml.bind.annotation.*
+import javax.xml.bind.annotation.adapters.CollapsedStringAdapter
+import javax.xml.bind.annotation.adapters.HexBinaryAdapter
+import javax.xml.bind.annotation.adapters.XmlAdapter
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter
+import javax.xml.datatype.XMLGregorianCalendar
 
 @XmlAccessorType(XmlAccessType.NONE)
 @XmlType(name = "", propOrder = ["header", "authSignature", "body"])
@@ -16,11 +22,6 @@ class EbicsRequest {
     @get:XmlElement(name = "body")
     lateinit var body: Body
 
-    @XmlAccessorType(XmlAccessType.NONE)
-    class Body {
-
-    }
-
     @XmlAccessorType(XmlAccessType.NONE)
     @XmlType(name = "", propOrder = ["static", "mutable"])
     class Header {
@@ -32,15 +33,160 @@ class EbicsRequest {
 
         @get:XmlAttribute(name = "authenticate", required = true)
         var authenticate: Boolean = false
-
     }
 
-    class StaticHeaderType {
+    abstract class StaticHeaderType {
+        @get:XmlElement(name = "HostID", required = true)
+        @get:XmlJavaTypeAdapter(CollapsedStringAdapter::class)
+        lateinit var hostID: String
+
+        /**
+         * Present only in the initialization phase.
+         */
+        @get:XmlElement(name = "Nonce", type = String::class)
+        @get:XmlJavaTypeAdapter(HexBinaryAdapter::class)
+        @get:XmlSchemaType(name = "hexBinary")
+        lateinit var nonce: ByteArray
+
+        /**
+         * Present only in the initialization phase.
+         */
+        @get:XmlElement(name = "Timestamp")
+        @get:XmlSchemaType(name = "dateTime")
+        var timestamp: XMLGregorianCalendar? = null
+
+        /**
+         * Present only in the initialization phase.
+         */
+        @get:XmlElement(name = "PartnerID")
+        @get:XmlJavaTypeAdapter(CollapsedStringAdapter::class)
+        var partnerID: String? = null
+
+        /**
+         * Present only in the initialization phase.
+         */
+        @get:XmlElement(name = "UserID")
+        @get:XmlJavaTypeAdapter(CollapsedStringAdapter::class)
+        var userID: String? = null
+
+        /**
+         * Present only in the initialization phase.
+         */
+        @get:XmlElement(name = "SystemID")
+        @get:XmlJavaTypeAdapter(CollapsedStringAdapter::class)
+        var systemID: String? = null
+
+        /**
+         * Present only in the initialization phase.
+         */
+        @get:XmlElement(name = "Product")
+        val product: EbicsTypes.Product? = null
+
+        /**
+         * Present only in the initialization phase.
+         */
+        @get:XmlElement(name = "OrderDetails")
+        var orderDetails: OrderDetails? = null
+
+        /**
+         * Present only in the initialization phase.
+         */
+        @get:XmlElement(name = "SecurityMedium")
+        var securityMedium: String? = null
+
+        /**
+         * Present only in the initialization phase.
+         */
+        @get:XmlElement(name = "NumSegments")
+        var numSegments: BigInteger? = null
+
+        /**
+         * Present only in the transaction / finalization phase.
+         */
+        @get:XmlElement(name = "TransactionID")
+        @get:XmlJavaTypeAdapter(CollapsedStringAdapter::class)
+        var transactionID: String? = null
     }
 
+
     @XmlAccessorType(XmlAccessType.NONE)
-    @XmlType(name = "")
+    @XmlType(name = "", propOrder = ["transactionPhase", "segmentNumber"])
     class MutableHeader {
+        @get:XmlElement(name = "TransactionID")
+        @get:XmlJavaTypeAdapter(CollapsedStringAdapter::class)
+        var transactionPhase: String? = null
+
+        /**
+         * Number of the currently transmitted segment, if this message
+         * contains order data.
+         */
+        @get:XmlElement(name = "SegmentNumber")
+        var segmentNumber: BigInteger? = null
+
+    }
+
+    @XmlAccessorType(XmlAccessType.NONE)
+    @XmlType(name = "", propOrder = ["orderType", "orderID", "orderAttribute"])
+    class OrderDetails {
+        @get:XmlElement(name = "OrderType", required = true)
+        @get:XmlJavaTypeAdapter(CollapsedStringAdapter::class)
+        lateinit var orderType: String
+
+        /**
+         * Only present if this ebicsRequest is a upload order
+         * relating to an already existing order.
+         */
+        @get:XmlElement(name = "OrderId", required = true)
+        @get:XmlJavaTypeAdapter(CollapsedStringAdapter::class)
+        var orderID: String? = null
+
+        @get:XmlElement(name = "OrderAttribute", required = true)
+        @get:XmlJavaTypeAdapter(CollapsedStringAdapter::class)
+        lateinit var orderAttribute: String
+    }
+
+    @XmlAccessorType(XmlAccessType.NONE)
+    @XmlType(propOrder = ["preValidation", "dataTransfer", "transferReceipt"])
+    class Body {
+        @get:XmlElement(name = "PreValidation")
+        var preValidation: PreValidation? = null
+
+        @get:XmlElement(name = "DataTransfer")
+        var dataTransfer: DataTransfer? = null
+
+        @get:XmlElement(name = "TransferReceipt")
+        var transferReceipt: TransferReceipt? = null
+    }
+
+    /**
+     * FIXME: not implemented yet
+     */
+    @XmlAccessorType(XmlAccessType.NONE)
+    class PreValidation {
+        @get:XmlAttribute(name = "authenticate", required = true)
+        var authenticate: Boolean = false
+    }
+
+    @XmlAccessorType(XmlAccessType.NONE)
+    @XmlType(propOrder = ["dataEncryptionInfo", "signatureData", "orderData"])
+    class DataTransfer {
+        @get:XmlElement(name = "DataEncryptionInfo")
+        var dataEncryptionInfo: EbicsTypes.DataEncryptionInfo? = null
+
+        @get:XmlElement(name = "SignatureData")
+        var signatureData: ByteArray? = null
+
+        @get:XmlElement(name = "OrderData")
+        var orderData: ByteArray? = null
+    }
+
+    @XmlAccessorType(XmlAccessType.NONE)
+    @XmlType(name = "", propOrder = ["receiptCode"])
+    class TransferReceipt {
+        @get:XmlAttribute(name = "authenticate", required = true)
+        var authenticate: Boolean = false
 
+        @get:XmlElement(name = "ReceiptCode")
+        var receiptCode: Int? = null
     }
 }
diff --git 
a/sandbox/src/main/kotlin/tech/libeufin/schema/ebics_h004/EbicsResponse.kt 
b/sandbox/src/main/kotlin/tech/libeufin/schema/ebics_h004/EbicsResponse.kt
index 63e6d9f..b1d98a7 100644
--- a/sandbox/src/main/kotlin/tech/libeufin/schema/ebics_h004/EbicsResponse.kt
+++ b/sandbox/src/main/kotlin/tech/libeufin/schema/ebics_h004/EbicsResponse.kt
@@ -61,8 +61,8 @@ class EbicsResponse {
 
     @XmlAccessorType(XmlAccessType.NONE)
     @XmlType(
-        name = "ResponseMutableHeaderType",
-        propOrder = ["transactionPhase", "segmentNumber", "orderID", 
"returnCode", "reportText", "any"]
+        name = "",
+        propOrder = ["transactionPhase", "segmentNumber", "orderID", 
"returnCode", "reportText"]
     )
     class MutableHeaderType {
         @get:XmlElement(name = "TransactionPhase", required = true)
@@ -86,9 +86,6 @@ class EbicsResponse {
         @get:XmlJavaTypeAdapter(NormalizedStringAdapter::class)
         @get:XmlSchemaType(name = "normalizedString")
         lateinit var reportText: String
-
-        @get:XmlAnyElement(lax = true)
-        var any: List<Any>? = null
     }
 
     @XmlAccessorType(XmlAccessType.NONE)
@@ -118,16 +115,13 @@ class EbicsResponse {
     }
 
     @XmlAccessorType(XmlAccessType.NONE)
-    @XmlType(name = "DataTransferResponseType", propOrder = 
["dataEncryptionInfo", "orderData", "any"])
+    @XmlType(name = "DataTransferResponseType", propOrder = 
["dataEncryptionInfo", "orderData"])
     class DataTransferResponseType {
         @get:XmlElement(name = "DataEncryptionInfo")
         var dataEncryptionInfo: EbicsTypes.DataEncryptionInfo? = null
 
         @get:XmlElement(name = "OrderData", required = true)
         lateinit var orderData: OrderData
-
-        @get:XmlAnyElement(lax = true)
-        var any: List<Any>? = null
     }
 
 
diff --git 
a/sandbox/src/main/kotlin/tech/libeufin/schema/ebics_h004/EbicsTypes.kt 
b/sandbox/src/main/kotlin/tech/libeufin/schema/ebics_h004/EbicsTypes.kt
index fa84ce1..d3fc016 100644
--- a/sandbox/src/main/kotlin/tech/libeufin/schema/ebics_h004/EbicsTypes.kt
+++ b/sandbox/src/main/kotlin/tech/libeufin/schema/ebics_h004/EbicsTypes.kt
@@ -53,24 +53,6 @@ class EbicsTypes private constructor() {
         var instituteID: String? = null
     }
 
-    /**
-     * Order details for the static EBICS header.
-     */
-    @XmlAccessorType(XmlAccessType.NONE)
-    @XmlType(name = "OrderDetailsType", propOrder = ["orderType", 
"orderAttribute"])
-    class SimpleOrderDetails {
-        @get:XmlElement(name = "OrderType", required = true)
-        @get:XmlJavaTypeAdapter(CollapsedStringAdapter::class)
-        lateinit var orderType: String
-
-        @get:XmlElement(name = "OrderAttribute", required = true)
-        @get:XmlJavaTypeAdapter(CollapsedStringAdapter::class)
-        lateinit var orderAttribute: String
-    }
-
-
-
-
 
     @XmlAccessorType(XmlAccessType.NONE)
     class DataEncryptionInfo {
diff --git 
a/sandbox/src/main/kotlin/tech/libeufin/schema/ebics_h004/EbicsUnsecuredRequest.kt
 
b/sandbox/src/main/kotlin/tech/libeufin/schema/ebics_h004/EbicsUnsecuredRequest.kt
index 51e991e..ae56e21 100644
--- 
a/sandbox/src/main/kotlin/tech/libeufin/schema/ebics_h004/EbicsUnsecuredRequest.kt
+++ 
b/sandbox/src/main/kotlin/tech/libeufin/schema/ebics_h004/EbicsUnsecuredRequest.kt
@@ -85,9 +85,21 @@ class EbicsUnsecuredRequest {
         val product: EbicsTypes.Product? = null
 
         @get:XmlElement(name = "OrderDetails", required = true)
-        lateinit var orderDetails: EbicsTypes.SimpleOrderDetails
+        lateinit var orderDetails: OrderDetails
 
         @get:XmlElement(name = "SecurityMedium", required = true)
         lateinit var securityMedium: String
     }
+
+    @XmlAccessorType(XmlAccessType.NONE)
+    @XmlType(name = "", propOrder = ["orderType", "orderAttribute"])
+    class OrderDetails {
+        @get:XmlElement(name = "OrderType", required = true)
+        @get:XmlJavaTypeAdapter(CollapsedStringAdapter::class)
+        lateinit var orderType: String
+
+        @get:XmlElement(name = "OrderAttribute", required = true)
+        @get:XmlJavaTypeAdapter(CollapsedStringAdapter::class)
+        lateinit var orderAttribute: String
+    }
 }
diff --git 
a/sandbox/src/main/kotlin/tech/libeufin/schema/ebics_s001/EbicsMessages.kt 
b/sandbox/src/main/kotlin/tech/libeufin/schema/ebics_s001/EbicsMessages.kt
index b500b87..3e5de0c 100644
--- a/sandbox/src/main/kotlin/tech/libeufin/schema/ebics_s001/EbicsMessages.kt
+++ b/sandbox/src/main/kotlin/tech/libeufin/schema/ebics_s001/EbicsMessages.kt
@@ -42,9 +42,6 @@ class PubKeyValueType {
     @get:XmlElement(name = "TimeStamp")
     @get:XmlSchemaType(name = "dateTime")
     var timeStamp: XMLGregorianCalendar? = null
-
-    @XmlAnyElement(lax = true)
-    var any: List<Any>? = null
 }
 
 
@@ -92,7 +89,4 @@ class SignaturePubKeyOrderData {
     @get:XmlJavaTypeAdapter(CollapsedStringAdapter::class)
     @get:XmlSchemaType(name = "token")
     lateinit var userID: String
-
-    @get:XmlAnyElement(lax = true)
-    var any: List<Any>? = null
 }

-- 
To stop receiving notification emails like this one, please contact
address@hidden.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]