diff options
author | Thomas <> | 2021-03-26 15:42:00 +0100 |
---|---|---|
committer | Thomas <> | 2021-03-26 15:42:00 +0100 |
commit | 935a42e0c046282d1dda8aaf418822e25677c81a (patch) | |
tree | 05d0997caade3a271b6e15bd25190c58b99b346a /pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/RequestParameterResolver.java | |
parent | 8a8d467d6415c5b12262ad18ff7f21f6b07cdcd4 (diff) | |
download | pdf-as-4-935a42e0c046282d1dda8aaf418822e25677c81a.tar.gz pdf-as-4-935a42e0c046282d1dda8aaf418822e25677c81a.tar.bz2 pdf-as-4-935a42e0c046282d1dda8aaf418822e25677c81a.zip |
simple PoC for this task
Diffstat (limited to 'pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/RequestParameterResolver.java')
-rw-r--r-- | pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/RequestParameterResolver.java | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/RequestParameterResolver.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/RequestParameterResolver.java new file mode 100644 index 00000000..1d8d4638 --- /dev/null +++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/RequestParameterResolver.java @@ -0,0 +1,35 @@ +package at.gv.egiz.pdfas.lib.impl.stamping; + +import java.lang.reflect.Member; +import java.lang.reflect.Modifier; +import java.util.Map; + +import at.gv.egiz.pdfas.common.settings.SignatureProfileSettings; +import at.gv.egiz.pdfas.common.utils.OgnlUtils; +import ognl.AbstractMemberAccess; +import ognl.MemberAccess; +import ognl.OgnlContext; + + +public class RequestParameterResolver implements IResolver { + + private OgnlContext ctx; + + public RequestParameterResolver(Map<String, String> requestParameters) { + MemberAccess memberAccess = new AbstractMemberAccess() { + @Override + public boolean isAccessible(Map context, Object target, Member member, String propertyName) { + int modifiers = member.getModifiers(); + return Modifier.isPublic(modifiers); + } + }; + + this.ctx = new OgnlContext(memberAccess, null, null, requestParameters); + } + + @Override + public String resolve(String key, String value, SignatureProfileSettings settings) { + return OgnlUtils.resolvsOgnlExpression(value, this.ctx); + } + +} |