From db52e4d66d60184d53a27ba4d6772461daacc03d Mon Sep 17 00:00:00 2001 From: tknall Date: Fri, 22 Mar 2013 08:57:51 +0000 Subject: Maintenance update (bugfixes, new features, cleanup...) Refer to /dok/RELEASE_NOTES-3.3.txt for further information. git-svn-id: https://joinup.ec.europa.eu/svn/pdf-as/pdf-as/trunk@931 7b5415b0-85f9-ee4d-85bd-d5d0c3b42d1c --- .../at/gv/egiz/pdfas/api/commons/Constants.java | 33 +++++++++++++--------- .../api/commons/DynamicSignatureProfileImpl.java | 8 ++++-- .../egiz/pdfas/api/commons/SignatureProfile.java | 11 ++++++++ 3 files changed, 35 insertions(+), 17 deletions(-) (limited to 'pdf-as-lib/src/main/java/at/gv/egiz/pdfas/api/commons') diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/api/commons/Constants.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/api/commons/Constants.java index b351d50..4afec65 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/api/commons/Constants.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/api/commons/Constants.java @@ -27,7 +27,7 @@ import at.knowcenter.wag.egov.egiz.pdf.AdobeSignatureHelper; /** * Contains commonly used constants. - * + * * @author wprinz */ public final class Constants @@ -52,7 +52,7 @@ public final class Constants * This value should not be modified due to external dependencies! */ public static final String SIGNATURE_TYPE_TEXTUAL = "textual"; - + /** * The default signature type (one of "textual", "binary", "detachedtextual"). */ @@ -60,7 +60,7 @@ public final class Constants /** * A "detached" textual signature. - * + * *

* The document text is signed, but instead of returning the pdf with the signature block, * the sign result XML of the connector is returned. @@ -98,14 +98,14 @@ public final class Constants * This value should not be modified due to external dependencies! */ public static final String SIGNATURE_DEVICE_MOBILE = "mobile"; - + /** * Added by rpiazzi * The signature device MOBILETEST for the test version of the MOBILE CCS. * This value should not be modified due to external dependencies! */ public static final String SIGNATURE_DEVICE_MOBILETEST = "mobiletest"; - + /** * Only binary signatures are verified. */ @@ -113,7 +113,7 @@ public final class Constants /** * Binary and textual signatures are verified with time optimization. - * + * *

* This mode of operation tries to minimize the numbers of text extractions, * which are very time intensive, at the cost of some rare cases, in which some @@ -141,19 +141,19 @@ public final class Constants * The zip file containing the default configuration. */ public static final String DEFAULT_CONFIGURATION_ZIP_RESOURCE = "DefaultConfiguration.zip"; - + /** * The configuration folder for pdf-as within the user's home folder. */ public static final String USERHOME_CONFIG_FOLDER = "PDF-AS"; - + /** * The name of the directory, where temporary files are stored. */ public static final String TEMP_DIR_NAME = "pdfastmp"; - + public static final String BKU_HEADER_SIGNATURE_LAYOUT = "SignatureLayout"; - + public static final String ADOBE_SIG_FILTER = AdobeSignatureHelper.ADOBE_SIG_FILTER; /** @@ -161,25 +161,30 @@ public final class Constants * If the placeholder with the given id is not found in the document, an exception will be thrown. */ public static final int PLACEHOLDER_MATCH_MODE_STRICT = 0; - + /** * A moderate matching mode for placeholder extraction.
* If the placeholder with the given id is not found in the document, the first placeholder without an id will be taken.
* If there is no such placeholder, the signature will be placed as usual, according to the pos parameter of the signature profile used. */ public static final int PLACEHOLDER_MATCH_MODE_MODERATE = 1; - + /** * A more lenient matching mode for placeholder extraction.
* If the placeholder with the given id is not found in the document, the first found placeholder will be taken, regardless if it has an id set, or not.
* If there is no placeholder at all, the signature will be placed as usual, according to the pos parameter of the signature profile used. */ public static final int PLACEHOLDER_MATCH_MODE_LENIENT = 2; - + /** * Identifier for QR based placeholders. */ public static final String QR_PLACEHOLDER_IDENTIFIER = "PDF-AS-POS"; - + + /** + * The name of a logger used for statistical logging. + */ + public static final String STATISTIC_LOGGER_NAME = "statistic"; + } diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/api/commons/DynamicSignatureProfileImpl.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/api/commons/DynamicSignatureProfileImpl.java index 7e1672a..e1f31f7 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/api/commons/DynamicSignatureProfileImpl.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/api/commons/DynamicSignatureProfileImpl.java @@ -159,8 +159,10 @@ public class DynamicSignatureProfileImpl implements DynamicSignatureProfile { cfg = SettingsReader.getInstance(); - Properties props = cfg.getProperties(); - for (Enumeration e = props.keys(); e.hasMoreElements();) { + Properties props = cfg.getProperties(); + // DTI: props.keys() does not support default properties, therefore we should better use props.propertyNames() +// for (Enumeration e = props.keys(); e.hasMoreElements();) { + for (Enumeration e = props.propertyNames(); e.hasMoreElements();) { String oldKey = (String) e.nextElement(); if (oldKey.startsWith("sig_obj." + parentProfile + ".")) { String newKey = StringUtils.replace(oldKey, parentProfile, name); @@ -168,7 +170,7 @@ public class DynamicSignatureProfileImpl implements DynamicSignatureProfile { this.newProps.put(newKey, val); } } - this.newProps.put("sig_obj.types." + name, "on"); + this.newProps.put("sig_obj.types." + name, "on"); } catch (Exception e) { throw new RuntimeException(e); } diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/api/commons/SignatureProfile.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/api/commons/SignatureProfile.java index 8cd3108..1325d04 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/api/commons/SignatureProfile.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/api/commons/SignatureProfile.java @@ -25,6 +25,8 @@ package at.gv.egiz.pdfas.api.commons; import java.util.Properties; +import at.knowcenter.wag.egov.egiz.sig.SignatureTypes.State; + /** * Definition of a signature profile. * @@ -73,4 +75,13 @@ public interface SignatureProfile { * @return */ public boolean isDefault(); + + /** + * Returns the state of the signature profile. Signature profiles may be restricted to signature ( + * {@link State#SIGN_ONLY}) or to verification ({@link State#VERIFY_ONLY}). + * + * @return The state of the profile. + */ + public State getState(); + } -- cgit v1.2.3