diff options
Diffstat (limited to 'pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/PdfAsParameterImpl.java')
-rw-r--r-- | pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/PdfAsParameterImpl.java | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/PdfAsParameterImpl.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/PdfAsParameterImpl.java index fb737c13..1929f95e 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/PdfAsParameterImpl.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/PdfAsParameterImpl.java @@ -23,11 +23,16 @@ ******************************************************************************/ package at.gv.egiz.pdfas.lib.impl; +import java.util.Collections; +import java.util.HashMap; import java.util.Map; import javax.activation.DataSource; +import at.gv.egiz.pdfas.common.exceptions.PdfAsException; +import at.gv.egiz.pdfas.common.utils.CheckSignatureBlockParameters; import at.gv.egiz.pdfas.lib.api.Configuration; +import at.gv.egiz.pdfas.lib.api.IConfigurationConstants; import at.gv.egiz.pdfas.lib.api.PdfAsParameter; public class PdfAsParameterImpl implements PdfAsParameter { @@ -36,7 +41,7 @@ protected Configuration configuration; protected DataSource dataSource; protected String transactionId; protected Map<String, String> preProcessorProps; - + protected Map<String, String> dynamicSignatureBlockArgumentsMap; public PdfAsParameterImpl(Configuration configuration, DataSource dataSource) { this.configuration = configuration; @@ -77,4 +82,24 @@ protected Configuration configuration; public void setPreprocessorArguments(Map<String, String> map) { this.preProcessorProps = map; } + + @Override + public void setDynamicSignatureBlockArguments(Map<String, String> map) throws PdfAsException { + if(map == null) + map = new HashMap<String, String>(); + Map<String, String> tmpMap = Collections.unmodifiableMap(map); + String keyRegex = configuration.getValue(IConfigurationConstants.SIG_BLOCK_PARAMETER_KEY_REGEX); + String valueRegex = configuration.getValue(IConfigurationConstants.SIG_BLOCK_PARAMETER_VALUE_REGEX); + if( CheckSignatureBlockParameters.checkSignatureBlockParameterMapIsValid(tmpMap, keyRegex, valueRegex) == true) { + this.dynamicSignatureBlockArgumentsMap = tmpMap; + }else{ + throw new PdfAsException("error.invalid.signature.parameter.01"); + } + + } + + @Override + public Map<String, String> getDynamicSignatureBlockArguments() { + return this.dynamicSignatureBlockArgumentsMap; + } } |