From c811ca302d20fb6f2752f7b79787283882ee57a2 Mon Sep 17 00:00:00 2001 From: tkellner Date: Wed, 10 Apr 2013 18:49:12 +0000 Subject: PDFSignerInterface updated git-svn-id: https://joinup.ec.europa.eu/svn/pdf-over/trunk@3 174cde9d-5d70-4d2a-aa98-46368bc2aaf7 --- .../asit/pdfover/pdfsignator/CollimatingMark.java | 5 + .../asit/pdfover/pdfsignator/DocumentSource.java | 4 + .../pdfsignator/InvalidPropertyTypeException.java | 16 -- .../pdfsignator/InvalidPropertyValueException.java | 16 -- .../at/asit/pdfover/pdfsignator/PDFSignator.java | 77 ------ .../pdfover/pdfsignator/PDFSignatureException.java | 14 + .../pdfover/pdfsignator/PDFSignerInterface.java | 38 +++ .../at/asit/pdfover/pdfsignator/SignParameter.java | 118 -------- .../at/asit/pdfover/pdfsignator/SignResult.java | 61 +---- .../pdfover/pdfsignator/SignatureDimension.java | 1 + .../pdfover/pdfsignator/SignatureParameter.java | 106 ++++++++ .../asit/pdfover/pdfsignator/SignatureProfile.java | 81 ------ .../at/asit/pdfover/pdfsignator/SigningState.java | 26 ++ .../profileproperties/DateProfileProperty.java | 36 --- .../profileproperties/FileProfileProperty.java | 33 --- .../profileproperties/FloatProfileProperty.java | 30 -- .../profileproperties/IntegerProfileProperty.java | 31 --- .../profileproperties/ProfileProperty.java | 112 -------- .../profileproperties/StringProfileProperty.java | 24 -- .../validators/FloatRangeValidator.java | 57 ---- .../validators/IntegerRangeValidator.java | 58 ---- .../validators/PropertyValidator.java | 41 --- .../validators/PropertyValidatorComparer.java | 16 -- .../validators/RegExValidator.java | 37 --- .../src/model/PDFSignerInterface.ucd | 169 ++++++++++++ .../src/model/at.asit.pdfover.pdfsignator.ucd | 301 --------------------- pdf-over/pdf-signer-pdf-as/pom.xml | 5 + pdf-over/pom.xml | 2 +- 28 files changed, 378 insertions(+), 1137 deletions(-) create mode 100644 pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/CollimatingMark.java delete mode 100644 pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/InvalidPropertyTypeException.java delete mode 100644 pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/InvalidPropertyValueException.java delete mode 100644 pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/PDFSignator.java create mode 100644 pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/PDFSignatureException.java create mode 100644 pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/PDFSignerInterface.java delete mode 100644 pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/SignParameter.java create mode 100644 pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/SignatureParameter.java delete mode 100644 pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/SignatureProfile.java create mode 100644 pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/SigningState.java delete mode 100644 pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/profileproperties/DateProfileProperty.java delete mode 100644 pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/profileproperties/FileProfileProperty.java delete mode 100644 pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/profileproperties/FloatProfileProperty.java delete mode 100644 pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/profileproperties/IntegerProfileProperty.java delete mode 100644 pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/profileproperties/ProfileProperty.java delete mode 100644 pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/profileproperties/StringProfileProperty.java delete mode 100644 pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/profileproperties/validators/FloatRangeValidator.java delete mode 100644 pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/profileproperties/validators/IntegerRangeValidator.java delete mode 100644 pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/profileproperties/validators/PropertyValidator.java delete mode 100644 pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/profileproperties/validators/PropertyValidatorComparer.java delete mode 100644 pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/profileproperties/validators/RegExValidator.java create mode 100644 pdf-over/pdf-signer-interface/src/model/PDFSignerInterface.ucd delete mode 100644 pdf-over/pdf-signer-interface/src/model/at.asit.pdfover.pdfsignator.ucd diff --git a/pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/CollimatingMark.java b/pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/CollimatingMark.java new file mode 100644 index 00000000..1d209671 --- /dev/null +++ b/pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/CollimatingMark.java @@ -0,0 +1,5 @@ +package at.asit.pdfover.pdfsignator; + +public class CollimatingMark { + +} diff --git a/pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/DocumentSource.java b/pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/DocumentSource.java index 9343a981..3550596c 100644 --- a/pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/DocumentSource.java +++ b/pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/DocumentSource.java @@ -1,5 +1,9 @@ package at.asit.pdfover.pdfsignator; +/** + * A Document Source + * @author afitzek + */ public class DocumentSource { } diff --git a/pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/InvalidPropertyTypeException.java b/pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/InvalidPropertyTypeException.java deleted file mode 100644 index 8f9d54a9..00000000 --- a/pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/InvalidPropertyTypeException.java +++ /dev/null @@ -1,16 +0,0 @@ -package at.asit.pdfover.pdfsignator; - -import at.asit.pdfover.pdfsignator.profileproperties.ProfileProperty; -import at.asit.pdfover.pdfsignator.profileproperties.validators.PropertyValidator; - -public class InvalidPropertyTypeException extends Exception { - /** - * - */ - private static final long serialVersionUID = 6174277563400848906L; - - public InvalidPropertyTypeException(ProfileProperty property, PropertyValidator validator) { - super(String.format("Cannot add validator: %s to Property: %s (incompatible)", - validator.getClass().getName(), property.getClass().getName())); - } -} diff --git a/pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/InvalidPropertyValueException.java b/pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/InvalidPropertyValueException.java deleted file mode 100644 index 3b3d96e9..00000000 --- a/pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/InvalidPropertyValueException.java +++ /dev/null @@ -1,16 +0,0 @@ -package at.asit.pdfover.pdfsignator; - -import at.asit.pdfover.pdfsignator.profileproperties.ProfileProperty; - - -public class InvalidPropertyValueException extends Exception { - - /** - * - */ - private static final long serialVersionUID = -3823266882732616374L; - - public InvalidPropertyValueException(ProfileProperty property, String message) { - super(String.format("Invalid value for: %s: %s", property.GetKey(), message)); - } -} diff --git a/pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/PDFSignator.java b/pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/PDFSignator.java deleted file mode 100644 index 1801e608..00000000 --- a/pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/PDFSignator.java +++ /dev/null @@ -1,77 +0,0 @@ -package at.asit.pdfover.pdfsignator; - -import java.util.HashMap; - -/** - * PDF Signator base Class - * This class should be extended to support PDF-AS and PADES. - */ -public abstract class PDFSignator { - - /** - * Map to store profiles - */ - protected HashMap profiles = new HashMap(); - - /** - * Perfom signature creation - * @param parameter The signature parameters - * @return The signing result - */ - public abstract SignResult Sign(SignParameter parameter); - - /** - * Creates new signing profile - * @param base The profile id of the base profile - * @param profileID The id of the new profile - * @return The new Profile - */ - public abstract SignatureProfile CreateNewProfile(String base, String profileID); - - /** - * Creates new signing profile - * @param base The base profile - * @param profileID The id of the new profile - * @return The new Profile - */ - public abstract SignatureProfile CreateNewProfile(SignatureProfile base, String profileID); - - /** - * Creates new signing profile - * @param profileID The id of the new profile - * @return The new Profile - */ - public abstract SignatureProfile CreateNewProfile(String profileID); - - /** - * Returns Profile object for given profile id - * @param profileID The profile id - * @return The requested Profile - */ - public SignatureProfile GetProfile(String profileID) { - if(this.profiles.containsKey(profileID)) { - // TODO: Think about handing out a copy of the profile to keep default values ... - return this.profiles.get(profileID); - } - - // TODO: throw Exception - return null; - } - - /** - * Get all available profiles - * @return Array containing all knwon profiles - */ - public SignatureProfile[] GetAvailableProfiles() { - // TODO: Think about handing out a copy of the profile to keep default values ... - return this.profiles.values().toArray(new SignatureProfile[0]); - } - - /** - * Gets all available profile ids - * @return Array containing all known profile ids - */ - public String[] GetAvailableProfileIDs() { - return this.profiles.keySet().toArray(new String[0]); - } -} diff --git a/pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/PDFSignatureException.java b/pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/PDFSignatureException.java new file mode 100644 index 00000000..78e66e01 --- /dev/null +++ b/pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/PDFSignatureException.java @@ -0,0 +1,14 @@ +package at.asit.pdfover.pdfsignator; + +/** + * base class for signature exceptions + * @author afitzek + */ +public class PDFSignatureException extends Exception { + + /** + * + */ + private static final long serialVersionUID = 711578398780816710L; + +} diff --git a/pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/PDFSignerInterface.java b/pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/PDFSignerInterface.java new file mode 100644 index 00000000..e7ceeff6 --- /dev/null +++ b/pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/PDFSignerInterface.java @@ -0,0 +1,38 @@ +package at.asit.pdfover.pdfsignator; + +import java.security.SignatureException; + +/** + * PDF Signator base Class + * This class should be extended to support PDF-AS and PADES. + * @author afitzek + */ +public interface PDFSignerInterface { + + /** + * Prepare a signature + * Defines signature parameters, the pdf library prepares the pdf document to sign and + * creates a Security Layer Request. + * @param parameter The signature parameters + * @return The siging state (contains the prepared document and the signature request + * @throws SignatureException + */ + public SigningState Prepare(SignatureParameter parameter) throws SignatureException; + + /** + * Adds the signature to the document. + * The SL Response has to be set in the state + * @param state The siging state + * @return The signature Result + * @throws SignatureException + */ + public SignResult Sign(SigningState state) throws SignatureException; + + /** + * Creates new signing profile + * @param base The profile id of the base profile + * @param profileID The id of the new profile + * @return The new Profile + */ + public SignatureParameter GetParameter(); +} diff --git a/pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/SignParameter.java b/pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/SignParameter.java deleted file mode 100644 index 3f0f2b6f..00000000 --- a/pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/SignParameter.java +++ /dev/null @@ -1,118 +0,0 @@ -package at.asit.pdfover.pdfsignator; - -/** - * The Signature Parameter - */ -public class SignParameter { - - /** - * The Signature Position - * @uml.property name="signaturePosition" - * @uml.associationEnd multiplicity="(1 1)" aggregation="shared" inverse="signParameter:at.asit.pdfover.pdfsignator.SignaturePosition" - */ - protected SignaturePosition signaturePosition = null; - - /** - * Getter of the property signaturePosition - * @return Returns the signaturePosition. - */ - public SignaturePosition GetSignaturePosition() { - return signaturePosition; - } - - /** - * Setter of the property signaturePosition - * @param signaturePosition The signaturePosition to set. - */ - public void SetSignaturePosition(SignaturePosition signaturePosition) { - this.signaturePosition = signaturePosition; - } - - /** - * The Signature Profile - * @uml.property name="signatureProfile" - * @uml.associationEnd multiplicity="(1 1)" aggregation="shared" inverse="signParameter:at.asit.pdfover.pdfsignator.SignatureProfile" - */ - protected SignatureProfile signatureProfile = null; - - /** - * Getter of the property signatureProfile - * @return Returns the signatureProfile. - */ - public SignatureProfile GetSignatureProfile() { - return signatureProfile; - } - - /** - * Setter of the property signatureProfile - * @param signatureProfile The signatureProfile to set. - */ - public void SetSignatureProfile(SignatureProfile signatureProfile) { - this.signatureProfile = signatureProfile; - } - - /** - * The signature Device - */ - protected String signatureDevice = null; - - /** - * Getter of the property signatureDevice - * @return Returns the signatureDevice. - */ - public String GetSignatureDevice() { - return signatureDevice; - } - - /** - * Setter of the property signatureDevice - * @param value The signatureDevice to set. - */ - public void SetSignatureDevice(String value) { - this.signatureDevice = value; - } - - /** - * The signature Device - */ - protected String KeyIdentifier = null; - - /** - * Getter of the property KeyIdentifier - * @return Returns the KeyIdentifier. - */ - public String GetKeyIdentifier() { - return KeyIdentifier; - } - - /** - * Setter of the property KeyIdentifier - * @param value The KeyIdentifier to set. - */ - public void SetKeyIdentifier(String value) { - this.KeyIdentifier = value; - } - - /** - * The signature Device - * - * @uml.associationEnd multiplicity="(1 1)" aggregation="shared" inverse="signParameter:at.asit.pdfover.pdfsignator.DocumentSource" - */ - protected DocumentSource documentSource = null; - - /** - * Getter of the property documentSource - * @return Returns the documentSource. - */ - public DocumentSource GetDocumentSource() { - return documentSource; - } - - /** - * Setter of the property documentSource - * @param value The documentSource to set. - */ - public void SetDocumentSource(DocumentSource value) { - this.documentSource = value; - } -} diff --git a/pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/SignResult.java b/pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/SignResult.java index 56d98952..847d9cd5 100644 --- a/pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/SignResult.java +++ b/pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/SignResult.java @@ -2,70 +2,27 @@ package at.asit.pdfover.pdfsignator; import javax.security.cert.Certificate; -public class SignResult { - - /** - * The position of the signatur - * @uml.associationEnd multiplicity="(1 1)" aggregation="composite" inverse="signResult:at.asit.pdfover.pdfsignator.SignaturePosition" - */ - protected SignaturePosition signaturePosition = null; +/** + * Signature Result containing the signed document as document source + * @author afitzek + */ +public interface SignResult { /** * Getter of the property signaturePosition * @return Returns the signaturePosition. */ - public SignaturePosition GetSignaturePosition() { - return signaturePosition; - } - - /** - * Setter of the property signaturePosition - * @param signaturePosition The signaturePosition to set. - */ - public void SetSignaturePosition(SignaturePosition signaturePosition) { - this.signaturePosition = signaturePosition; - } - - /** - * The signed Document - * @uml.associationEnd multiplicity="(1 1)" aggregation="shared" inverse="signResult:at.asit.pdfover.pdfsignator.DocumentSource" - */ - protected DocumentSource documentSource = null; - + public SignaturePosition GetSignaturePosition(); + /** * Gets the signed Document * @return Returns the documentSource. */ - public DocumentSource GetDocumentSource() { - return documentSource; - } + public DocumentSource GetSignedDocument(); - /** - * Setter of the property documentSource - * @param documentSource The documentSource to set. - */ - public void SetDocumentSource(DocumentSource documentSource) { - this.documentSource = documentSource; - } - - /** - * The signer certificate - */ - protected Certificate signerCertificate; - - /** - * Sets the signer certificate - * @param cert The signer certificate - */ - public void SetSignerCertificate(Certificate cert) { - this.signerCertificate = cert; - } - /** * Gets the signer certificate * @return The signer x509 certificate */ - public Certificate SetSignerCertificate() { - return this.signerCertificate; - } + public Certificate GetSignerCertificate(); } diff --git a/pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/SignatureDimension.java b/pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/SignatureDimension.java index 133f4f74..5bff2da8 100644 --- a/pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/SignatureDimension.java +++ b/pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/SignatureDimension.java @@ -2,6 +2,7 @@ package at.asit.pdfover.pdfsignator; /** * The Dimensions of the visible signature block + * @author afitzek */ public class SignatureDimension { diff --git a/pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/SignatureParameter.java b/pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/SignatureParameter.java new file mode 100644 index 00000000..e50b2751 --- /dev/null +++ b/pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/SignatureParameter.java @@ -0,0 +1,106 @@ +package at.asit.pdfover.pdfsignator; + +/** + * The Signature Parameter + * @author afitzek + */ +public abstract class SignatureParameter { + + /** + * The Signature Position + * @uml.property name="signaturePosition" + * @uml.associationEnd + */ + protected SignaturePosition signaturePosition = null; + + /** + * Getter of the property signaturePosition + * @return Returns the signaturePosition. + */ + public SignaturePosition GetSignaturePosition() { + return signaturePosition; + } + + /** + * Setter of the property signaturePosition + * @param signaturePosition The signaturePosition to set. + */ + public void SetSignaturePosition(SignaturePosition signaturePosition) { + this.signaturePosition = signaturePosition; + } + + /** + * The signature Device + */ + protected String KeyIdentifier = null; + + /** + * Getter of the property KeyIdentifier + * @return Returns the KeyIdentifier. + */ + public String GetKeyIdentifier() { + return KeyIdentifier; + } + + /** + * Setter of the property KeyIdentifier + * @param value The KeyIdentifier to set. + */ + public void SetKeyIdentifier(String value) { + this.KeyIdentifier = value; + } + + /** + * The signature Device + * @uml.property name="documentSource" + * @uml.associationEnd + */ + protected DocumentSource documentSource = null; + + /** + * Getter of the property documentSource + * @return Returns the documentSource. + */ + public DocumentSource GetInputDocument() { + return documentSource; + } + + /** + * Setter of the property documentSource + * @param value The documentSource to set. + */ + public void SetInputDocument(DocumentSource value) { + this.documentSource = value; + } + + /** + * Gets the Dimension to display the Placeholder + * @return the placeholder dimensions + */ + public abstract SignatureDimension GetPlaceholderDimension(); + + /** + * holds the collimating mark + * @uml.property name="collimark" + * @uml.associationEnd + */ + protected CollimatingMark collimark; + + /** + * Gets the collimating mark + * @return + */ + public CollimatingMark GetCollimatingMark() { + return collimark; + } + + /** + * Sets the collimating mark + * @param value The new colimating mark + */ + public void SetCollimatingMark(CollimatingMark value) { + this.collimark = value; + } + + +} diff --git a/pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/SignatureProfile.java b/pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/SignatureProfile.java deleted file mode 100644 index 84c1023d..00000000 --- a/pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/SignatureProfile.java +++ /dev/null @@ -1,81 +0,0 @@ -package at.asit.pdfover.pdfsignator; - -import java.util.ArrayList; -import java.util.List; - -import at.asit.pdfover.pdfsignator.profileproperties.ProfileProperty; - -/** - * Represents a Signature profile - * @author afitzek - */ -public abstract class SignatureProfile { - - /** - * The profile ID - */ - protected String profileID; - - /** - * The Profile properties - * @uml.property name="profileProperty" - * @uml.associationEnd multiplicity="(0 -1)" ordering="true" aggregation="shared" inverse="signatureProfile:at.asit.pdfover.pdfsignator.profileproperties.ProfileProperty" - * - */ - protected List properties = new ArrayList(); - - /** - * Gets the profile ID - * @return Returns the profileID. - */ - public String GetProfileID() { - return profileID; - } - - /** - * Adds a property to this profile - * @param property - */ - public void AddProperty(ProfileProperty property) { - - ProfileProperty replace = this.GetProperty(property.GetKey()); - - if(replace != null) - { - this.properties.remove(replace); - replace = null; - } - - this.properties.add(property); - } - - /** - * Gets a property by its key - * @param key The property key - * @return The ProfileProperty or null if not available - */ - public ProfileProperty GetProperty(String key) { - ProfileProperty find = null; - for(ProfileProperty available : this.properties) { - find = available; - if(find.GetKey().equals(key)) { - return find; - } - } - return null; - } - - /** - * Gets the Signature Dimension - * @return - */ - public abstract SignatureDimension GetSignatureDimension(); - - /** - * Gets available Properties for this Profile - * @return - */ - public ProfileProperty[] GetAvailableProperties() { - return this.properties.toArray(new ProfileProperty[0]); - } -} diff --git a/pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/SigningState.java b/pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/SigningState.java new file mode 100644 index 00000000..77479c12 --- /dev/null +++ b/pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/SigningState.java @@ -0,0 +1,26 @@ +package at.asit.pdfover.pdfsignator; + +/** + * The state of the pdf signing library + * @author afitzek + */ +public interface SigningState { + + /** + * Gets the prepared Document + * @return + */ + public DocumentSource GetPreparedDocument(); + + /** + * Gets the Security Layer Request to create the signature + * @return The SL Signature Request + */ + public String GetSLSignatureRequest(); + + /** + * Sets the Security Layer Request to create the signature + * @param value The SL Signature Request + */ + public void SetSLSignatureResponse(String value); +} diff --git a/pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/profileproperties/DateProfileProperty.java b/pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/profileproperties/DateProfileProperty.java deleted file mode 100644 index ac5df52a..00000000 --- a/pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/profileproperties/DateProfileProperty.java +++ /dev/null @@ -1,36 +0,0 @@ -package at.asit.pdfover.pdfsignator.profileproperties; - -import java.util.Date; - -import at.asit.pdfover.pdfsignator.InvalidPropertyTypeException; -import at.asit.pdfover.pdfsignator.InvalidPropertyValueException; - -/** - * A Date Property - */ -public class DateProfileProperty extends ProfileProperty { - - /** - * Date value of property - */ - protected Date dvalue = null; - - /** - * Sets the date value of the Property - * @param value The date value - * @throws InvalidPropertyValueException - * @throws InvalidPropertyTypeException - */ - public void SetValue(Date value) throws InvalidPropertyValueException, InvalidPropertyTypeException { - this.SetTextValue(value.toString()); - this.dvalue = value; - } - - /** - * Gets the date value - * @return the date value of the property - */ - public Date GetValue() { - return this.dvalue; - } -} diff --git a/pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/profileproperties/FileProfileProperty.java b/pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/profileproperties/FileProfileProperty.java deleted file mode 100644 index 46c5cd12..00000000 --- a/pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/profileproperties/FileProfileProperty.java +++ /dev/null @@ -1,33 +0,0 @@ -package at.asit.pdfover.pdfsignator.profileproperties; - -import java.io.File; - -import at.asit.pdfover.pdfsignator.InvalidPropertyTypeException; -import at.asit.pdfover.pdfsignator.InvalidPropertyValueException; - -public class FileProfileProperty extends ProfileProperty { - - /** - * File value of property - */ - protected File fvalue = null; - - /** - * Sets the file value of the Property - * @param value The file value - * @throws InvalidPropertyValueException - * @throws InvalidPropertyTypeException - */ - public void SetValue(File value) throws InvalidPropertyValueException, InvalidPropertyTypeException { - this.SetTextValue(value.getAbsolutePath()); - this.fvalue = value; - } - - /** - * Gets the file value - * @return the file value of the property - */ - public File GetValue() { - return this.fvalue; - } -} diff --git a/pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/profileproperties/FloatProfileProperty.java b/pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/profileproperties/FloatProfileProperty.java deleted file mode 100644 index 51c4089e..00000000 --- a/pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/profileproperties/FloatProfileProperty.java +++ /dev/null @@ -1,30 +0,0 @@ -package at.asit.pdfover.pdfsignator.profileproperties; - -import at.asit.pdfover.pdfsignator.InvalidPropertyTypeException; -import at.asit.pdfover.pdfsignator.InvalidPropertyValueException; - -public class FloatProfileProperty extends ProfileProperty { - /** - * Float value of property - */ - protected Float fvalue = null; - - /** - * Sets the float value of the Property - * @param value The float value - * @throws InvalidPropertyValueException - * @throws InvalidPropertyTypeException - */ - public void SetValue(float value) throws InvalidPropertyValueException, InvalidPropertyTypeException { - this.SetTextValue(Float.toString(value)); - this.fvalue = value; - } - - /** - * Gets the float value - * @return the float value of the property - */ - public Float GetValue() { - return this.fvalue; - } -} diff --git a/pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/profileproperties/IntegerProfileProperty.java b/pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/profileproperties/IntegerProfileProperty.java deleted file mode 100644 index 7bb91226..00000000 --- a/pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/profileproperties/IntegerProfileProperty.java +++ /dev/null @@ -1,31 +0,0 @@ -package at.asit.pdfover.pdfsignator.profileproperties; - -import at.asit.pdfover.pdfsignator.InvalidPropertyTypeException; -import at.asit.pdfover.pdfsignator.InvalidPropertyValueException; - -public class IntegerProfileProperty extends ProfileProperty { - - /** - * Integer value of property - */ - protected Integer ivalue = null; - - /** - * Sets the integer value of the Property - * @param value The integer value - * @throws InvalidPropertyValueException - * @throws InvalidPropertyTypeException - */ - public void SetValue(int value) throws InvalidPropertyValueException, InvalidPropertyTypeException { - this.SetTextValue(Integer.toString(value)); - this.ivalue = value; - } - - /** - * Gets the integer value - * @return the integer value of the property - */ - public Integer GetValue() { - return this.ivalue; - } -} diff --git a/pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/profileproperties/ProfileProperty.java b/pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/profileproperties/ProfileProperty.java deleted file mode 100644 index ebd247d6..00000000 --- a/pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/profileproperties/ProfileProperty.java +++ /dev/null @@ -1,112 +0,0 @@ -package at.asit.pdfover.pdfsignator.profileproperties; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; - -import at.asit.pdfover.pdfsignator.InvalidPropertyTypeException; -import at.asit.pdfover.pdfsignator.InvalidPropertyValueException; -import at.asit.pdfover.pdfsignator.profileproperties.validators.PropertyValidator; -import at.asit.pdfover.pdfsignator.profileproperties.validators.PropertyValidatorComparer; - -/** - * Defines a Profile Property - */ -public abstract class ProfileProperty { - - /** - * Is this property optional - */ - protected boolean optional; - - /** - * The value of the property - */ - private String value; - - /** - * The key of the property - */ - private String key; - - /** - * The list of PropertyValidator - * @uml.property name="propertyValidator" - * @uml.associationEnd multiplicity="(0 -1)" ordering="true" aggregation="shared" inverse="profileProperty:at.asit.pdfover.pdfsignator.profileproperties.validators.PropertyValidator" - */ - protected List validators = new ArrayList(); - - /** - * Validates the ProfileProperty - * @throws InvalidPropertyValueException - * @throws InvalidPropertyTypeException - */ - protected void Validate() throws InvalidPropertyValueException, InvalidPropertyTypeException { - for(PropertyValidator validator : validators) { - validator.validate(this); - } - } - - /** - * Adds a new PropertyValidator to this Property and sorts the validators according to their priority - * @param validator - * @throws InvalidPropertyTypeException - */ - public void AddValidator(PropertyValidator validator) throws InvalidPropertyTypeException { - validator.CheckPropertyType(this); - validators.add(validator); - Collections.sort(validators, new PropertyValidatorComparer()); - } - - /** - * Sets if the property is optional - * @param value The new optional value - */ - public void SetOptional(boolean value) { - this.optional = value; - } - - /** - * Gets if the Property is Optional - * @return Is the property optional - */ - public boolean GetOptional() { - return this.optional; - } - - /** - * Sets the string value of the property and validates the Property - * (All subclasses should set the value via this method!) - * @param value The new value - * @throws InvalidPropertyValueException - * @throws InvalidPropertyTypeException - */ - public void SetTextValue(String value) throws InvalidPropertyValueException, InvalidPropertyTypeException { - this.value = value; - this.Validate(); - } - - /** - * Gets the property text value - * @return The property text value - */ - public String GetTextValue() { - return this.value; - } - - /** - * Sets the propety key - * @param value The new property key - */ - public void SetKey(String value) { - this.key = value; - } - - /** - * Gets the property Key - * @return The property key - */ - public String GetKey() { - return this.key; - } -} diff --git a/pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/profileproperties/StringProfileProperty.java b/pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/profileproperties/StringProfileProperty.java deleted file mode 100644 index 35d903af..00000000 --- a/pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/profileproperties/StringProfileProperty.java +++ /dev/null @@ -1,24 +0,0 @@ -package at.asit.pdfover.pdfsignator.profileproperties; - -import at.asit.pdfover.pdfsignator.InvalidPropertyTypeException; -import at.asit.pdfover.pdfsignator.InvalidPropertyValueException; - -public class StringProfileProperty extends ProfileProperty { - /** - * Sets the string value of the Property - * @param value The string value - * @throws InvalidPropertyValueException - * @throws InvalidPropertyTypeException - */ - public void SetValue(String value) throws InvalidPropertyValueException, InvalidPropertyTypeException { - this.SetTextValue(value); - } - - /** - * Gets the string value - * @return the string value of the property - */ - public String GetValue() { - return this.GetTextValue(); - } -} diff --git a/pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/profileproperties/validators/FloatRangeValidator.java b/pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/profileproperties/validators/FloatRangeValidator.java deleted file mode 100644 index 8cca9230..00000000 --- a/pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/profileproperties/validators/FloatRangeValidator.java +++ /dev/null @@ -1,57 +0,0 @@ -package at.asit.pdfover.pdfsignator.profileproperties.validators; - -import at.asit.pdfover.pdfsignator.InvalidPropertyTypeException; -import at.asit.pdfover.pdfsignator.InvalidPropertyValueException; -import at.asit.pdfover.pdfsignator.profileproperties.FloatProfileProperty; -import at.asit.pdfover.pdfsignator.profileproperties.ProfileProperty; - -public class FloatRangeValidator extends PropertyValidator { - - /** - * The maximum value - */ - protected float max; - - /** - * The minimum value - */ - protected float min; - - /** - * Constructor - * @param min The minimum allowed value - * @param max The maximum allowed value - */ - public FloatRangeValidator(float min, float max) { - this.max = max; - this.min = min; - } - - @Override - public void validate(ProfileProperty property) - throws InvalidPropertyValueException, InvalidPropertyTypeException { - this.CheckPropertyType(property); - - FloatProfileProperty prop = (FloatProfileProperty) property; - - if (prop.GetValue() == null) { - throw new InvalidPropertyValueException(property, - "Value is not set!"); - } - - float value = prop.GetValue(); - - if (value < min || value > max) { - throw new InvalidPropertyValueException(property, String.format( - "Value has to be between %f and %f", min, max)); - } - } - - @Override - public void CheckPropertyType(ProfileProperty property) - throws InvalidPropertyTypeException { - if (!(property instanceof FloatProfileProperty)) { - throw new InvalidPropertyTypeException(property, this); - } - } -} diff --git a/pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/profileproperties/validators/IntegerRangeValidator.java b/pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/profileproperties/validators/IntegerRangeValidator.java deleted file mode 100644 index 504cb482..00000000 --- a/pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/profileproperties/validators/IntegerRangeValidator.java +++ /dev/null @@ -1,58 +0,0 @@ -package at.asit.pdfover.pdfsignator.profileproperties.validators; - -import at.asit.pdfover.pdfsignator.InvalidPropertyTypeException; -import at.asit.pdfover.pdfsignator.InvalidPropertyValueException; -import at.asit.pdfover.pdfsignator.profileproperties.IntegerProfileProperty; -import at.asit.pdfover.pdfsignator.profileproperties.ProfileProperty; - -public class IntegerRangeValidator extends PropertyValidator { - - /** - * Maximum value of property - */ - protected int max; - - /** - * Minimum value of property - */ - protected int min; - - /** - * Constructor - * @param min The minimum allowed value - * @param max The maximum allowed value - */ - public IntegerRangeValidator(int min, int max) { - this.max = max; - this.min = min; - } - - @Override - public void validate(ProfileProperty property) - throws InvalidPropertyValueException, InvalidPropertyTypeException { - this.CheckPropertyType(property); - - IntegerProfileProperty prop = (IntegerProfileProperty) property; - - if(prop.GetValue() == null) - { - throw new InvalidPropertyValueException(property, "Value is not set!"); - } - - int value = prop.GetValue(); - - if(value < min || value > max) { - throw new InvalidPropertyValueException(property, - String.format("Value has to be between %d and %d", min, max)); - } - } - - @Override - public void CheckPropertyType(ProfileProperty property) - throws InvalidPropertyTypeException { - if(!(property instanceof IntegerProfileProperty)) { - throw new InvalidPropertyTypeException(property, this); - } - } - -} diff --git a/pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/profileproperties/validators/PropertyValidator.java b/pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/profileproperties/validators/PropertyValidator.java deleted file mode 100644 index 8da9babc..00000000 --- a/pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/profileproperties/validators/PropertyValidator.java +++ /dev/null @@ -1,41 +0,0 @@ -package at.asit.pdfover.pdfsignator.profileproperties.validators; - -import at.asit.pdfover.pdfsignator.InvalidPropertyTypeException; -import at.asit.pdfover.pdfsignator.InvalidPropertyValueException; -import at.asit.pdfover.pdfsignator.profileproperties.ProfileProperty; - -/** - * Validates the value of a property - */ -public abstract class PropertyValidator { - - /** - * The priority of this property should determine the order of validations - */ - protected int priority = 1; - - /** - * Called to validate the value of the given property and throws an InvalidPropertyValueException if value is invalid - * @param propety - * @throws InvalidPropertyValueException - */ - public abstract void validate(ProfileProperty property) throws InvalidPropertyValueException, InvalidPropertyTypeException; - - /** - * Sets the priority of this validator - * @param value The new priority - */ - public void SetPriority(int value) { - this.priority = value; - } - - /** - * Gets the priority of this validator - * @return The priority of this validator - */ - public int GetPriority() { - return this.priority; - } - - public abstract void CheckPropertyType(ProfileProperty property) throws InvalidPropertyTypeException; -} diff --git a/pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/profileproperties/validators/PropertyValidatorComparer.java b/pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/profileproperties/validators/PropertyValidatorComparer.java deleted file mode 100644 index 76c7f0e2..00000000 --- a/pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/profileproperties/validators/PropertyValidatorComparer.java +++ /dev/null @@ -1,16 +0,0 @@ -package at.asit.pdfover.pdfsignator.profileproperties.validators; - -import java.util.Comparator; - -/** - * Compares the Priority of two PropertyValidators - * @author afitzek - * - */ -public class PropertyValidatorComparer implements Comparator { - - public int compare(PropertyValidator o1, PropertyValidator o2) { - return o1.GetPriority() - o2.GetPriority(); - } - -} diff --git a/pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/profileproperties/validators/RegExValidator.java b/pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/profileproperties/validators/RegExValidator.java deleted file mode 100644 index 9ca8d113..00000000 --- a/pdf-over/pdf-signer-interface/src/main/java/at/asit/pdfover/pdfsignator/profileproperties/validators/RegExValidator.java +++ /dev/null @@ -1,37 +0,0 @@ -package at.asit.pdfover.pdfsignator.profileproperties.validators; - -import at.asit.pdfover.pdfsignator.InvalidPropertyTypeException; -import at.asit.pdfover.pdfsignator.InvalidPropertyValueException; -import at.asit.pdfover.pdfsignator.profileproperties.ProfileProperty; - -public class RegExValidator extends PropertyValidator { - - /** - * The regex value - */ - protected String regex; - - /** - * Constructor - * @param regex The regex to check - */ - public RegExValidator(String regex) { - this.regex = regex; - } - - @Override - public void validate(ProfileProperty property) - throws InvalidPropertyValueException, InvalidPropertyTypeException { - - if(!property.GetTextValue().matches(this.regex)) { - throw new InvalidPropertyValueException(property, String.format( - "Value is invalid!")); - } - } - - @Override - public void CheckPropertyType(ProfileProperty property) - throws InvalidPropertyTypeException { - // Is valid on all Property Types - } -} diff --git a/pdf-over/pdf-signer-interface/src/model/PDFSignerInterface.ucd b/pdf-over/pdf-signer-interface/src/model/PDFSignerInterface.ucd new file mode 100644 index 00000000..baf9fd52 --- /dev/null +++ b/pdf-over/pdf-signer-interface/src/model/PDFSignerInterface.ucd @@ -0,0 +1,169 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pdf-over/pdf-signer-interface/src/model/at.asit.pdfover.pdfsignator.ucd b/pdf-over/pdf-signer-interface/src/model/at.asit.pdfover.pdfsignator.ucd deleted file mode 100644 index 49f5a6c7..00000000 --- a/pdf-over/pdf-signer-interface/src/model/at.asit.pdfover.pdfsignator.ucd +++ /dev/null @@ -1,301 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/pdf-over/pdf-signer-pdf-as/pom.xml b/pdf-over/pdf-signer-pdf-as/pom.xml index 6bf80b1b..e71691f2 100644 --- a/pdf-over/pdf-signer-pdf-as/pom.xml +++ b/pdf-over/pdf-signer-pdf-as/pom.xml @@ -14,6 +14,11 @@ pdf-signer-interface 0.1-SNAPSHOT + + knowcenter + pdf-as + 3.2 + 2012 http://www.buergerkarte.at diff --git a/pdf-over/pom.xml b/pdf-over/pom.xml index ce5044e1..c90f0877 100644 --- a/pdf-over/pom.xml +++ b/pdf-over/pom.xml @@ -51,7 +51,7 @@ afitzek Andreas Fitzek - roland.fitzek@iaik.tugraz.at + andreas.fitzek@iaik.tugraz.at EGIZ developer -- cgit v1.2.3