diff options
Diffstat (limited to 'spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/CreateCMSSignatureRequestParser.java')
-rw-r--r-- | spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/CreateCMSSignatureRequestParser.java | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/CreateCMSSignatureRequestParser.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/CreateCMSSignatureRequestParser.java index 737915ecd..a8cae9c4e 100644 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/CreateCMSSignatureRequestParser.java +++ b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/CreateCMSSignatureRequestParser.java @@ -25,6 +25,7 @@ package at.gv.egovernment.moa.spss.api.xmlbind; import java.io.InputStream; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; @@ -38,7 +39,6 @@ import at.gv.egovernment.moa.spss.api.cmssign.DataObjectInfo; import at.gv.egovernment.moa.spss.api.cmssign.SingleSignatureInfo; import at.gv.egovernment.moa.spss.api.cmsverify.CMSContent; import at.gv.egovernment.moa.spss.api.cmsverify.CMSDataObject; -import at.gv.egovernment.moa.spss.api.common.Content; import at.gv.egovernment.moa.spss.api.common.MetaInfo; import at.gv.egovernment.moa.util.Base64Utils; import at.gv.egovernment.moa.util.BoolUtils; @@ -71,6 +71,9 @@ public class CreateCMSSignatureRequestParser { private static final String META_INFO_XPATH = MOA + "MetaInfo"; private static final String CONTENT_XPATH = MOA + "Content"; private static final String BASE64_CONTENT_XPATH = MOA + "Base64Content"; + private static final String EXCLUDEBYTERANGE_FROM_XPATH = MOA + "ExcludedByteRange/" + MOA + "From"; + private static final String EXCLUDEBYTERANGE_TO_XPATH = MOA + "ExcludedByteRange/" + MOA + "To"; + /** The factory to create API objects. */ @@ -212,7 +215,18 @@ public class CreateCMSSignatureRequestParser { metaInfo = RequestParserUtils.parseMetaInfo(metaInfoElem); } - return factory.createCMSDataObject(metaInfo, content); + String excludeByteRangeFromStr = XPathUtils.getElementValue(dataObjectElem, EXCLUDEBYTERANGE_FROM_XPATH, null); + String excludeByteRangeToStr = XPathUtils.getElementValue(dataObjectElem, EXCLUDEBYTERANGE_TO_XPATH, null); + + BigDecimal excludeByteRangeFrom = null; + BigDecimal excludeByteRangeTo = null; + + if (excludeByteRangeFromStr != null) + excludeByteRangeFrom = new BigDecimal(excludeByteRangeFromStr); + if (excludeByteRangeToStr != null) + excludeByteRangeTo = new BigDecimal(excludeByteRangeToStr); + + return factory.createCMSDataObject(metaInfo, content, excludeByteRangeFrom, excludeByteRangeTo); } else { return null; |