diff options
author | Andreas Fitzek <andreas.fitzek@iaik.tugraz.at> | 2013-11-27 10:05:17 +0100 |
---|---|---|
committer | Andreas Fitzek <andreas.fitzek@iaik.tugraz.at> | 2013-11-27 10:05:17 +0100 |
commit | f3476576c50efd922593c82656efda7aec5ae97f (patch) | |
tree | 66107d5c5d3a88af66bd4829d8fcecc5678b749e /pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/verify/VerifierDispatcher.java | |
parent | 7b2e2b640b0f392183f7927f692936950d3fabfc (diff) | |
download | pdf-as-4-f3476576c50efd922593c82656efda7aec5ae97f.tar.gz pdf-as-4-f3476576c50efd922593c82656efda7aec5ae97f.tar.bz2 pdf-as-4-f3476576c50efd922593c82656efda7aec5ae97f.zip |
MOA integration sign/verification (not finished yet ...)
Lots of PDF-AS Web implementation
Diffstat (limited to 'pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/verify/VerifierDispatcher.java')
-rw-r--r-- | pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/verify/VerifierDispatcher.java | 71 |
1 files changed, 41 insertions, 30 deletions
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/verify/VerifierDispatcher.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/verify/VerifierDispatcher.java index 0de3a71e..ee9c27ae 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/verify/VerifierDispatcher.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/verify/VerifierDispatcher.java @@ -13,49 +13,60 @@ import at.gv.egiz.pdfas.common.exceptions.PdfAsException; import at.gv.egiz.pdfas.common.settings.ISettings; public class VerifierDispatcher { - - private static final Logger logger = LoggerFactory.getLogger(VerifierDispatcher.class); - - public static final String currentClass = "at.gv.egiz.pdfas.sigs.pkcs7detached.PKCS7DetachedVerifier"; - + + private static final Logger logger = LoggerFactory + .getLogger(VerifierDispatcher.class); + + public static final String[] currentClasses = new String[] { + //"at.gv.egiz.pdfas.sigs.pkcs7detached.PKCS7DetachedVerifier", + "at.gv.egiz.pdfas.sigs.pades.PAdESVerifier" }; + public Map<String, HashMap<String, IVerifyFilter>> filterMap = new HashMap<String, HashMap<String, IVerifyFilter>>(); - + public VerifierDispatcher(ISettings settings) { // TODO: read config build verify filter try { - Class<? extends IVerifyFilter> cls = (Class<? extends IVerifyFilter>) Class.forName(currentClass); - IVerifyFilter fitler = cls.newInstance(); - List<FilterEntry> entries = fitler.getFiters(); - Iterator<FilterEntry> it = entries.iterator(); - while(it.hasNext()) { - FilterEntry entry = it.next(); - HashMap<String, IVerifyFilter> filters = filterMap.get(entry.getFilter().getName()); - if(filters == null) { - filters = new HashMap<String, IVerifyFilter>(); - filterMap.put(entry.getFilter().getName(), filters); - } - - IVerifyFilter oldFilter = filters.get(entry.getSubFilter().getName()); - - if(oldFilter != null) { - throw new PdfAsException("Filter allready registered"); + for (int i = 0; i < currentClasses.length; i++) { + String clsName = currentClasses[i]; + Class<? extends IVerifyFilter> cls = (Class<? extends IVerifyFilter>) Class + .forName(clsName); + IVerifyFilter fitler = cls.newInstance(); + List<FilterEntry> entries = fitler.getFiters(); + Iterator<FilterEntry> it = entries.iterator(); + while (it.hasNext()) { + FilterEntry entry = it.next(); + HashMap<String, IVerifyFilter> filters = filterMap + .get(entry.getFilter().getName()); + if (filters == null) { + filters = new HashMap<String, IVerifyFilter>(); + filterMap.put(entry.getFilter().getName(), filters); + } + + IVerifyFilter oldFilter = filters.get(entry.getSubFilter() + .getName()); + + if (oldFilter != null) { + throw new PdfAsException("Filter allready registered"); + } + + filters.put(entry.getSubFilter().getName(), fitler); + logger.debug("Registered Filter: " + cls.getName() + + " for " + entry.getFilter().getName() + "/" + + entry.getSubFilter().getName()); } - - filters.put(entry.getSubFilter().getName(), fitler); - logger.debug("Registered Filter: " + cls.getName() + " for " + entry.getFilter().getName() + "/" + entry.getSubFilter().getName()); } - } catch(Throwable e) { + } catch (Throwable e) { e.printStackTrace(); } - + } - + public IVerifyFilter getVerifier(String filter, String subfilter) { HashMap<String, IVerifyFilter> filters = filterMap.get(filter); - if(filters == null) { + if (filters == null) { return null; } - + return filters.get(subfilter); } } |