diff options
author | gregor <gregor@d688527b-c9ab-4aba-bd8d-4036d912da1d> | 2005-07-26 14:43:17 +0000 |
---|---|---|
committer | gregor <gregor@d688527b-c9ab-4aba-bd8d-4036d912da1d> | 2005-07-26 14:43:17 +0000 |
commit | 36df570f6c24d60498bb8c040ffbaa4ad0f7583f (patch) | |
tree | 88b72a0f804dab0395768df814997bc777fd64ea /spss.server/src/at/gv/egovernment/moa/spss/api/xmlbind | |
parent | 39ffc6c32b8c4c28e00f9b72a61542a40fb93946 (diff) | |
download | moa-id-spss-36df570f6c24d60498bb8c040ffbaa4ad0f7583f.tar.gz moa-id-spss-36df570f6c24d60498bb8c040ffbaa4ad0f7583f.tar.bz2 moa-id-spss-36df570f6c24d60498bb8c040ffbaa4ad0f7583f.zip |
Lösung für Bug 232 implementiert. Noch nicht final getestet.
git-svn-id: https://joinup.ec.europa.eu/svn/moa-idspss/trunk@406 d688527b-c9ab-4aba-bd8d-4036d912da1d
Diffstat (limited to 'spss.server/src/at/gv/egovernment/moa/spss/api/xmlbind')
-rw-r--r-- | spss.server/src/at/gv/egovernment/moa/spss/api/xmlbind/VerifyXMLSignatureResponseBuilder.java | 40 |
1 files changed, 25 insertions, 15 deletions
diff --git a/spss.server/src/at/gv/egovernment/moa/spss/api/xmlbind/VerifyXMLSignatureResponseBuilder.java b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlbind/VerifyXMLSignatureResponseBuilder.java index 56bcf63fa..960d9571d 100644 --- a/spss.server/src/at/gv/egovernment/moa/spss/api/xmlbind/VerifyXMLSignatureResponseBuilder.java +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlbind/VerifyXMLSignatureResponseBuilder.java @@ -17,6 +17,7 @@ import at.gv.egovernment.moa.spss.MOASystemException; import at.gv.egovernment.moa.spss.api.common.Content; import at.gv.egovernment.moa.spss.api.common.ContentBinary; import at.gv.egovernment.moa.spss.api.common.ContentXML; +import at.gv.egovernment.moa.spss.api.common.InputData; import at.gv.egovernment.moa.spss.api.xmlverify.ManifestRefsCheckResult; import at.gv.egovernment.moa.spss.api.xmlverify.ReferencesCheckResult; import at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureResponse; @@ -78,8 +79,8 @@ public class VerifyXMLSignatureResponseBuilder { responseData = response.getHashInputDatas(); if (responseData != null && !responseData.isEmpty()) { for (iter = responseData.iterator(); iter.hasNext();) { - Content content = (Content) iter.next(); - addContent("HashInputData", content); + InputData inputData = (InputData) iter.next(); + addContent("HashInputData", inputData); } } @@ -87,8 +88,8 @@ public class VerifyXMLSignatureResponseBuilder { responseData = response.getReferenceInputDatas(); if (responseData != null && !responseData.isEmpty()) { for (iter = responseData.iterator(); iter.hasNext();) { - Content content = (Content) iter.next(); - addContent("ReferenceInputData", content); + InputData inputData = (InputData) iter.next(); + addContent("ReferenceInputData", inputData); } } @@ -127,23 +128,32 @@ public class VerifyXMLSignatureResponseBuilder { * Add an element of type <code>ContentBaseType</code> to the response. * * @param elementName The name of the element. - * @param content The <code>Content</code> to add. Based on the type of - * the <code>Content</code>, either a <code>Base64Content</code> element - * or a <code>XMLContent</code> subelement will be added. A - * <code>ContentBinary</code> of type <code>BinaryDataObject</code> will be - * added as a <code>Base64Content</code> child element. - * <code>ContentXML</code> will be added as <code>XMLContent</code> child - * element. + * + * @param inputData The <code>InputData</code> to add. Based on the type of + * + * the <code>InputData</code>, either a <code>Base64Content</code> element + * or a <code>XMLContent</code> subelement will be added. An <code> + * InputDataBinaryImpl</code> will be added as a <code>Base64Content</code> + * child element. An<code>InputDataXMLImpl</code> will be added as <code> + * XMLContent</code> child element. + * * @throws MOAApplicationException An error occurred adding the content. */ - private void addContent(String elementName, Content content) + private void addContent(String elementName, InputData inputData) throws MOAApplicationException { Element contentElem = responseDoc.createElementNS(MOA_NS_URI, elementName); - switch (content.getContentType()) { + contentElem.setAttributeNS(null, "PartOf", inputData.getPartOf()); + if (inputData.getReferringReferenceNumber() != InputData.REFERER_NONE_) + contentElem.setAttributeNS( + null, + "ReferringSigReference", + Integer.toString(inputData.getReferringReferenceNumber())); + + switch (inputData.getContentType()) { case Content.XML_CONTENT : - ContentXML contentXml = (ContentXML) content; + ContentXML contentXml = (ContentXML) inputData; NodeList nodes = contentXml.getXMLContent(); Element xmlElem; int i; @@ -161,7 +171,7 @@ public class VerifyXMLSignatureResponseBuilder { case Content.BINARY_CONTENT : Element binaryElem = responseDoc.createElementNS(MOA_NS_URI, "Base64Content"); - ContentBinary contentBinary = (ContentBinary) content; + ContentBinary contentBinary = (ContentBinary) inputData; String base64Str; try { |