gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] [libeufin] branch master updated: Putting protocol version/


From: gnunet
Subject: [GNUnet-SVN] [libeufin] branch master updated: Putting protocol version/number into HEV response.
Date: Mon, 23 Sep 2019 16:34:50 +0200

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

marcello pushed a commit to branch master
in repository libeufin.

The following commit(s) were added to refs/heads/master by this push:
     new 0895084  Putting protocol version/number into HEV response.
0895084 is described below

commit 08950841cf4e29d6309690999a07f2d1304d9b0d
Author: Marcello Stanisci <address@hidden>
AuthorDate: Mon Sep 23 16:34:33 2019 +0200

    Putting protocol version/number into HEV response.
---
 src/main/kotlin/Main.kt                            | 14 +++++--
 src/main/kotlin/tech/libeufin/XMLManagement.kt     |  6 +--
 .../kotlin/tech/libeufin/messages/HEVResponse.kt   | 45 ++++++++++------------
 .../tech/libeufin/messages/ProtocolAndVersion.kt   |  7 ++++
 4 files changed, 39 insertions(+), 33 deletions(-)

diff --git a/src/main/kotlin/Main.kt b/src/main/kotlin/Main.kt
index dba54c0..befbf5a 100644
--- a/src/main/kotlin/Main.kt
+++ b/src/main/kotlin/Main.kt
@@ -28,6 +28,7 @@ import io.ktor.server.engine.*
 import io.ktor.server.netty.*
 import tech.libeufin.messages.HEVResponse
 import tech.libeufin.messages.HEVResponseDataType
+import tech.libeufin.messages.ProtocolAndVersion
 import javax.swing.text.Document
 import javax.xml.bind.JAXBElement
 
@@ -40,6 +41,7 @@ fun main(args: Array<String>) {
             get("/") {
                 logger.debug("GET: not implemented")
                 call.respondText("Hello LibEuFin!", ContentType.Text.Plain)
+                return@get
             }
             post("/") {
                 val body: String = call.receiveText()
@@ -67,10 +69,16 @@ fun main(args: Array<String>) {
 
                 if ("ebicsHEVRequest" == 
bodyDocument.documentElement.localName)
                 {
-                    /* known type, and already valid here! */
-                    val hevResponse: HEVResponse = HEVResponse("rc", "rt")
-                    val jaxbHEV: JAXBElement<HEVResponseDataType> = 
hevResponse.makeHEVResponse()
+                    val hevResponse: HEVResponse = HEVResponse(
+                        "000000",
+                        "EBICS_OK",
+                        arrayOf(
+                            ProtocolAndVersion("H003", "02.40"),
+                            ProtocolAndVersion("H004", "02.50")
+                        )
+                    )
 
+                    val jaxbHEV: JAXBElement<HEVResponseDataType> = 
hevResponse.makeHEVResponse()
                     val responseText: String? = 
xmlProcess.getStringFromJaxb(jaxbHEV)
                     // FIXME: check if String is actually non-NULL!
                     call.respondText(contentType = ContentType.Application.Xml,
diff --git a/src/main/kotlin/tech/libeufin/XMLManagement.kt 
b/src/main/kotlin/tech/libeufin/XMLManagement.kt
index 57b6344..8845ebb 100644
--- a/src/main/kotlin/tech/libeufin/XMLManagement.kt
+++ b/src/main/kotlin/tech/libeufin/XMLManagement.kt
@@ -14,13 +14,9 @@ import javax.xml.transform.*;
 import javax.xml.transform.dom.DOMSource;
 import javax.xml.transform.stream.StreamResult;
 import javax.xml.transform.stream.StreamSource;
-import javax.xml.validation.*; // has SchemaFactory
-import javax.xml.parsers.DocumentBuilder;
+import javax.xml.validation.*; // has SchemaFactory()
 import javax.xml.parsers.DocumentBuilderFactory;
 import org.w3c.dom.Document;
-import sun.misc.IOUtils
-import tech.libeufin.messages.HEVResponseDataType;
-import java.util.stream.Collectors
 
 /**
  * This class takes care of importing XSDs and validate
diff --git a/src/main/kotlin/tech/libeufin/messages/HEVResponse.kt 
b/src/main/kotlin/tech/libeufin/messages/HEVResponse.kt
index afe730b..0a7aa69 100644
--- a/src/main/kotlin/tech/libeufin/messages/HEVResponse.kt
+++ b/src/main/kotlin/tech/libeufin/messages/HEVResponse.kt
@@ -1,38 +1,33 @@
-package tech.libeufin.messages;
+package tech.libeufin.messages
 
-import javax.xml.bind.JAXBElement;
+import javax.xml.bind.JAXBElement
 
 
-/*public class HEVResponse {
-    HEVResponseDataType value;
+class HEVResponse(
+    returnCode: String,
+    reportText: String,
+    protocolAndVersion: Array<ProtocolAndVersion>?) {
 
-    public HEVResponse(String returnCode, String reportText){
-        SystemReturnCodeType srt = new SystemReturnCodeType();
-        srt.setReturnCode(returnCode);
-        srt.setReportText(reportText);
-        this.value = new HEVResponseDataType();
-        this.value.setSystemReturnCode(srt);
-    }
+    constructor(
+        returnCode: String,
+        reportText: String
+    ) : this(returnCode, reportText, null)
 
-    /**
-     * Instantiate the root element.
-     * @return the JAXB object.
-     */
-    public JAXBElement<HEVResponseDataType> makeHEVResponse(){
-        ObjectFactory of = new ObjectFactory();
-        return of.createEbicsHEVResponse(this.value);
-    }
-}*/
-
-class HEVResponse(returnCode: String, reportText: String) {
-
-    val value = {
-        // SystemReturnCodeType srt = new SystemReturnCodeType();
+    val value: HEVResponseDataType = {
         val srt = SystemReturnCodeType()
         srt.setReturnCode(returnCode);
         srt.setReportText(reportText);
         val value = HEVResponseDataType();
         value.setSystemReturnCode(srt);
+
+        if (null != protocolAndVersion) {
+            protocolAndVersion.forEach {
+                val entry = HEVResponseDataType.VersionNumber()
+                entry.setProtocolVersion(it.protocol)
+                entry.setValue(it.version)
+                value.getVersionNumber().add(entry)
+            }
+        }
         value
     }()
 
diff --git a/src/main/kotlin/tech/libeufin/messages/ProtocolAndVersion.kt 
b/src/main/kotlin/tech/libeufin/messages/ProtocolAndVersion.kt
new file mode 100644
index 0000000..606cd67
--- /dev/null
+++ b/src/main/kotlin/tech/libeufin/messages/ProtocolAndVersion.kt
@@ -0,0 +1,7 @@
+package tech.libeufin.messages
+
+class ProtocolAndVersion(protocol: String, version: String) {
+
+    val protocol = protocol
+    val version = version
+}
\ No newline at end of file

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



reply via email to

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