summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--utils/src/main/java/at/buergerkarte/namespaces/cardchannel/ObjectFactory.java7
-rw-r--r--utils/src/main/java/at/buergerkarte/namespaces/cardchannel/package-info.java2
-rw-r--r--utils/src/test/cardchannel/marshalled.xml1
-rw-r--r--utils/src/test/cardchannel/script.xml6
-rw-r--r--utils/src/test/java/cardchannel/UnmarshalTest.java71
-rw-r--r--utils/src/test/requests/CreateXMLSignatureRequest02.xml_bound.xml2
6 files changed, 84 insertions, 5 deletions
diff --git a/utils/src/main/java/at/buergerkarte/namespaces/cardchannel/ObjectFactory.java b/utils/src/main/java/at/buergerkarte/namespaces/cardchannel/ObjectFactory.java
index cb0a163c..29124935 100644
--- a/utils/src/main/java/at/buergerkarte/namespaces/cardchannel/ObjectFactory.java
+++ b/utils/src/main/java/at/buergerkarte/namespaces/cardchannel/ObjectFactory.java
@@ -28,7 +28,8 @@ public class ObjectFactory {
private final static QName _Grunddaten_QNAME = new QName("", "Grunddaten");
private final static QName _Script_QNAME = new QName("", "Script");
- private final static QName _Response_QNAME = new QName("", "Response");
+ /** A-Trust expects <pre>&lt;Result></pre> instead of <pre>&lt;Response></pre> */
+ private final static QName _Response_QNAME = new QName("", "Result"); //Response");
private final static QName _SVPersonenbindung_QNAME = new QName("", "SV-Personenbindung");
private final static QName _Status_QNAME = new QName("", "Status");
private final static QName _EHIC_QNAME = new QName("", "EHIC");
@@ -132,9 +133,9 @@ public class ObjectFactory {
/**
* Create an instance of {@link JAXBElement }{@code <}{@link ResponseType }{@code >}}
- *
+ * A-Trust expects <pre>&lt;Result></pre> instead of <pre>&lt;Response></pre>
*/
- @XmlElementDecl(namespace = "", name = "Response")
+ @XmlElementDecl(namespace = "", name = "Result") //Response")
public JAXBElement<ResponseType> createResponse(ResponseType value) {
return new JAXBElement<ResponseType>(_Response_QNAME, ResponseType.class, null, value);
}
diff --git a/utils/src/main/java/at/buergerkarte/namespaces/cardchannel/package-info.java b/utils/src/main/java/at/buergerkarte/namespaces/cardchannel/package-info.java
index 13f79000..f5c1ac04 100644
--- a/utils/src/main/java/at/buergerkarte/namespaces/cardchannel/package-info.java
+++ b/utils/src/main/java/at/buergerkarte/namespaces/cardchannel/package-info.java
@@ -1,2 +1,2 @@
-@javax.xml.bind.annotation.XmlSchema(namespace = "http://www.buergerkarte.at/cardchannel", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
+@javax.xml.bind.annotation.XmlSchema(namespace = "", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
package at.buergerkarte.namespaces.cardchannel;
diff --git a/utils/src/test/cardchannel/marshalled.xml b/utils/src/test/cardchannel/marshalled.xml
new file mode 100644
index 00000000..e53ab084
--- /dev/null
+++ b/utils/src/test/cardchannel/marshalled.xml
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Script xmlns:ns2="http://www.buergerkarte.at/cardchannel"><ns2:Reset/></Script> \ No newline at end of file
diff --git a/utils/src/test/cardchannel/script.xml b/utils/src/test/cardchannel/script.xml
new file mode 100644
index 00000000..dd0da379
--- /dev/null
+++ b/utils/src/test/cardchannel/script.xml
@@ -0,0 +1,6 @@
+<!--Script>
+ <Reset cold='true' />
+ <CommandAPDU sequence='1' of='2' expectedSW='9000'>00A4000C023F00</CommandAPDU>
+ <CommandAPDU sequence='2' of='2' expectedSW='9000'>00B0820000</CommandAPDU>
+</Script-->
+<Script><Reset/></Script> \ No newline at end of file
diff --git a/utils/src/test/java/cardchannel/UnmarshalTest.java b/utils/src/test/java/cardchannel/UnmarshalTest.java
new file mode 100644
index 00000000..998dd9e6
--- /dev/null
+++ b/utils/src/test/java/cardchannel/UnmarshalTest.java
@@ -0,0 +1,71 @@
+/*
+ * Copyright 2008 Federal Chancellery Austria and
+ * Graz University of Technology
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package cardchannel;
+
+import at.buergerkarte.namespaces.cardchannel.ObjectFactory;
+import at.buergerkarte.namespaces.cardchannel.ResetType;
+import at.buergerkarte.namespaces.cardchannel.ScriptType;
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.util.List;
+import javax.xml.bind.JAXBContext;
+import javax.xml.bind.JAXBElement;
+import javax.xml.bind.JAXBException;
+import javax.xml.bind.Marshaller;
+import javax.xml.bind.Unmarshaller;
+import org.junit.Ignore;
+import org.junit.Test;
+import static org.junit.Assert.*;
+
+/**
+ *
+ * @author Clemens Orthacker <clemens.orthacker@iaik.tugraz.at>
+ */
+public class UnmarshalTest {
+
+ @Test
+ public void unmarshalScript() throws FileNotFoundException, JAXBException {
+ JAXBContext ctx = JAXBContext.newInstance(ObjectFactory.class);
+ Unmarshaller um = ctx.createUnmarshaller();
+
+ JAXBElement<ScriptType> script = (JAXBElement<ScriptType>) um.unmarshal(new File("src/test/cardchannel/script.xml"));
+
+ ScriptType scriptT = script.getValue();
+ System.out.println("script " + scriptT.getClass());
+ List<Object> resetOrCommandAPDUOrVerifyAPDU = scriptT.getResetOrCommandAPDUOrVerifyAPDU();
+// assertEquals(3, resetOrCommandAPDUOrVerifyAPDU.size());
+ for (Object object : resetOrCommandAPDUOrVerifyAPDU) {
+ System.out.println("script contains: " + object.getClass());
+ }
+ }
+
+ @Test
+ @Ignore
+ public void marshalScript() throws JAXBException {
+ JAXBContext ctx = JAXBContext.newInstance(ObjectFactory.class);
+ Marshaller m = ctx.createMarshaller();
+
+ ObjectFactory of = new ObjectFactory();
+ ResetType r = of.createResetType();
+ ScriptType s = of.createScriptType();
+ s.getResetOrCommandAPDUOrVerifyAPDU().add(r);
+ JAXBElement<ScriptType> script = of.createScript(s);
+
+ m.marshal(script, new File("src/test/cardchannel/marshalled.xml"));
+
+ }
+}
diff --git a/utils/src/test/requests/CreateXMLSignatureRequest02.xml_bound.xml b/utils/src/test/requests/CreateXMLSignatureRequest02.xml_bound.xml
index de881c31..54af272b 100644
--- a/utils/src/test/requests/CreateXMLSignatureRequest02.xml_bound.xml
+++ b/utils/src/test/requests/CreateXMLSignatureRequest02.xml_bound.xml
@@ -1 +1 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?><CreateXMLSignatureRequest xmlns="http://www.buergerkarte.at/namespaces/securitylayer/1.2#" xmlns:ns2="http://www.w3.org/2000/09/xmldsig#"><KeyboxIdentifier>SecureSignatureKeypair</KeyboxIdentifier><DataObjectInfo Structure="detached"><DataObject Reference=""/><TransformsInfo><FinalDataMetaInfo><MimeType>application/xhtml+xml</MimeType></FinalDataMetaInfo></TransformsInfo><TransformsInfo><FinalDataMetaInfo><MimeType>text/html</MimeType></FinalDataMetaInfo></TransformsInfo></DataObjectInfo><SignatureInfo><SignatureEnvironment><XMLContent></XMLContent></SignatureEnvironment><SignatureLocation Index="2">/saml:Assertion</SignatureLocation></SignatureInfo></CreateXMLSignatureRequest> \ No newline at end of file
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?><CreateXMLSignatureRequest xmlns="http://www.buergerkarte.at/namespaces/securitylayer/1.2#" xmlns:ns2="http://www.w3.org/2000/09/xmldsig#"><KeyboxIdentifier>SecureSignatureKeypair</KeyboxIdentifier><DataObjectInfo Structure="detached"><DataObject Reference=""/><TransformsInfo><FinalDataMetaInfo><MimeType>application/xhtml+xml</MimeType></FinalDataMetaInfo></TransformsInfo><TransformsInfo><FinalDataMetaInfo><MimeType>text/html</MimeType></FinalDataMetaInfo></TransformsInfo></DataObjectInfo><SignatureInfo><SignatureEnvironment><XMLContent/></SignatureEnvironment><SignatureLocation Index="2">/saml:Assertion</SignatureLocation></SignatureInfo></CreateXMLSignatureRequest> \ No newline at end of file