[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.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] [libeufin] branch master updated: Putting protocol version/number into HEV response.,
gnunet <=