diff options
author | Alexander Marsalek <amarsalek@iaik.tugraz.at> | 2021-06-14 11:17:55 +0200 |
---|---|---|
committer | Alexander Marsalek <amarsalek@iaik.tugraz.at> | 2021-06-14 12:18:56 +0200 |
commit | c049cb3fd26dbf537a065e9537db2338b9c7248b (patch) | |
tree | 16de899a392b578bb0169cae3bce201f27fee3ad /pdf-as-web/src/main/java/at/gv/egiz/pdfas | |
parent | fd72ba6f0bf8a797fcc5e340fc5a963aef35eaca (diff) | |
download | pdf-as-4-c049cb3fd26dbf537a065e9537db2338b9c7248b.tar.gz pdf-as-4-c049cb3fd26dbf537a065e9537db2338b9c7248b.tar.bz2 pdf-as-4-c049cb3fd26dbf537a065e9537db2338b9c7248b.zip |
v4.1.7-RC-0.0.8 changed post formular parameter handling to sbp:keyA=valueA&sbp:keyB=valueB
Diffstat (limited to 'pdf-as-web/src/main/java/at/gv/egiz/pdfas')
-rw-r--r-- | pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/PdfAsParameterExtractor.java | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/PdfAsParameterExtractor.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/PdfAsParameterExtractor.java index 77d6d217..1ec94c86 100644 --- a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/PdfAsParameterExtractor.java +++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/PdfAsParameterExtractor.java @@ -74,7 +74,7 @@ public class PdfAsParameterExtractor { public static final String PARAM_PREPROCESSOR_PREFIX = "pp:"; public static final String PARAM_OVERWRITE_PREFIX = "ov:"; public static final String PARAM_QRCODE_CONTENT = "qrcontent"; - public static final String PARAM_DYNAMIC_SIGNATURE_BLOCK_PARAMETER = "sbp"; + public static final String PARAM_DYNAMIC_SIGNATURE_BLOCK_PARAMETER = "sbp:"; public static String getConnector(HttpServletRequest request) { String connector = (String)request.getAttribute(PARAM_CONNECTOR); @@ -86,18 +86,17 @@ public class PdfAsParameterExtractor { public static Map<String,String> getDynamicSignatureBlockParameters(HttpServletRequest request) throws Exception { HashMap<String, String> signatureBlockParametersMap = new HashMap<String, String>(); - String sbpString = (String) request.getAttribute(PARAM_DYNAMIC_SIGNATURE_BLOCK_PARAMETER); -// Map<String, String[]> map = request.getParameterMap(); - if(sbpString == null || sbpString.length() == 0) - return signatureBlockParametersMap; - for(String s : sbpString.split(";")){ - if(!s.contains("=")) { - throw new Exception("Invalid parameter: "+s); + + Enumeration<String> parameterNames = request.getAttributeNames(); + while(parameterNames.hasMoreElements()) { + String parameterName = parameterNames.nextElement(); + if (parameterName.startsWith(PARAM_DYNAMIC_SIGNATURE_BLOCK_PARAMETER)) { + String key = parameterName.substring(PARAM_DYNAMIC_SIGNATURE_BLOCK_PARAMETER.length()); + String value = (String) request.getAttribute(parameterName); + signatureBlockParametersMap.put(key, value); } - String[] values = s.split("=", 2); - signatureBlockParametersMap.put(values[0], values[1]); } - return signatureBlockParametersMap; + return signatureBlockParametersMap; } public static String getQRCodeContent(HttpServletRequest request) { String qrcodeContent = (String)request.getAttribute(PARAM_QRCODE_CONTENT); |