aboutsummaryrefslogtreecommitdiff
path: root/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/PdfAsParameterExtractor.java
diff options
context:
space:
mode:
Diffstat (limited to 'pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/PdfAsParameterExtractor.java')
-rw-r--r--pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/PdfAsParameterExtractor.java27
1 files changed, 26 insertions, 1 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 5415b233..31fbf46d 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
@@ -23,6 +23,7 @@
******************************************************************************/
package at.gv.egiz.pdfas.web.helper;
+import java.nio.charset.Charset;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Map;
@@ -31,6 +32,8 @@ import javax.servlet.http.HttpServletRequest;
import at.gv.egiz.pdfas.lib.api.IConfigurationConstants;
import at.gv.egiz.pdfas.lib.api.verify.VerifyParameter.SignatureVerificationLevel;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
public class PdfAsParameterExtractor {
@@ -74,7 +77,10 @@ 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:";
+ private static final Logger logger = LoggerFactory
+ .getLogger(PdfAsParameterExtractor.class);
public static String getConnector(HttpServletRequest request) {
String connector = (String)request.getAttribute(PARAM_CONNECTOR);
@@ -83,7 +89,26 @@ public class PdfAsParameterExtractor {
}
return PARAM_CONNECTOR_DEFAULT;
}
-
+
+ public static Map<String,String> getDynamicSignatureBlockParameters(HttpServletRequest request) throws Exception {
+ HashMap<String, String> signatureBlockParametersMap = new HashMap<String, String>();
+ logger.debug("Default charset:"+ Charset.defaultCharset());
+ logger.debug("Request charset:"+ request.getCharacterEncoding());
+
+ 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);
+ if(value != null && !value.isEmpty()){
+ signatureBlockParametersMap.put(key, value);
+ logger.debug("Setting key "+ key +" to "+ value );
+ }
+ }
+ }
+ return signatureBlockParametersMap;
+ }
public static String getQRCodeContent(HttpServletRequest request) {
String qrcodeContent = (String)request.getAttribute(PARAM_QRCODE_CONTENT);
return qrcodeContent;