From a95ebceaf0f77a25c26f866dff60faa6b388526c Mon Sep 17 00:00:00 2001 From: tknall Date: Fri, 20 Aug 2010 10:59:37 +0000 Subject: Internal error passed as RuntimeException instead of being ignored. PdfAsFactory: Switch implemented that allows to skip provider registration. git-svn-id: https://joinup.ec.europa.eu/svn/pdf-as/trunk@589 7b5415b0-85f9-ee4d-85bd-d5d0c3b42d1c --- .../at/gv/egiz/pdfas/impl/api/PdfAsObject.java | 38 ++++++++++++++++++++-- 1 file changed, 35 insertions(+), 3 deletions(-) (limited to 'src/main/java/at/gv/egiz/pdfas/impl/api/PdfAsObject.java') diff --git a/src/main/java/at/gv/egiz/pdfas/impl/api/PdfAsObject.java b/src/main/java/at/gv/egiz/pdfas/impl/api/PdfAsObject.java index 2ccc1b7..e94acfd 100644 --- a/src/main/java/at/gv/egiz/pdfas/impl/api/PdfAsObject.java +++ b/src/main/java/at/gv/egiz/pdfas/impl/api/PdfAsObject.java @@ -81,6 +81,7 @@ public class PdfAsObject implements PdfAs /** * This constructor is for internal use only - use * {@link at.gv.egiz.pdfas.PdfAsFactory} instead. + * Note: IAIK JCE and IAIK ECC security providers are automatically registered. * * @param workDirectory * The work directory. @@ -89,14 +90,32 @@ public class PdfAsObject implements PdfAs */ public PdfAsObject(File workDirectory) throws PdfAsException { - String path = workDirectory != null ? workDirectory.getPath() : null; + this(workDirectory, SettingsReader.REGISTER_IAIK_PROVIDERS_ON_DEFAULT); + } + + /** + * This constructor is for internal use only - use + * {@link at.gv.egiz.pdfas.PdfAsFactory} instead. + * + * @param workDirectory + * The work directory. + * @param registerProvider true: automatically registers IAIK JCE and ECC Provider; + * false: providers will NOT be automatically registered, providers + * needed have to be registered by the API user + * @throws PdfAsException + * Thrown, if the configuration cannot be processed. + */ + public PdfAsObject(File workDirectory, boolean registerProvider) throws PdfAsException + { + String path = workDirectory != null ? workDirectory.getPath() : null; SettingsReader.initialize(path, path); - reloadConfig(); + reloadConfig(registerProvider); } /** * This constructor is for internal use only - use * {@link at.gv.egiz.pdfas.PdfAsFactory} instead. + * Note: IAIK JCE and IAIK ECC security providers are automatically registered. * * @throws PdfAsException * Thrown, if the configuration cannot be processed. @@ -112,7 +131,20 @@ public class PdfAsObject implements PdfAs public void reloadConfig() throws PdfAsException { ConfigUtils.initializeLogger(); - SettingsReader.createInstance(); + SettingsReader.createInstance(); + SignatureTypes.createInstance(); + } + + /** + * @param registerProvider true: automatically registers IAIK JCE and ECC Provider; + * false: providers will NOT be automatically registered, providers + * needed have to be registered by the API user + * @see at.gv.egiz.pdfas.api.PdfAs#reloadConfig() + */ + private void reloadConfig(boolean registerProvider) throws PdfAsException + { + ConfigUtils.initializeLogger(); + SettingsReader.createInstance(registerProvider); SignatureTypes.createInstance(); } -- cgit v1.2.3