aboutsummaryrefslogtreecommitdiff
path: root/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/RequestParameterResolver.java
diff options
context:
space:
mode:
authorThomas <>2021-03-26 15:42:00 +0100
committerThomas <>2021-03-26 15:42:00 +0100
commit935a42e0c046282d1dda8aaf418822e25677c81a (patch)
tree05d0997caade3a271b6e15bd25190c58b99b346a /pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/RequestParameterResolver.java
parent8a8d467d6415c5b12262ad18ff7f21f6b07cdcd4 (diff)
downloadpdf-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.java35
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);
+ }
+
+}