aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakob Heher <jakob.heher@iaik.tugraz.at>2026-04-15 13:49:22 +0200
committerGitHub <noreply@github.com>2026-04-15 13:49:22 +0200
commit77dd3fcc4d85088b15ab859c4438521d9cd6ed10 (patch)
treeaefedc8d2ef77e6819b46a948459d6016dfe5b62
parent88930540361a88ff56e07fed31004b583f2e729f (diff)
downloadpdf-as-4-77dd3fcc4d85088b15ab859c4438521d9cd6ed10.tar.gz
pdf-as-4-77dd3fcc4d85088b15ab859c4438521d9cd6ed10.tar.bz2
pdf-as-4-77dd3fcc4d85088b15ab859c4438521d9cd6ed10.zip
pdf-as-5 (#82)
- JDK 17 - PDFBox 3 - PDF-AS Web moved to Spring Boot - MOA Integration tests w/ new error code --------- Co-authored-by: Gerald Palfinger <gerald.palfinger@a-sit.at> Co-authored-by: kathrin.resek <kathrin.resek@a-sit.at>
-rw-r--r--.github/workflows/build.yml204
-rw-r--r--.github/workflows/release.yml48
-rw-r--r--.gitignore1
-rw-r--r--.gitlab-ci.yml6
-rw-r--r--build.gradle201
-rw-r--r--dependency-check-suppressions.xml25
-rw-r--r--gradle.properties14
-rw-r--r--gradle/wrapper/gradle-wrapper.jarbin56177 -> 45457 bytes
-rw-r--r--gradle/wrapper/gradle-wrapper.properties4
-rwxr-xr-xgradlew305
-rw-r--r--gradlew.bat80
-rw-r--r--pdf-as-cli/build.gradle28
-rw-r--r--pdf-as-cli/src/main/java/at/gv/egiz/pdfas/cli/Main.java4
-rw-r--r--pdf-as-cli/src/test/java/at/gv/egiz/pdfas/cli/test/CorruptPDF.java4
-rw-r--r--pdf-as-cli/src/test/java/at/gv/egiz/pdfas/cli/test/RotatedPDFTest.java2
-rw-r--r--pdf-as-cli/src/test/java/at/gv/egiz/pdfas/cli/test/SignaturProfileTest.java2
-rw-r--r--pdf-as-cli/src/test/java/at/gv/egiz/pdfas/cli/test/SignatureBlockParameterTest.java48
-rw-r--r--pdf-as-common/build.gradle16
-rw-r--r--pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PDFASBulkSignRequest.java4
-rw-r--r--pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PDFASBulkSignResponse.java4
-rw-r--r--pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PDFASPropertyEntry.java4
-rw-r--r--pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PDFASPropertyMap.java6
-rw-r--r--pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PDFASSignParameters.java6
-rw-r--r--pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PDFASSignRequest.java4
-rw-r--r--pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PDFASSignResponse.java10
-rw-r--r--pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PDFASSigning.java12
-rw-r--r--pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PDFASVerification.java12
-rw-r--r--pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PDFASVerificationResponse.java4
-rw-r--r--pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PDFASVerifyRequest.java4
-rw-r--r--pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PDFASVerifyResponse.java4
-rw-r--r--pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PDFASVerifyResult.java4
-rw-r--r--pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PdfasGetMultipleRequest.java8
-rw-r--r--pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PdfasSignDocument.java8
-rw-r--r--pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PdfasSignMultipleRequest.java8
-rw-r--r--pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PdfasSignMultipleResponse.java8
-rw-r--r--pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PdfasSignedDocument.java8
-rw-r--r--pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/VerificationLevel.java4
-rw-r--r--pdf-as-common/src/main/java/at/gv/egiz/pdfas/common/exceptions/ErrorConstants.java6
-rw-r--r--pdf-as-common/src/main/resources/resources/messages/error.properties9
-rw-r--r--pdf-as-legacy/.gitignore1
-rw-r--r--pdf-as-legacy/build.gradle60
-rw-r--r--pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/PdfAsFactory.java154
-rw-r--r--pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/PdfAs.java325
-rw-r--r--pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/analyze/AnalyzeParameters.java131
-rw-r--r--pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/analyze/AnalyzeResult.java87
-rw-r--r--pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/analyze/NonTextObjectInfo.java123
-rw-r--r--pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/commons/Constants.java213
-rw-r--r--pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/commons/DynamicSignatureLifetimeEnum.java96
-rw-r--r--pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/commons/DynamicSignatureProfile.java149
-rw-r--r--pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/commons/DynamicSignatureProfileImpl.java238
-rw-r--r--pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/commons/SignatureInformation.java153
-rw-r--r--pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/commons/SignatureProfile.java111
-rw-r--r--pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/exceptions/ConfigUtilsException.java146
-rw-r--r--pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/exceptions/ErrorCode.java139
-rw-r--r--pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/exceptions/PdfAsException.java122
-rw-r--r--pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/exceptions/PdfAsWrappedException.java38
-rw-r--r--pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/io/DataSink.java122
-rw-r--r--pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/io/DataSource.java118
-rw-r--r--pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/io/FileBased.java75
-rw-r--r--pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/io/TextBased.java74
-rw-r--r--pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/sign/SignParameters.java417
-rw-r--r--pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/sign/SignResult.java108
-rw-r--r--pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/sign/SignatureDetailInformation.java171
-rw-r--r--pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/sign/pos/SignaturePosition.java96
-rw-r--r--pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/sign/pos/SignaturePositioning.java360
-rw-r--r--pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/sign/pos/axis/AbsoluteAxisAlgorithm.java85
-rw-r--r--pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/sign/pos/axis/AutoAxisAlgorithm.java64
-rw-r--r--pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/sign/pos/axis/AxisAlgorithm.java64
-rw-r--r--pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/sign/pos/axis/package-info.java31
-rw-r--r--pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/sign/pos/package-info.java31
-rw-r--r--pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/sign/pos/page/AbsolutePageAlgorithm.java87
-rw-r--r--pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/sign/pos/page/AutoPageAlgorithm.java70
-rw-r--r--pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/sign/pos/page/NewPageAlgorithm.java64
-rw-r--r--pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/sign/pos/page/PageAlgorithm.java64
-rw-r--r--pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/sign/pos/page/package-info.java31
-rw-r--r--pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/timestamp/DummyTimeStamper.java86
-rw-r--r--pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/timestamp/TimeStamper.java64
-rw-r--r--pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/timestamp/package-info.java31
-rw-r--r--pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/verify/SignatureCheck.java74
-rw-r--r--pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/verify/VerifyAfterAnalysisParameters.java189
-rw-r--r--pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/verify/VerifyAfterReconstructXMLDsigParameters.java192
-rw-r--r--pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/verify/VerifyParameters.java272
-rw-r--r--pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/verify/VerifyResult.java202
-rw-r--r--pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/verify/VerifyResults.java71
-rw-r--r--pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/verify/package-info.java31
-rw-r--r--pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/xmldsig/ExtendedSignatureInformation.java92
-rw-r--r--pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/xmldsig/ReconstructXMLDsigAfterAnalysisParameters.java109
-rw-r--r--pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/xmldsig/ReconstructXMLDsigParameters.java241
-rw-r--r--pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/xmldsig/ReconstructXMLDsigResult.java97
-rw-r--r--pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/xmldsig/XMLDsigData.java106
-rw-r--r--pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/xmldsig/package-info.java31
-rw-r--r--pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/ByteArrayDataSink_OLD.java57
-rw-r--r--pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/ByteArrayDataSource_OLD.java63
-rw-r--r--pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/FileDataSource.java66
-rw-r--r--pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/LegacyMainTest.java74
-rw-r--r--pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/PdfAsObject.java299
-rw-r--r--pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/SignParameterWrapper.java126
-rw-r--r--pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/SignResultImpl.java65
-rw-r--r--pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/SignatureCheckWrapper.java44
-rw-r--r--pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/SignatureDetailInformationWrapper.java140
-rw-r--r--pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/SignaturePositionImpl.java57
-rw-r--r--pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/VerifyParameterWrapper.java43
-rw-r--r--pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/VerifyResultWrapper.java132
-rw-r--r--pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/VerifyResultsImpl.java43
-rw-r--r--pdf-as-legacy/src/main/java/at/knowcenter/wag/egov/egiz/sig/SignatureTypes.java253
-rw-r--r--pdf-as-legacy/src/test/java/ByteArrayDataSink.java59
-rw-r--r--pdf-as-legacy/src/test/java/ByteArrayDataSource.java58
-rw-r--r--pdf-as-legacy/src/test/java/LegacyTest.java83
-rw-r--r--pdf-as-legacy/src/test/java/StreamUtils.java30
-rw-r--r--pdf-as-legacy/src/test/resources/simple.pdfbin6257 -> 0 bytes
-rw-r--r--pdf-as-lib/build.gradle48
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/dsig/ObjectFactory.java6
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/dsig/X509DataType.java14
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/dsig/X509IssuerSerialType.java8
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/dsig/util/DsigMarschaller.java8
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/ByteArrayDataSource.java2
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/PdfAs.java22
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/PdfAsFactory.java6
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/PdfAsParameter.java2
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/StatusRequest.java68
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/sign/SignParameter.java4
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/verify/VerifyResult.java5
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/backend/PDFASBackend.java3
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/ErrorExtractor.java2
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/PdfAsImpl.java354
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/PdfAsParameterImpl.java2
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/SignParameterImpl.java10
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/StatusRequestImpl.java142
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/VerifyParameterImpl.java2
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/backend/BackendLoader.java2
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/placeholder/PlaceholderFilter.java2
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/IPdfSigner.java15
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/CertificateAndRequestParameterResolver.java3
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/IPDFStamper.java8
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/status/OperationStatus.java106
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/status/PDFObject.java5
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/status/RequestedSignature.java6
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/verify/IVerifier.java2
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/verify/IVerifyFilter.java7
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/verify/IntegrityVerifier.java4
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/verify/SignatureInputData.java26
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/verify/VerifierDispatcher.java3
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/verify/VerifyResultImpl.java13
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/settings/Settings.java5
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/util/SignatureUtils.java4
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/util/TimedFunction.java44
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/APDUATRType.java10
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/APDUResponseElement.java10
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/AccessAuthorizationType.java10
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/AllSignatoriesType.java6
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/AnyChildrenType.java10
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/AnyMixedChildrenType.java12
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ApplicationIdentifierType.java6
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/AuthenticationClassType.java6
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/Base64ContentType.java10
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/Base64OptRefContentType.java10
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/Base64XMLContentType.java10
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/Base64XMLLocRefContentType.java12
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/Base64XMLLocRefOptRefContentType.java10
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/Base64XMLLocRefReqRefContentType.java10
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/Base64XMLOptRefContentType.java10
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/BindingType.java14
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CMSDataObjectOptionalMetaType.java10
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CMSDataObjectRequiredMetaType.java6
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CMSEncryptedContentType.java8
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CMSRecipientPublicKeyType.java8
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CMSToBeEncryptedType.java8
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CanonicalizationMethodType.java14
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CardActionElement.java10
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CardActionResponseType.java6
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CardActionType.java6
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CardChannelRequest.java10
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CardChannelResponse.java10
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CardManagementRequest.java10
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CardManagementResponse.java10
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CheckResultType.java10
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CommandAPDUType.java10
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CreateCMSSignatureRequestType.java14
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CreateCMSSignatureResponseType.java8
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CreateHashInfoRequestType.java12
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CreateHashInfoResponseType.java10
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CreateHashRequestType.java8
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CreateHashResponseType.java8
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CreateXMLSignatureRequestType.java12
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CreateXMLSignatureResponseType.java8
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/DSAKeyValueType.java8
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/DataObjectAssociationType.java8
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/DataObjectInfoType.java10
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/DecryptCMSRequestType.java10
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/DecryptCMSResponseType.java8
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/DecryptXMLRequestType.java10
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/DecryptXMLResponseType.java14
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/DigestMethodType.java14
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/EncryptCMSRequestType.java10
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/EncryptCMSResponseType.java8
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/EncryptXMLRequest.java8
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/EncryptXMLRequestType.java10
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/EncryptXMLResponseType.java10
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/EncryptedDataType.java12
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/EncryptionInfoType.java16
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ErrorResponseType.java8
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ExcludedByteRangeType.java10
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/GetPropertiesRequest.java8
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/GetPropertiesRequestType.java8
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/GetPropertiesResponseType.java16
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/GetStatusRequestType.java10
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/GetStatusResponseType.java8
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/HashDataType.java8
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/InfoboxAssocArrayPairType.java8
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/InfoboxAvailableRequestType.java6
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/InfoboxAvailableResponseType.java12
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/InfoboxCreateRequestType.java12
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/InfoboxCreateResponseType.java6
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/InfoboxDeleteRequestType.java12
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/InfoboxDeleteResponseType.java6
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/InfoboxReadDataAssocArrayType.java12
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/InfoboxReadParamsAssocArrayType.java14
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/InfoboxReadParamsBinaryFileType.java8
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/InfoboxReadRequestType.java12
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/InfoboxReadResponseType.java8
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/InfoboxTypeType.java6
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/InfoboxUpdateParamsAssocArrayType.java16
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/InfoboxUpdateRequestType.java12
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/InfoboxUpdateResponseType.java6
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/KeyInfoType.java26
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/KeyValueType.java16
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ManifestRefsCheckResultInfoType.java16
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ManifestRefsCheckResultType.java10
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ManifestType.java18
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/MetaInfoType.java14
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/NullOperationRequestType.java6
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/NullOperationResponseType.java6
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ObjectFactory.java6
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ObjectType.java20
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/PGPDataType.java14
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/QualifiedBoxIdentifierType.java14
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/RSAKeyValueType.java8
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ReferenceType.java18
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ReferencesCheckResultInfoType.java14
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ReferencesCheckResultType.java10
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/RequesterIDType.java10
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ResetColdType.java6
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ResetType.java8
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ResponseAPDUType.java10
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ResultApplElement.java8
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ResultElement.java8
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/RetrievalMethodType.java12
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ReturnResultType.java6
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/SPKIDataType.java12
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ScriptElement.java10
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/SignatureInfoCreationType.java18
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/SignatureInfoVerificationType.java14
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/SignatureMethodType.java18
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/SignaturePropertiesType.java18
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/SignaturePropertyType.java20
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/SignatureType.java18
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/SignatureValueType.java18
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/SignedInfoType.java18
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ToBeEncryptedType.java16
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/TokenStatusType.java6
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/TransformType.java18
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/TransformsInfoType.java8
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/TransformsType.java8
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/UserConfirmationSimpleType.java6
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/UserConfirmationType.java10
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/VerificationResultType.java8
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/VerifyCMSSignatureRequestType.java12
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/VerifyCMSSignatureResponseType.java12
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/VerifyHashInfoRequestType.java10
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/VerifyHashRequestType.java8
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/VerifyHashResponseType.java8
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/VerifyXMLSignatureRequestType.java10
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/VerifyXMLSignatureResponseType.java8
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/X509DataType.java14
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/X509IssuerSerialType.java8
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/XMLContentType.java12
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/XMLRecipientPublicKeyType.java8
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/XMLToBeEncryptedNewContentType.java10
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/XMLToBeEncryptedNewType.java16
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/package-info.java2
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/util/BKUSLConnector.java4
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/util/SLMarschaller.java8
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl20/utils/SL20JSONExtractorUtils.java13
-rw-r--r--pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/table/Style.java27
-rw-r--r--pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/table/Table.java32
-rw-r--r--pdf-as-lib/src/test/java/at/gv/egiz/pdfas/lib/test/SignatureTest.java94
-rw-r--r--pdf-as-lib/src/test/java/at/gv/egiz/pdfas/lib/test/stamping/CertificateAndRequestParameterResolverTest.java2
-rw-r--r--pdf-as-lib/src/test/resources/data/align.pdfbin0 -> 45522 bytes
-rw-r--r--pdf-as-lib/src/test/resources/test.p12bin0 -> 1243 bytes
-rw-r--r--pdf-as-moa/build.gradle34
-rw-r--r--pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/ASICResultType.java127
-rw-r--r--pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/AllSignatoriesType.java42
-rw-r--r--pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/AnyChildrenType.java51
-rw-r--r--pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CMSContentBaseType.java32
-rw-r--r--pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CMSDataObjectInfoType.java96
-rw-r--r--pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CMSDataObjectOptionalMetaType.java44
-rw-r--r--pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CMSDataObjectRequiredMetaType.java46
-rw-r--r--pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CheckResultType.java48
-rw-r--r--pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/ContentBaseType.java54
-rw-r--r--pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/ContentExLocRefBaseType.java36
-rw-r--r--pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/ContentOptionalRefType.java38
-rw-r--r--pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/ContentRequiredRefType.java38
-rw-r--r--pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CreateCMSSignatureRequest.java28
-rw-r--r--pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CreateCMSSignatureRequestType.java179
-rw-r--r--pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CreateCMSSignatureResponseType.java61
-rw-r--r--pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CreatePDFSignatureRequest.java28
-rw-r--r--pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CreatePDFSignatureRequestType.java137
-rw-r--r--pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CreatePDFSignatureResponseType.java47
-rw-r--r--pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CreateSignatureEnvironmentProfile.java55
-rw-r--r--pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CreateSignatureLocationType.java46
-rw-r--r--pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CreateTransformsInfoProfile.java55
-rw-r--r--pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CreateXMLSignatureRequest.java28
-rw-r--r--pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CreateXMLSignatureRequestType.java306
-rw-r--r--pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CreateXMLSignatureResponseType.java111
-rw-r--r--pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/DataObjectInfoType.java118
-rw-r--r--pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/ErrorResponseType.java44
-rw-r--r--pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/ExtendedCertificateCheckResultType.java44
-rw-r--r--pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/FinalDataMetaInfoType.java40
-rw-r--r--pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/FormResultType.java46
-rw-r--r--pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/IndicationResultType.java46
-rw-r--r--pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/InputDataType.java66
-rw-r--r--pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/KeyStorageType.java44
-rw-r--r--pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/MOAFault.java8
-rw-r--r--pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/ManifestRefsCheckResultInfoType.java36
-rw-r--r--pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/ManifestRefsCheckResultType.java34
-rw-r--r--pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/MetaInfoType.java69
-rw-r--r--pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/ObjectFactory.java248
-rw-r--r--pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/PDFSignatureProperties.java44
-rw-r--r--pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/PDFSignatureResultType.java104
-rw-r--r--pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/PDFSignedRepsonse.java68
-rw-r--r--pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/PublicAuthorityType.java38
-rw-r--r--pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/QualifiedCertificate.java54
-rw-r--r--pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/ReferencesCheckResultInfoType.java34
-rw-r--r--pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/ReferencesCheckResultType.java34
-rw-r--r--pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/SecureSignatureCreationDevice.java54
-rw-r--r--pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/SignatureCreationPortType.java18
-rw-r--r--pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/SignatureCreationService.java16
-rw-r--r--pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/SignatureVerificationPortType.java18
-rw-r--r--pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/SignatureVerificationService.java16
-rw-r--r--pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/TransformParameterType.java122
-rw-r--r--pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/TransformsInfoType.java44
-rw-r--r--pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/VerifyASICCMSSignatureResponseType.java61
-rw-r--r--pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/VerifyASICSignatureRequest.java28
-rw-r--r--pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/VerifyASICSignatureRequestType.java82
-rw-r--r--pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/VerifyASICSignatureResponseType.java47
-rw-r--r--pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/VerifyASICXMLSignatureResponseType.java143
-rw-r--r--pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/VerifyCMSSignatureRequest.java45
-rw-r--r--pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/VerifyCMSSignatureRequestType.java77
-rw-r--r--pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/VerifyCMSSignatureResponseType.java61
-rw-r--r--pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/VerifyPDFSignatureRequest.java45
-rw-r--r--pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/VerifyPDFSignatureRequestType.java71
-rw-r--r--pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/VerifyPDFSignatureResponseType.java47
-rw-r--r--pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/VerifyTransformsDataType.java63
-rw-r--r--pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/VerifyTransformsInfoProfile.java71
-rw-r--r--pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/VerifyXMLSignatureRequestType.java245
-rw-r--r--pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/VerifyXMLSignatureResponseType.java141
-rw-r--r--pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/XMLContentType.java38
-rw-r--r--pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/XMLDataObjectAssociationType.java44
-rw-r--r--pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/package-info.java2
-rw-r--r--pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/CanonicalizationMethodType.java59
-rw-r--r--pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/DSAKeyValueType.java82
-rw-r--r--pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/DigestMethodType.java59
-rw-r--r--pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/KeyInfoType.java89
-rw-r--r--pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/KeyValueType.java63
-rw-r--r--pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/ManifestType.java63
-rw-r--r--pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/ObjectFactory.java188
-rw-r--r--pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/ObjectType.java77
-rw-r--r--pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/PGPDataType.java99
-rw-r--r--pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/RSAKeyValueType.java44
-rw-r--r--pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/ReferenceType.java78
-rw-r--r--pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/RetrievalMethodType.java54
-rw-r--r--pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/SPKIDataType.java55
-rw-r--r--pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/SignatureMethodType.java67
-rw-r--r--pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/SignaturePropertiesType.java63
-rw-r--r--pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/SignaturePropertyType.java71
-rw-r--r--pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/SignatureType.java81
-rw-r--r--pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/SignatureValueType.java48
-rw-r--r--pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/SignedInfoType.java75
-rw-r--r--pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/TransformType.java67
-rw-r--r--pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/TransformsType.java47
-rw-r--r--pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/X509DataType.java69
-rw-r--r--pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/X509IssuerSerialType.java44
-rw-r--r--pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/package-info.java2
-rw-r--r--pdf-as-moa/src/main/java/at/gv/egiz/pdfas/moa/MOAConnector.java39
-rw-r--r--pdf-as-moa/src/main/java/at/gv/egiz/pdfas/moa/MOAVerifier.java9
-rw-r--r--pdf-as-pdfbox-2/build.gradle18
-rw-r--r--pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/pdfbox2/PDFBOXObject.java14
-rw-r--r--pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/pdfbox2/configuration/ProfileValidator.java2
-rw-r--r--pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/pdfbox2/placeholder/PDFBoxPlaceholderExtractor.java9
-rw-r--r--pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/pdfbox2/placeholder/SignaturePlaceholderExtractor.java25
-rw-r--r--pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/pdfbox2/positioning/Positioning.java2
-rw-r--r--pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/pdfbox2/PADESPDFBOXSigner.java64
-rw-r--r--pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/pdfbox2/PDFASPDFBOXExtractorInterface.java7
-rw-r--r--pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/pdfbox2/PDFASPDFBOXSignatureInterface.java10
-rw-r--r--pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/pdfbox2/PdfboxSignerWrapper.java96
-rw-r--r--pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/pdfbox2/SignatureDataExtractor.java60
-rw-r--r--pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/pdfbox2/PDFAsVisualSignatureBuilder.java21
-rw-r--r--pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/pdfbox2/PDFAsVisualSignatureDesigner.java2
-rw-r--r--pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/pdfbox2/PDFBoxFont.java11
-rw-r--r--pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/pdfbox2/PDFBoxTable.java8
-rw-r--r--pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/pdfbox2/PdfBoxStamper.java17
-rw-r--r--pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/pdfbox2/StamperFactory.java9
-rw-r--r--pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/pdfbox2/TableDrawUtils.java68
-rw-r--r--pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/verify/pdfbox2/PDFBOXVerifier.java24
-rw-r--r--pdf-as-pdfbox-2/src/main/java/at/knowcenter/wag/egov/egiz/pdfbox2/pdf/PDFPage.java88
-rw-r--r--pdf-as-pdfbox-2/src/main/java/at/knowcenter/wag/egov/egiz/pdfbox2/pdf/operator/path/construction/ClosePath.java3
-rw-r--r--pdf-as-pdfbox-2/src/main/java/at/knowcenter/wag/egov/egiz/pdfbox2/pdf/operator/path/construction/CurveTo.java9
-rw-r--r--pdf-as-pdfbox-2/src/main/java/at/knowcenter/wag/egov/egiz/pdfbox2/pdf/operator/path/construction/CurveToReplicateFinalPoint.java7
-rw-r--r--pdf-as-pdfbox-2/src/main/java/at/knowcenter/wag/egov/egiz/pdfbox2/pdf/operator/path/construction/CurveToReplicateInitialPoint.java7
-rw-r--r--pdf-as-pdfbox-2/src/main/java/at/knowcenter/wag/egov/egiz/pdfbox2/pdf/operator/path/construction/LineTo.java5
-rw-r--r--pdf-as-pdfbox-2/src/main/java/at/knowcenter/wag/egov/egiz/pdfbox2/pdf/operator/path/construction/MoveTo.java7
-rw-r--r--pdf-as-pdfbox-2/src/main/java/at/knowcenter/wag/egov/egiz/pdfbox2/pdf/operator/path/painting/CloseAndStrokePath.java3
-rw-r--r--pdf-as-pdfbox-2/src/main/java/at/knowcenter/wag/egov/egiz/pdfbox2/pdf/operator/path/painting/CloseFillEvenOddAndStrokePath.java3
-rw-r--r--pdf-as-pdfbox-2/src/main/java/at/knowcenter/wag/egov/egiz/pdfbox2/pdf/operator/path/painting/CloseFillNonZeroAndStrokePath.java3
-rw-r--r--pdf-as-pdfbox-2/src/main/java/at/knowcenter/wag/egov/egiz/pdfbox2/pdf/operator/path/painting/EndPath.java3
-rw-r--r--pdf-as-pdfbox-2/src/main/java/at/knowcenter/wag/egov/egiz/pdfbox2/pdf/operator/path/painting/FillEvenOddAndStrokePath.java3
-rw-r--r--pdf-as-pdfbox-2/src/main/java/at/knowcenter/wag/egov/egiz/pdfbox2/pdf/operator/path/painting/FillNonZeroAndStrokePath.java3
-rw-r--r--pdf-as-pdfbox-2/src/main/java/at/knowcenter/wag/egov/egiz/pdfbox2/pdf/operator/path/painting/FillPathEvenOddRule.java3
-rw-r--r--pdf-as-pdfbox-2/src/main/java/at/knowcenter/wag/egov/egiz/pdfbox2/pdf/operator/path/painting/FillPathNonZeroWindingNumberRule.java7
-rw-r--r--pdf-as-pdfbox-2/src/main/java/at/knowcenter/wag/egov/egiz/pdfbox2/pdf/operator/path/painting/StrokePath.java3
-rw-r--r--pdf-as-pdfbox-2/src/test/java/at/gv/egiz/pdfas/lib/testpdfbox/PDFBoxPlaceholderExtractorTest.java26
-rw-r--r--pdf-as-pdfbox-2/src/test/java/at/gv/egiz/pdfas/lib/testpdfbox/TTFFontTest.java7
-rw-r--r--pdf-as-pdfbox-3/build.gradle.kts39
-rw-r--r--pdf-as-pdfbox-3/src/main/kotlin/at/gv/egiz/pdfas/lib/impl/pdfbox3/PDFBOXBackend.kt25
-rw-r--r--pdf-as-pdfbox-3/src/main/kotlin/at/gv/egiz/pdfas/lib/impl/pdfbox3/PDFBOXObject.kt75
-rw-r--r--pdf-as-pdfbox-3/src/main/kotlin/at/gv/egiz/pdfas/lib/impl/pdfbox3/Placeholder.kt321
-rw-r--r--pdf-as-pdfbox-3/src/main/kotlin/at/gv/egiz/pdfas/lib/impl/pdfbox3/Positioning.kt201
-rw-r--r--pdf-as-pdfbox-3/src/main/kotlin/at/gv/egiz/pdfas/lib/impl/pdfbox3/configuration/ProfileValidator.kt105
-rw-r--r--pdf-as-pdfbox-3/src/main/kotlin/at/gv/egiz/pdfas/lib/impl/signing/pdfbox3/PDFBOXSigner.kt620
-rw-r--r--pdf-as-pdfbox-3/src/main/kotlin/at/gv/egiz/pdfas/lib/impl/stamping/pdfbox3/PDFAsVisualSignature.kt560
-rw-r--r--pdf-as-pdfbox-3/src/main/kotlin/at/gv/egiz/pdfas/lib/impl/stamping/pdfbox3/PDFBOXStamper.kt332
-rw-r--r--pdf-as-pdfbox-3/src/main/kotlin/at/gv/egiz/pdfas/lib/impl/verify/pdfbox3/PDFBOXVerifier.kt66
-rw-r--r--pdf-as-pdfbox-3/src/main/resources/META-INF/services/at.gv.egiz.pdfas.lib.backend.PDFASBackend1
-rw-r--r--pdf-as-pdfbox-3/src/main/resources/META-INF/services/at.gv.egiz.pdfas.lib.configuration.ConfigurationValidator1
-rw-r--r--pdf-as-pdfbox-3/src/test/kotlin/at/gv/egiz/pdfas/lib/impl/pdfbox3/SignVerifyTest.kt102
-rw-r--r--pdf-as-pdfbox-3/src/test/kotlin/at/gv/egiz/pdfas/lib/impl/sign/pdfbox3/PDFBoxPlaceholderExtractorTest.java69
-rw-r--r--pdf-as-pdfbox-3/src/test/kotlin/at/gv/egiz/pdfas/lib/impl/sign/pdfbox3/SignatureFieldsAndPlaceHolderExtractorTest.java182
-rw-r--r--pdf-as-pdfbox-3/src/test/kotlin/at/gv/egiz/pdfas/lib/impl/sign/pdfbox3/TTFFontTest.java46
-rw-r--r--pdf-as-pdfbox-3/src/test/kotlin/at/gv/egiz/pdfas/lib/impl/verify/pdfbox3/PDFBox2To3Test.kt93
-rw-r--r--pdf-as-pdfbox-3/src/test/resources/1Sign_manyQR.pdfbin0 -> 188967 bytes
-rw-r--r--pdf-as-pdfbox-3/src/test/resources/data/Test-sign.pdfbin0 -> 62464 bytes
-rw-r--r--pdf-as-pdfbox-3/src/test/resources/data/Testdoc_Signatur.pdfbin0 -> 84684 bytes
-rw-r--r--pdf-as-pdfbox-3/src/test/resources/data/align.pdfbin0 -> 45522 bytes
-rw-r--r--pdf-as-pdfbox-3/src/test/resources/data/align_signed.pdfbin0 -> 95791 bytes
-rw-r--r--pdf-as-pdfbox-3/src/test/resources/data/own_Testdoc+Signatur-sign-sign-4_sign-sign.pdfbin0 -> 260014 bytes
-rw-r--r--pdf-as-pdfbox-3/src/test/resources/data/own_Testdoc+Signatur-sign-sign-4_sign.pdfbin0 -> 216197 bytes
-rw-r--r--pdf-as-pdfbox-3/src/test/resources/data/own_Testdoc+Signatur-sign-sign.pdfbin0 -> 172415 bytes
-rw-r--r--pdf-as-pdfbox-3/src/test/resources/data/own_Testdoc+Signatur-sign.pdfbin0 -> 128804 bytes
-rw-r--r--pdf-as-pdfbox-3/src/test/resources/data/platzhalter_en_de_test.pdfbin0 -> 46732 bytes
-rw-r--r--pdf-as-pdfbox-3/src/test/resources/manySignFields.pdfbin0 -> 181760 bytes
-rw-r--r--pdf-as-pdfbox-3/src/test/resources/manySignFields_signed4.pdfbin0 -> 233204 bytes
-rw-r--r--pdf-as-pdfbox-3/src/test/resources/new_qr_2-2.pdfbin0 -> 182043 bytes
-rw-r--r--pdf-as-pdfbox-3/src/test/resources/new_qr_2_signed.pdfbin0 -> 225097 bytes
-rw-r--r--pdf-as-pdfbox-3/src/test/resources/new_qr_2_signed_signed.pdfbin0 -> 267093 bytes
-rw-r--r--pdf-as-pdfbox-3/src/test/resources/new_qr_2_signed_signed_signed.pdfbin0 -> 310607 bytes
-rw-r--r--pdf-as-pdfbox-3/src/test/resources/test.p12bin0 -> 1243 bytes
-rw-r--r--pdf-as-tests/build.gradle57
-rw-r--r--pdf-as-tests/src/test/java/at/gv/egiz/param_tests/PDFASignatureTest.java14
-rw-r--r--pdf-as-tests/src/test/java/at/gv/egiz/param_tests/SignaturePositionTest.java9
-rw-r--r--pdf-as-tests/src/test/java/at/gv/egiz/param_tests/SignatureTest.java2
-rw-r--r--pdf-as-tests/src/test/java/at/gv/egiz/param_tests/provider/BaseSignatureDataProvider.java3
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_ABSOLUT_PAGE_LAST/example_ref.pngbin308465 -> 0 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_ABSOLUT_PAGE_NUM_HIGH/example_ref.pngbin135525 -> 0 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_AMTSSIGNATURBLOCK_DE/example_ref.pngbin229419 -> 0 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_AMTSSIGNATURBLOCK_DE_SMALL/example_ref.pngbin135352 -> 0 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_AMTSSIGNATURBLOCK_EN/example_ref.pngbin230350 -> 0 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_AMTSSIGNATURBLOCK_EN_SMALL/example_ref.pngbin135763 -> 0 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_AUTO_WITH_NEWPAGE/example_ref.pngbin135525 -> 0 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_LAST/example_ref.pngbin308465 -> 0 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_LAST_ALREADY_SIGNED/example_ref.pngbin342737 -> 0 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_LAST_ALREADY_SIGNED_FORCE_NEW/example_ref.pngbin135525 -> 0 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_LAST_WITH_POS/example_ref.pngbin315752 -> 0 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_DE/example_ref.pngbin123944 -> 0 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_DE_MINIMAL/example_ref.pngbin102137 -> 0 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_DE_NOTE/example_ref.pngbin177947 -> 0 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_DE_PDFA/example_ref.pngbin129599 -> 0 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_DE_PDFA_NOTE/example_ref.pngbin183608 -> 0 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_DE_SMALL/example_ref.pngbin77381 -> 0 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_DE_SMALL_NOTE/example_ref.pngbin115587 -> 0 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_EN/example_ref.pngbin122901 -> 0 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_EN_MINIMAL/example_ref.pngbin102142 -> 0 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_EN_NOTE/example_ref.pngbin173716 -> 0 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_EN_PDFA/example_ref.pngbin128881 -> 0 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_EN_PDFA_NOTE/example_ref.pngbin179392 -> 0 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_EN_SMALL/example_ref.pngbin77146 -> 0 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_EN_SMALL_NOTE/example_ref.pngbin112709 -> 0 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/PDFA_SIGNATURBLOCK_DE/TestGhostscriptPdfA.pdf (renamed from pdf-as-tests/src/test/test-suites/public_pdfbox2/PDFA_SIGNATURBLOCK_DE/TestGhostscriptPdfA.pdf)bin6635 -> 6635 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/PDFA_SIGNATURBLOCK_DE/config.properties (renamed from pdf-as-tests/src/test/test-suites/public_pdfbox2/PDFA_SIGNATURBLOCK_DE/config.properties)0
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/PDFA_SIGNATURBLOCK_DE_NOTE/TestGhostscriptPdfA.pdf (renamed from pdf-as-tests/src/test/test-suites/public_pdfbox2/PDFA_SIGNATURBLOCK_DE_NOTE/TestGhostscriptPdfA.pdf)bin6635 -> 6635 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/PDFA_SIGNATURBLOCK_DE_NOTE/config.properties (renamed from pdf-as-tests/src/test/test-suites/public_pdfbox2/PDFA_SIGNATURBLOCK_DE_NOTE/config.properties)0
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/PDFA_SIGNATURBLOCK_EN/TestGhostscriptPdfA.pdf (renamed from pdf-as-tests/src/test/test-suites/public_pdfbox2/PDFA_SIGNATURBLOCK_EN/TestGhostscriptPdfA.pdf)bin6635 -> 6635 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/PDFA_SIGNATURBLOCK_EN/config.properties (renamed from pdf-as-tests/src/test/test-suites/public_pdfbox2/PDFA_SIGNATURBLOCK_EN/config.properties)0
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/PDFA_SIGNATURBLOCK_EN_NOTE/TestGhostscriptPdfA.pdf (renamed from pdf-as-tests/src/test/test-suites/public_pdfbox2/PDFA_SIGNATURBLOCK_EN_NOTE/TestGhostscriptPdfA.pdf)bin6635 -> 6635 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/PDFA_SIGNATURBLOCK_EN_NOTE/config.properties (renamed from pdf-as-tests/src/test/test-suites/public_pdfbox2/PDFA_SIGNATURBLOCK_EN_NOTE/config.properties)0
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_ABSOLUT_PAGE_LAST/config.properties (renamed from pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_ABSOLUT_PAGE_LAST/config.properties)0
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_ABSOLUT_PAGE_LAST/example.pdf (renamed from pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_ABSOLUT_PAGE_LAST/example.pdf)bin41972 -> 41972 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_ABSOLUT_PAGE_LAST/example_ref.pngbin0 -> 251577 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_ABSOLUT_PAGE_NUM_HIGH/config.properties (renamed from pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_ABSOLUT_PAGE_NUM_HIGH/config.properties)0
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_ABSOLUT_PAGE_NUM_HIGH/example.pdf (renamed from pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_ABSOLUT_PAGE_NUM_HIGH/example.pdf)bin41972 -> 41972 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_ABSOLUT_PAGE_NUM_HIGH/example_ref.pngbin0 -> 103374 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_AMTSSIGNATURBLOCK_DE/config.properties (renamed from pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_AMTSSIGNATURBLOCK_DE/config.properties)0
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_AMTSSIGNATURBLOCK_DE/example.pdf (renamed from pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_AMTSSIGNATURBLOCK_DE/example.pdf)bin6257 -> 6257 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_AMTSSIGNATURBLOCK_DE/example_ref.pngbin0 -> 220168 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_AMTSSIGNATURBLOCK_DE_SMALL/config.properties (renamed from pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_AMTSSIGNATURBLOCK_DE_SMALL/config.properties)0
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_AMTSSIGNATURBLOCK_DE_SMALL/example.pdf (renamed from pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_AMTSSIGNATURBLOCK_DE_SMALL/example.pdf)bin6257 -> 6257 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_AMTSSIGNATURBLOCK_DE_SMALL/example_ref.pngbin0 -> 137569 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_AMTSSIGNATURBLOCK_EN/config.properties (renamed from pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_AMTSSIGNATURBLOCK_EN/config.properties)0
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_AMTSSIGNATURBLOCK_EN/example.pdf (renamed from pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_AMTSSIGNATURBLOCK_EN/example.pdf)bin6257 -> 6257 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_AMTSSIGNATURBLOCK_EN/example_ref.pngbin0 -> 220947 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_AMTSSIGNATURBLOCK_EN_SMALL/config.properties (renamed from pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_AMTSSIGNATURBLOCK_EN_SMALL/config.properties)0
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_AMTSSIGNATURBLOCK_EN_SMALL/example.pdf (renamed from pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_AMTSSIGNATURBLOCK_EN_SMALL/example.pdf)bin6257 -> 6257 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_AMTSSIGNATURBLOCK_EN_SMALL/example_ref.pngbin0 -> 137880 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_AUTO/config.properties (renamed from pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_AUTO/config.properties)0
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_AUTO/example.pdf (renamed from pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_AUTO/example.pdf)bin45256 -> 45256 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_AUTO/example_ref.png (renamed from pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_AUTO/example_ref.png)bin743080 -> 726232 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_AUTO_WITH_NEWPAGE/config.properties (renamed from pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_AUTO_WITH_NEWPAGE/config.properties)0
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_AUTO_WITH_NEWPAGE/example.pdf (renamed from pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_AUTO_WITH_NEWPAGE/example.pdf)bin41972 -> 41972 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_AUTO_WITH_NEWPAGE/example_ref.pngbin0 -> 103369 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_LAST/config.properties (renamed from pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_LAST/config.properties)0
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_LAST/example.pdf (renamed from pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_LAST/example.pdf)bin41972 -> 41972 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_LAST/example_ref.pngbin0 -> 251702 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_LAST_ALREADY_SIGNED/config.properties (renamed from pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_LAST_ALREADY_SIGNED/config.properties)0
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_LAST_ALREADY_SIGNED/example.pdf (renamed from pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_LAST_ALREADY_SIGNED/example.pdf)bin91766 -> 91766 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_LAST_ALREADY_SIGNED/example_ref.pngbin0 -> 315726 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_LAST_ALREADY_SIGNED_FORCE_NEW/config.properties (renamed from pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_LAST_ALREADY_SIGNED_FORCE_NEW/config.properties)0
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_LAST_ALREADY_SIGNED_FORCE_NEW/example.pdf (renamed from pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_LAST_ALREADY_SIGNED_FORCE_NEW/example.pdf)bin91766 -> 91766 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_LAST_ALREADY_SIGNED_FORCE_NEW/example_ref.pngbin0 -> 103329 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_LAST_WITH_POS/config.properties (renamed from pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_LAST_WITH_POS/config.properties)0
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_LAST_WITH_POS/example.pdf (renamed from pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_LAST_WITH_POS/example.pdf)bin41972 -> 41972 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_LAST_WITH_POS/example_ref.pngbin0 -> 258109 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_DE/config.properties (renamed from pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_DE/config.properties)0
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_DE/example.pdf (renamed from pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_DE/example.pdf)bin6257 -> 6257 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_DE/example_ref.pngbin0 -> 105072 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_DE_MINIMAL/config.properties (renamed from pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_DE_MINIMAL/config.properties)0
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_DE_MINIMAL/example.pdf (renamed from pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_DE_MINIMAL/example.pdf)bin6257 -> 6257 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_DE_MINIMAL/example_ref.pngbin0 -> 85254 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_DE_NOTE/config.properties (renamed from pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_DE_NOTE/config.properties)0
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_DE_NOTE/example.pdf (renamed from pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_DE_NOTE/example.pdf)bin6257 -> 6257 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_DE_NOTE/example_ref.pngbin0 -> 158664 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_DE_PDFA/config.properties (renamed from pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_DE_PDFA/config.properties)0
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_DE_PDFA/example.pdf (renamed from pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_DE_PDFA/example.pdf)bin6257 -> 6257 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_DE_PDFA/example_ref.pngbin0 -> 106031 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_DE_PDFA_NOTE/config.properties (renamed from pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_DE_PDFA_NOTE/config.properties)0
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_DE_PDFA_NOTE/example.pdf (renamed from pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_DE_PDFA_NOTE/example.pdf)bin6257 -> 6257 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_DE_PDFA_NOTE/example_ref.pngbin0 -> 159618 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_DE_SMALL/config.properties (renamed from pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_DE_SMALL/config.properties)0
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_DE_SMALL/example.pdf (renamed from pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_DE_SMALL/example.pdf)bin6257 -> 6257 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_DE_SMALL/example_ref.pngbin0 -> 78529 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_DE_SMALL_NOTE/config.properties (renamed from pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_DE_SMALL_NOTE/config.properties)0
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_DE_SMALL_NOTE/example.pdf (renamed from pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_DE_SMALL_NOTE/example.pdf)bin6257 -> 6257 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_DE_SMALL_NOTE/example_ref.pngbin0 -> 116419 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_EN/config.properties (renamed from pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_EN/config.properties)0
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_EN/example.pdf (renamed from pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_EN/example.pdf)bin6257 -> 6257 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_EN/example_ref.pngbin0 -> 104871 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_EN_MINIMAL/config.properties (renamed from pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_EN_MINIMAL/config.properties)0
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_EN_MINIMAL/example.pdf (renamed from pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_EN_MINIMAL/example.pdf)bin6257 -> 6257 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_EN_MINIMAL/example_ref.pngbin0 -> 85881 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_EN_NOTE/config.properties (renamed from pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_EN_NOTE/config.properties)0
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_EN_NOTE/example.pdf (renamed from pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_EN_NOTE/example.pdf)bin6257 -> 6257 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_EN_NOTE/example_ref.pngbin0 -> 155421 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_EN_PDFA/config.properties (renamed from pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_EN_PDFA/config.properties)0
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_EN_PDFA/example.pdf (renamed from pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_EN_PDFA/example.pdf)bin6257 -> 6257 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_EN_PDFA/example_ref.pngbin0 -> 105830 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_EN_PDFA_NOTE/config.properties (renamed from pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_EN_PDFA_NOTE/config.properties)0
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_EN_PDFA_NOTE/example.pdf (renamed from pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_EN_PDFA_NOTE/example.pdf)bin6257 -> 6257 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_EN_PDFA_NOTE/example_ref.pngbin0 -> 156319 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_EN_SMALL/config.properties (renamed from pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_EN_SMALL/config.properties)0
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_EN_SMALL/example.pdf (renamed from pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_EN_SMALL/example.pdf)bin6257 -> 6257 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_EN_SMALL/example_ref.pngbin0 -> 78305 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_EN_SMALL_NOTE/config.properties (renamed from pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_EN_SMALL_NOTE/config.properties)0
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_EN_SMALL_NOTE/example.pdf (renamed from pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_EN_SMALL_NOTE/example.pdf)bin6257 -> 6257 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_EN_SMALL_NOTE/example_ref.pngbin0 -> 113564 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/auto_pos_example.properties (renamed from pdf-as-tests/src/test/test-suites/public_pdfbox2/auto_pos_example.properties)0
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/config.properties (renamed from pdf-as-tests/src/test/test-suites/public_pdfbox2/config.properties)2
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/css/bootstrap-theme.css (renamed from pdf-as-tests/src/test/test-suites/public_pdfbox2/css/bootstrap-theme.css)0
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/css/bootstrap-theme.css.map (renamed from pdf-as-tests/src/test/test-suites/public_pdfbox2/css/bootstrap-theme.css.map)0
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/css/bootstrap-theme.min.css (renamed from pdf-as-tests/src/test/test-suites/public_pdfbox2/css/bootstrap-theme.min.css)0
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/css/bootstrap.css (renamed from pdf-as-tests/src/test/test-suites/public_pdfbox2/css/bootstrap.css)0
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/css/bootstrap.css.map (renamed from pdf-as-tests/src/test/test-suites/public_pdfbox2/css/bootstrap.css.map)0
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/css/bootstrap.min.css (renamed from pdf-as-tests/src/test/test-suites/public_pdfbox2/css/bootstrap.min.css)0
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/fonts/DejaVuSansCondensed-Bold.ttf (renamed from pdf-as-tests/src/test/test-suites/public_pdfbox2/fonts/DejaVuSansCondensed-Bold.ttf)bin522704 -> 522704 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/fonts/DejaVuSansCondensed.ttf (renamed from pdf-as-tests/src/test/test-suites/public_pdfbox2/fonts/DejaVuSansCondensed.ttf)bin533412 -> 533412 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/fonts/DejaVuSansMono.ttf (renamed from pdf-as-tests/src/test/test-suites/public_pdfbox2/fonts/DejaVuSansMono.ttf)bin317336 -> 317336 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/fonts/arial.ttf (renamed from pdf-as-tests/src/test/test-suites/public_pdfbox2/fonts/arial.ttf)bin296712 -> 296712 bytes
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/js/bootstrap.js (renamed from pdf-as-tests/src/test/test-suites/public_pdfbox2/js/bootstrap.js)0
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/js/bootstrap.min.js (renamed from pdf-as-tests/src/test/test-suites/public_pdfbox2/js/bootstrap.min.js)0
-rw-r--r--pdf-as-tests/src/test/test-suites/public_pdfbox3/test.p12 (renamed from pdf-as-tests/src/test/test-suites/public_pdfbox2/test.p12)bin3368 -> 3368 bytes
-rw-r--r--pdf-as-web-client/build.gradle5
-rw-r--r--pdf-as-web-client/src/main/java/at/gv/egiz/pdfas/web/client/RemotePDFSigner.java6
-rw-r--r--pdf-as-web-client/src/main/java/at/gv/egiz/pdfas/web/client/RemotePDFVerifier.java6
-rw-r--r--pdf-as-web-db/build.gradle13
-rw-r--r--pdf-as-web-db/src/main/java/at/gv/egiz/pdfas/web/store/DBRequestStore.java260
-rw-r--r--pdf-as-web-db/src/main/java/at/gv/egiz/pdfas/web/store/db/Request.java10
-rw-r--r--pdf-as-web-db/src/main/java/at/gv/egiz/pdfas/web/store/db/Response.java10
-rw-r--r--pdf-as-web-db/src/main/java/at/gv/egiz/pdfas/web/store/db/StatisticRequest.java10
-rw-r--r--pdf-as-web-statistic-api/build.gradle14
-rw-r--r--pdf-as-web-status/build.gradle14
-rw-r--r--pdf-as-web-status/src/main/java/at/gv/egiz/status/content/ContentGenerator.java4
-rw-r--r--pdf-as-web-status/src/main/java/at/gv/egiz/status/content/HtmlGenerator.java80
-rw-r--r--pdf-as-web-status/src/main/java/at/gv/egiz/status/content/JsonGenerator.java40
-rw-r--r--pdf-as-web-status/src/main/java/at/gv/egiz/status/content/ResponseBuilder.java4
-rw-r--r--pdf-as-web-status/src/main/java/at/gv/egiz/status/content/XMLGenerator.java84
-rw-r--r--pdf-as-web-status/src/main/java/at/gv/egiz/status/servlet/StatusServlet.java12
-rw-r--r--pdf-as-web/build.gradle325
-rw-r--r--pdf-as-web/gradle.properties2
-rw-r--r--pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/PdfAsWeb.java11
-rw-r--r--pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/config/WebConfiguration.java13
-rw-r--r--pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/filter/ExceptionCatchFilter.java18
-rw-r--r--pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/filter/UserAgentFilter.java14
-rw-r--r--pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/PdfAsHelper.java152
-rw-r--r--pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/PdfAsParameterExtractor.java2
-rw-r--r--pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/RemotePDFFetcher.java2
-rw-r--r--pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/VerifyResultEncoder.java4
-rw-r--r--pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/VerifyResultHTMLEncoder.java4
-rw-r--r--pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/VerifyResultJSONEncoder.java4
-rw-r--r--pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/json_api/ExceptionFormatter.java17
-rw-r--r--pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/json_api/JacksonConfig.java19
-rw-r--r--pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/json_api/SignController.java37
-rw-r--r--pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/json_api/SoapLogicBridgeBean.java15
-rw-r--r--pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/json_api/VerifyController.java22
-rw-r--r--pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/DataURLServlet.java12
-rw-r--r--pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/ErrorPage.java15
-rw-r--r--pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/ExternSignServlet.java100
-rw-r--r--pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/JSONAPIServlet.java8
-rw-r--r--pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/PDFData.java8
-rw-r--r--pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/PDFSignatureCertificateData.java8
-rw-r--r--pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/PDFSignatureData.java10
-rw-r--r--pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/PDFURLData.java10
-rw-r--r--pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/PlaceholderGeneratorServlet.java8
-rw-r--r--pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/ProvidePDFServlet.java12
-rw-r--r--pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/ReloadServlet.java8
-rw-r--r--pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/SLDataURLServlet.java13
-rw-r--r--pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/SoapServiceServlet.java4
-rw-r--r--pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/UIEntryPointServlet.java8
-rw-r--r--pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/VerifyServlet.java112
-rw-r--r--pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/VisBlockServlet.java8
-rw-r--r--pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/sl20/JsonSecurityUtils.java18
-rw-r--r--pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/sl20/SL20HttpBindingUtils.java4
-rw-r--r--pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/stats/StatisticFrontend.java39
-rw-r--r--pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/stats/impl/StatisticMicrometerBackend.java77
-rw-r--r--pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/store/RequestStore.java6
-rw-r--r--pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/web_xml_bridges/ContextXmlBridge.java20
-rw-r--r--pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/web_xml_bridges/FilterBridge.java50
-rw-r--r--pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/web_xml_bridges/ServletBridge.java131
-rw-r--r--pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/web_xml_bridges/WelcomeFileBridge.java12
-rw-r--r--pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/ws/PDFASSigningImpl.java16
-rw-r--r--pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/ws/PDFASVerificationImpl.java6
-rw-r--r--pdf-as-web/src/main/resources/META-INF/context.xml3
-rw-r--r--pdf-as-web/src/main/resources/META-INF/services/at.gv.egiz.pdfas.web.stats.StatisticBackend3
-rw-r--r--pdf-as-web/src/main/resources/application.yml4
-rw-r--r--pdf-as-web/src/main/webapp/WEB-INF/web.xml263
-rw-r--r--pdf-as-web/src/test/java/at/gv/egiz/pdfas/web/test/JsonApiTest.java130
-rw-r--r--pdf-as-web/src/test/java/at/gv/egiz/pdfas/web/test/MockMoaSigningTest.java267
-rw-r--r--pdf-as-web/src/test/java/at/gv/egiz/pdfas/web/test/SimpleSignServletTest.java10
-rw-r--r--pdf-as-web/src/test/java/at/gv/egiz/pdfas/web/test/SimpleVerifyServletTest.java10
-rw-r--r--pdf-as-web/src/test/java/at/gv/egiz/pdfas/web/test/TestUtils.java30
-rw-r--r--settings.gradle3
-rw-r--r--signature-standards/sigs-pades/build.gradle21
-rw-r--r--signature-standards/sigs-pades/src/main/java/at/gv/egiz/pdfas/sigs/pades/PAdESSignerKeystore.java34
-rw-r--r--signature-standards/sigs-pades/src/main/java/at/gv/egiz/pdfas/sigs/pades/PAdESVerifier.java21
-rw-r--r--signature-standards/sigs-pkcs7detached/build.gradle21
-rw-r--r--signature-standards/sigs-pkcs7detached/src/main/java/at/gv/egiz/pdfas/sigs/pkcs7detached/PKCS7DetachedSigner.java5
-rw-r--r--signature-standards/sigs-pkcs7detached/src/main/java/at/gv/egiz/pdfas/sigs/pkcs7detached/PKCS7DetachedVerifier.java23
663 files changed, 10207 insertions, 14152 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
new file mode 100644
index 00000000..147cad55
--- /dev/null
+++ b/.github/workflows/build.yml
@@ -0,0 +1,204 @@
+name: Build
+
+on:
+ push:
+ branches:
+ - '**'
+ tags:
+ - 'v*'
+ pull_request:
+ branches:
+ - '**'
+ workflow_dispatch:
+
+permissions:
+ contents: read
+ checks: write
+ pull-requests: write
+
+env:
+ LC_ALL: "en_US.UTF-8"
+ LANG: "en_US.UTF-8"
+ LANGUAGE: "en_US"
+ LIB_NAME: "PDF-AS 4"
+ PROJECT_PATH: '.'
+ PROJECT_NAME: 'pdf-as-4'
+
+jobs:
+ security-checks:
+ name: Security Scans (Dependency/SAST/Secrets)
+ runs-on: [self-hosted, linux]
+ env:
+ REPO_PATH: repo-${{ github.run_id }}-${{ github.job }}
+
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+ with:
+ path: ${{ env.REPO_PATH }}
+ fetch-depth: 2
+
+ - name: Install jq (local)
+ run: |
+ command -v jq >/dev/null || {
+ mkdir -p "$HOME/.local/bin"
+ curl -fsSL -o "$HOME/.local/bin/jq" https://github.com/jqlang/jq/releases/download/jq-1.7.1/jq-linux-amd64
+ chmod +x "$HOME/.local/bin/jq"
+ echo "$HOME/.local/bin" >> "$GITHUB_PATH"
+ export PATH="$HOME/.local/bin:$PATH"
+ }
+ jq --version
+
+ - name: Dependency Scanning (OWASP Dependency-Check)
+ uses: dependency-check/Dependency-Check_Action@main
+ with:
+ project: ${{ env.PROJECT_NAME }}
+ path: ${{ env.REPO_PATH }}
+ format: ALL
+ args: --noupdate
+
+ - name: SAST (Semgrep)
+ uses: returntocorp/semgrep-action@v1
+ continue-on-error: true
+ with:
+ config: >-
+ p/security-audit
+ p/java
+
+ - name: Secret Detection (TruffleHog)
+ uses: trufflesecurity/trufflehog@v3.94.3
+ with:
+ path: ${{ env.REPO_PATH }}
+
+ build-and-analyse:
+ name: Build & Quality Checks
+ runs-on: [self-hosted, linux]
+ if: ${{ !startsWith(github.ref, 'refs/tags/') }}
+ needs: [security-checks]
+ env:
+ REPO_PATH: repo-${{ github.run_id }}-${{ github.job }}
+
+ defaults:
+ run:
+ working-directory: ${{ env.REPO_PATH }}
+
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+ with:
+ path: ${{ env.REPO_PATH }}
+ clean: false
+ fetch-depth: 2
+ submodules: recursive
+
+ - name: Set up JDK 17
+ uses: actions/setup-java@v4
+ with:
+ distribution: temurin
+ java-version: 17
+ cache: gradle
+
+ - name: Compile & Test
+ run: ./gradlew --warning-mode all clean build
+
+ - name: Upload Analysis Reports
+ uses: actions/upload-artifact@v4
+ if: failure()
+ with:
+ name: analysis-reports
+ path: |
+ ${{ env.REPO_PATH }}/**/build/reports/pmd/*.xml
+ ${{ env.REPO_PATH }}/**/build/reports/spotbugs/*.xml
+ ${{ env.REPO_PATH }}/**/build/reports/checkstyle/*.xml
+ ${{ env.REPO_PATH }}/**/build/reports/jacoco/**/jacocoTestReport.xml
+ ${{ env.REPO_PATH }}/**/build/test-results/test/TEST-*.xml
+ if-no-files-found: warn
+ retention-days: 1
+
+ - name: Extract Pull Request Number
+ uses: jwalton/gh-find-current-pr@v1
+ if: always()
+ id: pr
+
+ - name: Detect Test Reports
+ id: tests
+ if: always()
+ run: |
+ shopt -s globstar nullglob
+ reports=(**/build/test-results/test/TEST-*.xml)
+ if [ ${#reports[@]} -gt 0 ]; then
+ echo "has_tests=true" >> "$GITHUB_OUTPUT"
+ else
+ echo "has_tests=false" >> "$GITHUB_OUTPUT"
+ fi
+
+ - name: Prepare Quality Monitor config
+ id: qm
+ if: always()
+ shell: bash
+ run: |
+ if [ "${{ steps.tests.outputs.has_tests }}" = "true" ]; then
+ echo "name=Run Quality Monitor (with coverage)" >> "$GITHUB_OUTPUT"
+ echo 'config={"tests":{"tools":[{"id":"junit","name":"Unittests","pattern":"**/build/test-results/test/TEST-*.xml"}]},"analysis":[{"name":"Style","id":"style","tools":[{"id":"checkstyle","pattern":"**/build/reports/checkstyle/*.xml"}]},{"name":"Code Analyzer","id":"pmd","tools":[{"id":"pmd","pattern":"**/build/reports/pmd/*.xml"}]},{"name":"Bugs","id":"bugs","tools":[{"id":"spotbugs","pattern":"**/build/reports/spotbugs/*.xml"}]}],"coverage":[{"name":"JaCoCo","tools":[{"id":"jacoco","metric":"line","pattern":"**/build/reports/jacoco/**/jacocoTestReport.xml"},{"id":"jacoco","metric":"branch","pattern":"**/build/reports/jacoco/**/jacocoTestReport.xml"}]}]}' >> "$GITHUB_OUTPUT"
+ echo 'gates={"qualityGates":[{"metric":"line","threshold":75.0,"criticality":"UNSTABLE"},{"metric":"branch","threshold":75.0,"criticality":"UNSTABLE"},{"metric":"checkstyle","threshold":70.0,"criticality":"UNSTABLE"},{"metric":"pmd","threshold":70.0,"criticality":"UNSTABLE"},{"metric":"spotbugs","threshold":10.0,"criticality":"UNSTABLE"}]}' >> "$GITHUB_OUTPUT"
+ else
+ echo "name=Run Quality Monitor (without coverage)" >> "$GITHUB_OUTPUT"
+ echo 'config={"tests":{"tools":[{"id":"junit","name":"Unittests","pattern":"**/build/test-results/test/TEST-*.xml"}]},"analysis":[{"name":"Style","id":"style","tools":[{"id":"checkstyle","pattern":"**/build/reports/checkstyle/*.xml"}]},{"name":"Code Analyzer","id":"pmd","tools":[{"id":"pmd","pattern":"**/build/reports/pmd/*.xml"}]},{"name":"Bugs","id":"bugs","tools":[{"id":"spotbugs","pattern":"**/build/reports/spotbugs/*.xml"}]}]}' >> "$GITHUB_OUTPUT"
+ echo 'gates={"qualityGates":[{"metric":"checkstyle","threshold":70.0,"criticality":"UNSTABLE"},{"metric":"pmd","threshold":70.0,"criticality":"UNSTABLE"},{"metric":"spotbugs","threshold":10.0,"criticality":"UNSTABLE"}]}' >> "$GITHUB_OUTPUT"
+ fi
+
+ - name: ${{ steps.qm.outputs.name }}
+ if: always()
+ uses: uhafner/quality-monitor@v4.2.0
+ continue-on-error: true
+ with:
+ pr-number: ${{ steps.pr.outputs.number }}
+ checks-name: Quality Monitor
+ config: ${{ steps.qm.outputs.config }}
+ quality-gates: ${{ steps.qm.outputs.gates }}
+
+ publishToEGIZMaven:
+ name: Assemble Release Package & Publish
+ runs-on: [self-hosted, linux]
+ needs: build-and-analyse
+ if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
+ environment: release
+ env:
+ REPO_PATH: repo-${{ github.run_id }}-${{ github.job }}
+
+ defaults:
+ run:
+ working-directory: ${{ env.REPO_PATH }}
+
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+ with:
+ path: ${{ env.REPO_PATH }}
+
+ - name: Set up JDK 17
+ uses: actions/setup-java@v4
+ with:
+ distribution: temurin
+ java-version: 17
+
+ - name: Set SHORT_SHA
+ run: echo "SHORT_SHA=${GITHUB_SHA:0:8}" >> "$GITHUB_ENV"
+
+ - name: Setup SSH known_hosts
+ env:
+ DEPLOY_EGIZ: ${{ secrets.DEPLOY_EGIZ }}
+ run: |
+ mkdir -p ~/.ssh
+ echo $DEPLOY_EGIZ | base64 --decode > ~/.ssh/known_hosts
+ chmod 644 ~/.ssh/known_hosts
+
+ - name: Assemble & Upload Archives
+ run: ./gradlew --stacktrace -x test assemble uploadArchives
+
+ - name: Upload variables.env
+ uses: actions/upload-artifact@v4
+ if: always()
+ with:
+ name: ${{ github.event.repository.name }}-${{ env.SHORT_SHA }}
+ path: ${{ env.REPO_PATH }}/variables.env \ No newline at end of file
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
new file mode 100644
index 00000000..3e946a44
--- /dev/null
+++ b/.github/workflows/release.yml
@@ -0,0 +1,48 @@
+name: Release
+
+on:
+ workflow_dispatch:
+
+env:
+ LC_ALL: "en_US.UTF-8"
+ LANG: "en_US.UTF-8"
+ LANGUAGE: "en_US"
+ LIB_NAME: "PDF-AS 4"
+ PROJECT_PATH: '.'
+ PROJECT_NAME: 'pdf-as-4'
+
+jobs:
+ release:
+ name: Release
+ environment: release
+ runs-on: [self-hosted, linux]
+ if: ${{ github.ref == 'refs/heads/master' && github.event_name == 'workflow_dispatch' }}
+
+ steps:
+
+ - uses: actions/checkout@v4
+ - uses: actions/setup-java@v4
+ with:
+ distribution: temurin
+ java-version: 17
+ cache: gradle
+
+ - name: Set VERSION and SHORT_SHA
+ run: |
+ echo "SHORT_SHA=${GITHUB_SHA:0:8}" >> "$GITHUB_ENV"
+ VERSION=$(./gradlew -q properties --console=plain | grep "^version:" | awk '{print $2}')
+ echo "VERSION=${VERSION}" >> "$GITHUB_ENV"
+
+ - name: Build Release Package
+ run: |
+ echo "Releasing version ${{ env.VERSION }} of ${{ env.LIB_NAME }}"
+ echo "Publishing version ${{ env.VERSION }} to public EGIZ maven"
+ ./gradlew release
+
+ - name: Upload Release Artifacts
+ uses: actions/upload-artifact@v4
+ with:
+ name: ${{ env.PROJECT_NAME }}-${{ env.SHORT_SHA }}-release
+ path: |
+ release/${VERSION}/pdf-as-lib-${VERSION}.zip
+ release/${VERSION}/pdf-as-web-${VERSION}.war \ No newline at end of file
diff --git a/.gitignore b/.gitignore
index 9497274f..170e38c6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -16,6 +16,7 @@ pdf-as-tests/src/test/test-suites/*
pdf-as-tests/src/test/test-suites/*/
!pdf-as-tests/src/test/test-suites/public_pdfbox1/
!pdf-as-tests/src/test/test-suites/public_pdfbox2/
+!pdf-as-tests/src/test/test-suites/public_pdfbox3/
pdf-as-tests/src/test/test-suites/**/index.html
pdf-as-tests/src/test/test-suites/**/test_result.html
pdf-as-tests/src/test/test-suites/**/out
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index dafafa86..6b431215 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,4 +1,4 @@
-image: gradle:6.8.3-jdk11
+image: gradle:9.0.0-jdk17
variables:
LC_ALL: "en_US.UTF-8"
@@ -17,12 +17,12 @@ include:
dependency_scanning:
variables:
MAVEN_CLI_OPTS: "-DskipTests --settings ${CI_PROJECT_DIR}/.cisettings.xml"
- DS_JAVA_VERSION: 11
+ DS_JAVA_VERSION: 17
spotbugs-sast:
variables:
MAVEN_CLI_OPTS: "-DskipTests --settings ${CI_PROJECT_DIR}/.cisettings.xml"
- SAST_JAVA_VERSION: 11
+ SAST_JAVA_VERSION: 17
default:
tags:
diff --git a/build.gradle b/build.gradle
index 765f6407..54621112 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,34 +1,132 @@
-buildscript {
- repositories {
- gradlePluginPortal()
- mavenCentral()
- }
-
- dependencies {
- classpath "com.github.ben-manes:gradle-versions-plugin:0.28.0"
- classpath "org.owasp:dependency-check-gradle:6.5.0.1"
- }
+plugins {
+ id "com.github.ben-manes.versions" version "0.51.0" apply false
+ id "com.github.spotbugs" version "6.0.0"
}
allprojects {
apply plugin: "com.github.ben-manes.versions"
+
+ tasks.withType(JavaCompile).configureEach {
+ options.compilerArgs += ['-Xlint:deprecation']
+ }
+
+ dependencyUpdates {
+ gradleReleaseChannel = "current"
+ outputFormatter = "json"
+ }
+
repositories {
mavenCentral()
maven {
- url "https://repo.spring.io/milestone/"
+ url = "https://repo.spring.io/milestone/"
}
}
- version = '4.4.4-SNAPSHOT'
+ version = '5.0.0-SNAPSHOT'
+
+ project.ext{
+ releaseRepoUrl = "file://${project(':').projectDir}/../mvn-repo/releases"
+ snapshotRepoUrl = "file://${project(':').projectDir}/../mvn-repo/snapshots"
+ version = version
+ pdfasversion = version
+ revision = getCheckedOutGitCommitHash()
+ //tomcatVersion = '7.0.54';
+ //tomcatVersion = '8.0.36';
+ //tomcatVersion = '9.0.115';
+ tomcatVersion = '10.1.54';
+ slf4jVersion = '2.0.16'
+ cxfVersion = '4.2.0'
+ bouncyCastleVersion = '1.82'
+ commonsCollectionsVersion = '4.5.0'
+ commonsLang3Version = '3.20.0'
+ commonsIoVersion = '2.21.0'
+ commonsCodecVersion = '1.21.0'
+ commonsTextVersion = '1.14.0'
+ commonsCliVersion = '1.11.0'
+ jettyVersion = '11.0.24'
+ logbackVersion = '1.5.25'
+ gsonVersion = '2.13.2'
+ zxingVersion = '3.5.0'
+ ognlVersion = '3.3.5'
+ jsonVersion = '20250517'
+ micrometerVersion = '1.15.4'
+ springBootVersion = '3.5.13'
+ junitVersion = '4.13.2'
+ jakartaActivationVersion = '2.1.4'
+ jakartaJwsVersion = '3.0.0'
+ jakartaXmlWsVersion = '4.0.3'
+ jakartaServletVersion = '6.1.0'
+ jaxbApiVersion = '4.0.4'
+ jaxbRuntimeVersion = '4.0.7'
+ pdfboxVersion = '3.0.6'
+ ztZipVersion = '1.17'
+ lombokVersion = '1.18.38'
+ }
}
subprojects {
apply plugin: 'java-library'
apply plugin: 'eclipse'
apply plugin: 'maven-publish'
- apply plugin: 'maven'
- apply plugin: 'org.owasp.dependencycheck'
+ apply plugin: 'checkstyle'
+ apply plugin: 'pmd'
+ apply plugin: 'jacoco'
+ apply plugin: 'com.github.spotbugs'
group = 'at.gv.egiz.pdfas'
+ pmd {
+ ignoreFailures = System.getenv("CI") == "true"
+ }
+
+ def checkstyleConfig = rootProject.file("config/checkstyle/egiz_checks.xml")
+ def isCi = (System.getenv("CI") ?: "false").toBoolean()
+
+ checkstyle {
+ toolVersion = "8.26"
+ configFile = checkstyleConfig
+ ignoreFailures = isCi
+ }
+
+ tasks.withType(Checkstyle).configureEach { task ->
+ task.ignoreFailures = isCi
+ task.onlyIf { checkstyleConfig.exists() }
+ task.reports {
+ xml.required = true
+ html.required = false
+ }
+ }
+
+ spotbugs {
+ ignoreFailures = System.getenv("CI") == "true"
+ effort = "max"
+ reportLevel = "medium"
+ }
+
+ tasks.withType(com.github.spotbugs.snom.SpotBugsTask).configureEach { task ->
+ task.ignoreFailures = (System.getenv("CI") == "true")
+ task.reports {
+ xml.required = true
+ html.required = false
+ }
+ }
+
+ jacoco {
+ toolVersion = "0.8.12"
+ }
+
+ tasks.withType(Test).configureEach {
+ finalizedBy jacocoTestReport
+ }
+
+ jacocoTestReport {
+ dependsOn test
+ reports {
+ xml.required = true
+ html.required = true
+ csv.required = false
+ }
+ }
+
+
configurations {
deployerJars
}
@@ -38,25 +136,25 @@ subprojects {
mavenLocal()
maven {
- url "https://repo.spring.io/milestone/"
+ url = "https://repo.spring.io/milestone/"
mavenContent {
releasesOnly()
}
}
maven {
- url "https://apps.egiz.gv.at/maven/"
+ url = "https://apps.egiz.gv.at/maven/"
mavenContent {
releasesOnly()
}
}
maven {
- url "https://apps.egiz.gv.at/maven-internal/"
+ url = "https://apps.egiz.gv.at/maven-internal/"
mavenContent {
releasesOnly()
}
}
maven {
- url "https://apps.egiz.gv.at/maven-snapshot/"
+ url = "https://apps.egiz.gv.at/maven-snapshot/"
mavenContent {
snapshotsOnly()
}
@@ -64,14 +162,14 @@ subprojects {
}
dependencies {
- implementation "org.projectlombok:lombok:1.18.28"
- annotationProcessor "org.projectlombok:lombok:1.18.28"
- testAnnotationProcessor "org.projectlombok:lombok:1.18.28"
- testImplementation 'junit:junit:4.13.2'
+ implementation group: 'org.projectlombok', name: 'lombok', version: lombokVersion
+ annotationProcessor group: 'org.projectlombok', name: 'lombok', version: lombokVersion
+ testAnnotationProcessor group: 'org.projectlombok', name: 'lombok', version: lombokVersion
+ testImplementation group: 'junit', name: 'junit', version: junitVersion
}
task sourcesJar(type: Jar, dependsOn: classes) {
- classifier = 'sources'
+ archiveClassifier.set('sources')
from sourceSets.main.allSource
}
@@ -79,29 +177,22 @@ subprojects {
archives sourcesJar
}
- sourceCompatibility = 1.8
+ java {
+ sourceCompatibility = JavaVersion.VERSION_17
+ targetCompatibility = JavaVersion.VERSION_17
+ }
compileJava.options.encoding = "UTF-8"
compileTestJava.options.encoding = "UTF-8"
- project.ext{
- releaseRepoUrl = "file://${project(':').projectDir}/../mvn-repo/releases"
- snapshotRepoUrl = "file://${project(':').projectDir}/../mvn-repo/snapshots"
- version = version
- pdfasversion = version
- revision = getCheckedOutGitCommitHash()
- tomcatVersion = '9.0.115';
- slf4jVersion = '1.7.36'
- cxfVersion = '3.5.11'
- }
jar { manifest.attributes provider: 'EGIZ', 'Specification-Version': getCheckedOutGitCommitHash(), 'Implementation-Version': project.version }
task copyDeps(type: Copy) {
- from configurations.runtime
+ from configurations.runtimeClasspath
into (new File(rootDir, 'build/alldependencies')).toString()
}
task copyDepsLocal(type: Copy) {
- from configurations.runtime
+ from configurations.runtimeClasspath
into 'build/alldependencies'
}
@@ -120,24 +211,8 @@ subprojects {
}
}
- dependencies {
- deployerJars "org.apache.maven.wagon:wagon-ssh:3.4.3"
-
- }
-
- uploadArchives {
- repositories.mavenDeployer {
- configuration = configurations.deployerJars
- repository(url: "sftp://apps.egiz.gv.at/maven") {
- authentication(userName: System.getenv("EGIZ_MAVEN_USER"), password: System.getenv("EGIZ_MAVEN_PASSWORD"))
-
- }
- snapshotRepository(url: "sftp://apps.egiz.gv.at/maven-snapshot") {
- authentication(userName: System.getenv("EGIZ_MAVEN_USER"), password: System.getenv("EGIZ_MAVEN_PASSWORD"))
-
- }
- }
- }
+ // Legacy uploadArchives replaced with modern Maven publishing
+ // Configure remote repositories in publishing block above
task(internalRelease) {
@@ -162,17 +237,18 @@ subprojects {
}
task(doFullRelease) {
+ def projectVer = version
doLast {
- println "done building all distribution stuff for " + project.version
+ println "done building all distribution stuff for " + projectVer
}
}
task copyLicenses {
doLast {
mkdir("releases/"+ version +"/licenses");
- def target = project.projectDir.toString() + "/releases/" + version + "/licenses"
- subprojects{
- def src=project.projectDir.toString() + "/licenses"
+ def target = rootProject.projectDir.toString() + "/releases/" + version + "/licenses"
+ subprojects{ subproject ->
+ def src = subproject.projectDir.toString() + "/licenses"
copy{
from src
into target
@@ -193,8 +269,13 @@ task releases(type: Copy) {
def getCheckedOutGitCommitHash() {
def takeFromHash = 40
- 'git rev-parse --verify HEAD'.execute().text.trim().take takeFromHash
-
+ try {
+ return providers.exec {
+ commandLine('git', 'rev-parse', '--verify', 'HEAD')
+ }.standardOutput.asText.get().trim().take(takeFromHash)
+ } catch (Exception e) {
+ return "unknown"
+ }
}
/*
task docs(type: Javadoc) {
diff --git a/dependency-check-suppressions.xml b/dependency-check-suppressions.xml
new file mode 100644
index 00000000..0cb6b363
--- /dev/null
+++ b/dependency-check-suppressions.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<suppressions xmlns="https://jeremylong.github.io/DependencyCheck/dependency-suppression.1.3.xsd">
+ <!--
+ This file contains suppressions for false positives in dependency vulnerability scanning.
+ Add suppressions here for known false positives or accepted risks.
+
+ Example suppression:
+ <suppress>
+ <notes><![CDATA[
+ This vulnerability does not apply to our usage of the library.
+ ]]></notes>
+ <packageUrl regex="true">^pkg:maven/org\.example/.*@.*$</packageUrl>
+ <cve>CVE-2021-12345</cve>
+ </suppress>
+ -->
+
+ <!-- Common false positives for PDF processing libraries -->
+ <suppress>
+ <notes><![CDATA[
+ Suppress vulnerabilities in test dependencies that don't affect production
+ ]]></notes>
+ <packageUrl regex="true">^pkg:maven/junit/junit@.*$</packageUrl>
+ <vulnerabilityName regex="true">.*</vulnerabilityName>
+ </suppress>
+</suppressions> \ No newline at end of file
diff --git a/gradle.properties b/gradle.properties
new file mode 100644
index 00000000..672acb7c
--- /dev/null
+++ b/gradle.properties
@@ -0,0 +1,14 @@
+# Gradle properties for PDF-AS project
+# Enable Gradle build cache for better performance
+org.gradle.caching=true
+
+# Enable parallel builds
+org.gradle.parallel=true
+
+# Configure JVM arguments for Gradle daemon
+org.gradle.jvmargs=-Xmx2g -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError
+
+# Enable configuration cache (Gradle 6.6+)
+org.gradle.configuration-cache=true
+
+org.gradle.warning.mode=all \ No newline at end of file
diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar
index 94336fca..8bdaf60c 100644
--- a/gradle/wrapper/gradle-wrapper.jar
+++ b/gradle/wrapper/gradle-wrapper.jar
Binary files differ
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index 442d9132..2a84e188 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-6.8.3-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-9.0.0-bin.zip
+networkTimeout=10000
+validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
diff --git a/gradlew b/gradlew
index cccdd3d5..ef07e016 100755
--- a/gradlew
+++ b/gradlew
@@ -1,78 +1,129 @@
-#!/usr/bin/env sh
+#!/bin/sh
+
+#
+# Copyright © 2015 the original authors.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+#
##############################################################################
-##
-## Gradle start up script for UN*X
-##
+#
+# Gradle start up script for POSIX generated by Gradle.
+#
+# Important for running:
+#
+# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is
+# noncompliant, but you have some other compliant shell such as ksh or
+# bash, then to run this script, type that shell name before the whole
+# command line, like:
+#
+# ksh Gradle
+#
+# Busybox and similar reduced shells will NOT work, because this script
+# requires all of these POSIX shell features:
+# * functions;
+# * expansions «$var», «${var}», «${var:-default}», «${var+SET}»,
+# «${var#prefix}», «${var%suffix}», and «$( cmd )»;
+# * compound commands having a testable exit status, especially «case»;
+# * various built-in commands including «command», «set», and «ulimit».
+#
+# Important for patching:
+#
+# (2) This script targets any POSIX shell, so it avoids extensions provided
+# by Bash, Ksh, etc; in particular arrays are avoided.
+#
+# The "traditional" practice of packing multiple parameters into a
+# space-separated string is a well documented source of bugs and security
+# problems, so this is (mostly) avoided, by progressively accumulating
+# options in "$@", and eventually passing that to Java.
+#
+# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS,
+# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly;
+# see the in-line comments for details.
+#
+# There are tweaks for specific operating systems such as AIX, CygWin,
+# Darwin, MinGW, and NonStop.
+#
+# (3) This script is generated from the Groovy template
+# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
+# within the Gradle project.
+#
+# You can find Gradle at https://github.com/gradle/gradle/.
+#
##############################################################################
# Attempt to set APP_HOME
+
# Resolve links: $0 may be a link
-PRG="$0"
-# Need this for relative symlinks.
-while [ -h "$PRG" ] ; do
- ls=`ls -ld "$PRG"`
- link=`expr "$ls" : '.*-> \(.*\)$'`
- if expr "$link" : '/.*' > /dev/null; then
- PRG="$link"
- else
- PRG=`dirname "$PRG"`"/$link"
- fi
+app_path=$0
+
+# Need this for daisy-chained symlinks.
+while
+ APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path
+ [ -h "$app_path" ]
+do
+ ls=$( ls -ld "$app_path" )
+ link=${ls#*' -> '}
+ case $link in #(
+ /*) app_path=$link ;; #(
+ *) app_path=$APP_HOME$link ;;
+ esac
done
-SAVED="`pwd`"
-cd "`dirname \"$PRG\"`/" >/dev/null
-APP_HOME="`pwd -P`"
-cd "$SAVED" >/dev/null
-
-APP_NAME="Gradle"
-APP_BASE_NAME=`basename "$0"`
-# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
-DEFAULT_JVM_OPTS=""
+# This is normally unused
+# shellcheck disable=SC2034
+APP_BASE_NAME=${0##*/}
+# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
+APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit
# Use the maximum available, or set MAX_FD != -1 to use that value.
-MAX_FD="maximum"
+MAX_FD=maximum
warn () {
echo "$*"
-}
+} >&2
die () {
echo
echo "$*"
echo
exit 1
-}
+} >&2
# OS specific support (must be 'true' or 'false').
cygwin=false
msys=false
darwin=false
nonstop=false
-case "`uname`" in
- CYGWIN* )
- cygwin=true
- ;;
- Darwin* )
- darwin=true
- ;;
- MINGW* )
- msys=true
- ;;
- NONSTOP* )
- nonstop=true
- ;;
+case "$( uname )" in #(
+ CYGWIN* ) cygwin=true ;; #(
+ Darwin* ) darwin=true ;; #(
+ MSYS* | MINGW* ) msys=true ;; #(
+ NONSTOP* ) nonstop=true ;;
esac
-CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
+CLASSPATH="\\\"\\\""
+
# Determine the Java command to use to start the JVM.
if [ -n "$JAVA_HOME" ] ; then
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
# IBM's JDK on AIX uses strange locations for the executables
- JAVACMD="$JAVA_HOME/jre/sh/java"
+ JAVACMD=$JAVA_HOME/jre/sh/java
else
- JAVACMD="$JAVA_HOME/bin/java"
+ JAVACMD=$JAVA_HOME/bin/java
fi
if [ ! -x "$JAVACMD" ] ; then
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
@@ -81,92 +132,120 @@ Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
else
- JAVACMD="java"
- which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+ JAVACMD=java
+ if ! command -v java >/dev/null 2>&1
+ then
+ die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
+ fi
fi
# Increase the maximum file descriptors if we can.
-if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
- MAX_FD_LIMIT=`ulimit -H -n`
- if [ $? -eq 0 ] ; then
- if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
- MAX_FD="$MAX_FD_LIMIT"
- fi
- ulimit -n $MAX_FD
- if [ $? -ne 0 ] ; then
- warn "Could not set maximum file descriptor limit: $MAX_FD"
- fi
- else
- warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
- fi
+if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
+ case $MAX_FD in #(
+ max*)
+ # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
+ # shellcheck disable=SC2039,SC3045
+ MAX_FD=$( ulimit -H -n ) ||
+ warn "Could not query maximum file descriptor limit"
+ esac
+ case $MAX_FD in #(
+ '' | soft) :;; #(
+ *)
+ # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
+ # shellcheck disable=SC2039,SC3045
+ ulimit -n "$MAX_FD" ||
+ warn "Could not set maximum file descriptor limit to $MAX_FD"
+ esac
fi
-# For Darwin, add options to specify how the application appears in the dock
-if $darwin; then
- GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
-fi
+# Collect all arguments for the java command, stacking in reverse order:
+# * args from the command line
+# * the main class name
+# * -classpath
+# * -D...appname settings
+# * --module-path (only if needed)
+# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables.
+
+# For Cygwin or MSYS, switch paths to Windows format before running java
+if "$cygwin" || "$msys" ; then
+ APP_HOME=$( cygpath --path --mixed "$APP_HOME" )
+ CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" )
+
+ JAVACMD=$( cygpath --unix "$JAVACMD" )
-# For Cygwin, switch paths to Windows format before running java
-if $cygwin ; then
- APP_HOME=`cygpath --path --mixed "$APP_HOME"`
- CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
- JAVACMD=`cygpath --unix "$JAVACMD"`
-
- # We build the pattern for arguments to be converted via cygpath
- ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
- SEP=""
- for dir in $ROOTDIRSRAW ; do
- ROOTDIRS="$ROOTDIRS$SEP$dir"
- SEP="|"
- done
- OURCYGPATTERN="(^($ROOTDIRS))"
- # Add a user-defined pattern to the cygpath arguments
- if [ "$GRADLE_CYGPATTERN" != "" ] ; then
- OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
- fi
# Now convert the arguments - kludge to limit ourselves to /bin/sh
- i=0
- for arg in "$@" ; do
- CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
- CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
-
- if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
- eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
- else
- eval `echo args$i`="\"$arg\""
+ for arg do
+ if
+ case $arg in #(
+ -*) false ;; # don't mess with options #(
+ /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath
+ [ -e "$t" ] ;; #(
+ *) false ;;
+ esac
+ then
+ arg=$( cygpath --path --ignore --mixed "$arg" )
fi
- i=$((i+1))
+ # Roll the args list around exactly as many times as the number of
+ # args, so each arg winds up back in the position where it started, but
+ # possibly modified.
+ #
+ # NB: a `for` loop captures its iteration list before it begins, so
+ # changing the positional parameters here affects neither the number of
+ # iterations, nor the values presented in `arg`.
+ shift # remove old arg
+ set -- "$@" "$arg" # push replacement arg
done
- case $i in
- (0) set -- ;;
- (1) set -- "$args0" ;;
- (2) set -- "$args0" "$args1" ;;
- (3) set -- "$args0" "$args1" "$args2" ;;
- (4) set -- "$args0" "$args1" "$args2" "$args3" ;;
- (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
- (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
- (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
- (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
- (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
- esac
fi
-# Escape application args
-save () {
- for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
- echo " "
-}
-APP_ARGS=$(save "$@")
-
-# Collect all arguments for the java command, following the shell quoting and substitution rules
-eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
-# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
-if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then
- cd "$(dirname "$0")"
+# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
+
+# Collect all arguments for the java command:
+# * DEFAULT_JVM_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
+# and any embedded shellness will be escaped.
+# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
+# treated as '${Hostname}' itself on the command line.
+
+set -- \
+ "-Dorg.gradle.appname=$APP_BASE_NAME" \
+ -classpath "$CLASSPATH" \
+ -jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \
+ "$@"
+
+# Stop when "xargs" is not available.
+if ! command -v xargs >/dev/null 2>&1
+then
+ die "xargs is not available"
fi
+# Use "xargs" to parse quoted args.
+#
+# With -n1 it outputs one arg per line, with the quotes and backslashes removed.
+#
+# In Bash we could simply go:
+#
+# readarray ARGS < <( xargs -n1 <<<"$var" ) &&
+# set -- "${ARGS[@]}" "$@"
+#
+# but POSIX shell has neither arrays nor command substitution, so instead we
+# post-process each arg (as a line of input to sed) to backslash-escape any
+# character that might be a shell metacharacter, then use eval to reverse
+# that process (while maintaining the separation between arguments), and wrap
+# the whole thing up as a single "set" statement.
+#
+# This will of course break if any of these variables contains a newline or
+# an unmatched quote.
+#
+
+eval "set -- $(
+ printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" |
+ xargs -n1 |
+ sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' |
+ tr '\n' ' '
+ )" '"$@"'
+
exec "$JAVACMD" "$@"
diff --git a/gradlew.bat b/gradlew.bat
index e95643d6..5eed7ee8 100644
--- a/gradlew.bat
+++ b/gradlew.bat
@@ -1,4 +1,22 @@
-@if "%DEBUG%" == "" @echo off
+@rem
+@rem Copyright 2015 the original author or authors.
+@rem
+@rem Licensed under the Apache License, Version 2.0 (the "License");
+@rem you may not use this file except in compliance with the License.
+@rem You may obtain a copy of the License at
+@rem
+@rem https://www.apache.org/licenses/LICENSE-2.0
+@rem
+@rem Unless required by applicable law or agreed to in writing, software
+@rem distributed under the License is distributed on an "AS IS" BASIS,
+@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+@rem See the License for the specific language governing permissions and
+@rem limitations under the License.
+@rem
+@rem SPDX-License-Identifier: Apache-2.0
+@rem
+
+@if "%DEBUG%"=="" @echo off
@rem ##########################################################################
@rem
@rem Gradle startup script for Windows
@@ -9,25 +27,29 @@
if "%OS%"=="Windows_NT" setlocal
set DIRNAME=%~dp0
-if "%DIRNAME%" == "" set DIRNAME=.
+if "%DIRNAME%"=="" set DIRNAME=.
+@rem This is normally unused
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%
+@rem Resolve any "." and ".." in APP_HOME to make it shorter.
+for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
+
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
-set DEFAULT_JVM_OPTS=
+set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
@rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome
set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1
-if "%ERRORLEVEL%" == "0" goto init
+if %ERRORLEVEL% equ 0 goto execute
-echo.
-echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
-echo.
-echo Please set the JAVA_HOME variable in your environment to match the
-echo location of your Java installation.
+echo. 1>&2
+echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2
+echo. 1>&2
+echo Please set the JAVA_HOME variable in your environment to match the 1>&2
+echo location of your Java installation. 1>&2
goto fail
@@ -35,48 +57,36 @@ goto fail
set JAVA_HOME=%JAVA_HOME:"=%
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
-if exist "%JAVA_EXE%" goto init
+if exist "%JAVA_EXE%" goto execute
-echo.
-echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
-echo.
-echo Please set the JAVA_HOME variable in your environment to match the
-echo location of your Java installation.
+echo. 1>&2
+echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2
+echo. 1>&2
+echo Please set the JAVA_HOME variable in your environment to match the 1>&2
+echo location of your Java installation. 1>&2
goto fail
-:init
-@rem Get command-line arguments, handling Windows variants
-
-if not "%OS%" == "Windows_NT" goto win9xME_args
-
-:win9xME_args
-@rem Slurp the command line arguments.
-set CMD_LINE_ARGS=
-set _SKIP=2
-
-:win9xME_args_slurp
-if "x%~1" == "x" goto execute
-
-set CMD_LINE_ARGS=%*
-
:execute
@rem Setup the command line
-set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
+set CLASSPATH=
+
@rem Execute Gradle
-"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
+"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %*
:end
@rem End local scope for the variables with windows NT shell
-if "%ERRORLEVEL%"=="0" goto mainEnd
+if %ERRORLEVEL% equ 0 goto mainEnd
:fail
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
rem the _cmd.exe /c_ return code!
-if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
-exit /b 1
+set EXIT_CODE=%ERRORLEVEL%
+if %EXIT_CODE% equ 0 set EXIT_CODE=1
+if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE%
+exit /b %EXIT_CODE%
:mainEnd
if "%OS%"=="Windows_NT" endlocal
diff --git a/pdf-as-cli/build.gradle b/pdf-as-cli/build.gradle
index f10d4d7d..2eb4a01f 100644
--- a/pdf-as-cli/build.gradle
+++ b/pdf-as-cli/build.gradle
@@ -2,7 +2,9 @@ apply plugin: 'java-library'
apply plugin: 'eclipse'
apply plugin: 'application'
-mainClassName = "at.gv.egiz.pdfas.cli.Main"
+application {
+ mainClass = "at.gv.egiz.pdfas.cli.Main"
+}
repositories {
mavenLocal()
@@ -16,13 +18,13 @@ task releases(type: Copy) {
}
configurations {
- pdfBox2Compile
+ pdfBox3Compile
}
sourceSets{
- pdfBox2{
- compileClasspath = configurations.pdfBox2Compile
- runtimeClasspath = configurations.pdfBox2Compile + main.runtimeClasspath
+ pdfBox3{
+ compileClasspath = configurations.pdfBox3Compile
+ runtimeClasspath = configurations.pdfBox3Compile + main.runtimeClasspath
}
}
@@ -31,22 +33,22 @@ dependencies {
implementation project (':signature-standards:sigs-pkcs7detached')
implementation project (':signature-standards:sigs-pades')
implementation project (':pdf-as-moa')
- implementation project (':pdf-as-pdfbox-2')
- implementation group: 'commons-collections', name: 'commons-collections', version: '3.2.2'
- implementation group: 'commons-cli', name: 'commons-cli', version: '1.2'
- implementation group: 'javax.activation', name: 'activation', version: '1.1.1'
- implementation 'ch.qos.logback:logback-classic:1.2.13'
- testImplementation group: 'junit', name: 'junit', version: '4.+'
+ implementation project (':pdf-as-pdfbox-3')
+ implementation group: 'org.apache.commons', name: 'commons-collections4', version: commonsCollectionsVersion
+ implementation group: 'commons-cli', name: 'commons-cli', version: commonsCliVersion
+ implementation group: 'jakarta.activation', name: 'jakarta.activation-api', version: jakartaActivationVersion
+ implementation group: 'ch.qos.logback', name: 'logback-classic', version: logbackVersion
+ testImplementation group: 'junit', name: 'junit', version: junitVersion
}
startScripts{
- classpath+=sourceSets.pdfBox2.compileClasspath
+ classpath+=sourceSets.pdfBox3.compileClasspath
}
compileJava{
classpath=sourceSets.main.compileClasspath
- classpath+=sourceSets.pdfBox2.compileClasspath
+ classpath+=sourceSets.pdfBox3.compileClasspath
}
diff --git a/pdf-as-cli/src/main/java/at/gv/egiz/pdfas/cli/Main.java b/pdf-as-cli/src/main/java/at/gv/egiz/pdfas/cli/Main.java
index 86769c49..ac26cd18 100644
--- a/pdf-as-cli/src/main/java/at/gv/egiz/pdfas/cli/Main.java
+++ b/pdf-as-cli/src/main/java/at/gv/egiz/pdfas/cli/Main.java
@@ -33,7 +33,7 @@ import java.util.Map;
import java.util.Map.Entry;
import java.util.UUID;
-import javax.activation.DataSource;
+import jakarta.activation.DataSource;
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.CommandLineParser;
@@ -600,7 +600,7 @@ public class Main {
File outputPdfFile = new File(outputFile);
FileOutputStream fos = new FileOutputStream(outputPdfFile,
false);
- fos.write(verifyResult.getSignatureData());
+ fos.write(verifyResult.getSignatureData().getBaseData());
fos.close();
System.out.println("\tSigned PDF: " + outputFile);
}
diff --git a/pdf-as-cli/src/test/java/at/gv/egiz/pdfas/cli/test/CorruptPDF.java b/pdf-as-cli/src/test/java/at/gv/egiz/pdfas/cli/test/CorruptPDF.java
index b107474f..fc051e38 100644
--- a/pdf-as-cli/src/test/java/at/gv/egiz/pdfas/cli/test/CorruptPDF.java
+++ b/pdf-as-cli/src/test/java/at/gv/egiz/pdfas/cli/test/CorruptPDF.java
@@ -4,8 +4,8 @@ import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
-import javax.activation.DataSource;
-import javax.activation.FileDataSource;
+import jakarta.activation.DataSource;
+import jakarta.activation.FileDataSource;
import at.gv.egiz.pdfas.common.exceptions.PDFASError;
import at.gv.egiz.pdfas.common.settings.ISettings;
diff --git a/pdf-as-cli/src/test/java/at/gv/egiz/pdfas/cli/test/RotatedPDFTest.java b/pdf-as-cli/src/test/java/at/gv/egiz/pdfas/cli/test/RotatedPDFTest.java
index fcf766b1..17c5d62c 100644
--- a/pdf-as-cli/src/test/java/at/gv/egiz/pdfas/cli/test/RotatedPDFTest.java
+++ b/pdf-as-cli/src/test/java/at/gv/egiz/pdfas/cli/test/RotatedPDFTest.java
@@ -7,7 +7,7 @@ import java.io.InputStream;
import java.io.OutputStream;
import java.security.KeyStore;
-import javax.activation.DataSource;
+import jakarta.activation.DataSource;
import junit.framework.Assert;
diff --git a/pdf-as-cli/src/test/java/at/gv/egiz/pdfas/cli/test/SignaturProfileTest.java b/pdf-as-cli/src/test/java/at/gv/egiz/pdfas/cli/test/SignaturProfileTest.java
index cb42fe3b..2d633925 100644
--- a/pdf-as-cli/src/test/java/at/gv/egiz/pdfas/cli/test/SignaturProfileTest.java
+++ b/pdf-as-cli/src/test/java/at/gv/egiz/pdfas/cli/test/SignaturProfileTest.java
@@ -30,7 +30,7 @@ import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
-import javax.activation.DataSource;
+import jakarta.activation.DataSource;
import org.apache.commons.io.IOUtils;
diff --git a/pdf-as-cli/src/test/java/at/gv/egiz/pdfas/cli/test/SignatureBlockParameterTest.java b/pdf-as-cli/src/test/java/at/gv/egiz/pdfas/cli/test/SignatureBlockParameterTest.java
index 186eb5a9..a53cecb3 100644
--- a/pdf-as-cli/src/test/java/at/gv/egiz/pdfas/cli/test/SignatureBlockParameterTest.java
+++ b/pdf-as-cli/src/test/java/at/gv/egiz/pdfas/cli/test/SignatureBlockParameterTest.java
@@ -34,6 +34,7 @@ import at.gv.egiz.pdfas.lib.api.sign.SignParameter;
import at.gv.egiz.pdfas.lib.api.sign.SignResult;
import at.gv.egiz.pdfas.sigs.pades.PAdESSignerKeystore;
import org.apache.commons.io.IOUtils;
+import org.apache.pdfbox.Loader;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature;
import org.apache.pdfbox.pdmodel.interactive.form.PDAcroForm;
@@ -42,7 +43,7 @@ import org.apache.pdfbox.pdmodel.interactive.form.PDSignatureField;
import org.junit.Assert;
import org.junit.Test;
-import javax.activation.DataSource;
+import jakarta.activation.DataSource;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
@@ -129,7 +130,7 @@ public class SignatureBlockParameterTest {
SignResult result = pdfas.sign(signParameter);
fos.close();
- String name = getName(outFile, "PDF-AS Signatur1");
+ String name = getName(outFile, "PDF-AS Signatur 1");
Assert.assertEquals("TEST123 test bar 123 c TEST123 Andreas Fitzek ECC", name);
@@ -147,7 +148,7 @@ public class SignatureBlockParameterTest {
result = pdfas.sign(signParameter);
fos.close();
- name = getName(outFile, "PDF-AS Signatur1");
+ name = getName(outFile, "PDF-AS Signatur 1");
Assert.assertEquals("TEST123 test null 123 c TEST123 Andreas Fitzek ECC", name);
outFile = getPath("out") + "/" + profile + "-2.pdf";
@@ -161,7 +162,7 @@ public class SignatureBlockParameterTest {
signParameter.setSignatureProfileId(profile);
result = pdfas.sign(signParameter);
fos.close();
- name = getName(outFile, "PDF-AS Signatur1");
+ name = getName(outFile, "PDF-AS Signatur 1");
Assert.assertEquals("null test bar 123 c null Andreas Fitzek ECC", name);
outFile = getPath("out") + "/" + profile + "-3.pdf";
@@ -173,7 +174,7 @@ public class SignatureBlockParameterTest {
signParameter.setSignatureProfileId(profile);
result = pdfas.sign(signParameter);
fos.close();
- name = getName(outFile, "PDF-AS Signatur1");
+ name = getName(outFile, "PDF-AS Signatur 1");
Assert.assertEquals("null test null 123 c null Andreas Fitzek ECC", name);
// Assert.assertEquals("{sbp.subject} test {sbp.foo} 123 {subject.T != null ? (subject.T + \" a \"+sbp.subject) : " +
// "\"c \"+sbp.subject+\" \"}Andreas Fitzek ECC", name);
@@ -190,7 +191,7 @@ public class SignatureBlockParameterTest {
signParameter.setSignatureProfileId(profile);
result = pdfas.sign(signParameter);
fos.close();
- name = getName(outFile, "PDF-AS Signatur1");
+ name = getName(outFile, "PDF-AS Signatur 1");
Assert.assertEquals("null test null 123 c null Andreas Fitzek ECC", name);
@@ -226,7 +227,7 @@ public class SignatureBlockParameterTest {
SignResult result = pdfas.sign(signParameter);
fos.close();
- String name = getName(outFile, "PDF-AS Signatur1");
+ String name = getName(outFile, "PDF-AS Signatur 1");
Assert.assertEquals("TEST123 test baräöÜ 123 c TEST123 Andreas Fitzek ECC", name);
//expected:<TEST123 test bar[] 123 c TEST123 Andre...> but was:<TEST123 test bar[äöÜ] 123 c TEST123 Andre...>
}
@@ -262,31 +263,32 @@ public class SignatureBlockParameterTest {
SignResult result = pdfas.sign(signParameter);
fos.close();
- String name = getName(outFile, "PDF-AS Signatur1");
+ String name = getName(outFile, "PDF-AS Signatur 1");
Assert.assertEquals("Andreas Fitzek ECC text after variable", name);
//expected:<TEST123 test bar[] 123 c TEST123 Andre...> but was:<TEST123 test bar[äöÜ] 123 c TEST123 Andre...>
}
private String getName(String fileName, String sigFieldName) throws IOException {
- PDDocument pdDoc = PDDocument.load(new File(fileName));
- PDSignature signature = null;
- PDSignatureField signatureField;
- PDAcroForm acroForm = pdDoc.getDocumentCatalog().getAcroForm();
- if (acroForm != null) {
- List<PDField> aa = acroForm.getFields();
- signatureField = (PDSignatureField) acroForm.getField(sigFieldName);
- if (signatureField != null) {
- // retrieve signature dictionary
- signature = signatureField.getSignature();
- if (signature != null) {
- String name = signature.getName();
- return name;
+ try (PDDocument pdDoc = Loader.loadPDF(new File(fileName))) {
+ PDSignature signature = null;
+ PDSignatureField signatureField;
+ PDAcroForm acroForm = pdDoc.getDocumentCatalog().getAcroForm();
+ if (acroForm != null) {
+ List<PDField> aa = acroForm.getFields();
+ signatureField = (PDSignatureField) acroForm.getField(sigFieldName);
+ if (signatureField != null) {
+ // retrieve signature dictionary
+ signature = signatureField.getSignature();
+ if (signature != null) {
+ String name = signature.getName();
+ return name;
+
+ }
}
-
}
+ return null;
}
- return null;
}
}
diff --git a/pdf-as-common/build.gradle b/pdf-as-common/build.gradle
index 7dfaf71d..394280ee 100644
--- a/pdf-as-common/build.gradle
+++ b/pdf-as-common/build.gradle
@@ -21,14 +21,14 @@ releases.dependsOn sourcesJar
dependencies {
api group: 'org.slf4j', name: 'slf4j-api', version: slf4jVersion
- api group: 'commons-collections', name: 'commons-collections', version: '3.2.2'
- api group: 'commons-io', name: 'commons-io', version: '2.21.0'
- api group: 'ognl', name: 'ognl', version: '3.3.5'
- api group: 'javax.xml.bind', name: 'jaxb-api', version: '2.3.1'
- api 'commons-codec:commons-codec:1.17.1'
- api group: 'org.glassfish.jaxb', name: 'jaxb-runtime', version: '2.3.3'
- api group: 'javax.jws', name: 'javax.jws-api', version: '1.1'
- testImplementation group: 'junit', name: 'junit', version: '4.+'
+ api group: 'org.apache.commons', name: 'commons-collections4', version: commonsCollectionsVersion
+ api group: 'commons-io', name: 'commons-io', version: commonsIoVersion
+ api group: 'ognl', name: 'ognl', version: ognlVersion
+ api group: 'jakarta.xml.bind', name: 'jakarta.xml.bind-api', version: jaxbApiVersion
+ api group: 'commons-codec', name: 'commons-codec', version: commonsCodecVersion
+ api group: 'org.glassfish.jaxb', name: 'jaxb-runtime', version: jaxbRuntimeVersion
+ api group: 'jakarta.jws', name: 'jakarta.jws-api', version: jakartaJwsVersion
+ testImplementation group: 'junit', name: 'junit', version: junitVersion
}
test {
diff --git a/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PDFASBulkSignRequest.java b/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PDFASBulkSignRequest.java
index 9756d33b..da20f86a 100644
--- a/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PDFASBulkSignRequest.java
+++ b/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PDFASBulkSignRequest.java
@@ -26,8 +26,8 @@ package at.gv.egiz.pdfas.api.ws;
import java.io.Serializable;
import java.util.List;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
@XmlType(name="BulkSignRequest")
public class PDFASBulkSignRequest implements Serializable {
diff --git a/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PDFASBulkSignResponse.java b/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PDFASBulkSignResponse.java
index 7499bff6..ac9ffb52 100644
--- a/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PDFASBulkSignResponse.java
+++ b/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PDFASBulkSignResponse.java
@@ -26,8 +26,8 @@ package at.gv.egiz.pdfas.api.ws;
import java.io.Serializable;
import java.util.List;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
@XmlType(name="BulkSignResponse")
public class PDFASBulkSignResponse implements Serializable {
diff --git a/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PDFASPropertyEntry.java b/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PDFASPropertyEntry.java
index 0b9b21af..6cb5f3fb 100644
--- a/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PDFASPropertyEntry.java
+++ b/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PDFASPropertyEntry.java
@@ -2,8 +2,8 @@ package at.gv.egiz.pdfas.api.ws;
import java.io.Serializable;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
@XmlType(name="PropertyEntry")
public class PDFASPropertyEntry implements Serializable {
diff --git a/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PDFASPropertyMap.java b/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PDFASPropertyMap.java
index c3949849..418ba948 100644
--- a/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PDFASPropertyMap.java
+++ b/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PDFASPropertyMap.java
@@ -7,9 +7,9 @@ import java.util.Iterator;
import java.util.List;
import java.util.Map;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlTransient;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlTransient;
+import jakarta.xml.bind.annotation.XmlType;
@XmlType(name="PropertyMap")
public class PDFASPropertyMap implements Serializable {
diff --git a/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PDFASSignParameters.java b/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PDFASSignParameters.java
index a70b8f56..f72804ec 100644
--- a/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PDFASSignParameters.java
+++ b/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PDFASSignParameters.java
@@ -26,9 +26,9 @@ package at.gv.egiz.pdfas.api.ws;
import java.io.Serializable;
import java.util.Arrays;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlEnumValue;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlEnumValue;
+import jakarta.xml.bind.annotation.XmlType;
@XmlType(name="SignParameters")
public class PDFASSignParameters implements Serializable {
diff --git a/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PDFASSignRequest.java b/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PDFASSignRequest.java
index 39a384b2..1cb5b5b1 100644
--- a/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PDFASSignRequest.java
+++ b/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PDFASSignRequest.java
@@ -27,8 +27,8 @@ import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
@XmlType(name="SignRequest")
public class PDFASSignRequest implements Serializable {
diff --git a/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PDFASSignResponse.java b/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PDFASSignResponse.java
index 3e8a360b..880b6c0b 100644
--- a/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PDFASSignResponse.java
+++ b/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PDFASSignResponse.java
@@ -25,8 +25,8 @@ package at.gv.egiz.pdfas.api.ws;
import java.io.Serializable;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
@XmlType(name="SignResponse")
public class PDFASSignResponse implements Serializable {
@@ -37,6 +37,7 @@ public class PDFASSignResponse implements Serializable {
private static final long serialVersionUID = -6369697640117556071L;
String requestID;
+ Long errorCode;
String error;
byte[] signedPDF;
PDFASVerificationResponse verificationResponse;
@@ -65,7 +66,10 @@ public class PDFASSignResponse implements Serializable {
public void setVerificationResponse(PDFASVerificationResponse verificationResponse) {
this.verificationResponse = verificationResponse;
}
-
+
+ @XmlElement(required = false, name="errorCode")
+ public Long getErrorCode() { return errorCode; }
+ public void setErrorCode(Long errorCode) { this.errorCode = errorCode; }
@XmlElement(required = false, name="error")
public String getError() {
return error;
diff --git a/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PDFASSigning.java b/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PDFASSigning.java
index beeff937..4ed13688 100644
--- a/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PDFASSigning.java
+++ b/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PDFASSigning.java
@@ -23,12 +23,12 @@
******************************************************************************/
package at.gv.egiz.pdfas.api.ws;
-import javax.jws.WebMethod;
-import javax.jws.WebParam;
-import javax.jws.WebResult;
-import javax.jws.WebService;
-import javax.jws.soap.SOAPBinding;
-import javax.jws.soap.SOAPBinding.Style;
+import jakarta.jws.WebMethod;
+import jakarta.jws.WebParam;
+import jakarta.jws.WebResult;
+import jakarta.jws.WebService;
+import jakarta.jws.soap.SOAPBinding;
+import jakarta.jws.soap.SOAPBinding.Style;
@WebService
@SOAPBinding(style = Style.RPC)
diff --git a/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PDFASVerification.java b/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PDFASVerification.java
index edc6f22e..3a3a2eab 100644
--- a/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PDFASVerification.java
+++ b/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PDFASVerification.java
@@ -1,11 +1,11 @@
package at.gv.egiz.pdfas.api.ws;
-import javax.jws.WebMethod;
-import javax.jws.WebParam;
-import javax.jws.WebResult;
-import javax.jws.WebService;
-import javax.jws.soap.SOAPBinding;
-import javax.jws.soap.SOAPBinding.Style;
+import jakarta.jws.WebMethod;
+import jakarta.jws.WebParam;
+import jakarta.jws.WebResult;
+import jakarta.jws.WebService;
+import jakarta.jws.soap.SOAPBinding;
+import jakarta.jws.soap.SOAPBinding.Style;
@WebService
@SOAPBinding(style = Style.RPC)
diff --git a/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PDFASVerificationResponse.java b/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PDFASVerificationResponse.java
index 720b4438..45853710 100644
--- a/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PDFASVerificationResponse.java
+++ b/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PDFASVerificationResponse.java
@@ -2,8 +2,8 @@ package at.gv.egiz.pdfas.api.ws;
import java.io.Serializable;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
@XmlType(name="VerificationResponse")
public class PDFASVerificationResponse implements Serializable {
diff --git a/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PDFASVerifyRequest.java b/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PDFASVerifyRequest.java
index 2afa1f08..0eed75b4 100644
--- a/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PDFASVerifyRequest.java
+++ b/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PDFASVerifyRequest.java
@@ -4,8 +4,8 @@ import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
@XmlType(name="VerifyRequest")
public class PDFASVerifyRequest implements Serializable {
diff --git a/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PDFASVerifyResponse.java b/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PDFASVerifyResponse.java
index defb05f5..534ffe9f 100644
--- a/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PDFASVerifyResponse.java
+++ b/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PDFASVerifyResponse.java
@@ -3,8 +3,8 @@ package at.gv.egiz.pdfas.api.ws;
import java.io.Serializable;
import java.util.List;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
@XmlType(name="VerifyResponse")
public class PDFASVerifyResponse implements Serializable {
diff --git a/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PDFASVerifyResult.java b/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PDFASVerifyResult.java
index 6744af4a..0d5fd40d 100644
--- a/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PDFASVerifyResult.java
+++ b/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PDFASVerifyResult.java
@@ -2,8 +2,8 @@ package at.gv.egiz.pdfas.api.ws;
import java.io.Serializable;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
@XmlType(name="VerifyResult")
public class PDFASVerifyResult implements Serializable {
diff --git a/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PdfasGetMultipleRequest.java b/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PdfasGetMultipleRequest.java
index 5f4f3a27..6c5700bc 100644
--- a/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PdfasGetMultipleRequest.java
+++ b/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PdfasGetMultipleRequest.java
@@ -2,10 +2,10 @@ package at.gv.egiz.pdfas.api.ws;
import java.io.Serializable;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
import lombok.Getter;
import lombok.Setter;
diff --git a/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PdfasSignDocument.java b/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PdfasSignDocument.java
index e065ef5e..158aed56 100644
--- a/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PdfasSignDocument.java
+++ b/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PdfasSignDocument.java
@@ -2,10 +2,10 @@ package at.gv.egiz.pdfas.api.ws;
import java.io.Serializable;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
import lombok.Getter;
import lombok.Setter;
diff --git a/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PdfasSignMultipleRequest.java b/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PdfasSignMultipleRequest.java
index 8d172bfb..e96ba5fc 100644
--- a/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PdfasSignMultipleRequest.java
+++ b/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PdfasSignMultipleRequest.java
@@ -4,10 +4,10 @@ import java.io.Serializable;
import java.util.List;
import java.util.Map;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
import at.gv.egiz.pdfas.api.ws.PDFASSignParameters.Connector;
import lombok.Getter;
diff --git a/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PdfasSignMultipleResponse.java b/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PdfasSignMultipleResponse.java
index a2391d11..64e8987d 100644
--- a/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PdfasSignMultipleResponse.java
+++ b/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PdfasSignMultipleResponse.java
@@ -3,10 +3,10 @@ package at.gv.egiz.pdfas.api.ws;
import java.io.Serializable;
import java.util.List;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
import lombok.Getter;
import lombok.Setter;
diff --git a/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PdfasSignedDocument.java b/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PdfasSignedDocument.java
index 7ac13e1d..7ae0a380 100644
--- a/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PdfasSignedDocument.java
+++ b/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/PdfasSignedDocument.java
@@ -2,10 +2,10 @@ package at.gv.egiz.pdfas.api.ws;
import java.io.Serializable;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
import lombok.Getter;
import lombok.Setter;
diff --git a/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/VerificationLevel.java b/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/VerificationLevel.java
index 6410d269..e4f144ed 100644
--- a/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/VerificationLevel.java
+++ b/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/ws/VerificationLevel.java
@@ -1,7 +1,7 @@
package at.gv.egiz.pdfas.api.ws;
-import javax.xml.bind.annotation.XmlEnumValue;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlEnumValue;
+import jakarta.xml.bind.annotation.XmlType;
@XmlType(name = "VerificationLevel")
public enum VerificationLevel {
diff --git a/pdf-as-common/src/main/java/at/gv/egiz/pdfas/common/exceptions/ErrorConstants.java b/pdf-as-common/src/main/java/at/gv/egiz/pdfas/common/exceptions/ErrorConstants.java
index d99299a9..64a650c3 100644
--- a/pdf-as-common/src/main/java/at/gv/egiz/pdfas/common/exceptions/ErrorConstants.java
+++ b/pdf-as-common/src/main/java/at/gv/egiz/pdfas/common/exceptions/ErrorConstants.java
@@ -19,6 +19,12 @@ public interface ErrorConstants {
public static final long ERROR_SIG_INVALID_PROFILE = 11009;
public static final long ERROR_SIG_CERTIFICATE_MISSMATCH = 11019;
+
+ public static final long ERROR_PDF_PROCESSING_FAILED = 11020;
+
+ public static final long ERROR_SIGNER_CERT_TIMEFRAME_INVALID = 11021;
+
+ public static final long ERROR_SIG_CONNECT_ERROR = 11022;
// Verification Errors
diff --git a/pdf-as-common/src/main/resources/resources/messages/error.properties b/pdf-as-common/src/main/resources/resources/messages/error.properties
index dd873f1e..89a10d99 100644
--- a/pdf-as-common/src/main/resources/resources/messages/error.properties
+++ b/pdf-as-common/src/main/resources/resources/messages/error.properties
@@ -21,9 +21,12 @@
11017=Failed to retrieve certificate
11018=Given Alias contains no private key
11019=Signature was created for wrong certificate
-11020=Failed to process PDF document. Reason: {0}
-11021=Signer certificate is not valid, because notBefore or notAfter does not match
+11020=Failed to process PDF document. Reason: {0}
+11021=Signer certificate is not valid, because notBefore or notAfter does not match
+11022=Connection to the signature service failed
13001=Invalid Configuration Objects
13002=Given certificate is invalid
-13003=Configured placeholder mode is invalid \ No newline at end of file
+13003=Configured placeholder mode is invalid
+
+14001=There is no configuration validator backend \ No newline at end of file
diff --git a/pdf-as-legacy/.gitignore b/pdf-as-legacy/.gitignore
deleted file mode 100644
index 5e56e040..00000000
--- a/pdf-as-legacy/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/bin
diff --git a/pdf-as-legacy/build.gradle b/pdf-as-legacy/build.gradle
deleted file mode 100644
index de310b1c..00000000
--- a/pdf-as-legacy/build.gradle
+++ /dev/null
@@ -1,60 +0,0 @@
-apply plugin: 'java-library'
-apply plugin: 'eclipse'
-apply plugin: 'java-library-distribution'
-
-jar {
- manifest {
- attributes 'Implementation-Title': 'PDF-AS-4 Legacy Library'
- }
-}
-
-repositories {
- mavenLocal()
- mavenCentral()
- maven { url "http://nexus.iaik.tugraz.at/nexus/content/groups/internal" }
-}
-
-dependencies {
- implementation project (':pdf-as-lib')
- implementation project (':pdf-as-moa')
- implementation project (':signature-standards:sigs-pkcs7detached')
- implementation project (':signature-standards:sigs-pades')
- implementation group: 'org.apache.commons', name: 'commons-lang3', version: '3.20.0'
- implementation group: 'commons-codec', name: 'commons-codec', version: '1.21.0'
-}
-
-task releases(type: Copy) {
- from jar.outputs
- into rootDir.toString() + "/releases/" + version
-}
-
-releases.dependsOn jar
-releases.dependsOn sourcesJar
-
-/*javadoc {
- appName = 'PDF-AS-4 Legacy Library'
- exclude = '/**'
- include = 'at/gv/egiz/pdfas/**'
- project.configure(options) {
- memberLevel = org.gradle.external.javadoc.JavadocMemberLevel.PROTECTED
- charSet = "ISO-8859-1"
- docTitle = "$appName"
- windowTitle = "$appName"
- header = "<b>$appName</b>"
- use = "true"
- links("http://java.sun.com/j2ee/1.4/docs/api", "http://java.sun.com/j2se/1.5.0/docs/api")
- }
-}*/
-
-test { systemProperties 'property': 'value' }
-
-distributions {
- main {
- contents {
- from { '../docs' }
- from('../doc/') {
- include '*.pdf'
- }
- }
- }
-}
diff --git a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/PdfAsFactory.java b/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/PdfAsFactory.java
deleted file mode 100644
index 431e5db2..00000000
--- a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/PdfAsFactory.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*******************************************************************************
- * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- ******************************************************************************/
-/**
- * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- */
-package at.gv.egiz.pdfas;
-
-import java.io.File;
-
-import at.gv.egiz.pdfas.api.PdfAs;
-import at.gv.egiz.pdfas.api.exceptions.PdfAsException;
-import at.gv.egiz.pdfas.wrapper.PdfAsObject;
-
-/**
- * Main factory for creating a PDF-AS API Instance (PdfAs Interface).
- *
- * @see PdfAs
- *
- * @author wprinz
- */
-@Deprecated
-public class PdfAsFactory
-{
- /**
- * Creates a PDF-AS API instance for the given work directory.
- *
- * @param workDirectory
- * The work directory. If <code>null</code> the configuration is assumed to be located
- * within the user's home directory. Note: IAIK JCE and IAIK ECC security provders are
- * automatically registered.
- *
- * @return Returns an instance of the PDF-AS API.
- * @throws IllegalArgumentException
- * Thrown, if the workDirectory doesn't exist.
- * @throws PdfAsException
- * Thrown, if the work directory does not meet its requirements, or
- * if the config file is invalid.
- * @see PdfAS#USERHOME_CONFIG_FOLDER
- */
- @Deprecated
- public static PdfAs createPdfAs(File workDirectory) throws PdfAsException
- {
- return new PdfAsObject(workDirectory);
- }
-
- /**
- * Creates a PDF-AS API instance for the given work directory.
- *
- * WARNING registerProvider is IGNORED as ov Version 4.0
- *
- * @param workDirectory
- * The work directory. If <code>null</code> the configuration is assumed to be located
- * within the user's home directory.
- *
- * @param registerProvider <code>true</code>: automatically registers IAIK JCE and ECC Provider;
- * <code>false</code>: providers will NOT be automatically registered, providers
- * needed have to be registered by the API user
- * @return Returns an instance of the PDF-AS API.
- * @throws IllegalArgumentException
- * Thrown, if the workDirectory doesn't exist.
- * @throws PdfAsException
- * Thrown, if the work directory does not meet its requirements, or
- * if the config file is invalid.
- * @see PdfAS#USERHOME_CONFIG_FOLDER
- */
- @Deprecated
- public static PdfAs createPdfAs(File workDirectory, boolean registerProvider) throws PdfAsException
- {
- return new PdfAsObject(workDirectory);
- }
-
- /**
- * Creates a PDF-AS API instance assuming that the configuration is located within the user's
- * home directory. Note: IAIK JCE and IAIK ECC security providers are automatically registered.
- *
- * @return Returns an instance of the PDF-AS API.
- * @throws IllegalArgumentException
- * Thrown, if the work directory doesn't exist within the user's home directory.
- * @throws PdfAsException
- * Thrown, if the work directory does not meet its requirements, or
- * if the config file is invalid.
- * @see PdfAS#USERHOME_CONFIG_FOLDER
- */
- @Deprecated
- public static PdfAs createPdfAs() throws PdfAsException
- {
- return createPdfAs(new File(System.getProperty("user.home") + "/.pdfas/"));
- }
-
- /**
- * Creates a PDF-AS API instance assuming that the configuration is located within the user's
- * home directory.
- *
- * WARNING registerProvider is IGNORED as ov Version 4.0
- *
- * @return Returns an instance of the PDF-AS API.
- * @param registerProvider <code>true</code>: automatically registers IAIK JCE and ECC Provider;
- * <code>false</code>: providers will NOT be automatically registered, providers
- * needed have to be registered by the API user
- * @throws IllegalArgumentException
- * Thrown, if the work directory doesn't exist within the user's home directory.
- * @throws PdfAsException
- * Thrown, if the work directory does not meet its requirements, or
- * if the config file is invalid.
- * @see PdfAS#USERHOME_CONFIG_FOLDER
- */
- @Deprecated
- public static PdfAs createPdfAs(boolean registerProvider) throws PdfAsException
- {
- return createPdfAs(null, registerProvider);
- }
-
-}
diff --git a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/PdfAs.java b/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/PdfAs.java
deleted file mode 100644
index f876a80a..00000000
--- a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/PdfAs.java
+++ /dev/null
@@ -1,325 +0,0 @@
-/*******************************************************************************
- * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- ******************************************************************************/
-/**
- * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- */
-package at.gv.egiz.pdfas.api;
-
-import java.util.List;
-
-import at.gv.egiz.pdfas.api.analyze.AnalyzeParameters;
-import at.gv.egiz.pdfas.api.analyze.AnalyzeResult;
-import at.gv.egiz.pdfas.api.commons.DynamicSignatureLifetimeEnum;
-import at.gv.egiz.pdfas.api.commons.DynamicSignatureProfile;
-import at.gv.egiz.pdfas.api.commons.SignatureProfile;
-import at.gv.egiz.pdfas.api.exceptions.PdfAsException;
-import at.gv.egiz.pdfas.api.sign.SignParameters;
-import at.gv.egiz.pdfas.api.sign.SignResult;
-import at.gv.egiz.pdfas.api.sign.SignatureDetailInformation;
-import at.gv.egiz.pdfas.api.verify.VerifyAfterAnalysisParameters;
-import at.gv.egiz.pdfas.api.verify.VerifyAfterReconstructXMLDsigParameters;
-import at.gv.egiz.pdfas.api.verify.VerifyParameters;
-import at.gv.egiz.pdfas.api.verify.VerifyResult;
-import at.gv.egiz.pdfas.api.verify.VerifyResults;
-import at.gv.egiz.pdfas.api.xmldsig.ReconstructXMLDsigAfterAnalysisParameters;
-import at.gv.egiz.pdfas.api.xmldsig.ReconstructXMLDsigParameters;
-import at.gv.egiz.pdfas.api.xmldsig.ReconstructXMLDsigResult;
-
-/**
- * The PDF-AS API main interface.
- *
- * <p>
- * Create an Object implementing this interface using the proper factory.
- * </p>
- *
- * @author wprinz
- * @author exthex
- */
-@Deprecated
-public interface PdfAs
-{
-// 23.11.2010 changed by exthex - added:
-// reconstructXMLDSIG(ReconstructXMLDsigParameters reconstructXMLDsigParameters)
-// reconstructXMLDSIG(ReconstructXMLDsigAfterAnalysisParameters reconstructXMLDsigParameters)
-// verify(VerifyAfterReconstructXMLDsigParameters verifyAfterReconstructXMLDsigParameters)
-
-// 16.12.2010 changed by exthex - added:
-// prepareSign(SignParameters signParameters)
-// sign(SignParameters signParameters, SignatureDetailInformation signatureDetailInformation)
-// finishSign(SignParameters signParameters, SignatureDetailInformation signatureDetailInformation)
-
- /**
- * Signs a PDF document using PDF-AS.
- *
- * @param signParameters
- * The sign parameters.
- * @return Returns the signed document plus additional information.
- * @throws PdfAsException
- * Thrown, if an error occurs.
- *
- * @see SignParameters
- * @see SignResult
- */
- @Deprecated
- public SignResult sign(SignParameters signParameters) throws PdfAsException;
-
- /**
- * Signs a PDF document using PDF-AS.<br/>
- * This uses the {@link SignatorInformation} which was obtained by a call to {@link PdfAs#prepareSign(SignParameters)}
- *
- * @param signParameters
- * The sign parameters.
- * @param signatureDetailInformation
- * The signature information which was previously obtained by a call to {@link PdfAs#prepareSign(SignParameters)}
- * @return Returns the signed document plus additional information.
- * @throws PdfAsException
- * Thrown, if an error occurs.
- *
- * @see SignParameters
- * @see SignResult
- */
- @Deprecated
- public SignResult sign(SignParameters signParameters, SignatureDetailInformation signatureDetailInformation) throws PdfAsException;
-
- /**
- * Verifies a document with (potentially multiple) PDF-AS signatures.
- *
- * @param verifyParameters
- * The verify parameters.
- * @return Returns the verification results.
- * @throws PdfAsException
- * Thrown, if an error occurs.
- *
- * @see VerifyParameters
- * @see VerifyResults
- * @see VerifyResult
- */
- @Deprecated
- public VerifyResults verify(VerifyParameters verifyParameters) throws PdfAsException;
-
- /**
- * Analyzes a document for signatures and returns a verify-able list of such.
- *
- * @param analyzeParameters
- * The analyzation parameters.
- * @return Returns a list of verify-able signatures that were found in the
- * document.
- * @throws PdfAsException
- * Thrown on error.
- *
- * @see AnalyzeParameters
- * @see AnalyzeResult
- * @see {@link #verify(AnalyzeResult)}
- */
- @Deprecated
- public AnalyzeResult analyze(AnalyzeParameters analyzeParameters) throws PdfAsException;
-
- /**
- * Reconstruct the <xmldsig:Signature> from the given parameters.
- *
- * @param reconstructXMLDsigParameters
- * The data from which to reconstruct the xmldsig
- * @return a list of xmldsigs, one for each signature in the document
- * @throws PdfAsException if the reconstruction fails
- */
- @Deprecated
- public ReconstructXMLDsigResult reconstructXMLDSIG(ReconstructXMLDsigParameters reconstructXMLDsigParameters) throws PdfAsException;
-
- /**
- * Reconstruct the <xmldsig:Signature> from the given parameters.
- *
- * @param reconstructXMLDsigParameters
- * The data from which to reconstruct the xmldsigs
- * @return a list of xmldsigs, one for each signature in the document
- * @throws PdfAsException
- */
- @Deprecated
- public ReconstructXMLDsigResult reconstructXMLDSIG(ReconstructXMLDsigAfterAnalysisParameters reconstructXMLDsigParameters) throws PdfAsException;
-
- /**
- * Verifies a list of signatures that have been analyzed previously.
- *
- * @param verifyAfterAnalysisParameters The parameters.
- *
- * @return Returns the verification results.
- * @throws PdfAsException
- * Thrown on error.
- *
- * @see AnalyzeResult
- * @see VerifyAfterAnalysisParameters
- * @see VerifyResults
- * @see VerifyResult
- * @see {@link #analyze(AnalyzeParameters)}
- */
- @Deprecated
- public VerifyResults verify(VerifyAfterAnalysisParameters verifyAfterAnalysisParameters) throws PdfAsException;
-
- /**
- * Verifies a list of signatures that have been analyzed previously and the xmldsigs have been reconstructed.
- *
- * @param verifyAfterReconstructXMLDsigParameters
- * The parameters.
- * @return the verification results.
- * @throws PdfAsException
- * Thrown on error.
- */
- @Deprecated
- public VerifyResults verify(VerifyAfterReconstructXMLDsigParameters verifyAfterReconstructXMLDsigParameters) throws PdfAsException;
-
- /**
- * Reloads the configuration from the work directory.
- *
- * @throws PdfAsException
- * Thrown, if an error occurs.
- */
- @Deprecated
- public void reloadConfig() throws PdfAsException;
-
- /**
- * Returns the list of information objects about activated profiles available in the
- * configuration.
- *
- * <p>
- * Note: Currently the profile information consists of the profile Id and the
- * MOA Key Id only.
- * </p>
- * <p>
- * Note: In near future the profile management will be moved out of the config
- * file into an API class representation of the profiles which may render this
- * (and related) methods obsolete.
- * </p>
- *
- * @return Returns the list of {@link SignatureProfile} objects with
- * information about active profiles available in the configuration.
- * @throws PdfAsException
- * Thrown on error.
- *
- * @see SignatureProfile
- */
- @Deprecated
- public List getProfileInformation() throws PdfAsException;
-
- /**
- * Create a signature profile dynamically. You have do apply() it for usage. See {@link SignatureProfile}.
- * @param parentProfile a parent profile id to inherit all properties
- * @param mode lifetime mode
- * @return the created signature profile to work with.
- */
- @Deprecated
- public DynamicSignatureProfile createDynamicSignatureProfile(String parentProfile, DynamicSignatureLifetimeEnum mode);
-
- /**
- * Create a signature profile dynamically. You have to provide a unique name and have do apply() it for usage. See {@link SignatureProfile}.
- * It is recommended to use {@link #createDynamicSignatureProfile(String, DynamicSignatureLifetimeEnum)} that generates
- * a unique name on its own.
- * @see DynamicSignatureProfile
- * @param parentProfile a parent profile id to inherit all properties
- * @param myUniqueName a unique name for the profile
- * @param mode lifetime mode
- * @return the created signature profile to work with.
- */
- @Deprecated
- public DynamicSignatureProfile createDynamicSignatureProfile(String myUniqueName, String parentProfile, DynamicSignatureLifetimeEnum mode);
-
- /**
- * Create a signature profile dynamically. You have fill it with properties and apply() it for usage. See {@link SignatureProfile}.
- * <br>
- * It is recommended to use {@link #createDynamicSignatureProfile(String, DynamicSignatureLifetimeEnum)} that inherits from an
- * existing profile saving you a lot of work.
- * @param mode lifetime mode
- * @return the created signature profile to work with.
- * @see DynamicSignatureProfile
- */
- @Deprecated
- public DynamicSignatureProfile createEmptyDynamicSignatureProfile(DynamicSignatureLifetimeEnum mode);
-
- /**
- * Create a signature profile dynamically. You have fill it with properties and apply() it for usage. See {@link SignatureProfile}.
- * <br>
- * It is recommended to use {@link #createDynamicSignatureProfile(String, DynamicSignatureLifetimeEnum)} that inherits from an
- * existing profile saving you a lot of work.
- * @param myUniqueName a unique name for the profile
- * @param mode lifetime mode
- * @return the created signature profile to work with.
- */
- @Deprecated
- public DynamicSignatureProfile createEmptyDynamicSignatureProfile(String myUniqueName, DynamicSignatureLifetimeEnum mode);
-
- /**
- * Loads an existing dynamic signature profile by its name. Profiles are saved when they are applied
- * and it has {@link DynamicSignatureLifetimeEnum#MANUAL}
- * @param profileName
- * @return the signature profile or <code>null</code> if not found.
- * @see DynamicSignatureProfile
- */
- @Deprecated
- public DynamicSignatureProfile loadDynamicSignatureProfile(String profileName);
-
- /**
- * Prepares the signature of the given PDF document. The table for the signature data is placed but not filled.<br/>
- * Usually used for preview.
- *
- * @param signParameters
- * The sign parameters.
- * @return Only the {@link SignatureDetailInformation#getSignaturePosition()}, {@link SignatureDetailInformation#getNonTextualObjects()}, {@link SignatureDetailInformation#getSignatureData()} are filled.
- * @throws PdfAsException if something goes wrong during the process
- */
- @Deprecated
- public SignatureDetailInformation prepareSign(SignParameters signParameters) throws PdfAsException;
-
- /**
- * Finish the signature process. The PDF is filled with the signature data.<br/>
- * Usually used if some steps like the actual signing are to be performed externally.
- *
- * @param signParameters
- * The sign parameters.
- * @param signatureDetailInformation
- * The signature detail information.
- * @return
- * @throws PdfAsException
- */
- @Deprecated
- public SignResult finishSign(SignParameters signParameters, SignatureDetailInformation signatureDetailInformation) throws PdfAsException;
-
-}
diff --git a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/analyze/AnalyzeParameters.java b/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/analyze/AnalyzeParameters.java
deleted file mode 100644
index ca782f81..00000000
--- a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/analyze/AnalyzeParameters.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*******************************************************************************
- * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- ******************************************************************************/
-/**
- * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- */
-package at.gv.egiz.pdfas.api.analyze;
-
-import at.gv.egiz.pdfas.api.commons.Constants;
-import at.gv.egiz.pdfas.api.io.DataSource;
-
-/**
- * Parameter object that holds the analyze parameters.
- *
- * @author wprinz
- */
-@Deprecated
-public class AnalyzeParameters
-{
-
- /**
- * The document to be analyzed.
- */
- protected DataSource document = null;
-
- /**
- * The mode of operation how the document is analyzed.
- *
- * <p>
- * May be {@link Constants#VERIFY_MODE_BINARY_ONLY} to check the document for
- * binary signatures only (very fast). Or may be
- * {@link Constants#VERIFY_MODE_SEMI_CONSERVATIVE} to perform a semi
- * conservative (optimized) text and binary verification (slow). Or may be
- * {@link Constants#VERIFY_MODE_FULL_CONSERVATIVE} to perform a full
- * conservative text and binary verification (very slow).
- * </p>
- */
- protected String verifyMode = Constants.VERIFY_MODE_FULL_CONSERVATIVE;
-
- protected boolean returnNonTextualObjects = false;
-
- protected boolean hasBeenCorrected = false;
-
- /**
- * @return the document
- */
- public DataSource getDocument()
- {
- return this.document;
- }
-
- /**
- * @param document the document to set
- */
- public void setDocument(DataSource document)
- {
- this.document = document;
- }
-
- /**
- * @return the verifyMode
- */
- public String getVerifyMode()
- {
- return this.verifyMode;
- }
-
- /**
- * @param verifyMode the verifyMode to set
- */
- public void setVerifyMode(String verifyMode)
- {
- this.verifyMode = verifyMode;
- }
-
- public boolean isReturnNonTextualObjects() {
- return this.returnNonTextualObjects;
- }
-
- /**
- * Tells if non text object of the signed pdf should be extracted and returned.
- * One should show this to the user, especially in case of textual signature.
- * Defaults to <tt>false</tt>
- *
- * @param returnNonTextualObjects
- */
- public void setReturnNonTextualObjects(boolean returnNonTextualObjects) {
- this.returnNonTextualObjects = returnNonTextualObjects;
- }
-
-}
diff --git a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/analyze/AnalyzeResult.java b/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/analyze/AnalyzeResult.java
deleted file mode 100644
index a371c21b..00000000
--- a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/analyze/AnalyzeResult.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- ******************************************************************************/
-/**
- * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- */
-package at.gv.egiz.pdfas.api.analyze;
-
-import java.util.List;
-
-import at.gv.egiz.pdfas.api.commons.SignatureInformation;
-import at.gv.egiz.pdfas.api.exceptions.PdfAsException;
-
-/**
- * The result of an analyze operation, which is a list of verifyable signatures.
- *
- * @author wprinz
- *
- */
-@Deprecated
-public interface AnalyzeResult
-{
- /**
- * Returns the list of found signatures.
- *
- * @return Returns a list of {@link SignatureInformation} objects representing all
- * found signatures.
- * @throws PdfAsException
- * Thrown on error.
- *
- * @see SignatureInformation
- */
- public List getSignatures() throws PdfAsException;
-
- public List getNoSignatures();
-
- /**
- * Tells if the document has been corrected before verification. The correction maybe done
- * after a first failing parse to repair a document (if enabled in the configuration
- * <code>correct_document_on_verify_if_necessary</code>). The correction can only work for textual
- * signatures. Binary signatures are lost anyhow.
- * @return
- */
- public boolean hasBeenCorrected();
-
-
-}
diff --git a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/analyze/NonTextObjectInfo.java b/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/analyze/NonTextObjectInfo.java
deleted file mode 100644
index fdc5880b..00000000
--- a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/analyze/NonTextObjectInfo.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*******************************************************************************
- * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- ******************************************************************************/
-/**
- * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- */
-package at.gv.egiz.pdfas.api.analyze;
-
-/**
- * Encapsulates information about non textual objects in a pdf document.
- *
- * @author dferbas
- *
- */
-@Deprecated
-public class NonTextObjectInfo {
- public static final String TYPE_IMAGE = "image";
- public static final String TYPE_ANNOTATION = "annotation";
-
- private String objectType;
- private String subType;
- private String name;
- private int pageNr;
- private double width;
- private double height;
-
- public String getObjectType() {
- return this.objectType;
- }
-
- public void setObjectType(String objectType) {
- this.objectType = objectType;
- }
-
- public String getName() {
- return this.name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public int getPageNr() {
- return this.pageNr;
- }
-
- public void setPageNr(int pageNr) {
- this.pageNr = pageNr;
- }
-
- public double getWidth() {
- return this.width;
- }
-
- public void setWidth(double width) {
- this.width = width;
- }
-
- public double getHeight() {
- return this.height;
- }
-
- public void setHeight(double height) {
- this.height = height;
- }
-
- public String getSubType() {
- return this.subType;
- }
-
- public void setSubType(String subType) {
- this.subType = subType;
- }
-
-
-
- public String toString() {
- return "NonTextObjectInfo [height=" + this.height + ", name=" + this.name + ", objectType="
- + this.objectType + ", pageNr=" + this.pageNr + ", subType=" + this.subType
- + ", width=" + this.width + "]";
- }
-
-}
diff --git a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/commons/Constants.java b/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/commons/Constants.java
deleted file mode 100644
index 136e0d70..00000000
--- a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/commons/Constants.java
+++ /dev/null
@@ -1,213 +0,0 @@
-/*******************************************************************************
- * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- ******************************************************************************/
-/**
- * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- */
-package at.gv.egiz.pdfas.api.commons;
-
-
-/**
- * Contains commonly used constants.
- *
- * @author wprinz
- */
-@Deprecated
-public final class Constants
-{
-
- /**
- * Hidden default constructor.
- */
- private Constants()
- {
- // empty
- }
-
- /**
- * A binary signature.
- * This value should not be modified due to external dependencies!
- */
- public static final String SIGNATURE_TYPE_BINARY = "binary";
-
- /**
- * A textual signature.
- * 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").
- */
- public static final String DEFAULT_SIGNATURE_TYPE = SIGNATURE_TYPE_BINARY;
-
- /**
- * A "detached" textual signature.
- *
- * <p>
- * The document text is signed, but instead of returning the pdf with the signature block,
- * the sign result XML of the connector is returned.
- * </p>
- */
- public static final String SIGNATURE_TYPE_DETACHEDTEXTUAL = "detachedtextual";
-
- /**
- * The signature device moa.
- * This value should not be modified due to external dependencies!
- */
- public static final String SIGNATURE_DEVICE_MOA = "moa";
-
- /**
- * The signature device bku.
- * This value should not be modified due to external dependencies!
- */
- public static final String SIGNATURE_DEVICE_BKU = "bku";
-
- /**
- * The signature device a1.
- * This value should not be modified due to external dependencies!
- */
- public static final String SIGNATURE_DEVICE_A1 = "a1";
-
- /**
- * The signature device MOCCA (online bku).
- * This value should not be modified due to external dependencies!
- */
- public static final String SIGNATURE_DEVICE_MOC = "moc";
-
- /**
- * Added by rpiazzi
- * The signature device MOBILE.
- * 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.
- */
- public static final String VERIFY_MODE_BINARY_ONLY = "binaryOnly";
-
- /**
- * Binary and textual signatures are verified with time optimization.
- *
- * <p>
- * 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
- * signatures may not be found.
- * </p>
- */
- public static final String VERIFY_MODE_SEMI_CONSERVATIVE = "semiConservative";
-
- /**
- * Binary and textual signatures are verified.
- */
- public static final String VERIFY_MODE_FULL_CONSERVATIVE = "fullConservative";
-
- /**
- * All signatures are verified.
- */
- public static final int VERIFY_ALL = -1;
-
- /**
- * The system property that may be used to declare the pdf-as configuration folder.
- */
- public static final String CONFIG_DIR_SYSTEM_PROPERTY = "pdf-as.work-dir";
-
- /**
- * 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 = "Adobe.PDF-AS";
-
- /**
- * Strict matching mode for placeholder extraction.<br/>
- * 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.<br/>
- * If the placeholder with the given id is not found in the document, the first placeholder without an id will be taken.<br/>
- * 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.<br/>
- * 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.<br/>
- * 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-legacy/src/main/java/at/gv/egiz/pdfas/api/commons/DynamicSignatureLifetimeEnum.java b/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/commons/DynamicSignatureLifetimeEnum.java
deleted file mode 100644
index ff967077..00000000
--- a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/commons/DynamicSignatureLifetimeEnum.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- ******************************************************************************/
-/**
- * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- */
-package at.gv.egiz.pdfas.api.commons;
-
-import java.io.Serializable;
-
-/**
- * Pseudo enum defining lifetime models for {@link DynamicSignatureProfile}s.
- *
- * @author exthex
- *
- */
-@Deprecated
-public final class DynamicSignatureLifetimeEnum implements Serializable {
- private static final long serialVersionUID = 1L;
-
- private int value;
-
- /**
- * Automatic lifetime bound to one sign process
- */
- public static final DynamicSignatureLifetimeEnum AUTO = new DynamicSignatureLifetimeEnum(1);
-
- /**
- * Manual lifetime making YOU responsible for calling {@link DynamicSignatureProfile#dispose()}.
- */
- public static final DynamicSignatureLifetimeEnum MANUAL = new DynamicSignatureLifetimeEnum(2);
-
- private DynamicSignatureLifetimeEnum(int val) {
- this.value = val;
- }
-
- public int hashCode() {
- return value;
- }
-
- public boolean equals(Object obj) {
- if (this == obj)
- return true;
- if (obj == null)
- return false;
- if (getClass() != obj.getClass())
- return false;
- DynamicSignatureLifetimeEnum other = (DynamicSignatureLifetimeEnum) obj;
- if (value != other.value)
- return false;
- return true;
- }
-
-
-
-}
diff --git a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/commons/DynamicSignatureProfile.java b/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/commons/DynamicSignatureProfile.java
deleted file mode 100644
index 535ea18c..00000000
--- a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/commons/DynamicSignatureProfile.java
+++ /dev/null
@@ -1,149 +0,0 @@
-/*******************************************************************************
- * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- ******************************************************************************/
-/**
- * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- */
-package at.gv.egiz.pdfas.api.commons;
-
-import at.gv.egiz.pdfas.api.PdfAs;
-import at.gv.egiz.pdfas.api.sign.SignParameters;
-
-/**
- * A dynamic signature profile. It is used to define a signature profile like the ones from pdf-as/config.properties at runtime.
- * After creation via {@link PdfAs} you can set properties via {@link #setPropertyRaw(String, String)}
- * or {@link #setFieldValue(String, String)}.<br>
- * You have to call {@link #apply()} to use the profile. The identifying name (e.g. for {@link SignParameters#setSignatureProfileId(String)}
- * can be obtained via {@link #getName()}.<br>
- * Depending on the {@link DynamicSignatureLifetimeEnum} the profile can be alive and usable till you {@link #dispose()} it manually.
- * <p>
- * Sample usage:<br>
- * <pre>
- SignParameters sp = new SignParameters();
- . . .
- sp.setSignatureType(Constants.SIGNATURE_TYPE_TEXTUAL);
- sp.setSignatureDevice(Constants.SIGNATURE_DEVICE_MOA);
-
- // create a new dynamic profile based on SIGNATURBLOCK_DE (every property is copied) with manual lifetime
- DynamicSignatureProfile dsp = pdfAs.createDynamicSignatureProfile("myUniqueName", "SIGNATURBLOCK_DE",
- DynamicSignatureLifetimeEnum.MANUAL);
-
- // set something
- dsp.setPropertyRaw("key.SIG_META", "Statement");
- dsp.setPropertyRaw("value.SIG_META", "respect to the man in the icecream van ${subject.EMAIL}");
- dsp.setPropertyRaw("value.SIG_LABEL", "./images/signatur-logo_en.png");
- dsp.setPropertyRaw("table.main.Style.halign", "right");
-
- // mandatory: apply the profile, you have to apply again after changes (overriding your previous setting)
- dsp.apply();
- sp.setSignatureProfileId(dsp.getName());
-
- // execute PDF-AS
- pdfAs.sign(sp);
-
- . . .
-
- // your profile is saved and you can obtain it again anytime later:
- dsp = pdfAs.loadDynamicSignatureProfile("myUniqueName");
- // use it for another sign.
- // dont forget to dispose() sometimes because it was manual lifetime
- System.out.println(dsp.getName());
- * </pre>
- * </p>
- *
- * @author exthex
- *
- */
-@Deprecated
-public interface DynamicSignatureProfile {
-
- /**
- * Get the name of the dynamic signature profile. Equals the <b>SignatureProfileId</b>
- * @return
- */
- public abstract String getName();
-
- /**
- * Set a field value for the profile. Use {@link #setPropertyRaw(String, String)} for setting any property.<br>
- * For example to set <code>sig_obj.MEIN_DYN_SIGNATURBLOCK.value.SIG_META</code> just use <code>SIG_META</code> as fieldName.
- * @param fieldName the name of the field
- * @param value the value to set
- */
- public abstract void setFieldValue(String fieldName, String value);
-
- /**
- * Get a field value from the profile. See {@link #setFieldValue(String, String)}
- * @param fieldName
- * @return
- */
- public abstract String getFieldValue(String fieldName);
-
- /**
- * Set any property for the signature profile.
- * Uses the same keys as the property file without the "prefix" for the profile.
- * For example to set <code>sig_obj.MEIN_DYN_SIGNATURBLOCK.key.SIG_META</code> use <code>key.SIG_META</code>
- * @param key property key
- * @param val property value
- */
- public void setPropertyRaw(String key, String val);
-
- /**
- * Get any property from the signature profile. See {@link #setPropertyRaw(String, String)} for details.
- * @param key
- * @return
- */
- public String getPropertyRaw(String key);
-
- /**
- * Apply the signature profile. Call this after all properties are set and you want to use the profile. It is then added
- * to the globally available signature profiles. Depending on the lifetime model {@link DynamicSignatureLifetimeEnum} you
- * have to {@link #dispose()} it manually when not needed anymore.
- */
- public abstract void apply();
-
- /**
- * Disposes the signature profile from the global store. Call this for {@link DynamicSignatureLifetimeEnum#MANUAL} only.
- */
- public abstract void dispose();
-
-}
diff --git a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/commons/DynamicSignatureProfileImpl.java b/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/commons/DynamicSignatureProfileImpl.java
deleted file mode 100644
index ce36fb9f..00000000
--- a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/commons/DynamicSignatureProfileImpl.java
+++ /dev/null
@@ -1,238 +0,0 @@
-/*******************************************************************************
- * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- ******************************************************************************/
-/**
- * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- */
-package at.gv.egiz.pdfas.api.commons;
-
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Properties;
-
-import at.gv.egiz.pdfas.api.PdfAs;
-import at.gv.egiz.pdfas.common.settings.ISettings;
-import at.gv.egiz.pdfas.lib.api.Configuration;
-import at.knowcenter.wag.egov.egiz.sig.SignatureTypes;
-
-/**
- * Implementation class of the {@link DynamicSignatureProfile}. Don't use this class directly. Use {@link PdfAs} to create and the
- * {@link DynamicSignatureProfile} interface for manipulation.
- * @author exthex
- *
- */
-@Deprecated
-public class DynamicSignatureProfileImpl implements DynamicSignatureProfile {
- private String name;
- private Properties newProps = new Properties();
- private int dynamicTypeCounter = 0;
- private static Map<String, DynamicSignatureProfile> profiles =
- new HashMap<String, DynamicSignatureProfile>();
- private static ThreadLocal<DynamicSignatureProfile> localProfiles = new ThreadLocal<DynamicSignatureProfile>();
- private DynamicSignatureLifetimeEnum lifeMode;
- private Configuration configuration;
-
- private DynamicSignatureProfileImpl(DynamicSignatureLifetimeEnum mode, String name,
- Configuration configuration) {
- if (name != null) {
- this.name = name;
- } else {
- this.name = createDynamicTypeName();
- }
- this.configuration = configuration;
- this.lifeMode = mode;
- }
-
- public static DynamicSignatureProfileImpl createFromParent(String myUniqueName, String parentProfile,
- DynamicSignatureLifetimeEnum mode, Configuration configuration) {
- DynamicSignatureProfileImpl res = new DynamicSignatureProfileImpl(mode, myUniqueName, configuration);
- res.initFromParent(parentProfile);
- return res;
- }
-
- private void store() {
- if (lifeMode.equals(DynamicSignatureLifetimeEnum.MANUAL)) {
- profiles.put(this.getName(), this);
- } else if (lifeMode.equals(DynamicSignatureLifetimeEnum.AUTO)) {
- localProfiles.set(this);
- }
- }
-
- private void remove() {
- if (lifeMode.equals(DynamicSignatureLifetimeEnum.MANUAL)) {
- profiles.remove(this);
- } else if (lifeMode.equals(DynamicSignatureLifetimeEnum.AUTO)) {
- localProfiles.set(null);
- }
- }
-
- public static void disposeLocalProfile() {
- DynamicSignatureProfileImpl profile = (DynamicSignatureProfileImpl) localProfiles.get();
- if (profile != null) {
- profile.dispose();
- }
- }
-
- public static DynamicSignatureProfileImpl createEmptyProfile(String myUniqueName, DynamicSignatureLifetimeEnum mode,
- Configuration configuration) {
- return new DynamicSignatureProfileImpl(mode, myUniqueName, configuration);
- }
-
- public static DynamicSignatureProfileImpl loadProfile(String name) {
- return (DynamicSignatureProfileImpl) profiles.get(name);
- }
-
- private synchronized String createDynamicTypeName() {
- return "dynprofile__#" + this.dynamicTypeCounter++;
- }
-
- /* (non-Javadoc)
- * @see at.gv.egiz.pdfas.api.commons.DynamicSignatureProfile#getName()
- */
- public String getName() {
- return name;
- }
-
- /* (non-Javadoc)
- * @see at.gv.egiz.pdfas.api.commons.DynamicSignatureProfile#setName(String)
- */
- public void setName(String uniqueName) {
- this.name = uniqueName;
- }
-
- public void setPropertyRaw(String key, String val) {
- this.newProps.setProperty(localPropName(key), val);
- }
-
- public String getPropertyRaw(String key) {
- return this.newProps.getProperty(localPropName(key));
- }
-
- private void assertPropExists(String key) {
- if (!this.newProps.containsKey(localPropName(key))) {
- throw new RuntimeException("property '" + key + "'not existing, cannot add one");
- }
- }
-
- private String localPropName(String key) {
- return "sig_obj." + this.name + "." + key;
- }
-
- /* (non-Javadoc)
- * @see at.gv.egiz.pdfas.api.commons.DynamicSignatureProfile#setFieldValue(java.lang.String, java.lang.String)
- */
- public void setFieldValue(String fieldName, String value) {
- if (SignatureTypes.isRequredSigTypeKey(fieldName)) {
- throw new RuntimeException("cannot set value for pre defined signature field names");
- }
-
- String key = "value." +fieldName;
- assertPropExists(key);
- setPropertyRaw(key, value);
- }
-
- /* (non-Javadoc)
- * @see at.gv.egiz.pdfas.api.commons.DynamicSignatureProfile#getFieldValue(java.lang.String)
- */
- public String getFieldValue(String fieldName) {
- return getPropertyRaw("value."+fieldName);
- }
-
- private void initFromParent(String parentProfile) {
- try {
- ISettings cfg = null;
-
- cfg = (ISettings)configuration;
- String parentKey = "sig_obj." + parentProfile + ".";
- Map<String, String> properties = cfg.getValuesPrefix(parentKey);
- Iterator<String> keyIt = properties.keySet().iterator();
-
- while(keyIt.hasNext()) {
- String oldKey = keyIt.next();
- String newKey = oldKey.replaceAll(parentProfile, name);
- String val = properties.get(oldKey);
- this.newProps.put(newKey, val);
- }
-
- this.newProps.put("sig_obj.types." + name, "on");
- } catch (Exception e) {
- throw new RuntimeException(e);
- }
- }
-
- /* (non-Javadoc)
- * @see at.gv.egiz.pdfas.api.commons.DynamicSignatureProfile#register()
- */
- public synchronized void apply() {
- try {
- Configuration cfg = this.configuration;
- for (Enumeration<Object> e = newProps.keys(); e.hasMoreElements();) {
- String key = (String) e.nextElement();
- cfg.setValue(key, newProps.getProperty(key));
- }
-
- store();
- } catch (Exception e) {
- throw new RuntimeException(e);
- }
- }
-
- /* (non-Javadoc)
- * @see at.gv.egiz.pdfas.api.commons.DynamicSignatureProfile#dispose()
- */
- public synchronized void dispose() {
- try {
- Configuration cfg = this.configuration;
- for (Enumeration<Object> e = newProps.keys(); e.hasMoreElements();) {
- String key = (String) e.nextElement();
- cfg.setValue(key, null);
- }
- remove();
- } catch (Exception e) {
- throw new RuntimeException(e);
- }
- }
-
-}
diff --git a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/commons/SignatureInformation.java b/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/commons/SignatureInformation.java
deleted file mode 100644
index 413be0ad..00000000
--- a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/commons/SignatureInformation.java
+++ /dev/null
@@ -1,153 +0,0 @@
-/*******************************************************************************
- * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- ******************************************************************************/
-/**
- * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- *
- * $Id: SignatureHolder.java,v 1.3 2006/10/11 07:57:58 wprinz Exp $
- */
-package at.gv.egiz.pdfas.api.commons;
-
-import java.security.cert.X509Certificate;
-import java.util.Date;
-import java.util.List;
-
-import at.gv.egiz.pdfas.api.analyze.NonTextObjectInfo;
-import at.gv.egiz.pdfas.api.io.DataSource;
-
-/**
- * Holds the information of one found signature block, which is the signed data
- * and the corresponding signature information.
- *
- * @author wprinz
- */
-@Deprecated
-public interface SignatureInformation
-{
- /**
- * Returns the type of this signature (binary/textual).
- *
- * <p>
- * May be {@link Constants#SIGNATURE_TYPE_BINARY} or
- * {@link Constants#SIGNATURE_TYPE_TEXTUAL}.
- * </p>
- *
- * @return Returns the type of this signature (binary/textual).
- */
- public String getSignatureType();
-
- /**
- * Returns the DataSource providing the data that was signed.
- *
- * <p>
- * Note that this is the signed data as sent to the verification device by
- * PDF-AS. The verification device (e.g. MOA) may perform several other
- * transformations on the data before feeding it to the signature hash
- * function. To get the actual hashed data use the ReturnHashInputData mechanism (which is very slow).
- * </p>
- *
- * @return Returns the DataSource providing the data that was signed.
- *
- * @see at.gv.egiz.pdfas.api.verify.VerifyParameters#setReturnHashInputData(boolean)
- * @see at.gv.egiz.pdfas.api.verify.VerifyResult#getHashInputData()
- *
- */
- public DataSource getSignedData();
-
- /**
- * Returns the certificate of the signer.
- *
- * <p>
- * Information like subject name, issuer name or serial number can be
- * retrieved form this certificate.
- * </p>
- *
- * @return Returns the certificate of the signer.
- */
- public X509Certificate getSignerCertificate();
-
- /**
- * Returns the signing time, which is the time when the signature was created.
- *
- * @return Returns the signing time, which is the time when the signature was
- * created.
- */
- public Date getSigningTime();
-
- /**
- * Returns additional, internal information about the found signature.
- *
- * <p>
- * Note that this provides a way for developers to gather core information
- * about the signature. What information is returned strongly depends on the
- * core implementation.
- * </p>
- *
- * @return Returns additional, internal information about the signature. Null
- * means that no additional information is available.
- */
- public Object getInternalSignatureInformation();
-
- /**
- * Returns the embedded /TimeStamp value (b64 encoded) from the signature if available.
- * @return
- */
- public String getTimeStampValue();
-
- /**
- * Returns a list<{@link NonTextObjectInfo}> of non textual objects in the pdf document.
- * Only available for textual signatures. Show this to the user who signed the textual content only!
- * @return List<{@link NonTextObjectInfo} or <tt>null</tt> of not available (binary signature)
- */
- public List getNonTextualObjects();
-
- public void setNonTextualObjects(List nonTextualObjects);
-
- /**
- * Returns <code>true</code> if non textual objects have been found, <code>false</code> if not.
- * @return <code>true</code> if non textual objects have been found, <code>false</code> if not.
- */
- public boolean hasNonTextualObjects();
-
-
-}
diff --git a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/commons/SignatureProfile.java b/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/commons/SignatureProfile.java
deleted file mode 100644
index f23ce5a0..00000000
--- a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/commons/SignatureProfile.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*******************************************************************************
- * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- ******************************************************************************/
-/**
- * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- */
-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.
- *
- * @author wprinz
- */
-@Deprecated
-public interface SignatureProfile {
-
- // TODO: implement full profile support
-
- /**
- * Returns the profile id.
- *
- * @return Returns the profile id.
- */
- public String getProfileId();
-
- /**
- * Returns the MOA KeyIdentifier.
- *
- * @return Returns the MOA KeyIdentifier.
- */
- public String getMOAKeyIdentifier();
-
- /**
- * Returns the entries relevant to the search algorithm for signature blocks.<br/>
- * e.g. properties starting with <code>sig_obj.PROFILE.key.</code> and
- * properties of the form <code>sig_obj.PROFILE.table.TABLENAME.NUMBER</code>
- * where <code>PROFILE</code> is the name of the current profile,
- * <code>TABLENAME</code> is the name of a table and <code>NUMBER</code>
- * is the number of the specific row within the table <code>TABLENAME</code>.
- *
- * @return The entries relevant to the signature block search algorithm as
- * Java properties.
- */
- public Properties getSignatureBlockEntries();
-
- /**
- * Returns the profile description.
- *
- * @return The profile description.
- */
- public String getProfileDescription();
-
- /**
- * True only if this is the default profile according to config.
- * @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();
-
-}
diff --git a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/exceptions/ConfigUtilsException.java b/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/exceptions/ConfigUtilsException.java
deleted file mode 100644
index d130c354..00000000
--- a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/exceptions/ConfigUtilsException.java
+++ /dev/null
@@ -1,146 +0,0 @@
-/*******************************************************************************
- * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- ******************************************************************************/
-/**
- * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- */
-package at.gv.egiz.pdfas.api.exceptions;
-
-/**
- * @author <a href="mailto:thomas.knall@egiz.gv.at">Thomas Knall</a>
- */
-@Deprecated
-public class ConfigUtilsException extends Exception {
-
- /**
- * Marker for serialization.
- */
- private static final long serialVersionUID = 1L;
-
- /**
- * The underlying exception.
- */
- private Exception wrappedException;
-
- /**
- * Returns the underlying exception.
- *
- * @return The underlying exception.
- */
- public Exception getException() {
- return this.wrappedException;
- }
-
- /**
- * Returns the message of the wrapped exception.
- *
- * @return The message of the wrapped exception.
- */
- public String getMessage() {
- String message = super.getMessage();
- if (message == null && this.wrappedException != null) {
- return this.wrappedException.getMessage();
- } else {
- return message;
- }
- }
-
- /**
- * Instantiation of a new exception based on a message and another (wrapped)
- * exception.
- *
- * @param message
- * The exception message.
- * @param exception
- * Another exception.
- */
- public ConfigUtilsException(final String message, final Exception exception) {
- super(message);
- this.wrappedException = exception;
- }
-
- /**
- * Instantiated a new exception based on a message.
- *
- * @param message
- * The message of the new exception.
- */
- public ConfigUtilsException(final String message) {
- super(message);
- this.wrappedException = null;
- }
-
- /**
- * Instantiates a new exception based on another (wrapped) exception.
- *
- * @param exception
- * The wrapped exception.
- */
- public ConfigUtilsException(final Exception exception) {
- super();
- this.wrappedException = exception;
- }
-
- /**
- * Instantiates a new (unspecified) exception.
- */
- public ConfigUtilsException() {
- super();
- this.wrappedException = null;
-
- }
-
- /**
- * Returns the text representation of this instance.
- *
- * @return The text representation of this instance.
- */
- public String toString() {
- if (this.wrappedException != null) {
- return this.wrappedException.toString();
- } else {
- return super.toString();
- }
- }
-
-}
diff --git a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/exceptions/ErrorCode.java b/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/exceptions/ErrorCode.java
deleted file mode 100644
index 557b33dc..00000000
--- a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/exceptions/ErrorCode.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/*******************************************************************************
- * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- ******************************************************************************/
-/**
- * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- */
-package at.gv.egiz.pdfas.api.exceptions;
-
-/**
- * Contains constants for the error codes.
- *
- * <p>
- * In Java 1.5 this would be an enum.
- * </p>
- *
- * @author wprinz
- */
-@Deprecated
-public final class ErrorCode
-{
- public static final int EXTERNAL_ERROR = 0;
- public static final int UNKNOWN_ERROR = 6;
- public static final int OUT_OF_MEMORY_ERROR = 7;
-
- public static final int SETTING_NOT_FOUND = 100;
- public static final int SETTINGS_EXCEPTION = 101;
- public static final int KZ_SETTING_NOT_FOUND = 102;
- public static final int NO_EMBEDABLE_TTF_CONFIGURED_FOR_PDFA = 103;
- public static final int INVALID_SIGNATURE_LAYOUT_IMPL_CONFIGURED = 104;
- public static final int MISSING_HEADER_SERVER_USER_AGENT = 105;
- public static final int CIRCULAR_INCLUDE_INSTRUCTION_DETECTED = 106;
- public static final int UNABLE_TO_LOAD_DEFAULT_CONFIG = 107;
-
- public static final int DOCUMENT_CANNOT_BE_READ = 201;
- public static final int TEXT_EXTRACTION_EXCEPTION = 202;
- public static final int CANNOT_WRITE_PDF = 205;
- public static final int DOCUMENT_NOT_SIGNED = 206;
- public static final int SIGNATURE_TYPES_EXCEPTION = 223;
- public static final int FONT_NOT_FOUND = 230;
- public static final int DOCUMENT_IS_PROTECTED = 231;
- public static final int INVALID_SIGNATURE_DICTIONARY = 232;
-//23.11.2010 changed by exthex - added error code for failed extraction
- public static final int SIGNATURE_PLACEHOLDER_EXTRACTION_FAILED = 233;
-
- /**
- * Error code for {@code SignatureException}s occurring when trying to sign with a certain signature profile that
- * is not allowed to be used for signature, e.g. because ist has been set to
- * <p/>
- * {@code sig_obj.types.<PROFILE_ID> = verify_only}
- * @author Datentechnik Innovation GmbH
- */
- public static final int SIGNATURE_PROFILE_IS_NOT_ALLOWED_FOR_SIGNATURE = 234;
-
- public static final int INVALID_SIGNATURE_POSITION = 224;
- public static final int NO_TEXTUAL_CONTENT = 251;
-
- public static final int SIGNATURE_COULDNT_BE_CREATED = 300;
- public static final int SIGNED_TEXT_EMPTY = 301;
- public static final int PROFILE_NOT_DEFINED = 302;
- public static final int SERIAL_NUMBER_INVALID = 303;
- public static final int SIG_CERTIFICATE_CANNOT_BE_READ = 304;
- public static final int PROFILE_NOT_USABLE_FOR_TEXT = 305;
-
- public static final int COULDNT_VERIFY = 310;
-
- public static final int CERTIFICATE_NOT_FOUND = 313;
- public static final int NOT_SEMANTICALLY_EQUAL = 314;
-
- public static final int MODIFIED_AFTER_SIGNATION = 316;
- public static final int NON_BINARY_SIGNATURES_PRESENT = 317;
-
- public static final int UNSUPPORTED_REPLACES_NAME = 318;
- public static final int UNSUPPORTED_SIGNATURE = 319;
-
- public static final int DETACHED_SIGNATURE_NOT_SUPPORTED = 370;
-
- public static final int SIGNATURE_VERIFICATION_NOT_SUPPORTED = 371;
- public static final int INVALID_SIGNING_TIME = 372;
-
- public static final int BKU_NOT_SUPPORTED = 373;
-
- public static final int WEB_EXCEPTION = 330;
- public static final int UNABLE_TO_RECEIVE_SUITABLE_RESPONSE = 340;
-
-
- public static final int NORMALIZER_EXCEPTION = 400;
-
- public static final int SESSION_EXPIRED = 600;
-
- public static final int PLACEHOLDER_EXCEPTION = 700;
- public static final int CAPTION_NOT_FOUND_EXCEPTION = 701;
-
- public static final int UNABLE_TO_PARSE_ID = 800;
- public static final int CORRECTOR_EXCEPTION = 801;
- public static final int EXTERNAL_CORRECTOR_TIMEOUT_REACHED = 802;
-
- public static final int WRAPPED_ERROR_CODE = 998;
- public static final int FUNCTION_NOT_AVAILABLE = 999;
-}
diff --git a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/exceptions/PdfAsException.java b/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/exceptions/PdfAsException.java
deleted file mode 100644
index e20301e5..00000000
--- a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/exceptions/PdfAsException.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*******************************************************************************
- * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- ******************************************************************************/
-/**
- * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- */
-package at.gv.egiz.pdfas.api.exceptions;
-
-/**
- * This exception is the base for all PDF-AS exceptions.
- *
- * <p>
- * Every PDF-AS Exception has an error code.
- * </p>
- *
- * @author wprinz
- */
-@Deprecated
-public class PdfAsException extends Exception
-{
- /**
- * The error code.
- */
- protected int errorCode = -1;
-
- /**
- * Constructor.
- *
- * @param errorCode
- * The error code.
- * @param message
- * The detail message.
- */
- public PdfAsException(int errorCode, String message)
- {
- super(message);
-
- this.errorCode = errorCode;
- }
-
- /**
- * Constructor.
- *
- * @param errorCode
- * The error code.
- * @param message
- * The detail message.
- * @param cause
- * The cause.
- */
- public PdfAsException(int errorCode, String message, Throwable cause)
- {
- super(message, cause);
-
- this.errorCode = errorCode;
- }
-
- /**
- * Constructor.
- *
- * @param errorCode
- * The error code.
- * @param cause
- * The cause.
- */
- public PdfAsException(int errorCode, Throwable cause)
- {
- super(cause);
-
- this.errorCode = errorCode;
- }
-
- /**
- * Returns the error code of this exception.
- *
- * @return Returns the error code of this exception.
- */
- public int getErrorCode()
- {
- return this.errorCode;
- }
-}
diff --git a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/exceptions/PdfAsWrappedException.java b/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/exceptions/PdfAsWrappedException.java
deleted file mode 100644
index d8ea2825..00000000
--- a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/exceptions/PdfAsWrappedException.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- ******************************************************************************/
-package at.gv.egiz.pdfas.api.exceptions;
-
-@Deprecated
-public class PdfAsWrappedException extends PdfAsException {
-
- /**
- *
- */
- private static final long serialVersionUID = -3947240372353864753L;
-
- public PdfAsWrappedException(Throwable e) {
- super(ErrorCode.WRAPPED_ERROR_CODE, e.getMessage(), e);
- }
-
-}
diff --git a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/io/DataSink.java b/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/io/DataSink.java
deleted file mode 100644
index 9c0b6b09..00000000
--- a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/io/DataSink.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*******************************************************************************
- * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- ******************************************************************************/
-/**
- * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- */
-package at.gv.egiz.pdfas.api.io;
-
-import java.io.IOException;
-import java.io.OutputStream;
-
-/**
- * Output document data sink.
- *
- * <p>
- * Actually, the DataSink can be seen as a factory for creating OutputStreams
- * with mime type and character encoding provided. This allows the API user to
- * decide how data is to be stored (e.g. in a file, in a byte array, etc.).
- * </p>
- *
- * @author wprinz
- */
-@Deprecated
-public interface DataSink
-{
- /**
- * Creates an OutputStream for binary data.
- *
- * <p>
- * Note that the stream may be written only once. Creating another stream
- * overwrites the existing one.
- * </p>
- *
- * @param mimeType
- * The mime type of the output data.
- * @return Returns the created output stream.
- * @throws IOException
- * Thrown if the stream cannot be created.
- */
- public OutputStream createOutputStream(String mimeType) throws IOException;
-
- /**
- * Creates an OutputStream for character data.
- *
- * <p>
- * This is basically the same as {@link #createOutputStream(String)}, but
- * allows to specify the character encoding.
- * </p>
- *
- * @param mimeType
- * The mime type of the output data.
- * @param characterEncoding
- * The character encoding of the data.
- * @return Returns the created output stream.
- * @throws IOException
- * Thrown if the stream cannot be created.
- */
- public OutputStream createOutputStream(String mimeType, String characterEncoding) throws IOException;
-
- /**
- * Returns the mime type of the data stream.
- *
- * <p>
- * This is only valid after a stream has been created.
- * </p>
- *
- * @return Returns the mime type of the data stream.
- */
- public String getMimeType();
-
- /**
- * Returns the character encoding of the data stream.
- *
- * <p>
- * This is only valid after a stream has been created. Null means that no
- * character encoding was specified for the data (e.g. if the data is binary).
- * </p>
- *
- * @return Returns the character encoding of the data stream.
- */
- public String getCharacterEncoding();
-}
diff --git a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/io/DataSource.java b/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/io/DataSource.java
deleted file mode 100644
index 0bd8966a..00000000
--- a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/io/DataSource.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*******************************************************************************
- * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- ******************************************************************************/
-/**
- * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- */
-package at.gv.egiz.pdfas.api.io;
-
-import java.io.InputStream;
-
-/**
- * Input document data source.
- *
- * <p>
- * This allows the holder of the data to decide how the data is to be stored (e.g. in a File or in a byte array).
- * </p>
- *
- * @author wprinz
- *
- */
-@Deprecated
-public interface DataSource
-{
- /**
- * Creates a new InputStream that allows to read out the document's binary
- * data from the beginning.
- *
- * @return Returns the InputStream with the binary data.
- */
- public InputStream createInputStream();
-
- /**
- * Returns the length (number of bytes) of the stream.
- *
- * @return Returns the length (number of bytes) of the stream.
- */
- public int getLength();
-
- /**
- * Returns the data of this DataSource as a byte array for random read only access.
- *
- * <p>
- * Calling this method indicates that you need a byte array for random
- * <strong>read only</strong> access. The DataSource implementation should of
- * course cache this byte array to avoid too much memory usage.
- * </p>
- * <p>
- * Performance analysis has shown that the libraries internally convert the
- * streams to byte arrays and that file system access is very slow.
- * </p>
- * <p>
- * Never write to this byte array!
- * </p>
- *
- * @return Returns the data of this DataSource as a byte array for random read only access.
- */
- public byte[] getAsByteArray();
-
- /**
- * Returns the mime type of the data.
- *
- * @return Returns the mime type of the data.
- */
- public String getMimeType();
-
- /**
- * Returns the character encoding of the data.
- *
- * <p>
- * This makes only sense for character based mime types.
- * </p>
- *
- * @return Returns the character encoding of the data or null if no encoding
- * is applicable (e.g. if the data is binary).
- */
- public String getCharacterEncoding();
-
-}
diff --git a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/io/FileBased.java b/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/io/FileBased.java
deleted file mode 100644
index c2a7b25f..00000000
--- a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/io/FileBased.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- ******************************************************************************/
-/**
- * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- */
-package at.gv.egiz.pdfas.api.io;
-
-import java.io.File;
-
-/**
- * Tells that the IO element (DataSink or DataSource) is backed by a file in the local file system.
- *
- * <p>
- * This is a hint that may be used by PDF-AS to optimize data access.
- * </p>
- *
- * @author wprinz
- */
-@Deprecated
-public interface FileBased
-{
-
- /**
- * Returns the File "behind" this io element.
- *
- * <p>
- * This is usually used to determine the file name itself.
- * </p>
- *
- * @return Returns the File "behind" this io element.
- */
- public File getFile ();
-
-}
diff --git a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/io/TextBased.java b/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/io/TextBased.java
deleted file mode 100644
index fadd8bbf..00000000
--- a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/io/TextBased.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- ******************************************************************************/
-/**
- * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- */
-package at.gv.egiz.pdfas.api.io;
-
-/**
- * Tells, that the IO Element (DataSink - but mostly DataSource) is based upon
- * character data.
- *
- * <p>
- * This can be used to retrieve the character text directly with the correct
- * encoding etc.
- * </p>
- * <p>
- * This makes most sense for text DataSources.
- * </p>
- *
- * @author wprinz
- */
-@Deprecated
-public interface TextBased
-{
-
- /**
- * Returns the text.
- *
- * @return Returns the text.
- */
- public String getText();
-
-}
diff --git a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/sign/SignParameters.java b/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/sign/SignParameters.java
deleted file mode 100644
index 5466d596..00000000
--- a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/sign/SignParameters.java
+++ /dev/null
@@ -1,417 +0,0 @@
-/*******************************************************************************
- * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- ******************************************************************************/
-/**
- * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- */
-package at.gv.egiz.pdfas.api.sign;
-
-import java.util.Properties;
-
-import at.gv.egiz.pdfas.api.commons.Constants;
-import at.gv.egiz.pdfas.api.io.DataSink;
-import at.gv.egiz.pdfas.api.io.DataSource;
-import at.gv.egiz.pdfas.api.sign.pos.SignaturePositioning;
-import at.gv.egiz.pdfas.api.timestamp.TimeStamper;
-import at.knowcenter.wag.egov.egiz.sig.SignatureTypes;
-
-/**
- * Parameter object that holds the sign parameters.
- *
- * @author wprinz
- */
-@Deprecated
-public class SignParameters
-{
-// 23.11.2010 changed by exthex - added parameters for placeholder handling
-
- /**
- * The document to be signed.
- *
- * <p>
- * The DataSource implementation encapsulates the actual representaion of the
- * data. E.g. the DataSource may be File based or byte array based. See
- * package at.gv.egiz.pdfas.framework.input and at.gv.pdfas.impl.input
- * </p>
- */
- protected DataSource document = null;
-
- /**
- * The type of the signature.
- *
- * <p>
- * May be {@link Constants#SIGNATURE_TYPE_BINARY} or
- * {@link Constants#SIGNATURE_TYPE_TEXTUAL}.
- * </p>
- */
- protected String signatureType = Constants.DEFAULT_SIGNATURE_TYPE;
-
- /**
- * The signature device to perform the actual signature.
- *
- * <p>
- * May be {@link Constants#SIGNATURE_DEVICE_MOA} or
- * {@link Constants#SIGNATURE_DEVICE_BKU}.
- * </p>
- */
- protected String signatureDevice = Constants.SIGNATURE_DEVICE_MOA;
-
- /**
- * The signature profile identifier identifying the profile to be used in the
- * config file.
- *
- * <p>
- * Note: In near future it will be possible to provide a full specified
- * profile here instead of the profile id.
- * </p>
- */
- protected String signatureProfileId = null;
-
- /**
- * The signature key identifier specifying which signature key should be used
- * by the signature device to perform the signature.
- *
- * <p>
- * Providing a null value (default) means that no explicit signature key
- * identifier is provided. The selected signature device will then use its
- * default mechanism for retrieving this information (which is usually to read
- * the key from the provided signature profile).
- * </p>
- * <p>
- * Note that not all signature devices may support this parameter.
- * If a signature device doesn't support this parameter the value should be null.
- * </p>
- * <p>
- * This key is usually passed straight through to the signature device and
- * thereby has to contain an appropriate value for the signature device
- * chosen.
- * </p>
- * <p>
- * Currently, only the {@link Constants#SIGNATURE_DEVICE_MOA} signature device
- * evaluates this parameter and passes the provided String to MOA as the MOA
- * key group identifier. If null is provided, the MOA signature device will
- * determine the signature key identifier to be used from the provided profile
- * and, if not specified there either, from the MOA default configuration.
- * </p>
- */
- protected String signatureKeyIdentifier = null;
-
- /**
- * The signature position. Consult the PDF-AS documentation section
- * Commandline.
- */
- protected SignaturePositioning signaturePositioning = null;
-
- /**
- * The output DataSink that will receive the signed document.
- */
- protected DataSink output = null;
-
- protected TimeStamper timeStamperImpl;
-
- /**
- * The flag to de-/activate placeholder search
- */
- protected Boolean checkForPlaceholder = null;
-
- /**
- * The id of the placeholder which should be replaced.
- */
- protected String placeholderId;
-
- /**
- * The matching mode for placeholder extraction.<br/>
- * If a {@link SignParameters#placeholderId} is set, the match mode determines what is to be done, if no matching placeholder is found in the document.
- * <br/>
- * Defaults to {@link Constants#PLACEHOLDER_MATCH_MODE_MODERATE}.
- */
- protected int placeholderMatchMode = Constants.PLACEHOLDER_MATCH_MODE_MODERATE;
-
- protected Properties overrideProps = new Properties();
-
-
-
-
-
- /**
- * {@link #setTimeStamperImpl(TimeStamper)}
- * @return
- */
- public TimeStamper getTimeStamperImpl() {
- return this.timeStamperImpl;
- }
-
- /**
- * Set a {@link TimeStamper} to create a timestamp on the signature value. Will be
- * called after sign. For binary signatures only. Timestamp will be embedded in egiz dict /TimeStamp.
- * @param timeStamperImpl
- */
- public void setTimeStamperImpl(TimeStamper timeStamperImpl) {
- this.timeStamperImpl = timeStamperImpl;
- }
-
-/**
- * @return the document
- */
- public DataSource getDocument()
- {
- return document;
- }
-
- /**
- * @param document
- * the document to set
- */
- public void setDocument(DataSource document)
- {
- this.document = document;
- }
-
- /**
- * @return the signatureType
- */
- public String getSignatureType()
- {
- return signatureType;
- }
-
- /**
- * @param signatureType
- * the signatureType to set
- */
- public void setSignatureType(String signatureType)
- {
- this.signatureType = signatureType;
- }
-
- /**
- * @return the signatureDevice
- */
- public String getSignatureDevice()
- {
- return signatureDevice;
- }
-
- /**
- * @param signatureDevice
- * the signatureDevice to set
- */
- public void setSignatureDevice(String signatureDevice)
- {
- this.signatureDevice = signatureDevice;
- }
-
- /**
- * @return the signatureProfileId
- */
- public String getSignatureProfileId()
- {
- return signatureProfileId;
- }
-
- /**
- * @param signatureProfileId
- * the signatureProfileId to set
- */
- public void setSignatureProfileId(String signatureProfileId)
- {
- this.signatureProfileId = signatureProfileId;
- }
-
- /**
- * @return the signaturePositioning
- */
- public SignaturePositioning getSignaturePositioning()
- {
- return this.signaturePositioning;
- }
-
- /**
- * @param signaturePositioning
- * the signaturePositioning to set
- */
- public void setSignaturePositioning(SignaturePositioning signaturePositioning)
- {
- this.signaturePositioning = signaturePositioning;
- }
-
- /**
- * @return the output
- */
- public DataSink getOutput()
- {
- return output;
- }
-
- /**
- * @param output
- * the output to set
- */
- public void setOutput(DataSink output)
- {
- this.output = output;
- }
-
- /**
- * @return the signatureKeyIdentifier
- */
- public String getSignatureKeyIdentifier()
- {
- return this.signatureKeyIdentifier;
- }
-
- /**
- * @param signatureKeyIdentifier the signatureKeyIdentifier to set
- */
- public void setSignatureKeyIdentifier(String signatureKeyIdentifier)
- {
- this.signatureKeyIdentifier = signatureKeyIdentifier;
- }
-
- /**
- * Override user defined values from the used signature profile like "value.SIG_META".
- * You cannot override pre defined values like SIG_VALUE, SIG_DATE {@link SignatureTypes#REQUIRED_SIG_KEYS}.
- * The override values are bound to the {@link SignParameters} instance.
- * <p>
- * Sample usage:
- * <pre>
- SignParameters sp = new SignParameters();
- . . .
-
- sp.setSignatureProfileId("SIGNATURBLOCK_DE");
-
- // expressions do not work on binary signature fields without phlength setting!!
- sp.setProfileOverrideValue("SIG_META", "It's nice to be important, but it is more important to be nice ${subject.L}");;
- sp.setProfileOverrideValue("SIG_LABEL", "./images/signatur-logo_en.png");
-
- // execute sign using the overrides
- pdfAs.sign(sp);
- </pre>
- * </p>
- * @param key the name of the setting to override e.g. "SIG_META"
- * @param value The new value
- */
- public void setProfileOverrideValue(String key, String value) {
- if (SignatureTypes.isRequredSigTypeKey(key)) {
- throw new RuntimeException("cannot set value for pre defined signature field names");
- }
- this.overrideProps.put(key, value);
- }
-
- /**
- * Get override values created via {@link #setProfileOverrideValue(String, String)}
- * @return
- */
- public Properties getProfileOverrideProperties() {
- return this.overrideProps;
-
- }
-
- /**
- * Get the value of the checkForPlaceholder flag.
- *
- * @return
- */
- public Boolean isCheckForPlaceholder() {
- return this.checkForPlaceholder;
- }
-
- /**
- * Set this to true, if you want a search for placeholder images to be performed and
- * appropriate images to be replaced.
- * If this is not set, a search will only be performed if the configuration property "enable_placeholder_search" is set to true.
- *
- * @param check
- */
- public void setCheckForPlaceholder(Boolean searchForPlaceHolder) {
- this.checkForPlaceholder = searchForPlaceHolder;
- }
-
- /**
- * Set an explicit placeholder id.
- * Only placeholder images that have a matching ID property embedded will be considered for replacement.
- *
- * @param placeholderId
- */
- public void setPlaceholderId(String placeholderId) {
- this.placeholderId = placeholderId;
- }
-
- /**
- * The id of the placeholder to replace.
- *
- * @return the placeholderId
- */
- public String getPlaceholderId() {
- return placeholderId;
- }
-
- /**
- * Set the behavior if no exactly matching placeholder could be found.<br/>
- * Exactly matching meaning:<br/>
- * <ul><li>If a placeholderId is set: a placeholder which has exactly this id embedded</li>
- * <li>If no placeholderId is set: a placeholder without an embedded id is found</li></ul>
- *
- * @see Constants#PLACEHOLDER_MATCH_MODE_LENIENT
- * @see Constants#PLACEHOLDER_MATCH_MODE_MODERATE
- * @see Constants#PLACEHOLDER_MATCH_MODE_STRICT
- *
- * Defaults to {@link Constants#PLACEHOLDER_MATCH_MODE_MODERATE}.
- *
- * @param placeholderMatchMode
- */
- public void setPlaceholderMatchMode(int placeholderMatchMode) {
- this.placeholderMatchMode = placeholderMatchMode;
- }
-
- /**
- * Get the placeholder matching mode.
- *
- * @see SignParameters#getPlaceholderMatchMode()
- * @return the placeholderMatchMode
- */
- public int getPlaceholderMatchMode() {
- return this.placeholderMatchMode;
- }
-
-}
diff --git a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/sign/SignResult.java b/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/sign/SignResult.java
deleted file mode 100644
index e18d8105..00000000
--- a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/sign/SignResult.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*******************************************************************************
- * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- ******************************************************************************/
-/**
- * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- */
-package at.gv.egiz.pdfas.api.sign;
-
-import java.security.cert.X509Certificate;
-import java.util.List;
-
-import at.gv.egiz.pdfas.api.analyze.NonTextObjectInfo;
-import at.gv.egiz.pdfas.api.io.DataSink;
-import at.gv.egiz.pdfas.api.sign.pos.SignaturePosition;
-
-/**
- * The result of a sign operation.
- *
- * @author wprinz
- */
-@Deprecated
-public interface SignResult
-{
-
- /**
- * Returns the filled output data sink.
- *
- * @return Returns the filled output data sink.
- */
- public DataSink getOutputDocument();
-
- /**
- * Returns the certificate of the signer.
- *
- * @return Returns the certificate of the signer.
- */
- public X509Certificate getSignerCertificate();
-
- /**
- * Returns the position where the signature is finally placed.
- *
- * <p>
- * This information can be useful for post-processing the document.
- * </p>
- *
- * <p>
- * Consult the PDF-AS documentation section Commandline for further
- * information about positioning.
- * </p>
- *
- * @return Returns the position where the signature is finally placed. May
- * return null if no position information is available.
- */
- public SignaturePosition getSignaturePosition();
-
- /**
- * Returns a list<{@link NonTextObjectInfo} of non textual objects in the pdf document.
- * Only available for textual signatures. Show this to the user who signed the textual content only!
- * @return List<{@link NonTextObjectInfo} or <tt>null</tt> of not available (binary signature)
- */
- public List getNonTextualObjects();
-
- /**
- * Returns if pdf has non textual objects (only for textual signature available).
- * @return
- */
- public boolean hasNonTextualObjects();
-}
diff --git a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/sign/SignatureDetailInformation.java b/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/sign/SignatureDetailInformation.java
deleted file mode 100644
index 11b063ed..00000000
--- a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/sign/SignatureDetailInformation.java
+++ /dev/null
@@ -1,171 +0,0 @@
-/*******************************************************************************
- * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- ******************************************************************************/
-/**
- * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- */
-package at.gv.egiz.pdfas.api.sign;
-
-import java.security.cert.X509Certificate;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-
-import at.gv.egiz.pdfas.api.analyze.NonTextObjectInfo;
-import at.gv.egiz.pdfas.api.io.DataSource;
-import at.gv.egiz.pdfas.api.sign.pos.SignaturePosition;
-
-/**
- * A container for all relevant signature related data.
- *
- * @author exthex
- */
-@Deprecated
-public interface SignatureDetailInformation
-{
- public DataSource getSignatureData();
-
- /**
- * Returns the position where the signature table was actually placed.
- *
- * @return Returns the position where the signature table was actually placed.
- */
- public SignaturePosition getSignaturePosition();
-
- /**
- * Returns a list<{@link NonTextObjectInfo} of non textual objects in the pdf document.
- * Only available for textual signatures. Show this to the user who signed the textual content only!
- * @return List<{@link NonTextObjectInfo} or <tt>null</tt> of not available (binary signature)
- */
- public List getNonTextualObjects();
-
- /**
- * Returns the date of signature extracted from the signature.
- * @return
- */
- public Date getSignDate();
-
- /**
- * Get the name of the issuer.
- * Short for {@link SignatureDetailInformation#getX509Certificate()#getIssuer()#getName()}
- *
- * @return
- */
- public String getIssuer();
-
- /**
- * Short for {@link SignatureDetailInformation#getX509Certificate()#getIssuerDNMap()}
- *
- * @return
- */
- public Map getIssuerDNMap();
-
- /**
- * Short for {@link SignatureDetailInformation#getX509Certificate()#getSubjectName()#toString()}
- *
- * @return
- */
- public String getSubjectName();
-
- /**
- * Short for {@link SignatureDetailInformation#getX509Certificate()#getSerialNumber()#toString()}
- *
- * @return
- */
- public String getSerialNumber();
-
- /**
- * Get the algorithm the signature was created with.
- * @return
- */
- public String getSigAlgorithm();
-
- /**
- *
- * @return the signature id.
- */
- public String getSigID();
-
- /**
- *
- * @return the signature method.
- */
- public String getSigKZ();
-
- /**
- *
- * @return the signature value.
- */
- public String getSignatureValue();
-
- /**
- *
- * @return the signature time stamp.
- */
- public String getSigTimeStamp();
-
- /**
- * Short for {@link SignatureDetailInformation#getX509Certificate()#getSubjectDNMap()}
- *
- * @return
- */
- public Map getSubjectDNMap();
-
- /**
- *
- * @return the certificate used for signature.
- */
- public X509Certificate getX509Certificate();
-
- /**
- *
- * @return true if the signature is textual, false otherwise.
- */
- public boolean isTextual();
-
- /**
- *
- * @return true if this signature is binary, false otherwise.
- */
- public boolean isBinary();
-}
diff --git a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/sign/pos/SignaturePosition.java b/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/sign/pos/SignaturePosition.java
deleted file mode 100644
index ce73039f..00000000
--- a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/sign/pos/SignaturePosition.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- ******************************************************************************/
-/**
- * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- */
-package at.gv.egiz.pdfas.api.sign.pos;
-
-/**
- * Holds the actual, absolute signature position where a signature was placed.
- *
- * <p>
- * This is usually returned after signing.
- * </p>
- *
- * @author wprinz
- */
-@Deprecated
-public interface SignaturePosition
-{
- /**
- * Returns the page on which the signature was placed.
- *
- * @return Returns the page on which the signature was placed.
- */
- public int getPage();
-
- /**
- * Returns the x position.
- *
- * @return Returns the x position.
- */
- public float getX();
-
- /**
- * Returns the y position.
- *
- * @return Returns the y position.
- */
- public float getY();
-
- /**
- * Returns the width of the signature.
- *
- * @return Returns the width of the signature.
- */
- public float getWidth();
-
- /**
- * Returns the height of the signature.
- *
- * @return Returns the height of the signature.
- */
- public float getHeight();
-
-}
diff --git a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/sign/pos/SignaturePositioning.java b/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/sign/pos/SignaturePositioning.java
deleted file mode 100644
index ab5bb652..00000000
--- a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/sign/pos/SignaturePositioning.java
+++ /dev/null
@@ -1,360 +0,0 @@
-/*******************************************************************************
- * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- ******************************************************************************/
-/**
- * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- */
-package at.gv.egiz.pdfas.api.sign.pos;
-
-import java.io.Serializable;
-import java.util.StringTokenizer;
-
-import at.gv.egiz.pdfas.api.exceptions.ErrorCode;
-import at.gv.egiz.pdfas.api.exceptions.PdfAsException;
-import at.gv.egiz.pdfas.api.sign.pos.axis.AbsoluteAxisAlgorithm;
-import at.gv.egiz.pdfas.api.sign.pos.axis.AutoAxisAlgorithm;
-import at.gv.egiz.pdfas.api.sign.pos.axis.AxisAlgorithm;
-import at.gv.egiz.pdfas.api.sign.pos.page.AbsolutePageAlgorithm;
-import at.gv.egiz.pdfas.api.sign.pos.page.AutoPageAlgorithm;
-import at.gv.egiz.pdfas.api.sign.pos.page.NewPageAlgorithm;
-import at.gv.egiz.pdfas.api.sign.pos.page.PageAlgorithm;
-
-/**
- * Defines how the signature positioning is to be performed.
- *
- * <p>
- * This positioning allows to select the location where the signature block is
- * placed in the document.
- * </p>
- *
- * @author wprinz
- */
-public class SignaturePositioning implements Serializable
-{
-
- /**
- *
- */
- private static final long serialVersionUID = 1L;
-
- /**
- * The x axis algorithm.
- *
- * <p>
- * May be {@link AutoAxisAlgorithm} or {@link AbsoluteAxisAlgorithm}
- * </p>
- */
- protected AxisAlgorithm xAlgorithm = new AutoAxisAlgorithm();
-
- /**
- * The y axis algorithm.
- *
- * <p>
- * May be {@link AutoAxisAlgorithm} or {@link AbsoluteAxisAlgorithm}
- * </p>
- */
- protected AxisAlgorithm yAlgorithm = new AutoAxisAlgorithm();
-
- /**
- * The width algorithm.
- *
- * <p>
- * May be {@link AutoAxisAlgorithm} or {@link AbsoluteAxisAlgorithm}
- * </p>
- */
- protected AxisAlgorithm widthAlgorithm = new AutoAxisAlgorithm();
-
- /**
- * The page algorithm.
- *
- * <p>
- * May be {@link AutoPageAlgorithm}, {@link AbsolutePageAlgorithm} or
- * {@link NewPageAlgorithm}
- * </p>
- */
- protected PageAlgorithm pageAlgorithm = new AutoPageAlgorithm();
-
- /**
- * Provides the position of the footline.
- *
- * <p>
- * Only used if the pageAlgorithm is {@link AutoPageAlgorithm} and the
- * yAlgorithm is {@link AutoAxisAlgorithm}
- * </p>
- */
- protected float footerLine = 0.0f;
-
- protected void checkAxisAlgorithm(AxisAlgorithm algorithm)
- {
- if (algorithm == null)
- {
- throw new IllegalArgumentException("The algorithm must not be null.");
- }
- if (!(algorithm instanceof AutoAxisAlgorithm) && !(algorithm instanceof AbsoluteAxisAlgorithm))
- {
- throw new IllegalArgumentException("The algorithm must be either Auto or Absolute.");
- }
- }
-
- protected void checkPageAlgorithm(PageAlgorithm algorithm)
- {
- if (algorithm == null)
- {
- throw new IllegalArgumentException("The algorithm must not be null.");
- }
- if (!(algorithm instanceof AutoPageAlgorithm) && !(algorithm instanceof AbsolutePageAlgorithm) && !(algorithm instanceof NewPageAlgorithm))
- {
- throw new IllegalArgumentException("The algorithm must be either Auto or Absolute.");
- }
-
- }
-
- /**
- * @return the xAlgorithm
- */
- public AxisAlgorithm getXAlgorithm()
- {
- return this.xAlgorithm;
- }
-
- /**
- * @param algorithm
- * the xAlgorithm to set
- */
- public void setXAlgorithm(AxisAlgorithm algorithm)
- {
- checkAxisAlgorithm(algorithm);
- xAlgorithm = algorithm;
- }
-
- /**
- * @return the yAlgorithm
- */
- public AxisAlgorithm getYAlgorithm()
- {
- return this.yAlgorithm;
- }
-
- /**
- * @param algorithm
- * the yAlgorithm to set
- */
- public void setYAlgorithm(AxisAlgorithm algorithm)
- {
- checkAxisAlgorithm(algorithm);
-
- yAlgorithm = algorithm;
- }
-
- /**
- * @return the widthAlgorithm
- */
- public AxisAlgorithm getWidthAlgorithm()
- {
- return this.widthAlgorithm;
- }
-
- /**
- * @param widthAlgorithm
- * the widthAlgorithm to set
- */
- public void setWidthAlgorithm(AxisAlgorithm widthAlgorithm)
- {
- checkAxisAlgorithm(widthAlgorithm);
-
- this.widthAlgorithm = widthAlgorithm;
- }
-
- /**
- * @return the pageAlgorithm
- */
- public PageAlgorithm getPageAlgorithm()
- {
- return this.pageAlgorithm;
- }
-
- /**
- * @param pageAlgorithm
- * the pageAlgorithm to set
- */
- public void setPageAlgorithm(PageAlgorithm pageAlgorithm)
- {
- checkPageAlgorithm(pageAlgorithm);
- this.pageAlgorithm = pageAlgorithm;
- }
-
- /**
- * @return the footerLine
- */
- public float getFooterLine()
- {
- return this.footerLine;
- }
-
- /**
- * @param footerLine
- * the footerLine to set
- */
- public void setFooterLine(float footerLine)
- {
- this.footerLine = footerLine;
- }
-
- public SignaturePositioning() {
- }
-
- public SignaturePositioning(String position) throws PdfAsException {
- if (position != null) {
- StringTokenizer tokenizer = new StringTokenizer(position, ";");
- while (tokenizer.hasMoreTokens()) {
- String token = tokenizer.nextToken().replaceAll(" ", "");
- String[] sToken = token.split(":");
- if (sToken == null || sToken.length != 2 || sToken[0].length() != 1) {
- throw new PdfAsException(ErrorCode.INVALID_SIGNATURE_POSITION, "Invalid signature position element: " + token);
- }
- char cmd = sToken[0].toLowerCase().charAt(0);
- String value = sToken[1];
- switch (cmd) {
- case 'x':
- if ("auto".equalsIgnoreCase(value)) {
- this.setXAlgorithm(new AutoAxisAlgorithm());
- } else {
- try {
- this.setXAlgorithm(new AbsoluteAxisAlgorithm(Float.parseFloat(value)));
- } catch (NumberFormatException e) {
- throw new PdfAsException(ErrorCode.INVALID_SIGNATURE_POSITION, "Invalid signature position element: " + token);
- }
- }
- break;
- case 'y':
- if ("auto".equalsIgnoreCase(value)) {
- this.setYAlgorithm(new AutoAxisAlgorithm());
- } else {
- try {
- this.setYAlgorithm(new AbsoluteAxisAlgorithm(Float.parseFloat(value)));
- } catch (NumberFormatException e) {
- throw new PdfAsException(ErrorCode.INVALID_SIGNATURE_POSITION, "Invalid signature position element: " + token);
- }
- }
- break;
- case 'w':
- if ("auto".equalsIgnoreCase(value)) {
- this.setWidthAlgorithm(new AutoAxisAlgorithm());
- } else {
- try {
- this.setWidthAlgorithm(new AbsoluteAxisAlgorithm(Float.parseFloat(value)));
- } catch (NumberFormatException e) {
- throw new PdfAsException(ErrorCode.INVALID_SIGNATURE_POSITION, "Invalid signature position element: " + token);
- }
- }
- break;
- case 'p':
- if ("auto".equalsIgnoreCase(value)) {
- this.setPageAlgorithm(new AutoPageAlgorithm());
- } else if ("new".equalsIgnoreCase(value)) {
- this.setPageAlgorithm(new NewPageAlgorithm());
- } else {
- try {
- this.setPageAlgorithm(new AbsolutePageAlgorithm(Integer.parseInt(value)));
- } catch (NumberFormatException e) {
- throw new PdfAsException(ErrorCode.INVALID_SIGNATURE_POSITION, "Invalid signature position element: " + token);
- }
- }
- break;
- case 'f':
- try {
- this.setFooterLine(Float.parseFloat(value));
- } catch (NumberFormatException e) {
- throw new PdfAsException(ErrorCode.INVALID_SIGNATURE_POSITION, "Invalid signature position element: " + token);
- }
- break;
- default:
- throw new PdfAsException(ErrorCode.INVALID_SIGNATURE_POSITION, "Invalid signature position element: " + token);
- }
- }
- }
- }
-
- public String getPositionString() {
- StringBuilder sb = new StringBuilder();
- AxisAlgorithm xAlgo = getXAlgorithm();
-
- if(xAlgo instanceof AutoAxisAlgorithm) {
- sb.append("x:auto;");
- } else if(xAlgo instanceof AbsoluteAxisAlgorithm) {
- sb.append("x:" + ((AbsoluteAxisAlgorithm)xAlgo).getAbsoluteValue() + ";");
- }
-
- AxisAlgorithm yAlgo = getXAlgorithm();
-
- if(yAlgo instanceof AutoAxisAlgorithm) {
- sb.append("y:auto;");
- } else if(yAlgo instanceof AbsoluteAxisAlgorithm) {
- sb.append("y:" + ((AbsoluteAxisAlgorithm)yAlgo).getAbsoluteValue() + ";");
- }
-
- AxisAlgorithm wAlgo = getWidthAlgorithm();
-
- if(wAlgo instanceof AutoAxisAlgorithm) {
- sb.append("w:auto;");
- } else if(wAlgo instanceof AbsoluteAxisAlgorithm) {
- sb.append("w:" + ((AbsoluteAxisAlgorithm)wAlgo).getAbsoluteValue() + ";");
- }
-
- PageAlgorithm pAlgo = getPageAlgorithm();
-
- if(pAlgo instanceof AutoPageAlgorithm) {
- sb.append("p:auto;");
- } else if(pAlgo instanceof NewPageAlgorithm) {
- sb.append("p:new;");
- }
-
- float footerLine = getFooterLine();
-
- sb.append("f:" + + footerLine);
-
- return sb.toString();
- }
-
-
-}
diff --git a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/sign/pos/axis/AbsoluteAxisAlgorithm.java b/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/sign/pos/axis/AbsoluteAxisAlgorithm.java
deleted file mode 100644
index 7d550ddc..00000000
--- a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/sign/pos/axis/AbsoluteAxisAlgorithm.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- ******************************************************************************/
-/**
- * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- */
-package at.gv.egiz.pdfas.api.sign.pos.axis;
-
-import java.io.Serializable;
-
-/**
- * An absolute positioned element.
- * @author wprinz
- */
-public class AbsoluteAxisAlgorithm extends AxisAlgorithm implements Serializable
-{
-
- /**
- *
- */
- private static final long serialVersionUID = 1L;
-
- /**
- * The absolute positioning value on the axis.
- */
- protected float absoluteValue = 0.0f;
-
- /**
- * Constructor.
- * @param absoluteValue The absolute positioning value on the axis.
- */
- public AbsoluteAxisAlgorithm (float absoluteValue)
- {
- this.absoluteValue = absoluteValue;
- }
-
- /**
- * Returns absolute positioning value on the axis.
- * @return the absoluteValue Returns absolute positioning value on the axis.
- */
- public float getAbsoluteValue()
- {
- return this.absoluteValue;
- }
-}
diff --git a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/sign/pos/axis/AutoAxisAlgorithm.java b/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/sign/pos/axis/AutoAxisAlgorithm.java
deleted file mode 100644
index e0fa101d..00000000
--- a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/sign/pos/axis/AutoAxisAlgorithm.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- ******************************************************************************/
-/**
- * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- */
-package at.gv.egiz.pdfas.api.sign.pos.axis;
-
-import java.io.Serializable;
-
-/**
- * Auto positioning for this element.
- *
- * @author wprinz
- */
-public class AutoAxisAlgorithm extends AxisAlgorithm implements Serializable
-{
-
- /**
- *
- */
- private static final long serialVersionUID = 1L;
-// empty
-}
diff --git a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/sign/pos/axis/AxisAlgorithm.java b/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/sign/pos/axis/AxisAlgorithm.java
deleted file mode 100644
index c43bca89..00000000
--- a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/sign/pos/axis/AxisAlgorithm.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- ******************************************************************************/
-/**
- * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- */
-package at.gv.egiz.pdfas.api.sign.pos.axis;
-
-import java.io.Serializable;
-
-/**
- * Determines how a certain position is chosen on the axis (x, y, width).
- *
- * @author wprinz
- */
-public abstract class AxisAlgorithm implements Serializable
-{
-
- /**
- *
- */
- private static final long serialVersionUID = 1L;
-// base class
-}
diff --git a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/sign/pos/axis/package-info.java b/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/sign/pos/axis/package-info.java
deleted file mode 100644
index 8703b27d..00000000
--- a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/sign/pos/axis/package-info.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- ******************************************************************************/
-/**
- *
- */
-/**
- * @author afitzek
- *
- */
-package at.gv.egiz.pdfas.api.sign.pos.axis;
diff --git a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/sign/pos/package-info.java b/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/sign/pos/package-info.java
deleted file mode 100644
index 1dbd22eb..00000000
--- a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/sign/pos/package-info.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- ******************************************************************************/
-/**
- *
- */
-/**
- * @author afitzek
- *
- */
-package at.gv.egiz.pdfas.api.sign.pos;
diff --git a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/sign/pos/page/AbsolutePageAlgorithm.java b/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/sign/pos/page/AbsolutePageAlgorithm.java
deleted file mode 100644
index ed17954f..00000000
--- a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/sign/pos/page/AbsolutePageAlgorithm.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- ******************************************************************************/
-/**
- * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- */
-package at.gv.egiz.pdfas.api.sign.pos.page;
-
-import java.io.Serializable;
-
-/**
- * The page is selected absolutely by giving the page number directly.
- *
- * @author wprinz
- */
-public class AbsolutePageAlgorithm extends PageAlgorithm implements Serializable
-{
- /**
- *
- */
- private static final long serialVersionUID = 1L;
-
- /**
- * The page.
- */
- protected int page = -1;
-
- /**
- * Constructor.
- *
- * @param page
- * The page.
- */
- public AbsolutePageAlgorithm(int page)
- {
- this.page = page;
- }
-
- /**
- * @return the page
- */
- public int getPage()
- {
- return this.page;
- }
-
-}
diff --git a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/sign/pos/page/AutoPageAlgorithm.java b/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/sign/pos/page/AutoPageAlgorithm.java
deleted file mode 100644
index 54365613..00000000
--- a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/sign/pos/page/AutoPageAlgorithm.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- ******************************************************************************/
-/**
- * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- */
-package at.gv.egiz.pdfas.api.sign.pos.page;
-
-import java.io.Serializable;
-
-/**
- * The page for placing the signature is selected automatically.
- *
- * <p>
- * The algorithm first tries to place the signature on the free space of the
- * last page (considering the footer). If there is not enough space on the last
- * page, a new page is appended and the signature is placed there.
- * </p>
- *
- * @author wprinz
- */
-public class AutoPageAlgorithm extends PageAlgorithm implements Serializable
-{
-
- /**
- *
- */
- private static final long serialVersionUID = 1L;
-// empty
-}
diff --git a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/sign/pos/page/NewPageAlgorithm.java b/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/sign/pos/page/NewPageAlgorithm.java
deleted file mode 100644
index e3f4b9cc..00000000
--- a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/sign/pos/page/NewPageAlgorithm.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- ******************************************************************************/
-/**
- * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- */
-package at.gv.egiz.pdfas.api.sign.pos.page;
-
-import java.io.Serializable;
-
-/**
- * Places the signature on a new Page.
- *
- * @author wprinz
- */
-public class NewPageAlgorithm extends PageAlgorithm implements Serializable
-{
-
- /**
- *
- */
- private static final long serialVersionUID = 1L;
- // empty block
-}
diff --git a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/sign/pos/page/PageAlgorithm.java b/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/sign/pos/page/PageAlgorithm.java
deleted file mode 100644
index 64840d90..00000000
--- a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/sign/pos/page/PageAlgorithm.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- ******************************************************************************/
-/**
- * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- */
-package at.gv.egiz.pdfas.api.sign.pos.page;
-
-import java.io.Serializable;
-
-/**
- * Determines how the page on which the signature is to be placed is selected.
- *
- * @author wprinz
- */
-public abstract class PageAlgorithm implements Serializable
-{
-
- /**
- *
- */
- private static final long serialVersionUID = 1L;
- // empty
-}
diff --git a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/sign/pos/page/package-info.java b/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/sign/pos/page/package-info.java
deleted file mode 100644
index 9ac906ec..00000000
--- a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/sign/pos/page/package-info.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- ******************************************************************************/
-/**
- *
- */
-/**
- * @author afitzek
- *
- */
-package at.gv.egiz.pdfas.api.sign.pos.page;
diff --git a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/timestamp/DummyTimeStamper.java b/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/timestamp/DummyTimeStamper.java
deleted file mode 100644
index ffad7790..00000000
--- a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/timestamp/DummyTimeStamper.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- ******************************************************************************/
-/**
- * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- */
-package at.gv.egiz.pdfas.api.timestamp;
-
-import java.text.SimpleDateFormat;
-import java.util.Date;
-
-import org.apache.commons.codec.binary.Base64;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-/**
- * Dummy/test implementation of the timestamper. Logs and stores test-timestamp for assertion {@link #getLastTimeStamp()}
- *
- * @author dferbas
- *
- */
-public class DummyTimeStamper implements TimeStamper {
- private static Log log = LogFactory.getLog(DummyTimeStamper.class);
-
- private String lastTimeStamp;
-
- public String applyTimeStamp(String b64SignatureValue) {
- log.debug("Applying dummy timestamp on signature value: " + b64SignatureValue);
- SimpleDateFormat formater = new SimpleDateFormat("yyyy-MM-dd'T'hh:mm:ss.SSSZ");
- String ts = formater.format(new Date());
- log.debug("Timestamp: " + ts);
- ts = new String(Base64.encodeBase64(ts.getBytes()));
- log.debug("Timestamp value (base64): " + ts);
- this.lastTimeStamp = ts;
- return ts;
- }
-
- public String getLastTimeStamp() {
- return this.lastTimeStamp;
- }
-
- public void setLastTimeStamp(String lastTimeStamp) {
- this.lastTimeStamp = lastTimeStamp;
- }
-
-}
diff --git a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/timestamp/TimeStamper.java b/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/timestamp/TimeStamper.java
deleted file mode 100644
index b8cb3974..00000000
--- a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/timestamp/TimeStamper.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- ******************************************************************************/
-/**
- * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- */
-package at.gv.egiz.pdfas.api.timestamp;
-
-/**
- * Interface for timestamper implementations/handlers
- *
- * @author dferbas
- *
- */
-public interface TimeStamper {
-
- /**
- * Implement timestamp in this method.
- * @param b64SignatureValue signature value, base64 encoded
- * @return timestamp to be embedded in egiz dictionary base64 encoded (following RFC3161).
- */
- public String applyTimeStamp(String b64SignatureValue);
-
-}
diff --git a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/timestamp/package-info.java b/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/timestamp/package-info.java
deleted file mode 100644
index 32c3fe67..00000000
--- a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/timestamp/package-info.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- ******************************************************************************/
-/**
- *
- */
-/**
- * @author afitzek
- *
- */
-package at.gv.egiz.pdfas.api.timestamp;
diff --git a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/verify/SignatureCheck.java b/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/verify/SignatureCheck.java
deleted file mode 100644
index 2b38819a..00000000
--- a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/verify/SignatureCheck.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- ******************************************************************************/
-/**
- * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- */
-package at.gv.egiz.pdfas.api.verify;
-
-/**
- * The result of a signature check performed by a verification device.
- *
- * @see VerifyResult
- *
- * @author wprinz
- */
-public interface SignatureCheck
-{
- /**
- * Returns the response code of the check.
- *
- * @return Returns the response code of the check.
- */
- public int getCode();
-
- /**
- * Returns the textual response message of the check (corresponding to the
- * code).
- *
- * @return Returns the textual response message of the check (corresponding to
- * the code).
- */
- public String getMessage();
-
-}
diff --git a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/verify/VerifyAfterAnalysisParameters.java b/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/verify/VerifyAfterAnalysisParameters.java
deleted file mode 100644
index 62b7e7e4..00000000
--- a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/verify/VerifyAfterAnalysisParameters.java
+++ /dev/null
@@ -1,189 +0,0 @@
-/*******************************************************************************
- * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- ******************************************************************************/
-/**
- * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- */
-package at.gv.egiz.pdfas.api.verify;
-
-import java.util.Date;
-
-import at.gv.egiz.pdfas.api.analyze.AnalyzeResult;
-import at.gv.egiz.pdfas.api.commons.Constants;
-
-/**
- * Parameter object that holds the verify after analysis parameters.
- *
- * @author wprinz
- */
-public class VerifyAfterAnalysisParameters
-{
-
- /**
- * The list of signatures to be verified.
- */
- protected AnalyzeResult analyzeResult = null;
-
- /**
- * The signature device to perform the actual signature.
- *
- * <p>
- * May be {@link Constants#SIGNATURE_DEVICE_MOA} or
- * {@link Constants#SIGNATURE_DEVICE_BKU}.
- * </p>
- */
- protected String signatureDevice = Constants.SIGNATURE_DEVICE_MOA;
-
- /**
- * Allows to pass a VerificationTime to the signature device.
- */
- protected Date verificationTime = null;
-
- /**
- * Tells the signature device (e.g. MOA) to return the signature hash input
- * data (which is the probably transformed signed data).
- *
- * <p>
- * Note that this forces MOA to return the potentially large signature data to
- * be returned in the result XML, which may result in very bad performance.
- * </p>
- */
- protected boolean returnHashInputData = false;
-
- /**
- * The index of the signature to be verified. A value < 0 indicates to verify all signatures.
- */
- protected int verifySignatureIndex = -1;
-
- /**
- * @return the analyzeResult
- */
- public AnalyzeResult getAnalyzeResult()
- {
- return this.analyzeResult;
- }
-
- /**
- * @param analyzeResult
- * the analyzeResult to set
- */
- public void setAnalyzeResult(AnalyzeResult analyzeResult)
- {
- this.analyzeResult = analyzeResult;
- }
-
- /**
- * @return the signatureDevice
- */
- public String getSignatureDevice()
- {
- return this.signatureDevice;
- }
-
- /**
- * @param signatureDevice
- * the signatureDevice to set
- */
- public void setSignatureDevice(String signatureDevice)
- {
- this.signatureDevice = signatureDevice;
- }
-
- /**
- * @return the verificationTime
- */
- public Date getVerificationTime()
- {
- return this.verificationTime;
- }
-
- /**
- * @param verificationTime the verificationTime to set
- */
- public void setVerificationTime(Date verificationTime)
- {
- this.verificationTime = verificationTime;
- }
-
- /**
- * @return the returnHashInputData
- */
- public boolean isReturnHashInputData()
- {
- return this.returnHashInputData;
- }
-
- /**
- * @param returnHashInputData
- * the returnHashInputData to set
- */
- public void setReturnHashInputData(boolean returnHashInputData)
- {
- this.returnHashInputData = returnHashInputData;
- }
-
- /**
- * Set the index of the signature to verify (index starting at 0). A value < 0 indicates to verify all values.
- * @param verify_which
- */
- public void setVerifySignatureIndex(int verify_which) {
- this.verifySignatureIndex = verify_which;
- }
-
- public int getVerifySignatureIndex() {
- return verifySignatureIndex;
- }
-
- /**
- * @see VerifyParameters#setSuppressVerifyExceptions(boolean)
- * @param suppress
- */
- public void setSuppressVerifyExceptions(boolean suppress) {
- VerifyParameters.setSuppressVerify(suppress);
- }
-
- public boolean isSuppressVerifyExceptions() {
- return VerifyParameters.isSuppressVerifyExceptions();
- }
-
-}
diff --git a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/verify/VerifyAfterReconstructXMLDsigParameters.java b/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/verify/VerifyAfterReconstructXMLDsigParameters.java
deleted file mode 100644
index d5b04e43..00000000
--- a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/verify/VerifyAfterReconstructXMLDsigParameters.java
+++ /dev/null
@@ -1,192 +0,0 @@
-/*******************************************************************************
- * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- ******************************************************************************/
-/**
- * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- */
-package at.gv.egiz.pdfas.api.verify;
-
-import java.util.Date;
-
-import at.gv.egiz.pdfas.api.commons.Constants;
-import at.gv.egiz.pdfas.api.xmldsig.ReconstructXMLDsigResult;
-
-/**
- * This class represents the parameters needed for verify after reconstructXMLDsig has already been executed.
- *
- * @author exthex
- *
- */
-public class VerifyAfterReconstructXMLDsigParameters {
-
- /**
- * The list of signatures to be verified.
- */
- protected ReconstructXMLDsigResult reconstructXMLDsigResult = null;
-
- /**
- * The signature device to perform the actual signature.
- *
- * <p>
- * May be {@link Constants#SIGNATURE_DEVICE_MOA} or
- * {@link Constants#SIGNATURE_DEVICE_BKU}.
- * </p>
- */
- protected String signatureDevice;
-
- /**
- * Allows to pass a VerificationTime to the signature device.
- */
- protected Date verificationTime = null;
-
- /**
- * Tells the signature device (e.g. MOA) to return the signature hash input
- * data (which is the probably transformed signed data).
- *
- * <p>
- * Note that this forces MOA to return the potentially large signature data to
- * be returned in the result XML, which may result in very bad performance.
- * </p>
- */
- protected boolean returnHashInputData = false;
-
- /**
- * The index of the signature to be verified. A value < 0 indicates to verify all signatures.
- */
- protected int verifySignatureIndex = -1;
-
- /**
- * @return the reconstructXMLDsigResult
- */
- public ReconstructXMLDsigResult getReconstructXMLDsigResult()
- {
- return this.reconstructXMLDsigResult;
- }
-
- /**
- * @param reconstructXMLDsigResult
- * the reconstructXMLDsigResult to set
- */
- public void setReconstructXMLDsigResult(ReconstructXMLDsigResult reconstructXMLDsigResult)
- {
- this.reconstructXMLDsigResult = reconstructXMLDsigResult;
- }
-
- /**
- * @return the signatureDevice
- */
- public String getSignatureDevice()
- {
- return this.signatureDevice;
- }
-
- /**
- * Set the signature device to use for verification.
- * If none is set here, the signature device that was used for reconstructXMLDsig will be used.
- *
- * @param signatureDevice
- * the signatureDevice to set
- */
- public void setSignatureDevice(String signatureDevice)
- {
- this.signatureDevice = signatureDevice;
- }
-
- /**
- * @return the verificationTime
- */
- public Date getVerificationTime()
- {
- return this.verificationTime;
- }
-
- /**
- * @param verificationTime the verificationTime to set
- */
- public void setVerificationTime(Date verificationTime)
- {
- this.verificationTime = verificationTime;
- }
-
- /**
- * @return the returnHashInputData
- */
- public boolean isReturnHashInputData()
- {
- return this.returnHashInputData;
- }
-
- /**
- * @param returnHashInputData
- * the returnHashInputData to set
- */
- public void setReturnHashInputData(boolean returnHashInputData)
- {
- this.returnHashInputData = returnHashInputData;
- }
-
- /**
- * Set the index of the signature to verify (index starting at 0). A value < 0 indicates to verify all values.
- * @param verify_which
- */
- public void setVerifySignatureIndex(int verify_which) {
- this.verifySignatureIndex = verify_which;
- }
-
- public int getVerifySignatureIndex() {
- return verifySignatureIndex;
- }
-
- /**
- * @see VerifyParameters#setSuppressVerifyExceptions(boolean)
- * @param suppress
- */
- public void setSuppressVerifyExceptions(boolean suppress) {
- VerifyParameters.setSuppressVerify(suppress);
- }
-
- public boolean isSuppressVerifyExceptions() {
- return VerifyParameters.isSuppressVerifyExceptions();
- }
-
-}
diff --git a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/verify/VerifyParameters.java b/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/verify/VerifyParameters.java
deleted file mode 100644
index 56e11ca1..00000000
--- a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/verify/VerifyParameters.java
+++ /dev/null
@@ -1,272 +0,0 @@
-/*******************************************************************************
- * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- ******************************************************************************/
-/**
- * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- */
-package at.gv.egiz.pdfas.api.verify;
-
-import java.util.Date;
-
-import at.gv.egiz.pdfas.api.commons.Constants;
-import at.gv.egiz.pdfas.api.io.DataSource;
-
-/**
- * Parameter object that holds the verify parameters.
- *
- * @author wprinz
- */
-public class VerifyParameters
-{
- // This would be a perfect point for multiple inheritance in Java.
- // VerifyParameters extends AnalyzeParameters, VerifyAfterAnalysisParameters
- // Then a lot of code could be easily reused in the PdfAsObject's check*Parameters methods.
-
- /**
- * The document to be verified.
- */
- protected DataSource document = null;
-
- /**
- * The signature device to perform the actual signature.
- *
- * <p>
- * May be {@link Constants#SIGNATURE_DEVICE_MOA} or
- * {@link Constants#SIGNATURE_DEVICE_BKU}.
- * </p>
- */
- protected String signatureDevice = Constants.SIGNATURE_DEVICE_MOA;
-
- /**
- * The mode of operation how the document is analyzed.
- *
- * <p>
- * May be {@link Constants#VERIFY_MODE_BINARY_ONLY} to check the document for
- * binary signatures only (very fast). Or may be
- * {@link Constants#VERIFY_MODE_SEMI_CONSERVATIVE} to perform a semi
- * conservative (optimized) text and binary verification (slow). Or may be
- * {@link Constants#VERIFY_MODE_FULL_CONSERVATIVE} to perform a full
- * conservative text and binary verification (very slow).
- * </p>
- */
- protected String verifyMode = Constants.VERIFY_MODE_FULL_CONSERVATIVE;
-
- /**
- * The (zero based) index of the signature to verify.
- *
- * <p>
- * This allows to verify only one found signature instead of all. {@link Constants#VERIFY_ALL} means to
- * verify all found signatures.
- * </p>
- */
- protected int signatureToVerify = Constants.VERIFY_ALL;
-
- /**
- * Allows to pass a VerificationTime to the verification device.
- *
- * <p>
- * Note that the actual usage of this parameter depends on the verification device.
- * </p>
- */
- protected Date verificationTime = null;
-
- /**
- * Tells the signature device (e.g. MOA) to return the signature hash input
- * data (which is the probably transformed signed data).
- *
- * <p>
- * Note that this forces MOA to return the potentially large signature data to
- * be returned in the result XML, which may result in very bad performance.
- * </p>
- */
- protected boolean returnHashInputData = false;
-
- protected boolean returnNonTextualObjects = false;
-
- private static ThreadLocal suppressVerifyExceptions = new ThreadLocal();
-
-
- public VerifyParameters() {
- suppressVerifyExceptions.set(Boolean.FALSE);
- }
- /**
- * @return the document
- */
- public DataSource getDocument()
- {
- return this.document;
- }
-
- /**
- * @param document
- * the document to set
- */
- public void setDocument(DataSource document)
- {
- this.document = document;
- }
-
- /**
- * @return the signatureDevice
- */
- public String getSignatureDevice()
- {
- return this.signatureDevice;
- }
-
- /**
- * @param signatureDevice
- * the signatureDevice to set
- */
- public void setSignatureDevice(String signatureDevice)
- {
- this.signatureDevice = signatureDevice;
- }
-
- /**
- * @return the verifyMode
- */
- public String getVerifyMode()
- {
- return this.verifyMode;
- }
-
- /**
- * @param verifyMode
- * the verifyMode to set
- */
- public void setVerifyMode(String verifyMode)
- {
- this.verifyMode = verifyMode;
- }
-
- /**
- * @return the signatureToVerify
- */
- public int getSignatureToVerify()
- {
- return this.signatureToVerify;
- }
-
- /**
- * @param signatureToVerify
- * the signatureToVerify to set
- */
- public void setSignatureToVerify(int signatureToVerify)
- {
- this.signatureToVerify = signatureToVerify;
- }
-
- /**
- * @return the verificationTime
- */
- public Date getVerificationTime()
- {
- return this.verificationTime;
- }
-
- /**
- * @param verificationTime
- * the verificationTime to set
- */
- public void setVerificationTime(Date verificationTime)
- {
- this.verificationTime = verificationTime;
- }
-
- /**
- * @return the returnHashInputData
- */
- public boolean isReturnHashInputData()
- {
- return this.returnHashInputData;
- }
-
- /**
- * @param returnHashInputData
- * the returnHashInputData to set
- */
- public void setReturnHashInputData(boolean returnHashInputData)
- {
- this.returnHashInputData = returnHashInputData;
- }
-
- public boolean isReturnNonTextualObjects() {
- return this.returnNonTextualObjects;
- }
-
- /**
- * Tells if non text object of the signed pdf should be extracted and returned.
- * One should show this to the user, especially in case of textual signature.
- * Defaults to <tt>false</tt>
- *
- * @param returnNonTextualObjects
- */
- public void setReturnNonTextualObjects(boolean returnNonTextualObjects) {
- this.returnNonTextualObjects = returnNonTextualObjects;
- }
-
- /**
- * Set if verify exceptions (because of unknown signatures) are suppressed or not (default).
- * Suppressing can be helpful for multiple signatures if you want to verify the working rest. Unsupported
- * Signatures are reported without throwing an exception via {@link VerifyResult#getVerificationException()}
- * @param suppress
- */
- public void setSuppressVerifyExceptions(boolean suppress) {
- setSuppressVerify(suppress);
- }
-
- /**
- * See {@link #setSuppressVerifyExceptions(boolean)}
- * @return
- */
- public static boolean isSuppressVerifyExceptions() {
- if (suppressVerifyExceptions.get() == null) return false;
- return ((Boolean) suppressVerifyExceptions.get()).booleanValue();
- }
-
- static void setSuppressVerify(boolean suppress) {
- suppressVerifyExceptions.set(new Boolean(suppress));
- }
-
-}
diff --git a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/verify/VerifyResult.java b/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/verify/VerifyResult.java
deleted file mode 100644
index ca8ee7c4..00000000
--- a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/verify/VerifyResult.java
+++ /dev/null
@@ -1,202 +0,0 @@
-/*******************************************************************************
- * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- ******************************************************************************/
-/**
- * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- */
-package at.gv.egiz.pdfas.api.verify;
-
-import java.util.Date;
-import java.util.List;
-
-import at.gv.egiz.pdfas.api.PdfAs;
-import at.gv.egiz.pdfas.api.analyze.NonTextObjectInfo;
-import at.gv.egiz.pdfas.api.commons.SignatureInformation;
-import at.gv.egiz.pdfas.api.exceptions.PdfAsException;
-import at.gv.egiz.pdfas.api.xmldsig.XMLDsigData;
-
-/**
- * Encapsulates the data of a verification of one signature.
- *
- * @author wprinz
- */
-public interface VerifyResult extends SignatureInformation
-{
- /**
- * Returns if the verification was possible or could not even be startet. see {@link #getVerificationException()} for details.
- * @return
- */
- public boolean isVerificationDone();
-
- /**
- * Returns a verification exception if any. Shows that the verification could not be started. See {@link #isVerificationDone()}.
- * @return
- */
- public PdfAsException getVerificationException();
-
- /**
- * Returns the result of the certificate check.
- *
- * @return Returns the result of the certificate check.
- */
- public SignatureCheck getCertificateCheck();
-
- /**
- * Returns the result of the value (and hash) check.
- *
- * @return Returns the result of the value (and hash) check.
- */
- public SignatureCheck getValueCheckCode();
-
- /**
- * Returns the result of the manifest check.
- *
- * @return Returns the result of the manifest check.
- */
- public SignatureCheck getManifestCheckCode();
-
- /**
- * Returns true, if the signer's certificate is a qualified certificate.
- *
- * @return Returns true, if the signer's certificate is a qualified
- * certificate.
- */
- public boolean isQualifiedCertificate();
-
- /**
- * Returns {@code true} if public authority is indicated.
- * @return {@code true} if public authority.
- */
- public boolean isPublicAuthority();
-
- /**
- * Returns the public authority code or {@code null}.
- * @return The public authority code or {@code null}.
- */
- public String getPublicAuthorityCode();
-
- /**
- * Returns a list of Strings each stating one public property of the
- * certificate.
- *
- * <p>
- * Such public properties are certificate extensions each being assigned an
- * own OID. For example the public property "Verwaltungseigenschaft" has the
- * OID "1.2.40.0.10.1.1.1".
- * </p>
- *
- * @return Returns the list of Strings representing the public properties of
- * this certificate, if any.
- */
- public List getPublicProperties();
-
- /**
- * Returns the verification time, which is the time when the signature was
- * verified.
- *
- * <p>
- * Note that this is actually the Date passed to the verify methods over
- * {@link VerifyParameters#setVerificationTime(Date)} or
- * {@link VerifyAfterAnalysisParameters#setVerificationTime(Date)}. The
- * signature devices don't respond the actual verification time so there is no
- * guarantee that the set verification time was actually used as time of
- * verification. Please consult the device's documentation for more
- * information.
- * </p>
- * <p>
- * If the verification device does not return a verification time and no
- * verification time was set in the
- * {@link VerifyParameters#setVerificationTime(Date)} or
- * {@link VerifyAfterAnalysisParameters#setVerificationTime(Date)}, the time
- * returned by this method will be equal to the signing time (
- * {@link SignatureInformation#getSigningTime()}).
- * </p>
- *
- * @return Returns the verification time, which is the time when the signature
- * was verified.
- */
- public Date getVerificationTime();
-
- /**
- * Returns the hash input data as returned by MOA as Base64-encoded String.
- *
- * <p>
- * This will only return a value other than null if the corresponding
- * {@link VerifyParameters} has been set to true.
- * </p>
- * <p>
- * Note that the HashInputData does not necessarily have to be exactly the
- * same as the signed data return by the
- * {@link SignatureInformation#getSignedData()} method.
- * </p>
- *
- * @return Returns the base64 encoded hash input data as returned by MOA.
- *
- * @see SignatureInformation#getSignedData()
- */
- public String getHashInputData();
-
- /**
- * Returns a list<{@link NonTextObjectInfo}> of non textual objects in the pdf document.
- * Only available for textual signatures. Show this to the user who signed the textual content only!
- * @return List<{@link NonTextObjectInfo} or <tt>null</tt> of not available (binary signature)
- */
- public List getNonTextualObjects();
-
-
- /**
- * Returns <code>true</code> if non textual objects have been found, <code>false</code> if not.
- * @return <code>true</code> if non textual objects have been found, <code>false</code> if not.
- */
- public boolean hasNonTextualObjects();
-
- /**
- * Get the reconstructed xmldsig XML data. The reconstruction is done during the verification process.
- *
- * @see PdfAs#reconstructXMLDSIG(at.gv.egiz.pdfas.api.xmldsig.ReconstructXMLDsigParameters)
- * @see PdfAs#reconstructXMLDSIG(at.gv.egiz.pdfas.api.xmldsig.ReconstructXMLDsigAfterAnalysisParameters)
- * @return
- */
- public XMLDsigData getReconstructedXMLDsig();
-
-}
diff --git a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/verify/VerifyResults.java b/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/verify/VerifyResults.java
deleted file mode 100644
index 3e0f4ee0..00000000
--- a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/verify/VerifyResults.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- ******************************************************************************/
-/**
- * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- */
-package at.gv.egiz.pdfas.api.verify;
-
-import java.util.List;
-
-/**
- * The result of the verification of a document.
- *
- * <p>
- * Currently, this is not more than a list of VerifyResult objects, one for each
- * verified signature. There may be additional items in future PDF-AS versions.
- * </p>
- *
- * @author wprinz
- */
-public interface VerifyResults
-{
- /**
- * Returns the List of VerifyResult objects, one for each verified signature.
- *
- * @return Returns the List of VerifyResult objects, one for each verified
- * signature.
- */
- public List getResults();
-
-}
diff --git a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/verify/package-info.java b/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/verify/package-info.java
deleted file mode 100644
index e18d1b92..00000000
--- a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/verify/package-info.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- ******************************************************************************/
-/**
- *
- */
-/**
- * @author afitzek
- *
- */
-package at.gv.egiz.pdfas.api.verify;
diff --git a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/xmldsig/ExtendedSignatureInformation.java b/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/xmldsig/ExtendedSignatureInformation.java
deleted file mode 100644
index f2cd3598..00000000
--- a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/xmldsig/ExtendedSignatureInformation.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- ******************************************************************************/
-/**
- * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- */
-package at.gv.egiz.pdfas.api.xmldsig;
-
-import at.gv.egiz.pdfas.api.commons.SignatureInformation;
-
-/**
- * A wrapper to combine {@link SignatureInformation} and {@link XMLDsigData}
- *
- * @author exthex
- *
- */
-public class ExtendedSignatureInformation {
-
- private final SignatureInformation signatureInformation;
-
- private final XMLDsigData xmlDsigData;
-
- /**
- * Constructor.
- *
- * @param siginfo
- * The signature information
- * @param dsigData
- * The matching xmldsig to the signature information.
- */
- public ExtendedSignatureInformation(SignatureInformation siginfo, XMLDsigData dsigData) {
- this.signatureInformation = siginfo;
- this.xmlDsigData = dsigData;
- }
-
- /**
- *
- * @return the signatureInformation
- */
- public SignatureInformation getSignatureInformation() {
- return signatureInformation;
- }
-
- /**
- *
- * @return the xmlDsigData
- */
- public XMLDsigData getXmlDsigData() {
- return xmlDsigData;
- }
-
-}
diff --git a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/xmldsig/ReconstructXMLDsigAfterAnalysisParameters.java b/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/xmldsig/ReconstructXMLDsigAfterAnalysisParameters.java
deleted file mode 100644
index 62815fb8..00000000
--- a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/xmldsig/ReconstructXMLDsigAfterAnalysisParameters.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*******************************************************************************
- * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- ******************************************************************************/
-/**
- * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- */
-package at.gv.egiz.pdfas.api.xmldsig;
-
-import at.gv.egiz.pdfas.api.analyze.AnalyzeResult;
-import at.gv.egiz.pdfas.api.commons.Constants;
-
-/**
- * Parameters for the reconstructXMLDsig method which is to be called after a analyze call.
- *
- * @author exthex
- *
- */
-public class ReconstructXMLDsigAfterAnalysisParameters {
-
-
- /**
- * The list of signatures to be verified.
- */
- protected AnalyzeResult analyzeResult = null;
-
- /**
- * The signature device to perform the actual signature.
- *
- * <p>
- * May be {@link Constants#SIGNATURE_DEVICE_MOA} or
- * {@link Constants#SIGNATURE_DEVICE_BKU}.
- * </p>
- */
- protected String signatureDevice = Constants.SIGNATURE_DEVICE_MOA;
-
- /**
- * @return the analyzeResult
- */
- public AnalyzeResult getAnalyzeResult()
- {
- return this.analyzeResult;
- }
-
- /**
- * @param analyzeResult
- * the analyzeResult to set
- */
- public void setAnalyzeResult(AnalyzeResult analyzeResult)
- {
- this.analyzeResult = analyzeResult;
- }
-
- /**
- * @return the signatureDevice
- */
- public String getSignatureDevice()
- {
- return this.signatureDevice;
- }
-
- /**
- * @param signatureDevice
- * the signatureDevice to set
- */
- public void setSignatureDevice(String signatureDevice)
- {
- this.signatureDevice = signatureDevice;
- }
-}
diff --git a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/xmldsig/ReconstructXMLDsigParameters.java b/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/xmldsig/ReconstructXMLDsigParameters.java
deleted file mode 100644
index 03b77f1c..00000000
--- a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/xmldsig/ReconstructXMLDsigParameters.java
+++ /dev/null
@@ -1,241 +0,0 @@
-/*******************************************************************************
- * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- ******************************************************************************/
-/**
- * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- */
-package at.gv.egiz.pdfas.api.xmldsig;
-
-import java.util.Date;
-
-import at.gv.egiz.pdfas.api.PdfAs;
-import at.gv.egiz.pdfas.api.commons.Constants;
-import at.gv.egiz.pdfas.api.io.DataSource;
-
-/**
- * Parameters for the {@link PdfAs#reconstructXMLDSIG(ReconstructXMLDsigParameters)} method.
- * No need to call analyze before calling this method.
- *
- * @author exthex
- *
- */
-public class ReconstructXMLDsigParameters {
-
- /**
- * The document to be verified.
- */
- protected DataSource document = null;
-
- /**
- * The signature device to perform the actual signature.
- *
- * <p>
- * May be {@link Constants#SIGNATURE_DEVICE_MOA} or
- * {@link Constants#SIGNATURE_DEVICE_BKU}.
- * </p>
- */
- protected String signatureDevice = Constants.SIGNATURE_DEVICE_MOA;
-
- /**
- * The mode of operation how the document is analyzed.
- *
- * <p>
- * May be {@link Constants#VERIFY_MODE_BINARY_ONLY} to check the document for
- * binary signatures only (very fast). Or may be
- * {@link Constants#VERIFY_MODE_SEMI_CONSERVATIVE} to perform a semi
- * conservative (optimized) text and binary verification (slow). Or may be
- * {@link Constants#VERIFY_MODE_FULL_CONSERVATIVE} to perform a full
- * conservative text and binary verification (very slow).
- * </p>
- */
- protected String verifyMode = Constants.VERIFY_MODE_FULL_CONSERVATIVE;
-
- /**
- * The (zero based) index of the signature to verify.
- *
- * <p>
- * This allows to verify only one found signature instead of all. {@link Constants#VERIFY_ALL} means to
- * verify all found signatures.
- * </p>
- */
- protected int signatureToVerify = Constants.VERIFY_ALL;
-
- /**
- * Allows to pass a VerificationTime to the verification device.
- *
- * <p>
- * Note that the actual usage of this parameter depends on the verification device.
- * </p>
- */
- protected Date verificationTime = null;
-
- /**
- * Tells the signature device (e.g. MOA) to return the signature hash input
- * data (which is the probably transformed signed data).
- *
- * <p>
- * Note that this forces MOA to return the potentially large signature data to
- * be returned in the result XML, which may result in very bad performance.
- * </p>
- */
- protected boolean returnHashInputData = false;
-
- protected boolean returnNonTextualObjects = false;
-
- /**
- * @return the document
- */
- public DataSource getDocument()
- {
- return this.document;
- }
-
- /**
- * @param document
- * the document to set
- */
- public void setDocument(DataSource document)
- {
- this.document = document;
- }
-
- /**
- * @return the signatureDevice
- */
- public String getSignatureDevice()
- {
- return this.signatureDevice;
- }
-
- /**
- * @param signatureDevice
- * the signatureDevice to set
- */
- public void setSignatureDevice(String signatureDevice)
- {
- this.signatureDevice = signatureDevice;
- }
-
- /**
- * @return the verifyMode
- */
- public String getVerifyMode()
- {
- return this.verifyMode;
- }
-
- /**
- * @param verifyMode
- * the verifyMode to set
- */
- public void setVerifyMode(String verifyMode)
- {
- this.verifyMode = verifyMode;
- }
-
- /**
- * @return the signatureToVerify
- */
- public int getSignatureToVerify()
- {
- return this.signatureToVerify;
- }
-
- /**
- * @param signatureToVerify
- * the signatureToVerify to set
- */
- public void setSignatureToVerify(int signatureToVerify)
- {
- this.signatureToVerify = signatureToVerify;
- }
-
- /**
- * @return the verificationTime
- */
- public Date getVerificationTime()
- {
- return this.verificationTime;
- }
-
- /**
- * @param verificationTime
- * the verificationTime to set
- */
- public void setVerificationTime(Date verificationTime)
- {
- this.verificationTime = verificationTime;
- }
-
- /**
- * @return the returnHashInputData
- */
- public boolean isReturnHashInputData()
- {
- return this.returnHashInputData;
- }
-
- /**
- * @param returnHashInputData
- * the returnHashInputData to set
- */
- public void setReturnHashInputData(boolean returnHashInputData)
- {
- this.returnHashInputData = returnHashInputData;
- }
-
- public boolean isReturnNonTextualObjects() {
- return this.returnNonTextualObjects;
- }
-
- /**
- * Tells if non text object of the signed pdf should be extracted and returned.
- * One should show this to the user, especially in case of textual signature.
- * Defaults to <tt>false</tt>
- *
- * @param returnNonTextualObjects
- */
- public void setReturnNonTextualObjects(boolean returnNonTextualObjects) {
- this.returnNonTextualObjects = returnNonTextualObjects;
- }
-}
diff --git a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/xmldsig/ReconstructXMLDsigResult.java b/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/xmldsig/ReconstructXMLDsigResult.java
deleted file mode 100644
index 01156143..00000000
--- a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/xmldsig/ReconstructXMLDsigResult.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- ******************************************************************************/
-/**
- * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- */
-package at.gv.egiz.pdfas.api.xmldsig;
-
-import java.util.List;
-
-import at.gv.egiz.pdfas.api.commons.Constants;
-import at.gv.egiz.pdfas.api.commons.SignatureInformation;
-
-/**
- * The result of a reconstructXMLDsig call.<br/>
- * This is just a wrapper for a list of {@link ExtendedSignatureInformation}s
- *
- *
- * @author exthex
- */
-public class ReconstructXMLDsigResult {
-
- private List extendedSignatures;
-
- private String device;
-
- /**
- *
- * @param extendedSignatureInfos
- * @param signatureDevice
- */
- public ReconstructXMLDsigResult(List extendedSignatureInfos, String signatureDevice) {
- this.extendedSignatures = extendedSignatureInfos;
- this.device = signatureDevice;
- }
-
- /**
- * Get the signature device that was used to create this result.
- *
- * @return {@link Constants#SIGNATURE_DEVICE_MOA} or {@link Constants#SIGNATURE_DEVICE_BKU}
- */
- public String getDevice() {
- return device;
- }
-
- /**
- * Returns the list of found signatures.
- *
- * @return Returns a list of {@link ExtendedSignatureInformation} objects representing all
- * found signatures + {@link XMLDsigData}.
- * @see SignatureInformation
- */
- public List getExtendedSignatures() {
- return this.extendedSignatures;
- }
-
-}
diff --git a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/xmldsig/XMLDsigData.java b/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/xmldsig/XMLDsigData.java
deleted file mode 100644
index 4f39b599..00000000
--- a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/xmldsig/XMLDsigData.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- ******************************************************************************/
-/**
- * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- */
-package at.gv.egiz.pdfas.api.xmldsig;
-
-/**
- * A container for XMLDsig data.
- *
- * @author exthex
- *
- */
-public class XMLDsigData {
-
- private String xmlDsig;
-
- private boolean detached;
-
- /**
- * Constructor.
- *
- * @param xmldsig the xml string of the xmldsig.
- * @param detached true if detached, false otherwise
- */
- public XMLDsigData(String xmldsig, boolean detached) {
- this.xmlDsig = xmldsig;
- this.detached = detached;
- }
-
- /**
- * Get the xmldsig string
- * @return
- */
- public String getXmlDsig() {
- return xmlDsig;
- }
-
- /**
- * Set the xmldsig string.
- *
- * @param xmlDsig
- */
- public void setXmlDsig(String xmlDsig) {
- this.xmlDsig = xmlDsig;
- }
-
- /**
- *
- * @return true if detached, false otherwise
- */
- public boolean isDetached() {
- return detached;
- }
-
- /**
- * Set the detached.
- *
- * @param detached
- */
- public void setDetached(boolean detached) {
- this.detached = detached;
- }
-
-}
diff --git a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/xmldsig/package-info.java b/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/xmldsig/package-info.java
deleted file mode 100644
index 7ea150ff..00000000
--- a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/api/xmldsig/package-info.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- ******************************************************************************/
-/**
- *
- */
-/**
- * @author afitzek
- *
- */
-package at.gv.egiz.pdfas.api.xmldsig;
diff --git a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/ByteArrayDataSink_OLD.java b/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/ByteArrayDataSink_OLD.java
deleted file mode 100644
index 95316937..00000000
--- a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/ByteArrayDataSink_OLD.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- ******************************************************************************/
-package at.gv.egiz.pdfas.wrapper;
-
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.OutputStream;
-
-import at.gv.egiz.pdfas.api.io.DataSink;
-
-public class ByteArrayDataSink_OLD implements DataSink {
-
- private ByteArrayOutputStream baos = new ByteArrayOutputStream();
-
- public ByteArrayOutputStream getBAOS() {
- return baos;
- }
-
- public OutputStream createOutputStream(String mimeType) throws IOException {
- return baos;
- }
-
- public OutputStream createOutputStream(String mimeType,
- String characterEncoding) throws IOException {
- return baos;
- }
-
- public String getMimeType() {
- return "application/pdf";
- }
-
- public String getCharacterEncoding() {
- return "UTF-8";
- }
-
-}
diff --git a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/ByteArrayDataSource_OLD.java b/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/ByteArrayDataSource_OLD.java
deleted file mode 100644
index 152f4053..00000000
--- a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/ByteArrayDataSource_OLD.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- ******************************************************************************/
-package at.gv.egiz.pdfas.wrapper;
-
-import java.io.ByteArrayInputStream;
-import java.io.InputStream;
-
-import at.gv.egiz.pdfas.api.io.DataSource;
-
-public class ByteArrayDataSource_OLD implements DataSource {
-
- private InputStream is;
- private int length;
- private byte[] data;
-
- public ByteArrayDataSource_OLD(byte[] data) {
- this.length = data.length;
- this.is = new ByteArrayInputStream(data);
- this.data = data;
- }
-
- public InputStream createInputStream() {
- return is;
- }
-
- public int getLength() {
- return length;
- }
-
- public byte[] getAsByteArray() {
- return this.data;
- }
-
- public String getMimeType() {
- return "application/pdf";
- }
-
- public String getCharacterEncoding() {
- return "UTF-8";
- }
-
-}
diff --git a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/FileDataSource.java b/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/FileDataSource.java
deleted file mode 100644
index fa64f7bd..00000000
--- a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/FileDataSource.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- ******************************************************************************/
-package at.gv.egiz.pdfas.wrapper;
-
-import java.io.ByteArrayInputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.InputStream;
-
-import javax.management.RuntimeErrorException;
-
-import at.gv.egiz.pdfas.api.io.DataSource;
-import at.gv.egiz.pdfas.common.utils.StreamUtils;
-
-public class FileDataSource implements DataSource {
-
- private byte[] data;
-
- public FileDataSource(File file) throws FileNotFoundException, IOException {
- data = StreamUtils.inputStreamToByteArray(new FileInputStream(file));
- }
-
- public InputStream createInputStream() {
- return new ByteArrayInputStream(data);
- }
-
- public int getLength() {
- return data.length;
- }
-
- public byte[] getAsByteArray() {
- return data;
- }
-
- public String getMimeType() {
- return "application/pdf";
- }
-
- public String getCharacterEncoding() {
- return "UTF-8";
- }
-
-}
diff --git a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/LegacyMainTest.java b/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/LegacyMainTest.java
deleted file mode 100644
index 8838834e..00000000
--- a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/LegacyMainTest.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- ******************************************************************************/
-package at.gv.egiz.pdfas.wrapper;
-
-import java.io.File;
-import java.io.FileOutputStream;
-import java.util.Iterator;
-
-import at.gv.egiz.pdfas.PdfAsFactory;
-import at.gv.egiz.pdfas.api.PdfAs;
-import at.gv.egiz.pdfas.api.sign.SignParameters;
-import at.gv.egiz.pdfas.api.verify.VerifyParameters;
-import at.gv.egiz.pdfas.api.verify.VerifyResult;
-import at.gv.egiz.pdfas.api.verify.VerifyResults;
-
-public class LegacyMainTest {
- public static void main(String[] args) {
- try {
- PdfAs pdfAsOld = PdfAsFactory.createPdfAs();
- SignParameters signParameters = new SignParameters();
- signParameters.setSignatureProfileId("SIGNATURBLOCK_DE");
- signParameters.setSignatureDevice("bku");
- signParameters.setSignatureType("binary");
-
- FileDataSource dataSource = new FileDataSource(new File("/home/afitzek/simple.pdf"));
- signParameters.setDocument(dataSource);
- ByteArrayDataSink_OLD dataSink = new ByteArrayDataSink_OLD();
- signParameters.setOutput(dataSink);
- pdfAsOld.sign(signParameters);
-
- FileOutputStream fos = new FileOutputStream(new File("/home/afitzek/simple_osigned.pdf"));
- fos.write(dataSink.getBAOS().toByteArray());
- fos.close();
-
- VerifyParameters parameters = new VerifyParameters();
- parameters.setDocument(new FileDataSource(new File("/home/afitzek/simple_osigned.pdf")));
- parameters.setSignatureDevice("bku");
-
- VerifyResults verifyResults = pdfAsOld.verify(parameters);
-
- Iterator<Object> verifyIt = verifyResults.getResults().iterator();
-
- while(verifyIt.hasNext()) {
- Object obj = verifyIt.next();
- VerifyResult verify = (VerifyResult)obj;
- System.out.println("Verify Code: " + verify.getValueCheckCode().getCode());
- }
-
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-}
diff --git a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/PdfAsObject.java b/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/PdfAsObject.java
deleted file mode 100644
index 798fcd6f..00000000
--- a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/PdfAsObject.java
+++ /dev/null
@@ -1,299 +0,0 @@
-/*******************************************************************************
- * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- ******************************************************************************/
-package at.gv.egiz.pdfas.wrapper;
-
-import iaik.x509.X509Certificate;
-
-import java.io.File;
-import java.io.IOException;
-import java.security.cert.CertificateEncodingException;
-import java.security.cert.CertificateException;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import at.gv.egiz.pdfas.api.PdfAs;
-import at.gv.egiz.pdfas.api.analyze.AnalyzeParameters;
-import at.gv.egiz.pdfas.api.analyze.AnalyzeResult;
-import at.gv.egiz.pdfas.api.commons.DynamicSignatureLifetimeEnum;
-import at.gv.egiz.pdfas.api.commons.DynamicSignatureProfile;
-import at.gv.egiz.pdfas.api.commons.DynamicSignatureProfileImpl;
-import at.gv.egiz.pdfas.api.exceptions.ErrorCode;
-import at.gv.egiz.pdfas.api.exceptions.PdfAsException;
-import at.gv.egiz.pdfas.api.sign.SignParameters;
-import at.gv.egiz.pdfas.api.sign.SignResult;
-import at.gv.egiz.pdfas.api.sign.SignatureDetailInformation;
-import at.gv.egiz.pdfas.api.sign.pos.SignaturePosition;
-import at.gv.egiz.pdfas.api.verify.VerifyAfterAnalysisParameters;
-import at.gv.egiz.pdfas.api.verify.VerifyAfterReconstructXMLDsigParameters;
-import at.gv.egiz.pdfas.api.verify.VerifyParameters;
-import at.gv.egiz.pdfas.api.verify.VerifyResults;
-import at.gv.egiz.pdfas.api.xmldsig.ReconstructXMLDsigAfterAnalysisParameters;
-import at.gv.egiz.pdfas.api.xmldsig.ReconstructXMLDsigParameters;
-import at.gv.egiz.pdfas.api.xmldsig.ReconstructXMLDsigResult;
-import at.gv.egiz.pdfas.lib.api.ByteArrayDataSource;
-import at.gv.egiz.pdfas.lib.api.Configuration;
-import at.gv.egiz.pdfas.lib.api.PdfAsFactory;
-import at.gv.egiz.pdfas.lib.api.StatusRequest;
-import at.gv.egiz.pdfas.lib.api.sign.SignParameter;
-import at.gv.egiz.pdfas.lib.api.verify.VerifyParameter;
-import at.gv.egiz.pdfas.lib.api.verify.VerifyResult;
-import at.gv.egiz.pdfas.lib.impl.SignaturePositionImpl;
-import at.gv.egiz.pdfas.lib.impl.StatusRequestImpl;
-
-public class PdfAsObject implements PdfAs {
-
- private at.gv.egiz.pdfas.lib.api.PdfAs pdfas4;
- private Configuration configuration;
- private File workdir;
-
- public SignResult sign(SignParameters signParameters) throws PdfAsException {
- SignatureDetailInformation signatureDetailInformation = this
- .prepareSign(signParameters);
- return this.sign(signParameters, signatureDetailInformation);
- }
-
- public SignResult sign(SignParameters signParameters,
- SignatureDetailInformation signatureDetailInformation)
- throws PdfAsException {
-
- if (!(signatureDetailInformation instanceof SignatureDetailInformationWrapper)) {
- throw new PdfAsException(ErrorCode.SIGNATURE_COULDNT_BE_CREATED,
- "Invalid state");
- }
-
- SignatureDetailInformationWrapper sdi = (SignatureDetailInformationWrapper) signatureDetailInformation;
- StatusRequest statusRequest = sdi.getStatus();
-
- if (!(statusRequest instanceof StatusRequestImpl)) {
- throw new PdfAsException(ErrorCode.SIGNATURE_COULDNT_BE_CREATED,
- "Invalid state");
- }
-
- StatusRequestImpl request = (StatusRequestImpl) statusRequest;
-
- if (request.needSignature()) {
- try {
- byte[] signature = sdi.wrapper.getSignParameter4().getPlainSigner().sign(
- request.getSignatureData(), request.getSignatureDataByteRange(), sdi.wrapper.getSignParameter4(),
- request.getStatus().getRequestedSignature());
- request.setSigature(signature);
- request = (StatusRequestImpl) this.pdfas4.process(request);
- if(request.isReady()) {
- at.gv.egiz.pdfas.lib.api.sign.SignResult result = this.pdfas4.finishSign(request);
- sdi.wrapper.syncNewToOld(result);
- SignResultImpl oldresult = new SignResultImpl(sdi.wrapper.getSignParameters().getOutput(),
- sdi.getX509Certificate(), new at.gv.egiz.pdfas.wrapper.SignaturePositionImpl(
- result.getSignaturePosition()));
- return oldresult;
- } else {
- throw new PdfAsException(ErrorCode.SIGNATURE_COULDNT_BE_CREATED,
- "Invalid state");
- }
- } catch (at.gv.egiz.pdfas.common.exceptions.PdfAsException e) {
- e.printStackTrace();
- throw new PdfAsException(
- ErrorCode.SIGNATURE_COULDNT_BE_CREATED, e.getMessage());
-
- } catch (at.gv.egiz.pdfas.common.exceptions.PDFASError e) {
- e.printStackTrace();
- throw new PdfAsException(
- ErrorCode.SIGNATURE_COULDNT_BE_CREATED, e.getMessage());
-
- }
- } else {
- throw new PdfAsException(ErrorCode.SIGNATURE_COULDNT_BE_CREATED,
- "Invalid state");
- }
- }
-
- public VerifyResults verify(VerifyParameters verifyParameters)
- throws PdfAsException {
- try {
- VerifyParameter newParameter = VerifyParameterWrapper
- .toNewParameters(verifyParameters, this.pdfas4.getConfiguration());
-
- List<VerifyResult> results = this.pdfas4.verify(newParameter);
-
- Iterator<VerifyResult> it = results.iterator();
-
- List<at.gv.egiz.pdfas.api.verify.VerifyResult> resultList = new ArrayList<at.gv.egiz.pdfas.api.verify.VerifyResult>();
-
- while (it.hasNext()) {
- VerifyResult newResult = it.next();
- at.gv.egiz.pdfas.api.verify.VerifyResult oldResult = new VerifyResultWrapper(
- newResult);
- resultList.add(oldResult);
- }
-
- return new VerifyResultsImpl(resultList);
- } catch (at.gv.egiz.pdfas.common.exceptions.PDFASError e) {
- throw new PdfAsException(0, e.getMessage());
- }
- }
-
- public AnalyzeResult analyze(AnalyzeParameters analyzeParameters)
- throws PdfAsException {
- throw new PdfAsException(ErrorCode.FUNCTION_NOT_AVAILABLE,
- new RuntimeException());
- }
-
- public ReconstructXMLDsigResult reconstructXMLDSIG(
- ReconstructXMLDsigParameters reconstructXMLDsigParameters)
- throws PdfAsException {
- throw new PdfAsException(ErrorCode.FUNCTION_NOT_AVAILABLE,
- new RuntimeException());
- }
-
- public ReconstructXMLDsigResult reconstructXMLDSIG(
- ReconstructXMLDsigAfterAnalysisParameters reconstructXMLDsigParameters)
- throws PdfAsException {
- throw new PdfAsException(ErrorCode.FUNCTION_NOT_AVAILABLE,
- new RuntimeException());
- }
-
- public VerifyResults verify(
- VerifyAfterAnalysisParameters verifyAfterAnalysisParameters)
- throws PdfAsException {
- throw new PdfAsException(ErrorCode.FUNCTION_NOT_AVAILABLE,
- new RuntimeException());
- }
-
- public VerifyResults verify(
- VerifyAfterReconstructXMLDsigParameters verifyAfterReconstructXMLDsigParameters)
- throws PdfAsException {
- throw new PdfAsException(ErrorCode.FUNCTION_NOT_AVAILABLE,
- new RuntimeException());
- }
-
- public void reloadConfig() throws PdfAsException {
- this.pdfas4 = at.gv.egiz.pdfas.lib.api.PdfAsFactory
- .createPdfAs(this.workdir);
- this.configuration = this.pdfas4.getConfiguration();
- }
-
- public List getProfileInformation() throws PdfAsException {
- throw new PdfAsException(ErrorCode.FUNCTION_NOT_AVAILABLE,
- new RuntimeException());
- }
-
- public DynamicSignatureProfile createDynamicSignatureProfile(
- String parentProfile, DynamicSignatureLifetimeEnum mode) {
- return DynamicSignatureProfileImpl.createFromParent(null,
- parentProfile, mode, configuration);
- }
-
- public DynamicSignatureProfile createDynamicSignatureProfile(
- String myUniqueName, String parentProfile,
- DynamicSignatureLifetimeEnum mode) {
- return DynamicSignatureProfileImpl.createFromParent(myUniqueName,
- parentProfile, mode, configuration);
- }
-
- public DynamicSignatureProfile createEmptyDynamicSignatureProfile(
- DynamicSignatureLifetimeEnum mode) {
- return DynamicSignatureProfileImpl.createEmptyProfile(null, mode,
- configuration);
- }
-
- public DynamicSignatureProfile createEmptyDynamicSignatureProfile(
- String myUniqueName, DynamicSignatureLifetimeEnum mode) {
- return DynamicSignatureProfileImpl.createEmptyProfile(myUniqueName,
- mode, configuration);
- }
-
- public DynamicSignatureProfile loadDynamicSignatureProfile(
- String profileName) {
- return DynamicSignatureProfileImpl.loadProfile(profileName);
- }
-
- public SignatureDetailInformation prepareSign(SignParameters signParameters)
- throws PdfAsException {
- try {
- // Prepare Signature
-
- SignParameter signParameter4 = PdfAsFactory.createSignParameter(
- this.configuration, new ByteArrayDataSource(signParameters
- .getDocument().getAsByteArray()),
- signParameters.getOutput()
- .createOutputStream("application/pdf"));
-
- SignParameterWrapper wrapper = new SignParameterWrapper(
- signParameters, signParameter4);
- SignatureDetailInformationWrapper sdi = null;
-
- wrapper.syncOldToNew();
-
- StatusRequest request = this.pdfas4.startSign(wrapper
- .getSignParameter4());
-
- if (request.needCertificate()) {
- X509Certificate certificate = signParameter4.getPlainSigner()
- .getCertificate(signParameter4);
- sdi = new SignatureDetailInformationWrapper(certificate);
- request.setCertificate(certificate.getEncoded());
- request = this.pdfas4.process(request);
- if (request.needSignature()) {
- sdi.setDataSource(new ByteArrayDataSource_OLD(request
- .getSignatureData()));
- }
- sdi.wrapper = wrapper;
- sdi.setStatus(request);
- }
-
- return sdi;
- } catch (at.gv.egiz.pdfas.common.exceptions.PdfAsException e) {
- throw new PdfAsException(ErrorCode.SIGNATURE_COULDNT_BE_CREATED,
- e.getMessage());
- } catch (CertificateEncodingException e) {
- throw new PdfAsException(ErrorCode.SIGNATURE_COULDNT_BE_CREATED,
- e.getMessage());
- } catch (CertificateException e) {
- throw new PdfAsException(ErrorCode.SIGNATURE_COULDNT_BE_CREATED,
- e.getMessage());
- } catch (at.gv.egiz.pdfas.common.exceptions.PDFASError e) {
- e.printStackTrace();
- throw new PdfAsException(
- ErrorCode.SIGNATURE_COULDNT_BE_CREATED, e.getMessage());
- } catch (IOException e) {
- e.printStackTrace();
- throw new PdfAsException(
- ErrorCode.SIGNATURE_COULDNT_BE_CREATED, e.getMessage());
- }
- }
-
- public SignResult finishSign(SignParameters signParameters,
- SignatureDetailInformation signatureDetailInformation)
- throws PdfAsException {
- return sign(signParameters, signatureDetailInformation);
- }
-
- public PdfAsObject(File workdirectory) {
- this.workdir = workdirectory;
- this.pdfas4 = at.gv.egiz.pdfas.lib.api.PdfAsFactory
- .createPdfAs(workdirectory);
- this.configuration = this.pdfas4.getConfiguration();
- }
-
-}
diff --git a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/SignParameterWrapper.java b/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/SignParameterWrapper.java
deleted file mode 100644
index 7349dbec..00000000
--- a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/SignParameterWrapper.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*******************************************************************************
- * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- ******************************************************************************/
-package at.gv.egiz.pdfas.wrapper;
-
-import java.io.OutputStream;
-import java.util.Enumeration;
-
-import org.apache.commons.io.IOUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import at.gv.egiz.pdfas.api.exceptions.ErrorCode;
-import at.gv.egiz.pdfas.api.exceptions.PdfAsException;
-import at.gv.egiz.pdfas.api.sign.SignParameters;
-import at.gv.egiz.pdfas.lib.api.sign.SignParameter;
-import at.gv.egiz.pdfas.lib.api.sign.SignResult;
-import at.gv.egiz.pdfas.moa.MOAConnector;
-import at.gv.egiz.pdfas.sigs.pades.PAdESSigner;
-import at.gv.egiz.sl.util.BKUSLConnector;
-
-public class SignParameterWrapper {
-
- private static final Logger logger = LoggerFactory
- .getLogger(SignParameterWrapper.class);
-
- private SignParameter signParameter4;
- private SignParameters signParameters;
-
- public SignParameterWrapper(SignParameters signParameters,
- SignParameter signParameter4) {
- this.signParameter4 = signParameter4;
- this.signParameters = signParameters;
- }
-
- public void syncOldToNew() throws PdfAsException {
-
- if (this.signParameters.getSignaturePositioning() != null) {
- // Create positioning string
- String posString = this.signParameters.getSignaturePositioning()
- .getPositionString();
- logger.info("Pos String: " + posString);
- if (posString.equals("x:auto;y:auto;w:auto;p:auto;f:0.0")) {
- this.signParameter4.setSignaturePosition(null);
- } else {
- this.signParameter4.setSignaturePosition(posString);
- }
- } else {
- this.signParameter4.setSignaturePosition(null);
- }
-
- // Select signing device
- if (this.signParameters.getSignatureDevice().equals("moa")) {
- try {
- this.signParameter4
- .setPlainSigner(new PAdESSigner(new MOAConnector(
- this.signParameter4.getConfiguration())));
- } catch (Exception e) {
- throw new PdfAsException(ErrorCode.CERTIFICATE_NOT_FOUND,
- "You need to specify MOA certificate file to use moa (moa.sign.Certificate)");
- }
- } else if (this.signParameters.getSignatureDevice().equals("bku")) {
- this.signParameter4
- .setPlainSigner(new PAdESSigner(new BKUSLConnector(
- this.signParameter4.getConfiguration())));
- } else {
- throw new PdfAsException(ErrorCode.UNSUPPORTED_SIGNATURE,
- "Unsupported device! Use bku or moa!");
- }
-
- // Overwrite Configurations
- Enumeration<Object> keys = this.signParameters
- .getProfileOverrideProperties().keys();
-
- while (keys.hasMoreElements()) {
- Object obj = keys.nextElement();
- if (obj != null) {
- String key = obj.toString();
- this.signParameter4.getConfiguration().setValue(
- key,
- this.signParameters.getProfileOverrideProperties()
- .getProperty(key));
- }
- }
- }
-
- public void syncNewToOld(SignResult result) throws PdfAsException {
- try {
- //OutputStream os = this.signParameters.getOutput()
- // .createOutputStream("application/pdf");
- //IOUtils.copy(result.getOutputDocument(), os);
- //os.close();
- } catch (Exception e) {
- throw new PdfAsException(ErrorCode.SIGNATURE_COULDNT_BE_CREATED,
- e.getMessage());
- }
- }
-
- public SignParameter getSignParameter4() {
- return this.signParameter4;
- }
-
- public SignParameters getSignParameters() {
- return this.signParameters;
- }
-}
diff --git a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/SignResultImpl.java b/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/SignResultImpl.java
deleted file mode 100644
index 60711717..00000000
--- a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/SignResultImpl.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- ******************************************************************************/
-package at.gv.egiz.pdfas.wrapper;
-
-import java.security.cert.X509Certificate;
-import java.util.List;
-
-import at.gv.egiz.pdfas.api.io.DataSink;
-import at.gv.egiz.pdfas.api.sign.SignResult;
-import at.gv.egiz.pdfas.api.sign.pos.SignaturePosition;
-
-public class SignResultImpl implements SignResult {
-
- private DataSink sink;
- private X509Certificate certificate;
- private SignaturePosition position;
-
- public SignResultImpl(DataSink data, X509Certificate cert, SignaturePosition position) {
- this.certificate = cert;
- this.sink = data;
- this.position = position;
- }
-
- public DataSink getOutputDocument() {
- return this.sink;
- }
-
- public X509Certificate getSignerCertificate() {
- return certificate;
- }
-
- public SignaturePosition getSignaturePosition() {
- return position;
- }
-
- public List getNonTextualObjects() {
- return null;
- }
-
- public boolean hasNonTextualObjects() {
- return false;
- }
-
-}
diff --git a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/SignatureCheckWrapper.java b/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/SignatureCheckWrapper.java
deleted file mode 100644
index 743a7bf2..00000000
--- a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/SignatureCheckWrapper.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- ******************************************************************************/
-package at.gv.egiz.pdfas.wrapper;
-
-import at.gv.egiz.pdfas.api.verify.SignatureCheck;
-
-public class SignatureCheckWrapper implements SignatureCheck {
-
- private at.gv.egiz.pdfas.lib.api.verify.SignatureCheck newCheck;
-
- public SignatureCheckWrapper(at.gv.egiz.pdfas.lib.api.verify.SignatureCheck newCheck) {
- this.newCheck = newCheck;
- }
-
- public int getCode() {
- return this.newCheck.getCode();
- }
-
- public String getMessage() {
- return this.newCheck.getMessage();
- }
-
-}
diff --git a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/SignatureDetailInformationWrapper.java b/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/SignatureDetailInformationWrapper.java
deleted file mode 100644
index 9a01297c..00000000
--- a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/SignatureDetailInformationWrapper.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*******************************************************************************
- * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- ******************************************************************************/
-package at.gv.egiz.pdfas.wrapper;
-
-import java.security.cert.X509Certificate;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-
-import at.gv.egiz.pdfas.api.io.DataSource;
-import at.gv.egiz.pdfas.api.sign.SignatureDetailInformation;
-import at.gv.egiz.pdfas.api.sign.pos.SignaturePosition;
-import at.gv.egiz.pdfas.common.utils.DNUtils;
-import at.gv.egiz.pdfas.lib.api.StatusRequest;
-
-public class SignatureDetailInformationWrapper implements
- SignatureDetailInformation {
-
- public SignParameterWrapper wrapper;
- private StatusRequest status;
- private DataSource dataSource;
- private iaik.x509.X509Certificate certificate;
-
- public SignatureDetailInformationWrapper(iaik.x509.X509Certificate cert) {
- this.certificate = cert;
- }
-
- public StatusRequest getStatus() {
- return status;
- }
-
- public void setStatus(StatusRequest status) {
- this.status = status;
- }
-
-
- public void setDataSource(DataSource dataSource) {
- this.dataSource = dataSource;
- }
-
- public DataSource getSignatureData() {
- return this.dataSource;
- }
-
- public SignaturePosition getSignaturePosition() {
- return null;
- }
-
- public List getNonTextualObjects() {
- return null;
- }
-
- public Date getSignDate() {
- return null;
- }
-
- public String getIssuer() {
- return this.certificate.getIssuerDN().getName();
- }
-
- public Map getIssuerDNMap() {
- try {
- return DNUtils.dnToMap(getIssuer());
- } catch (Exception e) {
- e.printStackTrace();
- return null;
- }
- }
-
- public String getSubjectName() {
- return this.certificate.getSubjectDN().getName();
- }
-
- public String getSerialNumber() {
- return this.certificate.getSerialNumber().toString();
- }
-
- public String getSigAlgorithm() {
- return this.certificate.getSigAlgName();
- }
-
- public String getSigID() {
- return null;
- }
-
- public String getSigKZ() {
- return null;
- }
-
- public String getSignatureValue() {
- return null;
- }
-
- public String getSigTimeStamp() {
- return null;
- }
-
- public Map getSubjectDNMap() {
- try {
- return DNUtils.dnToMap(getSubjectName());
- } catch (Exception e) {
- e.printStackTrace();
- return null;
- }
- }
-
- public X509Certificate getX509Certificate() {
- return this.certificate;
- }
-
- public boolean isTextual() {
- return false;
- }
-
- public boolean isBinary() {
- return true;
- }
-
-}
diff --git a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/SignaturePositionImpl.java b/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/SignaturePositionImpl.java
deleted file mode 100644
index 82da0d59..00000000
--- a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/SignaturePositionImpl.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- ******************************************************************************/
-package at.gv.egiz.pdfas.wrapper;
-
-import at.gv.egiz.pdfas.api.sign.pos.SignaturePosition;
-
-public class SignaturePositionImpl implements SignaturePosition {
-
- private at.gv.egiz.pdfas.lib.api.SignaturePosition position;
-
- public SignaturePositionImpl(at.gv.egiz.pdfas.lib.api.SignaturePosition position) {
- this.position = position;
- }
-
-
- public int getPage() {
- return this.position.getPage();
- }
-
- public float getX() {
- return this.position.getX();
- }
-
- public float getY() {
- return this.position.getY();
- }
-
- public float getWidth() {
- return this.position.getWidth();
- }
-
- public float getHeight() {
- return this.position.getHeight();
- }
-
-}
diff --git a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/VerifyParameterWrapper.java b/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/VerifyParameterWrapper.java
deleted file mode 100644
index e8e89cb4..00000000
--- a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/VerifyParameterWrapper.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- ******************************************************************************/
-package at.gv.egiz.pdfas.wrapper;
-
-import at.gv.egiz.pdfas.api.verify.VerifyParameters;
-import at.gv.egiz.pdfas.lib.api.ByteArrayDataSource;
-import at.gv.egiz.pdfas.lib.api.Configuration;
-import at.gv.egiz.pdfas.lib.api.PdfAsFactory;
-import at.gv.egiz.pdfas.lib.api.verify.VerifyParameter;
-
-public class VerifyParameterWrapper {
-
- public static VerifyParameter toNewParameters(VerifyParameters oldParameters, Configuration config) {
- VerifyParameter parameter = PdfAsFactory.createVerifyParameter(config,
- new ByteArrayDataSource(oldParameters.getDocument().getAsByteArray()));
-
- parameter.setWhichSignature(oldParameters.getSignatureToVerify());
- parameter.setVerificationTime(oldParameters.getVerificationTime());
- return parameter;
- }
-
-}
diff --git a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/VerifyResultWrapper.java b/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/VerifyResultWrapper.java
deleted file mode 100644
index 770e7f3b..00000000
--- a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/VerifyResultWrapper.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*******************************************************************************
- * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- ******************************************************************************/
-package at.gv.egiz.pdfas.wrapper;
-
-import java.io.InputStream;
-import java.security.cert.X509Certificate;
-import java.util.Date;
-import java.util.List;
-
-import at.gv.egiz.pdfas.api.commons.Constants;
-import at.gv.egiz.pdfas.api.exceptions.PdfAsException;
-import at.gv.egiz.pdfas.api.exceptions.PdfAsWrappedException;
-import at.gv.egiz.pdfas.api.io.DataSource;
-import at.gv.egiz.pdfas.api.verify.SignatureCheck;
-import at.gv.egiz.pdfas.api.verify.VerifyResult;
-import at.gv.egiz.pdfas.api.xmldsig.XMLDsigData;
-
-public class VerifyResultWrapper implements VerifyResult {
-
- private at.gv.egiz.pdfas.lib.api.verify.VerifyResult newResult;
-
- public VerifyResultWrapper(at.gv.egiz.pdfas.lib.api.verify.VerifyResult newResult) {
- this.newResult = newResult;
- }
-
- public String getSignatureType() {
- return null;
- }
-
- public DataSource getSignedData() {
- return new ByteArrayDataSource_OLD(this.newResult.getSignatureData());
- }
-
- public X509Certificate getSignerCertificate() {
- return this.newResult.getSignerCertificate();
- }
-
- public Date getSigningTime() {
- return null;
- }
-
- public Object getInternalSignatureInformation() {
- return null;
- }
-
- public String getTimeStampValue() {
- return null;
- }
-
- public void setNonTextualObjects(List nonTextualObjects) {
- }
-
- public boolean isVerificationDone() {
- return this.newResult.isVerificationDone();
- }
-
- public PdfAsException getVerificationException() {
- return new PdfAsWrappedException(this.newResult.getVerificationException());
- }
-
- public SignatureCheck getCertificateCheck() {
- return new SignatureCheckWrapper(this.newResult.getCertificateCheck());
- }
-
- public SignatureCheck getValueCheckCode() {
- return new SignatureCheckWrapper(this.newResult.getValueCheckCode());
- }
-
- public SignatureCheck getManifestCheckCode() {
- return new SignatureCheckWrapper(this.newResult.getManifestCheckCode());
- }
-
- public boolean isQualifiedCertificate() {
- return this.newResult.isQualifiedCertificate();
- }
-
- public boolean isPublicAuthority() {
- return false;
- }
-
- public String getPublicAuthorityCode() {
- return null;
- }
-
- public List getPublicProperties() {
- return null;
- }
-
- public Date getVerificationTime() {
- return null;
- }
-
- public String getHashInputData() {
- return null;
- }
-
- public List getNonTextualObjects() {
- return null;
- }
-
- public boolean hasNonTextualObjects() {
- return false;
- }
-
- public XMLDsigData getReconstructedXMLDsig() {
- return null;
- }
-
-
-
-}
diff --git a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/VerifyResultsImpl.java b/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/VerifyResultsImpl.java
deleted file mode 100644
index d99db8bb..00000000
--- a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/VerifyResultsImpl.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- ******************************************************************************/
-package at.gv.egiz.pdfas.wrapper;
-
-import java.util.List;
-
-import at.gv.egiz.pdfas.api.verify.VerifyResult;
-import at.gv.egiz.pdfas.api.verify.VerifyResults;
-
-public class VerifyResultsImpl implements VerifyResults {
-
- private List<VerifyResult> list;
-
- public VerifyResultsImpl(List<VerifyResult> list) {
- this.list = list;
- }
-
- public List getResults() {
- return this.list;
- }
-
-}
diff --git a/pdf-as-legacy/src/main/java/at/knowcenter/wag/egov/egiz/sig/SignatureTypes.java b/pdf-as-legacy/src/main/java/at/knowcenter/wag/egov/egiz/sig/SignatureTypes.java
deleted file mode 100644
index 8bd69ef2..00000000
--- a/pdf-as-legacy/src/main/java/at/knowcenter/wag/egov/egiz/sig/SignatureTypes.java
+++ /dev/null
@@ -1,253 +0,0 @@
-/*******************************************************************************
- * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- ******************************************************************************/
-/**
- * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- *
- * $Id: SignatureTypes.java,v 1.5 2006/10/31 08:18:56 wprinz Exp $
- */
-package at.knowcenter.wag.egov.egiz.sig;
-
-import org.apache.commons.lang3.ArrayUtils;
-
-public class SignatureTypes {
-
- /**
- * Defines all supported states for {@link SignatureTypes} (signature
- * profiles). Signature types can be enabled ("on"), can be set to support
- * signature only ("sign_only"), to verification only ("verify_only") or can
- * be disabled ("off" or any other value not covered by other enum values).
- *
- * @author Datentechnik Innovation GmbH
- */
- public enum State {
-
- /**
- * Enables a signature profile.
- */
- ON("on", "yes", "true", "enabled"),
-
- /**
- * Disables a signature profile.
- */
- OFF(),
-
- /**
- * Restricts the signature profile so that is can only be used for
- * verification purposes and not for signature.
- */
- VERIFY_ONLY("verify_only", "verify-only", "verifyonly", "verify only",
- "verify"),
-
- /**
- * Allows the signature profile to be used for signature but not for
- * verification.
- */
- SIGN_ONLY("sign_only", "sign-only", "signonly", "sign only", "sign");
-
- /**
- * Sets the default state when no valid value was provided.
- */
- private static final State DEFAULT = OFF;
-
- /**
- * States that allow signatures.
- */
- private static final State[] CAN_SIGN = { ON, SIGN_ONLY };
-
- /**
- * States that allow verification.
- */
- private static final State[] CAN_VERIFY = { ON, VERIFY_ONLY };
-
- private String[] keyWords;
-
- private State(String... keyWords) {
- this.keyWords = keyWords;
- }
-
- /**
- * Returns a valid State from a given {@code keyWord}. If the
- * {@code keyWord} cannot be matched to a certain state, the default
- * State {@link #OFF} is returned.
- *
- * @param keyWord
- * A valid keyword like "on", "sign_only"...
- * @return The enum State.
- */
- public static State fromString(String keyWord) {
- if (keyWord == null) {
- return DEFAULT;
- }
- try {
- return valueOf(keyWord.toUpperCase());
- } catch (IllegalArgumentException e) {
- for (State candidate : values()) {
- for (String candidateKeyWord : candidate.keyWords) {
- if (keyWord.equalsIgnoreCase(candidateKeyWord)) {
- return candidate;
- }
- }
- }
- return DEFAULT;
- }
- }
-
- /**
- * Returns {@code true} when the current state is one of the given
- * candidate {@code states}.
- *
- * @param states
- * The candidate states.
- * @return {@code true} when the current state is one of the given
- * candidate states, {@code false} if not.
- */
- public boolean in(State... states) {
- if (states != null) {
- for (State state : states) {
- if (this == state) {
- return true;
- }
- }
- }
- return false;
- }
-
- /**
- * Returns if the respective state allows signatures.
- *
- * @return {@code true} if signatures are allowed, {@code false} if not.
- */
- public boolean canSign() {
- return in(CAN_SIGN);
- }
-
- /**
- * Returns if the respective state allows verification.
- *
- * @return {@code true} if verification is allowed, {@code false} if
- * not.
- */
- public boolean canVerify() {
- return in(CAN_VERIFY);
- }
-
- }
-
- /**
- * Standard key get/set the singature name
- */
- public static final String SIG_NAME = "SIG_NAME";
-
- /**
- * Standard key get/set the signature date
- */
- public static final String SIG_DATE = "SIG_DATE";
-
- /**
- * Standard key get/set the signator issuer
- */
- public static final String SIG_ISSUER = "SIG_ISSUER";
-
- /**
- * Standard key get/set the siganture value
- */
- public static final String SIG_VALUE = "SIG_VALUE";
-
- /**
- * Standard key get/set the normalisation method used
- */
- public static final String SIG_NORM = "SIG_NORM";
-
- /**
- * Standard key get/set the signation id's used by BKU signated documents
- */
- public static final String SIG_ID = "SIG_ID";
-
- /**
- * The EGIZ Algorithm "Kennzeichnung".
- */
- public static final String SIG_KZ = "SIG_KZ";
-
- /**
- * Standard key get/set the reference to the signature label (image mark)
- */
- public static final String SIG_LABEL = "SIG_LABEL";
-
- /**
- * Standard key get/set the serial number of the signature
- */
- public static final String SIG_NUMBER = "SIG_NUMBER";
-
- // public static final String SIG_TYPE = "SIG_TYPE";
- /**
- * Standard key get/set the signature meta informations
- */
- public static final String SIG_META = "SIG_META";
-
- /**
- * Standard key get/set the signature algorithm (sign + hash)
- */
- public static final String SIG_ALG = "SIG_ALG";
-
- /**
- * Standard key get/set the signature note
- * added by rpiazzi
- */
- public static final String SIG_NOTE = "SIG_NOTE";
-
-
- /**
- * Standard key get/set the signature subject
- * Added to be able to define static signator name within config file
- * added by rpiazzi
- */
- public static final String SIG_SUBJECT = "SIG_SUBJECT";
-
- public static String[] REQUIRED_SIG_KEYS = new String[] { SIG_DATE,
- SIG_ISSUER, SIG_VALUE, SIG_NUMBER, SIG_ID, SIG_KZ };
-
- public static boolean isRequredSigTypeKey(String name) {
- return ArrayUtils.contains(REQUIRED_SIG_KEYS, name);
- }
-}
diff --git a/pdf-as-legacy/src/test/java/ByteArrayDataSink.java b/pdf-as-legacy/src/test/java/ByteArrayDataSink.java
deleted file mode 100644
index 45559d98..00000000
--- a/pdf-as-legacy/src/test/java/ByteArrayDataSink.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- ******************************************************************************/
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.OutputStream;
-
-import at.gv.egiz.pdfas.api.io.DataSink;
-
-
-public class ByteArrayDataSink implements DataSink {
-
- private ByteArrayOutputStream bos = new ByteArrayOutputStream();
-
- public ByteArrayDataSink() {
- }
-
- public OutputStream createOutputStream(String mimeType) throws IOException {
- return createOutputStream(mimeType, "UTF-8");
- }
-
- public OutputStream createOutputStream(String mimeType,
- String characterEncoding) throws IOException {
- return bos;
- }
-
- public String getMimeType() {
- return "application/pdf";
- }
-
- public String getCharacterEncoding() {
- return "UTF-8";
- }
-
- public byte[] getBytes() {
- return this.bos.toByteArray();
- }
-
-}
diff --git a/pdf-as-legacy/src/test/java/ByteArrayDataSource.java b/pdf-as-legacy/src/test/java/ByteArrayDataSource.java
deleted file mode 100644
index 6cf15f66..00000000
--- a/pdf-as-legacy/src/test/java/ByteArrayDataSource.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- ******************************************************************************/
-import java.io.ByteArrayInputStream;
-import java.io.InputStream;
-
-import at.gv.egiz.pdfas.api.io.DataSource;
-
-
-public class ByteArrayDataSource implements DataSource {
-
- private byte[] data;
-
- public ByteArrayDataSource(byte[] data) {
- this.data = data;
- }
-
- public InputStream createInputStream() {
- return new ByteArrayInputStream(data);
- }
-
- public int getLength() {
- return data.length;
- }
-
- public byte[] getAsByteArray() {
- return data;
- }
-
- public String getMimeType() {
- return "application/pdf";
- }
-
- public String getCharacterEncoding() {
- return "UTF-8";
- }
-
-}
diff --git a/pdf-as-legacy/src/test/java/LegacyTest.java b/pdf-as-legacy/src/test/java/LegacyTest.java
deleted file mode 100644
index 8c813007..00000000
--- a/pdf-as-legacy/src/test/java/LegacyTest.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- ******************************************************************************/
-import java.io.FileOutputStream;
-import java.io.InputStream;
-import java.util.Iterator;
-
-import org.apache.commons.io.IOUtils;
-
-import at.gv.egiz.pdfas.PdfAsFactory;
-import at.gv.egiz.pdfas.api.PdfAs;
-import at.gv.egiz.pdfas.api.sign.SignParameters;
-import at.gv.egiz.pdfas.api.sign.SignResult;
-import at.gv.egiz.pdfas.api.verify.VerifyParameters;
-import at.gv.egiz.pdfas.api.verify.VerifyResult;
-import at.gv.egiz.pdfas.api.verify.VerifyResults;
-
-public class LegacyTest {
-
- public static void main(String[] args) {
- try {
- PdfAs pdfAS = PdfAsFactory.createPdfAs();
-
- SignParameters signParameters = new SignParameters();
- signParameters.setSignatureDevice("bku");
- signParameters.setSignatureProfileId("SIGNATURBLOCK_DE");
-
- InputStream is = LegacyTest.class.getResourceAsStream("simple.pdf");
-
- byte[] inputData = IOUtils.toByteArray(is);
- ByteArrayDataSink bads = new ByteArrayDataSink();
- signParameters.setDocument(new ByteArrayDataSource(inputData));
- signParameters.setOutput(bads);
- SignResult result = pdfAS.sign(signParameters);
- IOUtils.write(bads.getBytes(), new FileOutputStream("/tmp/test.pdf"));
-
- System.out.println("Signed @ " + result.getSignaturePosition().toString());
- System.out.println("Signed by " + result.getSignerCertificate().getSubjectDN().getName());
-
- VerifyParameters verifyParameters = new VerifyParameters();
- verifyParameters.setDocument(new ByteArrayDataSource(bads.getBytes()));
- verifyParameters.setSignatureToVerify(0);
-
- VerifyResults results = pdfAS.verify(verifyParameters);
-
- Iterator iter = results.getResults().iterator();
-
- while(iter.hasNext()) {
- Object obj = iter.next();
- if(obj instanceof VerifyResult) {
- VerifyResult vresult = (VerifyResult)obj;
- System.out.println("Verified: " + vresult.getValueCheckCode().getCode() + " " +
- vresult.getValueCheckCode().getMessage());
- }
- }
-
- } catch (Throwable e) {
- System.out.println("ERROR");
- e.printStackTrace();
- }
- }
-
-}
diff --git a/pdf-as-legacy/src/test/java/StreamUtils.java b/pdf-as-legacy/src/test/java/StreamUtils.java
deleted file mode 100644
index f525cdb4..00000000
--- a/pdf-as-legacy/src/test/java/StreamUtils.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- ******************************************************************************/
-import java.io.ByteArrayOutputStream;
-import java.io.InputStream;
-
-import org.apache.commons.io.IOUtils;
-
-public class StreamUtils {
-}
diff --git a/pdf-as-legacy/src/test/resources/simple.pdf b/pdf-as-legacy/src/test/resources/simple.pdf
deleted file mode 100644
index 867f68db..00000000
--- a/pdf-as-legacy/src/test/resources/simple.pdf
+++ /dev/null
Binary files differ
diff --git a/pdf-as-lib/build.gradle b/pdf-as-lib/build.gradle
index d02ae9b2..204539d5 100644
--- a/pdf-as-lib/build.gradle
+++ b/pdf-as-lib/build.gradle
@@ -13,7 +13,7 @@ buildscript {
mavenLocal()
mavenCentral()
}
- dependencies { classpath("commons-io:commons-io:2.15.1") }
+ dependencies { classpath("commons-io:commons-io:"+commonsIoVersion) }
}
@@ -33,7 +33,7 @@ sourceSets {
configurations {
ws
- pdfDoclet { extendsFrom compile }
+ pdfDoclet { extendsFrom compileClasspath }
}
project.ext {
@@ -45,14 +45,15 @@ project.ext {
]
}
-task createConf(type: Zip, dependsOn: JavaPlugin.PROCESS_RESOURCES_TASK_NAME) {
+tasks.register('createConf', Zip) {
from 'src/configuration'
//archiveBaseName 'config'
- archiveName 'config.zip'
- destinationDir new File(projectDir, 'src/main/resources/config')
+ archiveFileName.set('config.zip')
+ destinationDirectory.set(new File(projectDir, 'src/main/resources/config'))
}
-compileJava.dependsOn(createConf)
+processResources.dependsOn(createConf)
+processTestResources.dependsOn(createConf)
repositories {
@@ -62,30 +63,38 @@ repositories {
dependencies {
api project (':pdf-as-common')
- api group: 'org.apache.commons', name: 'commons-lang3', version: '3.20.0'
+ api group: 'org.apache.commons', name: 'commons-lang3', version: commonsLang3Version
+ api group: 'org.apache.commons', name: 'commons-text', version: commonsTextVersion
api group: 'org.apache.httpcomponents', name: 'httpmime', version: '4.5.14'
api group: 'org.apache.httpcomponents', name: 'httpclient', version: '4.5.14'
- api group: 'org.bouncycastle', name: 'bcprov-jdk18on', version: '1.82'
- api group: 'javax.activation', name: 'activation', version: '1.1.1'
- api group: 'javax.xml.bind', name: 'jaxb-api', version: '2.3.1'
- api group: 'com.google.code.gson', name: 'gson', version: '2.13.2'
+ api group: 'org.bouncycastle', name: 'bcprov-jdk18on', version: bouncyCastleVersion
+ api group: 'jakarta.activation', name: 'jakarta.activation-api', version: jakartaActivationVersion
+ api group: 'jakarta.xml.bind', name: 'jakarta.xml.bind-api', version: jaxbApiVersion
+ api group: 'org.glassfish.jaxb', name: 'jaxb-runtime', version: jaxbRuntimeVersion
+ api group: 'com.google.code.gson', name: 'gson', version: gsonVersion
api group: 'org.bitbucket.b_c', name: 'jose4j', version: '0.9.6'
- api group: 'commons-io', name: 'commons-io', version: '2.21.0'
- api group: 'org.glassfish.jaxb', name: 'jaxb-runtime', version: '2.3.3'
- api 'org.apache.commons:commons-collections4:4.5.0'
- api group: 'ognl', name: 'ognl', version: '3.3.5'
+ api group: 'commons-io', name: 'commons-io', version: commonsIoVersion
+ api group: 'org.apache.commons', name: 'commons-collections4', version: commonsCollectionsVersion
+ api group: 'ognl', name: 'ognl', version: ognlVersion
api files('libs/iaik_eccelerate_cms-6.02.jar')
api files('libs/iaik_eccelerate-6.02.jar')
api files('libs/iaik_jce_full-5.63_moa.jar')
api files('libs/iaik_cms-5.1.1.jar')
api group: 'org.slf4j', name: 'slf4j-api', version: slf4jVersion
api group: 'org.slf4j', name: 'jcl-over-slf4j', version: slf4jVersion
- api group: 'com.google.zxing', name: 'core', version: '3.5.0'
- api group: 'com.google.zxing', name: 'javase', version: '3.5.0'
+ api group: 'com.google.zxing', name: 'core', version: zxingVersion
+ api group: 'com.google.zxing', name: 'javase', version: zxingVersion
+
+ api platform(group: 'io.micrometer', name: 'micrometer-bom', version: micrometerVersion)
+ api 'io.micrometer:micrometer-core'
ws group: 'org.apache.cxf', name: 'cxf-tools', version: cxfVersion
ws group: 'org.apache.cxf', name: 'cxf-tools-wsdlto-databinding-jaxb', version: cxfVersion
ws group: 'org.apache.cxf', name: 'cxf-tools-wsdlto-frontend-jaxws', version: cxfVersion
+
+ testImplementation project (':pdf-as-pdfbox-3')
+ testImplementation project (':signature-standards:sigs-pades')
+ testImplementation group: 'org.zeroturnaround', name: 'zt-zip', version: ztZipVersion
}
task wsdl2Java() {
@@ -110,6 +119,7 @@ task wsdl2Java() {
}
task releaseConfig(type: Copy) {
+ dependsOn createConf
from 'src/main/resources/config/config.zip'
into rootDir.toString() + "/releases/" + version + "/cfg"
rename 'config.zip', 'defaultConfig.zip'
@@ -130,7 +140,7 @@ releases.dependsOn distTar
releases.dependsOn releaseConfig
task apidocs(type: Javadoc) {
- classpath = configurations.compile
+ classpath = configurations.compileClasspath
source = sourceSets.main.allJava
destinationDir = new File(rootDir.toString() + "/releases/" + version + "/docs/api")
title = "PDF-AS " + project.pdfasversion + " Documentation"
@@ -147,7 +157,7 @@ task apidocs(type: Javadoc) {
}
task fulldocs(type: Javadoc) {
- classpath = configurations.compile
+ classpath = configurations.compileClasspath
source = sourceSets.main.allJava
destinationDir = new File(rootDir.toString() + "/releases/" + version + "/docs/full")
title = "PDF-AS " + project.pdfasversion + " Documentation"
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/dsig/ObjectFactory.java b/pdf-as-lib/src/main/java/at/gv/egiz/dsig/ObjectFactory.java
index b5018435..5e57568f 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/dsig/ObjectFactory.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/dsig/ObjectFactory.java
@@ -31,9 +31,9 @@
package at.gv.egiz.dsig;
-import javax.xml.bind.JAXBElement;
-import javax.xml.bind.annotation.XmlElementDecl;
-import javax.xml.bind.annotation.XmlRegistry;
+import jakarta.xml.bind.JAXBElement;
+import jakarta.xml.bind.annotation.XmlElementDecl;
+import jakarta.xml.bind.annotation.XmlRegistry;
import javax.xml.namespace.QName;
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/dsig/X509DataType.java b/pdf-as-lib/src/main/java/at/gv/egiz/dsig/X509DataType.java
index 41be7577..0f28a024 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/dsig/X509DataType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/dsig/X509DataType.java
@@ -33,13 +33,13 @@ package at.gv.egiz.dsig;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.JAXBElement;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAnyElement;
-import javax.xml.bind.annotation.XmlElementRef;
-import javax.xml.bind.annotation.XmlElementRefs;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.JAXBElement;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAnyElement;
+import jakarta.xml.bind.annotation.XmlElementRef;
+import jakarta.xml.bind.annotation.XmlElementRefs;
+import jakarta.xml.bind.annotation.XmlType;
import org.w3c.dom.Element;
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/dsig/X509IssuerSerialType.java b/pdf-as-lib/src/main/java/at/gv/egiz/dsig/X509IssuerSerialType.java
index 6f5366fb..75c3db27 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/dsig/X509IssuerSerialType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/dsig/X509IssuerSerialType.java
@@ -32,10 +32,10 @@
package at.gv.egiz.dsig;
import java.math.BigInteger;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/dsig/util/DsigMarschaller.java b/pdf-as-lib/src/main/java/at/gv/egiz/dsig/util/DsigMarschaller.java
index 3b2308f5..2f0c6437 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/dsig/util/DsigMarschaller.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/dsig/util/DsigMarschaller.java
@@ -28,10 +28,10 @@ import java.io.OutputStream;
import java.io.StringReader;
import java.io.StringWriter;
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.JAXBException;
-import javax.xml.bind.Marshaller;
-import javax.xml.bind.Unmarshaller;
+import jakarta.xml.bind.JAXBContext;
+import jakarta.xml.bind.JAXBException;
+import jakarta.xml.bind.Marshaller;
+import jakarta.xml.bind.Unmarshaller;
import javax.xml.namespace.QName;
public class DsigMarschaller {
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/ByteArrayDataSource.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/ByteArrayDataSource.java
index fa55bcd0..e608a14c 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/ByteArrayDataSource.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/ByteArrayDataSource.java
@@ -5,7 +5,7 @@ import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
-import javax.activation.DataSource;
+import jakarta.activation.DataSource;
public class ByteArrayDataSource implements DataSource {
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/PdfAs.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/PdfAs.java
index 1d23c070..a5625056 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/PdfAs.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/PdfAs.java
@@ -63,31 +63,13 @@ public interface PdfAs {
/**
* Starts a signature process
*
- * After the process has to be startet the status request has to be services by the user application
+ * After the process has to be started the status request has to be services by the user application
*
* @param parameter The sign parameter
* @return A status request
* @throws PdfAsException
*/
- public StatusRequest startSign(SignParameter parameter) throws PDFASError;
-
- /**
- * Continues an ongoing signature process
- *
- * @param statusRequest The current status
- * @return A status request
- * @throws PdfAsException
- */
- public StatusRequest process(StatusRequest statusRequest) throws PDFASError;
-
- /**
- * Finishes a signature process
- *
- * @param statusRequest The current status
- * @return A signature result
- * @throws PdfAsException
- */
- public SignResult finishSign(StatusRequest statusRequest) throws PDFASError;
+ public StatusRequest.Stage1 startSign(SignParameter parameter) throws PDFASError;
/**
* Generates a Image of the visual signatur block as Preview
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/PdfAsFactory.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/PdfAsFactory.java
index b2845959..133a90b8 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/PdfAsFactory.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/PdfAsFactory.java
@@ -38,7 +38,7 @@ import org.bouncycastle.jce.provider.BouncyCastleProvider;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import javax.activation.DataSource;
+import jakarta.activation.DataSource;
import javax.crypto.Cipher;
import java.awt.*;
import java.awt.image.BufferedImage;
@@ -119,7 +119,7 @@ public class PdfAsFactory implements IConfigurationConstants {
registerProvider(new IAIK(), 1);
// TODO: register ECCelerate in second position when TLS issue is
// fixed
- registerProvider(new ECCelerate(), -1);
+ registerProvider(ECCelerate.getInstance(), -1);
registerProvider( new BouncyCastleProvider(), -2);
@@ -170,7 +170,7 @@ public class PdfAsFactory implements IConfigurationConstants {
try {
teeInformation("+ IAIK-JCE Version: " + IAIK.getVersionInfo());
teeInformation("+ ECCelerate Version: "
- + ECCelerate.getInstance().getVersion());
+ + ECCelerate.getInstance().getVersionStr());
} catch (Throwable e) {
teeInformation("+ Failed to show security provider informations");
}
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/PdfAsParameter.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/PdfAsParameter.java
index 5a646505..1e552769 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/PdfAsParameter.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/PdfAsParameter.java
@@ -27,7 +27,7 @@ import at.gv.egiz.pdfas.common.exceptions.PdfAsException;
import java.util.Map;
-import javax.activation.DataSource;
+import jakarta.activation.DataSource;
public interface PdfAsParameter {
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/StatusRequest.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/StatusRequest.java
index df397733..0e4c76cc 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/StatusRequest.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/StatusRequest.java
@@ -25,36 +25,36 @@ package at.gv.egiz.pdfas.lib.api;
import java.security.cert.CertificateException;
+import at.gv.egiz.pdfas.common.exceptions.PDFASError;
import at.gv.egiz.pdfas.lib.api.sign.SignParameter;
+import at.gv.egiz.pdfas.lib.api.sign.SignResult;
+import at.gv.egiz.pdfas.lib.impl.status.RequestedSignature;
/**
- * Status of a signture process
+ * Status of a signature process
*/
public interface StatusRequest {
-
- /**
- * If true PDF-AS requires the signature certificate
- *
- * Retrieve the signing certificate and set it via setCertificate
- * @return
- */
- public boolean needCertificate();
-
- /**
- * If true PDF-AS requires a the CAdES signature
- *
- * use getSignatureData() and getSignatureDataByteRange() to retrieve the
- * data to be signed and set the signature via setSigature
- *
- * @return
- */
- public boolean needSignature();
-
- /**
- * If true finishSign in PdfAs can be called to retrieve the signed pdf
- * @return
- */
- public boolean isReady();
+
+ public interface Stage1 extends StatusRequest {
+ /**
+ * Sets the signing certificate
+ * @param encodedCertificate
+ * @throws CertificateException
+ */
+ public Stage2 setCertificate(byte[] encodedCertificate) throws CertificateException, PDFASError;
+ }
+
+ public interface Stage2 extends StatusRequest {
+ /**
+ * Sets the signature
+ * @param signatureValue
+ */
+ public Stage3 setSignature(byte[] signatureValue) throws PDFASError;
+ }
+
+ public interface Stage3 extends StatusRequest {
+ public SignResult finishSign() throws PDFASError;
+ }
/**
* Gets the data to be signed
@@ -67,19 +67,11 @@ public interface StatusRequest {
* @return
*/
public int[] getSignatureDataByteRange();
-
- /**
- * Sets the signing certificate
- * @param encodedCertificate
- * @throws CertificateException
- */
- public void setCertificate(byte[] encodedCertificate) throws CertificateException;
-
- /**
- * Sets the signature
- * @param signatureValue
- */
- public void setSigature(byte[] signatureValue) ;
+
+ /**
+ * Gets the requested signature metadata
+ */
+ public RequestedSignature getRequestedSignature();
public SignParameter getSignParameter();
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/sign/SignParameter.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/sign/SignParameter.java
index e123d453..64bd5328 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/sign/SignParameter.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/sign/SignParameter.java
@@ -100,7 +100,9 @@ public interface SignParameter extends PdfAsParameter {
* @return
*/
public IPlainSigner getPlainSigner();
-
+
+ public void setOutputStream(OutputStream stream);
+ public default OutputStream getOutputStream() { return getSignatureResult(); }
/**
* Gets the outputstream, where the signed document will be written to
* @return
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/verify/VerifyResult.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/verify/VerifyResult.java
index 4b636db0..5fee1c85 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/verify/VerifyResult.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/verify/VerifyResult.java
@@ -25,10 +25,11 @@ package at.gv.egiz.pdfas.lib.api.verify;
import java.security.cert.X509Certificate;
import at.gv.egiz.pdfas.common.exceptions.PdfAsException;
+import at.gv.egiz.pdfas.lib.impl.verify.SignatureInputData;
public interface VerifyResult {
/**
- * Returns if the verification was possible or could not even be startet.
+ * Returns if the verification was possible or could not even be started.
* see {@link #getVerificationException()} for details.
*
* @return
@@ -82,5 +83,5 @@ public interface VerifyResult {
* Gets the signed data for the signature
* @return
*/
- public byte[] getSignatureData();
+ public SignatureInputData getSignatureData();
}
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/backend/PDFASBackend.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/backend/PDFASBackend.java
index d601532e..d109cf81 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/backend/PDFASBackend.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/backend/PDFASBackend.java
@@ -2,12 +2,13 @@ package at.gv.egiz.pdfas.lib.backend;
import at.gv.egiz.pdfas.lib.impl.placeholder.PlaceholderExtractor;
import at.gv.egiz.pdfas.lib.impl.signing.IPdfSigner;
+import at.gv.egiz.pdfas.lib.impl.status.PDFObject;
import at.gv.egiz.pdfas.lib.impl.verify.VerifyBackend;
public interface PDFASBackend {
public String getName();
public boolean usedAsDefault();
- public IPdfSigner getPdfSigner();
+ public IPdfSigner<?, ?> getPdfSigner();
public PlaceholderExtractor getPlaceholderExtractor();
public VerifyBackend getVerifier();
}
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/ErrorExtractor.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/ErrorExtractor.java
index bcf04611..660e8cd9 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/ErrorExtractor.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/ErrorExtractor.java
@@ -45,7 +45,7 @@ public class ErrorExtractor implements ErrorConstants {
}
} else if(e instanceof PdfAsException) {
- return new PDFASError(11020, e.getMessage(), e);
+ return new PDFASError(ErrorConstants.ERROR_PDF_PROCESSING_FAILED, e.getMessage(), e);
}
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/PdfAsImpl.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/PdfAsImpl.java
index 255c76e6..bd9a1669 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/PdfAsImpl.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/PdfAsImpl.java
@@ -31,6 +31,8 @@ import java.util.Date;
import java.util.Iterator;
import java.util.List;
+import at.gv.egiz.pdfas.lib.util.TimedFunction;
+import lombok.val;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -121,151 +123,21 @@ public class PdfAsImpl implements PdfAs, IConfigurationConstants,
@Override
public SignResult sign(SignParameter parameter) throws PDFASError {
-
- logger.trace("sign started");
-
- verifySignParameter(parameter);
- OperationStatus status = null;
+ val signer = parameter.getPlainSigner();
+ if (signer == null) {
+ throw new IllegalArgumentException("SignParameter is missing plainSigner for use of sign()");
+ }
+ val state1 = (StatusRequestImpl.Stage1)startSign(parameter);
try {
- // Status initialization
- if (!(parameter.getConfiguration() instanceof ISettings)) {
- throw new PdfAsSettingsException("Invalid settings object!");
- }
-
- // execute pre Processors
- signPreProcessing(parameter);
-
- // allocated Backend
- final PDFASBackend backend = BackendLoader.getPDFASBackend(parameter.getConfiguration());
-
- if (backend == null) {
- throw new PDFASError(ERROR_NO_BACKEND);
- }
-
- final ISettings settings = (ISettings) parameter.getConfiguration();
- status = new OperationStatus(settings, parameter, backend);
-
- final IPdfSigner signer = backend.getPdfSigner();
-
- final PDFObject pdfObject = signer.buildPDFObject(status);
-
- status.setPdfObject(pdfObject);
-
- // set Original PDF Document Data
- status.getPdfObject()
- .setOriginalDocument(parameter.getDataSource());
-
- // Check PDF Permissions
- signer.checkPDFPermissions(status.getPdfObject());
-
- // PlaceholderConfiguration placeholderConfiguration = status
- // .getPlaceholderConfiguration();
-
- final RequestedSignature requestedSignature = new RequestedSignature(
- status);
-
- status.setRequestedSignature(requestedSignature);
-
- try {
- requestedSignature.setCertificate(getValidCertificate(
- status.getSignParamter().getPlainSigner().getCertificate(parameter)));
-
- } finally {
- if (parameter instanceof BKUHeaderHolder) {
- final BKUHeaderHolder holder = (BKUHeaderHolder) parameter;
-
- final Iterator<BKUHeader> bkuHeaderIt = holder.getProcessInfo()
- .iterator();
-
- while (bkuHeaderIt.hasNext()) {
- final BKUHeader header = bkuHeaderIt.next();
- if ("Server".equalsIgnoreCase(header.getName())) {
- requestedSignature
- .getStatus()
- .getMetaInformations()
- .put(ErrorConstants.STATUS_INFO_SIGDEVICEVERSION,
- header.getValue());
- } else if (ErrorConstants.STATUS_INFO_SIGDEVICE.equalsIgnoreCase(header.getName())) {
- requestedSignature
- .getStatus()
- .getMetaInformations()
- .put(ErrorConstants.STATUS_INFO_SIGDEVICE,
- header.getValue());
- }
- }
- }
- }
- // Only use this profileID because validation was done in
- // RequestedSignature
- final String signatureProfileID = requestedSignature
- .getSignatureProfileID();
-
- logger.info("Selected signature Profile: " + signatureProfileID);
-
- // SignatureProfileConfiguration signatureProfileConfiguration =
- // status
- // .getSignatureProfileConfiguration(signatureProfileID);
-
- // this.stampPdf(status);
-
- // Create signature
- try {
- signer.signPDF(status.getPdfObject(), requestedSignature,
- signer.buildSignaturInterface(status.getSignParamter().getPlainSigner(),
- parameter, requestedSignature));
-
- } finally {
- if (parameter instanceof BKUHeaderHolder) {
- final BKUHeaderHolder holder = (BKUHeaderHolder) parameter;
-
- final Iterator<BKUHeader> bkuHeaderIt = holder.getProcessInfo()
- .iterator();
-
- while (bkuHeaderIt.hasNext()) {
- final BKUHeader header = bkuHeaderIt.next();
- if ("Server".equalsIgnoreCase(header.getName())) {
- requestedSignature
- .getStatus()
- .getMetaInformations()
- .put(ErrorConstants.STATUS_INFO_SIGDEVICEVERSION,
- header.getValue());
- } else if (ErrorConstants.STATUS_INFO_SIGDEVICE.equalsIgnoreCase(header.getName())) {
- requestedSignature
- .getStatus()
- .getMetaInformations()
- .put(ErrorConstants.STATUS_INFO_SIGDEVICE,
- header.getValue());
- }
- }
- }
- }
- // ================================================================
- // Create SignResult
- final SignResult result = createSignResult(status);
-
- return result;
-
- } catch (final SLPdfAsException e) {
- if (e.isCriticalError()) {
- logger.warn("Failed to create signature [" + e.getMessage() + "]", e);
-
- } else {
- logger.info("Failed to create signature [" + e.getMessage() + "]", e);
-
- }
- throw ErrorExtractor.searchPdfAsError(e, status);
-
- } catch (final Throwable e) {
- logger.warn("Failed to create signature [" + e.getMessage() + "]", e);
- throw ErrorExtractor.searchPdfAsError(e, status);
-
-
- } finally {
- if (status != null) {
- status.clear();
-
- }
- logger.trace("sign done");
+ val state2 = state1.setCertificate(
+ signer.getCertificate(state1.getSignParameter()));
+ val state3 = state2.setSignature(
+ signer.sign(
+ state2.getSignatureData(), state2.getSignatureDataByteRange(),
+ state2.getSignParameter(), state2.getRequestedSignature()));
+ return state3.finishSign();
+ } catch (final PdfAsException e) {
+ throw ErrorExtractor.searchPdfAsError(e, state1.getStatus());
}
}
@@ -277,7 +149,7 @@ public class PdfAsImpl implements PdfAs, IConfigurationConstants,
if (now.after(notAfter) || now.before(notBefore)) {
logger.warn("Signer certificate is not valid. notBefore:{} | notAfter:{} | now:{}",
notBefore, notAfter, now);
- throw new PDFASError(11021);
+ throw new PDFASError(ErrorConstants.ERROR_SIGNER_CERT_TIMEFRAME_INVALID);
} else {
return certificate;
@@ -285,27 +157,30 @@ public class PdfAsImpl implements PdfAs, IConfigurationConstants,
}
}
+ private final TimedFunction verifyTimer = new TimedFunction("pdfas.verify");
@Override
public List<VerifyResult> verify(VerifyParameter parameter)
throws PDFASError {
- verifyVerifyParameter(parameter);
+ return verifyTimer.timed(() -> {
+ verifyVerifyParameter(parameter);
- // execute pre Processors
- verifyPreProcessing(parameter);
+ // execute pre Processors
+ verifyPreProcessing(parameter);
- // allocated Backend
- final PDFASBackend backend = BackendLoader.getPDFASBackend(parameter.getConfiguration());
+ // allocated Backend
+ final PDFASBackend backend = BackendLoader.getPDFASBackend(parameter.getConfiguration());
- if (backend == null) {
- throw new PDFASError(ERROR_NO_BACKEND);
- }
+ if (backend == null) {
+ throw new PDFASError(ERROR_NO_BACKEND);
+ }
- try {
- return backend.getVerifier().verify(parameter);
- } catch (final Throwable e) {
- throw ErrorExtractor.searchPdfAsError(e, null);
- }
+ try {
+ return backend.getVerifier().verify(parameter);
+ } catch (final Throwable e) {
+ throw ErrorExtractor.searchPdfAsError(e, null);
+ }
+ });
}
@Override
@@ -313,12 +188,11 @@ public class PdfAsImpl implements PdfAs, IConfigurationConstants,
return new ConfigurationImpl(this.settings);
}
+ private final TimedFunction signTimer = new TimedFunction("pdfas.sign");
@Override
- public StatusRequest startSign(SignParameter parameter) throws PDFASError {
+ public StatusRequest.Stage1 startSign(SignParameter parameter) throws PDFASError {
verifySignParameter(parameter);
-
- final StatusRequestImpl request = new StatusRequestImpl();
OperationStatus status = null;
try {
// Status initialization
@@ -338,138 +212,136 @@ public class PdfAsImpl implements PdfAs, IConfigurationConstants,
final ISettings settings = (ISettings) parameter.getConfiguration();
status = new OperationStatus(settings, parameter,
- backend);
+ backend, signTimer.start());
final IPdfSigner signer = backend.getPdfSigner();
status.setPdfObject(signer.buildPDFObject(status));
+ status.getPdfObject().setOriginalDocument(parameter.getDataSource());
+ signer.checkPDFPermissions(status.getPdfObject());
- final RequestedSignature requestedSignature = new RequestedSignature(
+ val requestedSignature = new RequestedSignature(
status);
status.setRequestedSignature(requestedSignature);
- request.setStatus(status);
-
- request.setNeedCertificate(true);
-
- return request;
+ return StatusRequestImpl.create(this, status);
} catch (final Throwable e) {
+ if (status != null) status.getSignTimer().finishFailure(e);
logger.warn("startSign", e);
throw ErrorExtractor.searchPdfAsError(e, status);
}
}
- @Override
- public StatusRequest process(StatusRequest statusRequest) throws PDFASError {
- if (!(statusRequest instanceof StatusRequestImpl)) {
- throw new PDFASError(ERROR_SIG_INVALID_STATUS);
- }
-
- final StatusRequestImpl request = (StatusRequestImpl) statusRequest;
+ public void processCertificate(StatusRequestImpl request, X509Certificate certificate) throws PDFASError {
final OperationStatus status = request.getStatus();
+ try {
+ status.getRequestedSignature().setCertificate(certificate);
+
+ if (request.getSignParameter() instanceof BKUHeaderHolder holder) {
+
+ for (BKUHeader header : holder.getProcessInfo()) {
+ if ("Server".equalsIgnoreCase(header.getName())) {
+ status.getRequestedSignature()
+ .getStatus()
+ .getMetaInformations()
+ .put(ErrorConstants.STATUS_INFO_SIGDEVICEVERSION,
+ header.getValue());
+ } else if (ErrorConstants.STATUS_INFO_SIGDEVICE.equalsIgnoreCase(header.getName())) {
+ status.getRequestedSignature()
+ .getStatus()
+ .getMetaInformations()
+ .put(ErrorConstants.STATUS_INFO_SIGDEVICE,
+ header.getValue());
+ }
+ }
+ }
- if (request.needCertificate()) {
- try {
- status.getRequestedSignature().setCertificate(
- request.getCertificate());
-
- // set Original PDF Document Data
- status.getPdfObject().setOriginalDocument(
- status.getSignParamter().getDataSource());
-
- // STAMPER!
- // stampPdf(status);
- request.setNeedCertificate(false);
-
- status.setSigningDate(Calendar.getInstance());
+ status.setSigningDate(Calendar.getInstance());
- // GET Signature DATA
- final String pdfFilter = status.getSignParamter().getPlainSigner()
- .getPDFFilter();
- final String pdfSubFilter = status.getSignParamter().getPlainSigner()
- .getPDFSubFilter();
+ // GET Signature DATA
+ final String pdfFilter = status.getSignParameter().getPlainSigner()
+ .getPDFFilter();
+ final String pdfSubFilter = status.getSignParameter().getPlainSigner()
+ .getPDFSubFilter();
- final IPdfSigner signer = status.getBackend().getPdfSigner();
+ final IPdfSigner signer = status.getBackend().getPdfSigner();
- final PDFASSignatureExtractor signatureDataExtractor = signer
- .buildBlindSignaturInterface(request.getCertificate(),
- pdfFilter, pdfSubFilter,
- status.getSigningDate());
+ final PDFASSignatureExtractor signatureDataExtractor = signer
+ .buildBlindSignaturInterface(certificate,
+ pdfFilter, pdfSubFilter,
+ status.getSigningDate());
- signer.signPDF(status.getPdfObject(),
- status.getRequestedSignature(), signatureDataExtractor);
+ signer.signPDF(status.getPdfObject(),
+ status.getRequestedSignature(), signatureDataExtractor);
- final StringBuilder sb = new StringBuilder();
+ final StringBuilder sb = new StringBuilder();
- final int[] byteRange = PDFUtils
- .extractSignatureByteRange(signatureDataExtractor
- .getSignatureData());
+ final int[] byteRange = PDFUtils
+ .extractSignatureByteRange(signatureDataExtractor
+ .getSignatureData());
+ if (logger.isDebugEnabled()) {
for (final int element : byteRange) {
- sb.append(" " + element);
+ sb.append(" ").append(element);
}
- logger.debug("ByteRange: " + sb.toString());
+ logger.debug("ByteRange: {}", sb);
+ }
- request.setSignatureData(signatureDataExtractor
- .getSignatureData());
- request.setByteRange(byteRange);
- request.setNeedSignature(true);
+ request.setSignatureData(signatureDataExtractor
+ .getSignatureData());
+ request.setByteRange(byteRange);
- } catch (final Throwable e) {
+ } catch (final Throwable e) {
+ status.getSignTimer().finishFailure(e);
logger.warn("process", e);
throw ErrorExtractor.searchPdfAsError(e, status);
-
- }
- } else if (request.needSignature()) {
- request.setNeedSignature(false);
+
+ }
+ }
+
+ public void processSignature(StatusRequestImpl request, byte[] signatureValue) throws PDFASError {
+ final OperationStatus status = request.getStatus();
+ try {
// Inject signature byte[] into signedDocument
final int offset = request.getSignatureDataByteRange()[1] + 1;
final byte[] pdfSignature = status.getBackend().getPdfSigner()
- .rewritePlainSignature(request.getSignature());
+ .rewritePlainSignature(signatureValue);
// byte[] input =
// PDFUtils.blackOutSignature(status.getPdfObject().getSignedDocument(),
// request.getSignatureDataByteRange());
final VerifyResult verifyResult = SignatureUtils.verifySignature(
- request.getSignature(), request.getSignatureData());
+ signatureValue, request.getSignatureData());
final RequestedSignature requestedSignature = request.getStatus()
.getRequestedSignature();
- if (!StreamUtils.dataCompare(requestedSignature.getCertificate()
- .getFingerprintSHA(), ((X509Certificate) verifyResult
- .getSignerCertificate()).getFingerprintSHA())) {
+ if (!StreamUtils.dataCompare(
+ requestedSignature.getCertificate().getFingerprintSHA(),
+ ((X509Certificate) verifyResult.getSignerCertificate()).getFingerprintSHA()
+ )) {
throw new PDFASError(ERROR_SIG_CERTIFICATE_MISSMATCH);
}
for (int i = 0; i < pdfSignature.length; i++) {
status.getPdfObject().getSignedDocument()[offset + i] = pdfSignature[i];
}
- request.setIsReady(true);
- } else {
- throw new PDFASError(ERROR_SIG_INVALID_STATUS);
+ } catch (final Throwable e) {
+ status.getSignTimer().finishFailure(e);
+ throw e;
}
-
- return request;
}
- @Override
- public SignResult finishSign(StatusRequest statusRequest) throws PDFASError {
- if (!(statusRequest instanceof StatusRequestImpl)) {
- throw new PDFASError(ERROR_SIG_INVALID_STATUS);
- }
-
- final StatusRequestImpl request = (StatusRequestImpl) statusRequest;
+ public SignResult finishSign(StatusRequestImpl request) throws PDFASError {
final OperationStatus status = request.getStatus();
- if (!request.isReady()) {
- throw new PDFASError(ERROR_SIG_INVALID_STATUS);
- }
-
try {
- return createSignResult(status);
+ val signResult = createSignResult(status);
+ status.getSignTimer().finishSuccess();
+ return signResult;
} catch (final IOException e) {
// new PdfAsException("error.pdf.sig.06", e);
+ status.getSignTimer().finishFailure(e);
throw ErrorExtractor.searchPdfAsError(e, status);
} finally {
if (status != null) {
@@ -549,8 +421,8 @@ public class PdfAsImpl implements PdfAs, IConfigurationConstants,
// ================================================================
// Create SignResult
final SignResultImpl result = new SignResultImpl();
- status.getSignParamter().getSignatureResult().write(status.getPdfObject().getSignedDocument());
- status.getSignParamter().getSignatureResult().flush();
+ status.getSignParameter().getSignatureResult().write(status.getPdfObject().getSignedDocument());
+ status.getSignParameter().getSignatureResult().flush();
result.setSignerCertificate(status.getRequestedSignature()
.getCertificate());
result.setSignaturePosition(status.getRequestedSignature()
@@ -580,7 +452,7 @@ public class PdfAsImpl implements PdfAs, IConfigurationConstants,
final PDFASBackend backend = BackendLoader.getPDFASBackend(parameter.getConfiguration());
final ISettings settings = (ISettings) parameter.getConfiguration();
- status = new OperationStatus(settings, parameter, backend);
+ status = new OperationStatus(settings, parameter, backend, null);
final IPdfSigner signer = backend.getPdfSigner();
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/PdfAsParameterImpl.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/PdfAsParameterImpl.java
index 1929f95e..eca361d0 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/PdfAsParameterImpl.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/PdfAsParameterImpl.java
@@ -27,7 +27,7 @@ import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
-import javax.activation.DataSource;
+import jakarta.activation.DataSource;
import at.gv.egiz.pdfas.common.exceptions.PdfAsException;
import at.gv.egiz.pdfas.common.utils.CheckSignatureBlockParameters;
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/SignParameterImpl.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/SignParameterImpl.java
index 06b1b34f..4a47e45b 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/SignParameterImpl.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/SignParameterImpl.java
@@ -27,7 +27,7 @@ import java.io.OutputStream;
import java.util.ArrayList;
import java.util.List;
-import javax.activation.DataSource;
+import jakarta.activation.DataSource;
import at.gv.egiz.pdfas.lib.api.Configuration;
import at.gv.egiz.pdfas.lib.api.sign.IPlainSigner;
@@ -48,7 +48,6 @@ public class SignParameterImpl extends PdfAsParameterImpl implements SignParamet
@Setter
protected boolean placeHolderSearchEnabled;
- protected DataSource output = null;
protected IPlainSigner signer = null;
protected OutputStream outputStream = null;
protected List<BKUHeader> processInfo = new ArrayList<BKUHeader>();
@@ -85,10 +84,9 @@ public class SignParameterImpl extends PdfAsParameterImpl implements SignParamet
return this.signer;
}
- @Override
- public OutputStream getSignatureResult() {
- return outputStream;
- }
+ @Override public void setOutputStream(OutputStream stream) { this.outputStream = stream; }
+
+ @Override public OutputStream getSignatureResult() { return outputStream; }
public List<BKUHeader> getProcessInfo() {
return processInfo;
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/StatusRequestImpl.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/StatusRequestImpl.java
index 49b78659..c435e193 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/StatusRequestImpl.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/StatusRequestImpl.java
@@ -23,6 +23,9 @@
******************************************************************************/
package at.gv.egiz.pdfas.lib.impl;
+import at.gv.egiz.pdfas.common.exceptions.PDFASError;
+import at.gv.egiz.pdfas.lib.api.sign.SignResult;
+import at.gv.egiz.pdfas.lib.impl.status.RequestedSignature;
import iaik.x509.X509Certificate;
import java.security.cert.CertificateException;
@@ -30,86 +33,67 @@ import java.security.cert.CertificateException;
import at.gv.egiz.pdfas.lib.api.StatusRequest;
import at.gv.egiz.pdfas.lib.api.sign.SignParameter;
import at.gv.egiz.pdfas.lib.impl.status.OperationStatus;
+import lombok.AccessLevel;
+import lombok.Getter;
+import lombok.Setter;
public class StatusRequestImpl implements StatusRequest {
- private boolean needCertificate = false;
- private boolean needSignature = false;
- private boolean isReady = false;
- private X509Certificate certificate;
- private byte[] encodedSignature;
- private byte[] signatureData;
- private int[] byteRange;
-
- private OperationStatus status;
-
- public OperationStatus getStatus() {
- return status;
- }
-
- public void setStatus(OperationStatus status) {
- this.status = status;
- }
-
- public void setSignatureData(byte[] signatureData) {
- this.signatureData = signatureData;
- }
-
- public void setByteRange(int[] byteRange) {
- this.byteRange = byteRange;
- }
-
- public X509Certificate getCertificate() {
- return this.certificate;
- }
-
- public byte[] getSignature() {
- return this.encodedSignature;
- }
-
- public void setNeedSignature(boolean value) {
- this.needSignature = value;
- }
-
- public void setNeedCertificate(boolean value) {
- this.needCertificate = value;
- }
-
- public boolean needCertificate() {
- return needCertificate;
- }
-
- public boolean needSignature() {
- return needSignature;
- }
-
- public boolean isReady() {
- return isReady;
- }
-
- public void setIsReady(boolean value) {
- this.isReady = value;
- }
-
- public byte[] getSignatureData() {
- return signatureData;
- }
-
- public int[] getSignatureDataByteRange() {
- return byteRange;
- }
-
- public void setCertificate(byte[] encodedCertificate) throws CertificateException {
- this.certificate = new X509Certificate(encodedCertificate);
- }
-
- public void setSigature(byte[] signatureValue) {
- this.encodedSignature = signatureValue;
- }
-
- public SignParameter getSignParameter() {
- return this.status.getSignParamter();
- }
-
-
+ private final PdfAsImpl pdfAs;
+ @Getter
+ private final OperationStatus status;
+
+ private StatusRequestImpl(PdfAsImpl pdfAs, OperationStatus status ) { this.pdfAs = pdfAs; this.status = status; }
+ static StatusRequestImpl.Stage1 create(PdfAsImpl pdfAs, OperationStatus status) {
+ return new StatusRequestImpl(pdfAs, status).new Stage1();
+ }
+
+ @Setter @Getter
+ private byte[] signatureData;
+ @Setter
+ private int[] byteRange;
+
+ @Override public int[] getSignatureDataByteRange() {
+ return byteRange;
+ }
+
+ @Override public SignParameter getSignParameter() {
+ return this.status.getSignParameter();
+ }
+
+ @Override public RequestedSignature getRequestedSignature() { return this.status.getRequestedSignature(); }
+
+ class StageBase implements StatusRequest {
+ public OperationStatus getStatus() { return status; }
+ @Override public byte[] getSignatureData() { return signatureData; }
+ @Override public int[] getSignatureDataByteRange() { return byteRange; }
+ @Override public SignParameter getSignParameter() { return status.getSignParameter(); }
+ @Override public RequestedSignature getRequestedSignature() { return status.getRequestedSignature(); }
+ }
+
+ class Stage1 extends StageBase implements StatusRequest.Stage1 {
+ public StatusRequestImpl.Stage2 setCertificate(X509Certificate certificate) throws PDFASError {
+ pdfAs.processCertificate(StatusRequestImpl.this, certificate);
+ return new StatusRequestImpl.Stage2();
+ }
+ @Override
+ public StatusRequestImpl.Stage2 setCertificate(byte[] encodedCertificate) throws CertificateException, PDFASError {
+ return setCertificate(new X509Certificate(encodedCertificate));
+ }
+ }
+
+ class Stage2 extends StageBase implements StatusRequest.Stage2 {
+ @Override
+ public StatusRequestImpl.Stage3 setSignature(byte[] signatureValue) throws PDFASError {
+ pdfAs.processSignature(StatusRequestImpl.this, signatureValue);
+ return new StatusRequestImpl.Stage3();
+ }
+ }
+
+ class Stage3 extends StageBase implements StatusRequest.Stage3 {
+ @Override
+ public SignResult finishSign() throws PDFASError {
+ return pdfAs.finishSign(StatusRequestImpl.this);
+ }
+ }
}
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/VerifyParameterImpl.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/VerifyParameterImpl.java
index ea1da9e7..04356cfb 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/VerifyParameterImpl.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/VerifyParameterImpl.java
@@ -25,7 +25,7 @@ package at.gv.egiz.pdfas.lib.impl;
import java.util.Date;
-import javax.activation.DataSource;
+import jakarta.activation.DataSource;
import at.gv.egiz.pdfas.lib.api.Configuration;
import at.gv.egiz.pdfas.lib.api.verify.VerifyParameter;
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/backend/BackendLoader.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/backend/BackendLoader.java
index 4e00209a..d76166ed 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/backend/BackendLoader.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/backend/BackendLoader.java
@@ -32,7 +32,7 @@ public class BackendLoader implements ErrorConstants {
public static final String BACKEND_CONFIG = "runtime.backend";
/** The default backend. */
- private static PDFASBackend defaultBackend = null;
+ private static PDFASBackend defaultBackend = null;
static {
logger.debug("building PDF-AS Backends");
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/placeholder/PlaceholderFilter.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/placeholder/PlaceholderFilter.java
index 1615482f..665153a4 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/placeholder/PlaceholderFilter.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/placeholder/PlaceholderFilter.java
@@ -44,7 +44,7 @@ public class PlaceholderFilter implements IConfigurationConstants,
String signingProfile = status.getRequestedSignature().getSignatureProfileID();
- if (status.getSignParamter().isPlaceHolderSearchEnabled()) {
+ if (status.getSignParameter().isPlaceHolderSearchEnabled()) {
if (status.getPlaceholderConfiguration().isGlobalPlaceholderEnabled()) {
String defaultPlaceHolderId = settings.getValue(PLACEHOLDER_ID);
return status.getBackend().getPlaceholderExtractor().extract(
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/IPdfSigner.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/IPdfSigner.java
index 6a249041..774e879e 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/IPdfSigner.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/IPdfSigner.java
@@ -36,21 +36,18 @@ import at.gv.egiz.pdfas.lib.impl.status.OperationStatus;
import at.gv.egiz.pdfas.lib.impl.status.PDFObject;
import at.gv.egiz.pdfas.lib.impl.status.RequestedSignature;
-public interface IPdfSigner {
+public interface IPdfSigner<PDFObjectT extends PDFObject, SignerT extends PDFASSignatureExtractor> {
- PDFASSignatureInterface buildSignaturInterface(IPlainSigner signer,
- SignParameter parameters, RequestedSignature requestedSignature);
-
- PDFASSignatureExtractor buildBlindSignaturInterface(
+ SignerT buildBlindSignaturInterface(
X509Certificate certificate, String filter, String subfilter,
Calendar date);
- PDFObject buildPDFObject(OperationStatus operationStatus);
+ PDFObjectT buildPDFObject(OperationStatus operationStatus);
- void checkPDFPermissions(PDFObject object) throws PdfAsException;
+ void checkPDFPermissions(PDFObjectT object) throws PdfAsException;
- void signPDF(PDFObject pdfObject, RequestedSignature requestedSignature,
- PDFASSignatureInterface signer) throws PdfAsException;
+ void signPDF(PDFObjectT pdfObject, RequestedSignature requestedSignature,
+ SignerT signer) throws PdfAsException;
byte[] rewritePlainSignature(byte[] plainSignature);
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/CertificateAndRequestParameterResolver.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/CertificateAndRequestParameterResolver.java
index dd9a396a..c6c65ccc 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/CertificateAndRequestParameterResolver.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/CertificateAndRequestParameterResolver.java
@@ -29,7 +29,6 @@ import at.gv.egiz.pdfas.common.utils.DNUtils;
import at.gv.egiz.pdfas.common.utils.OgnlUtils;
import at.gv.egiz.pdfas.lib.impl.status.OperationStatus;
import iaik.x509.X509Certificate;
-import ognl.AbstractMemberAccess;
import ognl.MemberAccess;
import ognl.OgnlContext;
import org.slf4j.Logger;
@@ -78,7 +77,7 @@ public class CertificateAndRequestParameterResolver implements IResolver {
this.ctx = new OgnlContext(null, null, memberAccess);
this.ctx = new OgnlContext(null, null, memberAccess);
- Map<String, String> map = operationStatus.getSignParamter().getDynamicSignatureBlockArguments();
+ Map<String, String> map = operationStatus.getSignParameter().getDynamicSignatureBlockArguments();
if(map == null)
map = new HashMap<>();
this.ctx.put(IProfileConstants.SIGNATURE_BLOCK_PARAMETER, map);
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/IPDFStamper.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/IPDFStamper.java
index 22e20767..38eaf1aa 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/IPDFStamper.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/IPDFStamper.java
@@ -31,10 +31,6 @@ import at.gv.egiz.pdfas.lib.impl.status.PDFObject;
import at.knowcenter.wag.egov.egiz.pdf.PositioningInstruction;
import at.knowcenter.wag.egov.egiz.table.Table;
-public interface IPDFStamper {
- public IPDFVisualObject createVisualPDFObject(PDFObject pdf, Table table) throws IOException;
- public byte[] writeVisualObject(IPDFVisualObject visualObject, PositioningInstruction positioningInstruction,
- byte[] pdfData, String placeholderName) throws PdfAsException;
-
- public void setSettings(ISettings settings);
+public interface IPDFStamper<ObjectT extends PDFObject> {
+ public IPDFVisualObject createVisualPDFObject(ObjectT pdf, Table table) throws IOException;
}
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/status/OperationStatus.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/status/OperationStatus.java
index 898b7a00..3596884e 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/status/OperationStatus.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/status/OperationStatus.java
@@ -35,6 +35,9 @@ import at.gv.egiz.pdfas.lib.backend.PDFASBackend;
import at.gv.egiz.pdfas.lib.impl.configuration.GlobalConfiguration;
import at.gv.egiz.pdfas.lib.impl.configuration.PlaceholderConfiguration;
import at.gv.egiz.pdfas.lib.impl.configuration.SignatureProfileConfiguration;
+import at.gv.egiz.pdfas.lib.util.TimedFunction;
+import lombok.Getter;
+import lombok.Setter;
public class OperationStatus implements Serializable {
@@ -44,24 +47,35 @@ public class OperationStatus implements Serializable {
private static final long serialVersionUID = -2985007198666388528L;
private SignParameter signParamter;
- private PDFObject pdfObject;
+ @Setter
+ @Getter
+ private PDFObject pdfObject;
- private ISettings configuration;
+ private final ISettings configuration;
private PlaceholderConfiguration placeholderConfiguration = null;
- private GlobalConfiguration gloablConfiguration = null;
- private Map<String, SignatureProfileConfiguration> signatureProfiles = new HashMap<String, SignatureProfileConfiguration>();
+ private GlobalConfiguration globalConfiguration = null;
+ private final Map<String, SignatureProfileConfiguration> signatureProfiles = new HashMap<String, SignatureProfileConfiguration>();
private TempFileHelper helper;
- private RequestedSignature requestedSignature;
- private Calendar signingDate;
- private PDFASBackend backend;
- private Map<String, String> metaInformations = new HashMap<String, String>();
+ @Setter
+ @Getter
+ private RequestedSignature requestedSignature;
+ @Setter
+ @Getter
+ private Calendar signingDate;
+ @Getter
+ private final PDFASBackend backend;
+ @Getter
+ private final Map<String, String> metaInformations = new HashMap<String, String>();
+ @Getter
+ private final TimedFunction.Context signTimer;
// private HashMap<String, String> requestParameters = new HashMap<String, String>();
- public OperationStatus(ISettings configuration, SignParameter signParameter, PDFASBackend backend) {
+ public OperationStatus(ISettings configuration, SignParameter signParameter, PDFASBackend backend, TimedFunction.Context timer) {
this.configuration = configuration;
this.signParamter = signParameter;
this.backend = backend;
+ this.signTimer = timer;
helper = new TempFileHelper(configuration);
}
@@ -70,7 +84,7 @@ public class OperationStatus implements Serializable {
if (this.helper != null) {
try {
this.helper.clear();
- } catch (Throwable e) {
+ } catch (Throwable ignored) {
}
}
super.finalize();
@@ -82,40 +96,28 @@ public class OperationStatus implements Serializable {
if (this.helper != null) {
try {
this.helper.clear();
- } catch (Throwable e) {
+ } catch (Throwable ignored) {
}
}
if(pdfObject != null) {
pdfObject.close();
}
}
-
- public PDFASBackend getBackend() {
- return backend;
- }
-
- public RequestedSignature getRequestedSignature() {
- return requestedSignature;
- }
- public void setRequestedSignature(RequestedSignature requestedSignature) {
- this.requestedSignature = requestedSignature;
- }
-
- public PlaceholderConfiguration getPlaceholderConfiguration() {
- if (this.placeholderConfiguration == null) {
- this.placeholderConfiguration = new PlaceholderConfiguration(
- this.configuration);
- }
- return this.placeholderConfiguration;
+ public PlaceholderConfiguration getPlaceholderConfiguration() {
+ if (this.placeholderConfiguration == null) {
+ this.placeholderConfiguration = new PlaceholderConfiguration(
+ this.configuration);
+ }
+ return this.placeholderConfiguration;
}
public GlobalConfiguration getGlobalConfiguration() {
- if (this.gloablConfiguration == null) {
- this.gloablConfiguration = new GlobalConfiguration(
+ if (this.globalConfiguration == null) {
+ this.globalConfiguration = new GlobalConfiguration(
this.configuration);
}
- return this.gloablConfiguration;
+ return this.globalConfiguration;
}
public SignatureProfileConfiguration getSignatureProfileConfiguration(
@@ -134,22 +136,10 @@ public class OperationStatus implements Serializable {
// ========================================================================
- public PDFObject getPdfObject() {
- return pdfObject;
- }
-
- public void setPdfObject(PDFObject pdfObject) {
- this.pdfObject = pdfObject;
- }
-
- public SignParameter getSignParamter() {
+ public SignParameter getSignParameter() {
return signParamter;
}
- public void setSignParamter(SignParameter signParamter) {
- this.signParamter = signParamter;
- }
-
public TempFileHelper getTempFileHelper() {
return this.helper;
}
@@ -158,26 +148,10 @@ public class OperationStatus implements Serializable {
return this.configuration;
}
- public Calendar getSigningDate() {
- return signingDate;
+ public String getTransactionId() {
+ if(this.signParamter != null) {
+ return this.signParamter.getTransactionId();
+ }
+ return null;
}
-
- public void setSigningDate(Calendar signingDate) {
- this.signingDate = signingDate;
- }
-
- public String getTransactionId() {
- if(this.signParamter != null) {
- return this.signParamter.getTransactionId();
- }
- return null;
- }
-
- public Map<String, String> getMetaInformations() {
- return metaInformations;
- }
-
-// public HashMap<String, String> getRequestParameters() {
-// return requestParameters;
-// }
}
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/status/PDFObject.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/status/PDFObject.java
index 6ba7251c..bfbb337f 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/status/PDFObject.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/status/PDFObject.java
@@ -24,10 +24,9 @@
package at.gv.egiz.pdfas.lib.impl.status;
import java.io.IOException;
-import java.util.HashMap;
import java.util.Map;
-import javax.activation.DataSource;
+import jakarta.activation.DataSource;
public abstract class PDFObject {
@@ -73,6 +72,6 @@ public abstract class PDFObject {
public abstract String getPDFVersion();
public Map<String, String> getRequestParameters() {
- return status.getSignParamter().getDynamicSignatureBlockArguments();
+ return status.getSignParameter().getDynamicSignatureBlockArguments();
}
}
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/status/RequestedSignature.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/status/RequestedSignature.java
index 8226d7e9..75633f8e 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/status/RequestedSignature.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/status/RequestedSignature.java
@@ -42,7 +42,7 @@ public class RequestedSignature implements ICertificateProvider {
this.status = status;
- String profileID = status.getSignParamter().getSignatureProfileId();
+ String profileID = status.getSignParameter().getSignatureProfileId();
if(profileID == null) {
profileID = status.getGlobalConfiguration().getDefaultSignatureProfile();
@@ -54,10 +54,10 @@ public class RequestedSignature implements ICertificateProvider {
this.signatureProfile = profileID;
- if(status.getSignParamter().getSignaturePosition() == null) {
+ if(status.getSignParameter().getSignaturePosition() == null) {
this.tablePosition = new TablePos();
} else {
- this.tablePosition = new TablePos(status.getSignParamter().getSignaturePosition());
+ this.tablePosition = new TablePos(status.getSignParameter().getSignaturePosition());
}
}
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/verify/IVerifier.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/verify/IVerifier.java
index ab39f060..c1ed23e4 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/verify/IVerifier.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/verify/IVerifier.java
@@ -10,7 +10,7 @@ import at.gv.egiz.pdfas.lib.api.verify.VerifyResult;
public interface IVerifier {
public List<VerifyResult> verify(byte[] signature,
- byte[] signatureContent, Date verificationTime) throws PdfAsException;
+ SignatureInputData signedData, Date verificationTime) throws PdfAsException;
public void setConfiguration(Configuration config);
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/verify/IVerifyFilter.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/verify/IVerifyFilter.java
index 1bc56162..39756c5c 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/verify/IVerifyFilter.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/verify/IVerifyFilter.java
@@ -31,9 +31,8 @@ import at.gv.egiz.pdfas.lib.api.Configuration;
import at.gv.egiz.pdfas.lib.api.verify.VerifyResult;
public interface IVerifyFilter {
- public void setConfiguration(Configuration config);
- public List<VerifyResult> verify(byte[] contentData,
- byte[] signatureContent, Date verificationTime,
- int[] byteRange, IVerifier verifier) throws PdfAsException;
+ public List<VerifyResult> verify(SignatureInputData signedData,
+ byte[] signature, Date verificationTime,
+ IVerifier verifier) throws PdfAsException;
public List<FilterEntry> getFiters();
}
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/verify/IntegrityVerifier.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/verify/IntegrityVerifier.java
index 3bb326fb..355de536 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/verify/IntegrityVerifier.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/verify/IntegrityVerifier.java
@@ -29,12 +29,12 @@ public class IntegrityVerifier implements IVerifier {
private static final Logger logger = LoggerFactory
.getLogger(IntegrityVerifier.class);
- public List<VerifyResult> verify(byte[] signature, byte[] signatureContent,
+ public List<VerifyResult> verify(byte[] signature, SignatureInputData inputData,
Date verificationTime) throws PdfAsException {
try {
List<VerifyResult> result = new ArrayList<VerifyResult>();
- SignedData signedData = new SignedData(signatureContent,
+ SignedData signedData = new SignedData(inputData.getSignatureInputBytes(),
new AlgorithmID[] {
AlgorithmID.sha512, AlgorithmID.sha384,
AlgorithmID.sha256,
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/verify/SignatureInputData.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/verify/SignatureInputData.java
new file mode 100644
index 00000000..e709b506
--- /dev/null
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/verify/SignatureInputData.java
@@ -0,0 +1,26 @@
+package at.gv.egiz.pdfas.lib.impl.verify;
+
+import lombok.Getter;
+import lombok.NonNull;
+import lombok.Value;
+import lombok.val;
+
+import java.io.ByteArrayOutputStream;
+
+@Value
+public class SignatureInputData {
+ byte[] baseData;
+ int[] signedByteRanges;
+
+ @Getter(lazy = true)
+ byte[] signatureInputBytes = buildSignatureInputBytes();
+
+ private byte[] buildSignatureInputBytes() {
+ assert(signedByteRanges.length % 2 == 0);
+ val builder = new ByteArrayOutputStream();
+ for (int i = 0; i < signedByteRanges.length; i += 2) {
+ builder.write(baseData, signedByteRanges[i], signedByteRanges[i+1]);
+ }
+ return builder.toByteArray();
+ }
+}
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 26065adf..24bfb129 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
@@ -128,11 +128,10 @@ public class VerifierDispatcher {
for (int i = 0; i < currentClasses.length; i++) {
String clsName = currentClasses[i];
Class<?> cls = Class.forName(clsName);
- Object f = cls.newInstance();
+ Object f = cls.getDeclaredConstructor().newInstance();
if (!(f instanceof IVerifyFilter))
throw new ClassCastException();
IVerifyFilter filter = (IVerifyFilter) f;
- filter.setConfiguration((Configuration) settings);
List<FilterEntry> entries = filter.getFiters();
Iterator<FilterEntry> it = entries.iterator();
while (it.hasNext()) {
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/verify/VerifyResultImpl.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/verify/VerifyResultImpl.java
index 5eb40662..a4a22fda 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/verify/VerifyResultImpl.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/verify/VerifyResultImpl.java
@@ -27,6 +27,8 @@ import iaik.x509.X509Certificate;
import at.gv.egiz.pdfas.common.exceptions.PdfAsException;
import at.gv.egiz.pdfas.lib.api.verify.SignatureCheck;
import at.gv.egiz.pdfas.lib.api.verify.VerifyResult;
+import lombok.Getter;
+import lombok.Setter;
public class VerifyResultImpl implements VerifyResult {
@@ -36,7 +38,8 @@ public class VerifyResultImpl implements VerifyResult {
private SignatureCheck certificateCheck;
private SignatureCheck valueCheck;
private SignatureCheck manifestCheck;
- private byte[] signatureData;
+ @Setter @Getter
+ private SignatureInputData signatureData;
private X509Certificate signerCertificate;
public boolean isVerificationDone() {
@@ -95,12 +98,4 @@ public class VerifyResultImpl implements VerifyResult {
this.signerCertificate = signerCertificate;
}
- public void setSignatureData(byte[] signaturData) {
- this.signatureData = signaturData;
- }
-
- public byte[] getSignatureData() {
- return signatureData;
- }
-
}
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/settings/Settings.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/settings/Settings.java
index 8138f061..68c150a0 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/settings/Settings.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/settings/Settings.java
@@ -89,8 +89,9 @@ public class Settings implements ISettings, IProfileConstants {
contextFolder = includeInstruction.getParentFile();
final String includeName = includeInstruction.getName();
- final WildcardFileFilter fileFilter = new WildcardFileFilter(
- includeName, IOCase.SENSITIVE);
+
+ final WildcardFileFilter fileFilter = WildcardFileFilter.builder()
+ .setWildcards(includeName).setIoCase(IOCase.SENSITIVE).get();
Collection<File> includeFiles = null;
if (contextFolder != null && contextFolder.exists()
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/util/SignatureUtils.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/util/SignatureUtils.java
index 6282d9c1..09879071 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/util/SignatureUtils.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/util/SignatureUtils.java
@@ -23,6 +23,10 @@ import iaik.x509.X509Certificate;
public class SignatureUtils implements ErrorConstants {
private static final Logger logger = LoggerFactory.getLogger(SignatureUtils.class);
+ /**
+ * Verifies the CMS signature for the given input.
+ * Throws if the signature is invalid.
+ */
public static VerifyResult verifySignature(byte[] signature, byte[] input)
throws PDFASError {
// List<VerifyResult> results = new ArrayList<VerifyResult>();
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/util/TimedFunction.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/util/TimedFunction.java
new file mode 100644
index 00000000..243b2ce2
--- /dev/null
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/util/TimedFunction.java
@@ -0,0 +1,44 @@
+package at.gv.egiz.pdfas.lib.util;
+
+import at.gv.egiz.pdfas.common.exceptions.PDFASError;
+import io.micrometer.core.instrument.Metrics;
+import io.micrometer.core.instrument.Timer;
+import lombok.val;
+
+public class TimedFunction {
+ public interface ThrowingCallable<S, T extends Throwable> {
+ S invoke() throws T;
+ }
+
+ private final String timerName;
+ private final Timer successTimer;
+ public TimedFunction(String timerName) {
+ this.timerName = timerName;
+ this.successTimer = Metrics.timer(timerName, "status", "success");
+ }
+
+ public <S,T extends Throwable> S timed(ThrowingCallable<S, T> fn) throws T {
+ val timer = start();
+ try {
+ S result = fn.invoke();
+ timer.finishSuccess();
+ return result;
+ } catch (final Throwable ex) {
+ timer.finishFailure(ex);
+ throw ex;
+ }
+ }
+
+ public class Context {
+ final Timer.Sample timer = Timer.start();
+ public void finishSuccess() { timer.stop(successTimer); }
+ public void finishFailure(Throwable ex) {
+ if (ex instanceof PDFASError e) {
+ Metrics.timer(timerName, "status", "failure", "exception", e.getClass().getName(), "errorCode", Long.toString(e.getCode()));
+ } else {
+ Metrics.timer(timerName, "status", "failure", "exception", ex.getClass().getName());
+ }
+ }
+ }
+ public Context start() { return new Context(); }
+}
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/APDUATRType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/APDUATRType.java
index fc83b5c9..84554fa8 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/APDUATRType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/APDUATRType.java
@@ -32,11 +32,11 @@
package at.gv.egiz.sl.schema;
import java.math.BigInteger;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.XmlValue;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlValue;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/APDUResponseElement.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/APDUResponseElement.java
index 34c459db..a0bf6ef6 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/APDUResponseElement.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/APDUResponseElement.java
@@ -33,11 +33,11 @@ package at.gv.egiz.sl.schema;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElements;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlElements;
+import jakarta.xml.bind.annotation.XmlType;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/AccessAuthorizationType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/AccessAuthorizationType.java
index 38b9a5cd..4e98fe07 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/AccessAuthorizationType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/AccessAuthorizationType.java
@@ -33,11 +33,11 @@ package at.gv.egiz.sl.schema;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/AllSignatoriesType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/AllSignatoriesType.java
index c510bf11..4d3c1f55 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/AllSignatoriesType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/AllSignatoriesType.java
@@ -31,9 +31,9 @@
package at.gv.egiz.sl.schema;
-import javax.xml.bind.annotation.XmlEnum;
-import javax.xml.bind.annotation.XmlEnumValue;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlEnum;
+import jakarta.xml.bind.annotation.XmlEnumValue;
+import jakarta.xml.bind.annotation.XmlType;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/AnyChildrenType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/AnyChildrenType.java
index fe49bac5..2097c4fc 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/AnyChildrenType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/AnyChildrenType.java
@@ -33,11 +33,11 @@ package at.gv.egiz.sl.schema;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAnyElement;
-import javax.xml.bind.annotation.XmlSeeAlso;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAnyElement;
+import jakarta.xml.bind.annotation.XmlSeeAlso;
+import jakarta.xml.bind.annotation.XmlType;
import org.w3c.dom.Element;
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/AnyMixedChildrenType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/AnyMixedChildrenType.java
index 50397562..8369aabd 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/AnyMixedChildrenType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/AnyMixedChildrenType.java
@@ -33,12 +33,12 @@ package at.gv.egiz.sl.schema;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAnyElement;
-import javax.xml.bind.annotation.XmlMixed;
-import javax.xml.bind.annotation.XmlSeeAlso;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAnyElement;
+import jakarta.xml.bind.annotation.XmlMixed;
+import jakarta.xml.bind.annotation.XmlSeeAlso;
+import jakarta.xml.bind.annotation.XmlType;
import org.w3c.dom.Element;
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ApplicationIdentifierType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ApplicationIdentifierType.java
index 30dfc4aa..953ed2e0 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ApplicationIdentifierType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ApplicationIdentifierType.java
@@ -31,9 +31,9 @@
package at.gv.egiz.sl.schema;
-import javax.xml.bind.annotation.XmlEnum;
-import javax.xml.bind.annotation.XmlEnumValue;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlEnum;
+import jakarta.xml.bind.annotation.XmlEnumValue;
+import jakarta.xml.bind.annotation.XmlType;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/AuthenticationClassType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/AuthenticationClassType.java
index a3090758..cad11c0a 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/AuthenticationClassType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/AuthenticationClassType.java
@@ -31,9 +31,9 @@
package at.gv.egiz.sl.schema;
-import javax.xml.bind.annotation.XmlEnum;
-import javax.xml.bind.annotation.XmlEnumValue;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlEnum;
+import jakarta.xml.bind.annotation.XmlEnumValue;
+import jakarta.xml.bind.annotation.XmlType;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/Base64ContentType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/Base64ContentType.java
index 9cb483c9..8bc49a4d 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/Base64ContentType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/Base64ContentType.java
@@ -31,11 +31,11 @@
package at.gv.egiz.sl.schema;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlSeeAlso;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlSeeAlso;
+import jakarta.xml.bind.annotation.XmlType;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/Base64OptRefContentType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/Base64OptRefContentType.java
index 640baa4f..b5c59e3c 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/Base64OptRefContentType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/Base64OptRefContentType.java
@@ -31,11 +31,11 @@
package at.gv.egiz.sl.schema;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlSchemaType;
+import jakarta.xml.bind.annotation.XmlType;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/Base64XMLContentType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/Base64XMLContentType.java
index b9e109fa..445ee5c5 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/Base64XMLContentType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/Base64XMLContentType.java
@@ -31,11 +31,11 @@
package at.gv.egiz.sl.schema;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlSeeAlso;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlSeeAlso;
+import jakarta.xml.bind.annotation.XmlType;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/Base64XMLLocRefContentType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/Base64XMLLocRefContentType.java
index d24ed6eb..025c154d 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/Base64XMLLocRefContentType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/Base64XMLLocRefContentType.java
@@ -31,12 +31,12 @@
package at.gv.egiz.sl.schema;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlSeeAlso;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlSchemaType;
+import jakarta.xml.bind.annotation.XmlSeeAlso;
+import jakarta.xml.bind.annotation.XmlType;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/Base64XMLLocRefOptRefContentType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/Base64XMLLocRefOptRefContentType.java
index 076021c9..4e1eabca 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/Base64XMLLocRefOptRefContentType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/Base64XMLLocRefOptRefContentType.java
@@ -31,11 +31,11 @@
package at.gv.egiz.sl.schema;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlSchemaType;
+import jakarta.xml.bind.annotation.XmlType;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/Base64XMLLocRefReqRefContentType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/Base64XMLLocRefReqRefContentType.java
index c0493535..bedc07d4 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/Base64XMLLocRefReqRefContentType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/Base64XMLLocRefReqRefContentType.java
@@ -31,11 +31,11 @@
package at.gv.egiz.sl.schema;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlSchemaType;
+import jakarta.xml.bind.annotation.XmlType;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/Base64XMLOptRefContentType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/Base64XMLOptRefContentType.java
index 473216ee..46a7a71e 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/Base64XMLOptRefContentType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/Base64XMLOptRefContentType.java
@@ -31,11 +31,11 @@
package at.gv.egiz.sl.schema;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlSchemaType;
+import jakarta.xml.bind.annotation.XmlType;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/BindingType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/BindingType.java
index 0a71c0ec..47bb8664 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/BindingType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/BindingType.java
@@ -31,13 +31,13 @@
package at.gv.egiz.sl.schema;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlSchemaType;
+import jakarta.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CMSDataObjectOptionalMetaType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CMSDataObjectOptionalMetaType.java
index cd5c1247..9c45be51 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CMSDataObjectOptionalMetaType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CMSDataObjectOptionalMetaType.java
@@ -31,11 +31,11 @@
package at.gv.egiz.sl.schema;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlSeeAlso;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlSeeAlso;
+import jakarta.xml.bind.annotation.XmlType;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CMSDataObjectRequiredMetaType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CMSDataObjectRequiredMetaType.java
index 9e3bd7b3..8cffd03f 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CMSDataObjectRequiredMetaType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CMSDataObjectRequiredMetaType.java
@@ -31,9 +31,9 @@
package at.gv.egiz.sl.schema;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlType;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CMSEncryptedContentType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CMSEncryptedContentType.java
index d747c06c..09f244aa 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CMSEncryptedContentType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CMSEncryptedContentType.java
@@ -31,10 +31,10 @@
package at.gv.egiz.sl.schema;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CMSRecipientPublicKeyType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CMSRecipientPublicKeyType.java
index 642d908d..c7c0b6c4 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CMSRecipientPublicKeyType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CMSRecipientPublicKeyType.java
@@ -31,10 +31,10 @@
package at.gv.egiz.sl.schema;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CMSToBeEncryptedType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CMSToBeEncryptedType.java
index 6471fb0f..afb45a10 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CMSToBeEncryptedType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CMSToBeEncryptedType.java
@@ -31,10 +31,10 @@
package at.gv.egiz.sl.schema;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CanonicalizationMethodType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CanonicalizationMethodType.java
index 6da5fa4e..ee4db831 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CanonicalizationMethodType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CanonicalizationMethodType.java
@@ -33,13 +33,13 @@ package at.gv.egiz.sl.schema;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAnyElement;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlMixed;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAnyElement;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlMixed;
+import jakarta.xml.bind.annotation.XmlSchemaType;
+import jakarta.xml.bind.annotation.XmlType;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CardActionElement.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CardActionElement.java
index 7158b1f6..74fb6633 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CardActionElement.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CardActionElement.java
@@ -31,11 +31,11 @@
package at.gv.egiz.sl.schema;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.XmlValue;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlValue;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CardActionResponseType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CardActionResponseType.java
index b9d01e6a..6c9b09fa 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CardActionResponseType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CardActionResponseType.java
@@ -31,9 +31,9 @@
package at.gv.egiz.sl.schema;
-import javax.xml.bind.annotation.XmlEnum;
-import javax.xml.bind.annotation.XmlEnumValue;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlEnum;
+import jakarta.xml.bind.annotation.XmlEnumValue;
+import jakarta.xml.bind.annotation.XmlType;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CardActionType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CardActionType.java
index d7f1799b..9c13e144 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CardActionType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CardActionType.java
@@ -31,9 +31,9 @@
package at.gv.egiz.sl.schema;
-import javax.xml.bind.annotation.XmlEnum;
-import javax.xml.bind.annotation.XmlEnumValue;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlEnum;
+import jakarta.xml.bind.annotation.XmlEnumValue;
+import jakarta.xml.bind.annotation.XmlType;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CardChannelRequest.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CardChannelRequest.java
index 4402c3e3..254890d5 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CardChannelRequest.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CardChannelRequest.java
@@ -31,11 +31,11 @@
package at.gv.egiz.sl.schema;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlType;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CardChannelResponse.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CardChannelResponse.java
index 428413c6..11dffa71 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CardChannelResponse.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CardChannelResponse.java
@@ -31,11 +31,11 @@
package at.gv.egiz.sl.schema;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlType;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CardManagementRequest.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CardManagementRequest.java
index 4ed90e80..5c3fe7c2 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CardManagementRequest.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CardManagementRequest.java
@@ -33,11 +33,11 @@ package at.gv.egiz.sl.schema;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlType;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CardManagementResponse.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CardManagementResponse.java
index e75c0c34..c286e660 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CardManagementResponse.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CardManagementResponse.java
@@ -33,11 +33,11 @@ package at.gv.egiz.sl.schema;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlType;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CheckResultType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CheckResultType.java
index ae21e390..55228892 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CheckResultType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CheckResultType.java
@@ -32,11 +32,11 @@
package at.gv.egiz.sl.schema;
import java.math.BigInteger;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlSchemaType;
+import jakarta.xml.bind.annotation.XmlType;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CommandAPDUType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CommandAPDUType.java
index cbdbf0ff..7afb4374 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CommandAPDUType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CommandAPDUType.java
@@ -32,11 +32,11 @@
package at.gv.egiz.sl.schema;
import java.math.BigInteger;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.XmlValue;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlValue;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CreateCMSSignatureRequestType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CreateCMSSignatureRequestType.java
index 3046b109..955d36bb 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CreateCMSSignatureRequestType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CreateCMSSignatureRequestType.java
@@ -33,13 +33,13 @@ package at.gv.egiz.sl.schema;
//import com.sun.org.apache.xpath.internal.operations.Bool;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CreateCMSSignatureResponseType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CreateCMSSignatureResponseType.java
index 24963850..38fb3f6a 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CreateCMSSignatureResponseType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CreateCMSSignatureResponseType.java
@@ -31,10 +31,10 @@
package at.gv.egiz.sl.schema;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CreateHashInfoRequestType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CreateHashInfoRequestType.java
index 4e424562..81000279 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CreateHashInfoRequestType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CreateHashInfoRequestType.java
@@ -31,12 +31,12 @@
package at.gv.egiz.sl.schema;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlSchemaType;
+import jakarta.xml.bind.annotation.XmlType;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CreateHashInfoResponseType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CreateHashInfoResponseType.java
index 4b4100db..1c814fc5 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CreateHashInfoResponseType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CreateHashInfoResponseType.java
@@ -31,11 +31,11 @@
package at.gv.egiz.sl.schema;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlSchemaType;
+import jakarta.xml.bind.annotation.XmlType;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CreateHashRequestType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CreateHashRequestType.java
index 602beec0..0f8325a8 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CreateHashRequestType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CreateHashRequestType.java
@@ -33,10 +33,10 @@ package at.gv.egiz.sl.schema;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CreateHashResponseType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CreateHashResponseType.java
index da447791..a818db30 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CreateHashResponseType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CreateHashResponseType.java
@@ -33,10 +33,10 @@ package at.gv.egiz.sl.schema;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CreateXMLSignatureRequestType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CreateXMLSignatureRequestType.java
index eec48374..3a1e610c 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CreateXMLSignatureRequestType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CreateXMLSignatureRequestType.java
@@ -33,12 +33,12 @@ package at.gv.egiz.sl.schema;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CreateXMLSignatureResponseType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CreateXMLSignatureResponseType.java
index 92927be8..8b0be71d 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CreateXMLSignatureResponseType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/CreateXMLSignatureResponseType.java
@@ -31,10 +31,10 @@
package at.gv.egiz.sl.schema;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAnyElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAnyElement;
+import jakarta.xml.bind.annotation.XmlType;
import org.w3c.dom.Element;
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/DSAKeyValueType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/DSAKeyValueType.java
index 68ac3965..e9716da0 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/DSAKeyValueType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/DSAKeyValueType.java
@@ -31,10 +31,10 @@
package at.gv.egiz.sl.schema;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/DataObjectAssociationType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/DataObjectAssociationType.java
index 336553ec..7587e8b1 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/DataObjectAssociationType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/DataObjectAssociationType.java
@@ -31,10 +31,10 @@
package at.gv.egiz.sl.schema;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/DataObjectInfoType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/DataObjectInfoType.java
index 77be232c..a9003118 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/DataObjectInfoType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/DataObjectInfoType.java
@@ -33,11 +33,11 @@ package at.gv.egiz.sl.schema;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/DecryptCMSRequestType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/DecryptCMSRequestType.java
index f28fb647..0947fba5 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/DecryptCMSRequestType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/DecryptCMSRequestType.java
@@ -31,11 +31,11 @@
package at.gv.egiz.sl.schema;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/DecryptCMSResponseType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/DecryptCMSResponseType.java
index ddc5b491..c54c5514 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/DecryptCMSResponseType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/DecryptCMSResponseType.java
@@ -31,10 +31,10 @@
package at.gv.egiz.sl.schema;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/DecryptXMLRequestType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/DecryptXMLRequestType.java
index f923cb73..ee0f881a 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/DecryptXMLRequestType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/DecryptXMLRequestType.java
@@ -33,11 +33,11 @@ package at.gv.egiz.sl.schema;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/DecryptXMLResponseType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/DecryptXMLResponseType.java
index de1a8101..8629bd9b 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/DecryptXMLResponseType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/DecryptXMLResponseType.java
@@ -33,13 +33,13 @@ package at.gv.egiz.sl.schema;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.XmlValue;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlSchemaType;
+import jakarta.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlValue;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/DigestMethodType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/DigestMethodType.java
index 6f179c0b..2cfb8baf 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/DigestMethodType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/DigestMethodType.java
@@ -33,13 +33,13 @@ package at.gv.egiz.sl.schema;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAnyElement;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlMixed;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAnyElement;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlMixed;
+import jakarta.xml.bind.annotation.XmlSchemaType;
+import jakarta.xml.bind.annotation.XmlType;
import org.w3c.dom.Element;
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/EncryptCMSRequestType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/EncryptCMSRequestType.java
index 88acd2ee..64da724f 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/EncryptCMSRequestType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/EncryptCMSRequestType.java
@@ -33,11 +33,11 @@ package at.gv.egiz.sl.schema;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/EncryptCMSResponseType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/EncryptCMSResponseType.java
index 2d42b287..e0f65ead 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/EncryptCMSResponseType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/EncryptCMSResponseType.java
@@ -31,10 +31,10 @@
package at.gv.egiz.sl.schema;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/EncryptXMLRequest.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/EncryptXMLRequest.java
index 20f23949..50789a72 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/EncryptXMLRequest.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/EncryptXMLRequest.java
@@ -31,10 +31,10 @@
package at.gv.egiz.sl.schema;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlType;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/EncryptXMLRequestType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/EncryptXMLRequestType.java
index a4e8c5d6..6c853a81 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/EncryptXMLRequestType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/EncryptXMLRequestType.java
@@ -33,11 +33,11 @@ package at.gv.egiz.sl.schema;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlSeeAlso;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlSeeAlso;
+import jakarta.xml.bind.annotation.XmlType;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/EncryptXMLResponseType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/EncryptXMLResponseType.java
index 2376126b..1ceb5862 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/EncryptXMLResponseType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/EncryptXMLResponseType.java
@@ -33,11 +33,11 @@ package at.gv.egiz.sl.schema;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAnyElement;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAnyElement;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
import org.w3c.dom.Element;
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/EncryptedDataType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/EncryptedDataType.java
index b7057d23..042a2854 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/EncryptedDataType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/EncryptedDataType.java
@@ -31,12 +31,12 @@
package at.gv.egiz.sl.schema;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.XmlValue;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlSchemaType;
+import jakarta.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlValue;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/EncryptionInfoType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/EncryptionInfoType.java
index 903f839e..826c6788 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/EncryptionInfoType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/EncryptionInfoType.java
@@ -34,14 +34,14 @@ package at.gv.egiz.sl.schema;
import java.math.BigInteger;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlSchemaType;
+import jakarta.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ErrorResponseType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ErrorResponseType.java
index f3fa78f6..6073c1cf 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ErrorResponseType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ErrorResponseType.java
@@ -31,10 +31,10 @@
package at.gv.egiz.sl.schema;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ExcludedByteRangeType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ExcludedByteRangeType.java
index 25dc41d2..26b1ab2a 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ExcludedByteRangeType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ExcludedByteRangeType.java
@@ -32,11 +32,11 @@
package at.gv.egiz.sl.schema;
import java.math.BigInteger;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlSchemaType;
+import jakarta.xml.bind.annotation.XmlType;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/GetPropertiesRequest.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/GetPropertiesRequest.java
index 8e3f420b..f63bc2cb 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/GetPropertiesRequest.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/GetPropertiesRequest.java
@@ -31,10 +31,10 @@
package at.gv.egiz.sl.schema;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlType;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/GetPropertiesRequestType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/GetPropertiesRequestType.java
index 7d934df0..c4ad0ad3 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/GetPropertiesRequestType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/GetPropertiesRequestType.java
@@ -31,10 +31,10 @@
package at.gv.egiz.sl.schema;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlSeeAlso;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlSeeAlso;
+import jakarta.xml.bind.annotation.XmlType;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/GetPropertiesResponseType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/GetPropertiesResponseType.java
index b2ee79a4..5b7cccef 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/GetPropertiesResponseType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/GetPropertiesResponseType.java
@@ -33,14 +33,14 @@ package at.gv.egiz.sl.schema;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAnyElement;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAnyElement;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlSchemaType;
+import jakarta.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/GetStatusRequestType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/GetStatusRequestType.java
index 1a9f04e8..2c843064 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/GetStatusRequestType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/GetStatusRequestType.java
@@ -32,11 +32,11 @@
package at.gv.egiz.sl.schema;
import java.math.BigInteger;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlSchemaType;
+import jakarta.xml.bind.annotation.XmlType;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/GetStatusResponseType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/GetStatusResponseType.java
index af624747..65816a85 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/GetStatusResponseType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/GetStatusResponseType.java
@@ -31,10 +31,10 @@
package at.gv.egiz.sl.schema;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/HashDataType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/HashDataType.java
index 8e35bc85..e7f56396 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/HashDataType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/HashDataType.java
@@ -31,10 +31,10 @@
package at.gv.egiz.sl.schema;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/InfoboxAssocArrayPairType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/InfoboxAssocArrayPairType.java
index 49dbf602..54c90e00 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/InfoboxAssocArrayPairType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/InfoboxAssocArrayPairType.java
@@ -31,10 +31,10 @@
package at.gv.egiz.sl.schema;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlType;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/InfoboxAvailableRequestType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/InfoboxAvailableRequestType.java
index f6836868..ef23802e 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/InfoboxAvailableRequestType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/InfoboxAvailableRequestType.java
@@ -31,9 +31,9 @@
package at.gv.egiz.sl.schema;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlType;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/InfoboxAvailableResponseType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/InfoboxAvailableResponseType.java
index f09ce092..ee88693d 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/InfoboxAvailableResponseType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/InfoboxAvailableResponseType.java
@@ -33,12 +33,12 @@ package at.gv.egiz.sl.schema;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/InfoboxCreateRequestType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/InfoboxCreateRequestType.java
index 8cc8e2ae..ec4909cb 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/InfoboxCreateRequestType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/InfoboxCreateRequestType.java
@@ -31,12 +31,12 @@
package at.gv.egiz.sl.schema;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/InfoboxCreateResponseType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/InfoboxCreateResponseType.java
index 07288073..93e43102 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/InfoboxCreateResponseType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/InfoboxCreateResponseType.java
@@ -31,9 +31,9 @@
package at.gv.egiz.sl.schema;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlType;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/InfoboxDeleteRequestType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/InfoboxDeleteRequestType.java
index abcc10a8..e87da554 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/InfoboxDeleteRequestType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/InfoboxDeleteRequestType.java
@@ -31,12 +31,12 @@
package at.gv.egiz.sl.schema;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/InfoboxDeleteResponseType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/InfoboxDeleteResponseType.java
index 7fed6cb8..0352412a 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/InfoboxDeleteResponseType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/InfoboxDeleteResponseType.java
@@ -31,9 +31,9 @@
package at.gv.egiz.sl.schema;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlType;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/InfoboxReadDataAssocArrayType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/InfoboxReadDataAssocArrayType.java
index 9fa35c96..99d21369 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/InfoboxReadDataAssocArrayType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/InfoboxReadDataAssocArrayType.java
@@ -33,12 +33,12 @@ package at.gv.egiz.sl.schema;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/InfoboxReadParamsAssocArrayType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/InfoboxReadParamsAssocArrayType.java
index ac1bd406..a9c9c565 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/InfoboxReadParamsAssocArrayType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/InfoboxReadParamsAssocArrayType.java
@@ -31,13 +31,13 @@
package at.gv.egiz.sl.schema;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/InfoboxReadParamsBinaryFileType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/InfoboxReadParamsBinaryFileType.java
index d3a1789e..c9ece684 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/InfoboxReadParamsBinaryFileType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/InfoboxReadParamsBinaryFileType.java
@@ -31,10 +31,10 @@
package at.gv.egiz.sl.schema;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlType;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/InfoboxReadRequestType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/InfoboxReadRequestType.java
index c7fb5432..b0ddfe99 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/InfoboxReadRequestType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/InfoboxReadRequestType.java
@@ -31,12 +31,12 @@
package at.gv.egiz.sl.schema;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/InfoboxReadResponseType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/InfoboxReadResponseType.java
index a96acfe1..066895c8 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/InfoboxReadResponseType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/InfoboxReadResponseType.java
@@ -31,10 +31,10 @@
package at.gv.egiz.sl.schema;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/InfoboxTypeType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/InfoboxTypeType.java
index ef12e13f..dd72b95d 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/InfoboxTypeType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/InfoboxTypeType.java
@@ -31,9 +31,9 @@
package at.gv.egiz.sl.schema;
-import javax.xml.bind.annotation.XmlEnum;
-import javax.xml.bind.annotation.XmlEnumValue;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlEnum;
+import jakarta.xml.bind.annotation.XmlEnumValue;
+import jakarta.xml.bind.annotation.XmlType;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/InfoboxUpdateParamsAssocArrayType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/InfoboxUpdateParamsAssocArrayType.java
index 99c46ada..755f8ef6 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/InfoboxUpdateParamsAssocArrayType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/InfoboxUpdateParamsAssocArrayType.java
@@ -31,14 +31,14 @@
package at.gv.egiz.sl.schema;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlSchemaType;
+import jakarta.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/InfoboxUpdateRequestType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/InfoboxUpdateRequestType.java
index e3303fdc..0b3165cd 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/InfoboxUpdateRequestType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/InfoboxUpdateRequestType.java
@@ -31,12 +31,12 @@
package at.gv.egiz.sl.schema;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/InfoboxUpdateResponseType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/InfoboxUpdateResponseType.java
index 3311a767..b404692b 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/InfoboxUpdateResponseType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/InfoboxUpdateResponseType.java
@@ -31,9 +31,9 @@
package at.gv.egiz.sl.schema;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlType;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/KeyInfoType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/KeyInfoType.java
index 65b749be..0ab02abb 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/KeyInfoType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/KeyInfoType.java
@@ -33,19 +33,19 @@ package at.gv.egiz.sl.schema;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.JAXBElement;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAnyElement;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlElementRef;
-import javax.xml.bind.annotation.XmlElementRefs;
-import javax.xml.bind.annotation.XmlID;
-import javax.xml.bind.annotation.XmlMixed;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import jakarta.xml.bind.JAXBElement;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAnyElement;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlElementRef;
+import jakarta.xml.bind.annotation.XmlElementRefs;
+import jakarta.xml.bind.annotation.XmlID;
+import jakarta.xml.bind.annotation.XmlMixed;
+import jakarta.xml.bind.annotation.XmlSchemaType;
+import jakarta.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import org.w3c.dom.Element;
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/KeyValueType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/KeyValueType.java
index 8d23b6c4..fa9ddefa 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/KeyValueType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/KeyValueType.java
@@ -33,14 +33,14 @@ package at.gv.egiz.sl.schema;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.JAXBElement;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAnyElement;
-import javax.xml.bind.annotation.XmlElementRef;
-import javax.xml.bind.annotation.XmlElementRefs;
-import javax.xml.bind.annotation.XmlMixed;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.JAXBElement;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAnyElement;
+import jakarta.xml.bind.annotation.XmlElementRef;
+import jakarta.xml.bind.annotation.XmlElementRefs;
+import jakarta.xml.bind.annotation.XmlMixed;
+import jakarta.xml.bind.annotation.XmlType;
import org.w3c.dom.Element;
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ManifestRefsCheckResultInfoType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ManifestRefsCheckResultInfoType.java
index 692adecb..358cb9c1 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ManifestRefsCheckResultInfoType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ManifestRefsCheckResultInfoType.java
@@ -34,14 +34,14 @@ package at.gv.egiz.sl.schema;
import java.math.BigInteger;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.JAXBElement;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAnyElement;
-import javax.xml.bind.annotation.XmlElementRef;
-import javax.xml.bind.annotation.XmlElementRefs;
-import javax.xml.bind.annotation.XmlMixed;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.JAXBElement;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAnyElement;
+import jakarta.xml.bind.annotation.XmlElementRef;
+import jakarta.xml.bind.annotation.XmlElementRefs;
+import jakarta.xml.bind.annotation.XmlMixed;
+import jakarta.xml.bind.annotation.XmlType;
import org.w3c.dom.Element;
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ManifestRefsCheckResultType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ManifestRefsCheckResultType.java
index 1093de97..5ec2c548 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ManifestRefsCheckResultType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ManifestRefsCheckResultType.java
@@ -32,11 +32,11 @@
package at.gv.egiz.sl.schema;
import java.math.BigInteger;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlSchemaType;
+import jakarta.xml.bind.annotation.XmlType;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ManifestType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ManifestType.java
index d2bfa862..2755d80b 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ManifestType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ManifestType.java
@@ -33,15 +33,15 @@ package at.gv.egiz.sl.schema;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlID;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlID;
+import jakarta.xml.bind.annotation.XmlSchemaType;
+import jakarta.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/MetaInfoType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/MetaInfoType.java
index 662626ec..7fab33ad 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/MetaInfoType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/MetaInfoType.java
@@ -33,13 +33,13 @@ package at.gv.egiz.sl.schema;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAnyElement;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAnyElement;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/NullOperationRequestType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/NullOperationRequestType.java
index 6d594ce1..35013073 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/NullOperationRequestType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/NullOperationRequestType.java
@@ -31,9 +31,9 @@
package at.gv.egiz.sl.schema;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlType;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/NullOperationResponseType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/NullOperationResponseType.java
index bb8dfbb8..85137bf3 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/NullOperationResponseType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/NullOperationResponseType.java
@@ -31,9 +31,9 @@
package at.gv.egiz.sl.schema;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlType;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ObjectFactory.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ObjectFactory.java
index 6c40088b..6ea7aaf1 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ObjectFactory.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ObjectFactory.java
@@ -32,9 +32,9 @@
package at.gv.egiz.sl.schema;
import java.math.BigInteger;
-import javax.xml.bind.JAXBElement;
-import javax.xml.bind.annotation.XmlElementDecl;
-import javax.xml.bind.annotation.XmlRegistry;
+import jakarta.xml.bind.JAXBElement;
+import jakarta.xml.bind.annotation.XmlElementDecl;
+import jakarta.xml.bind.annotation.XmlRegistry;
import javax.xml.namespace.QName;
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ObjectType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ObjectType.java
index de7cb503..00be46eb 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ObjectType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ObjectType.java
@@ -33,16 +33,16 @@ package at.gv.egiz.sl.schema;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAnyElement;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlID;
-import javax.xml.bind.annotation.XmlMixed;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAnyElement;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlID;
+import jakarta.xml.bind.annotation.XmlMixed;
+import jakarta.xml.bind.annotation.XmlSchemaType;
+import jakarta.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import org.w3c.dom.Element;
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/PGPDataType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/PGPDataType.java
index 6a33f3f8..131393e9 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/PGPDataType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/PGPDataType.java
@@ -33,13 +33,13 @@ package at.gv.egiz.sl.schema;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.JAXBElement;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAnyElement;
-import javax.xml.bind.annotation.XmlElementRef;
-import javax.xml.bind.annotation.XmlElementRefs;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.JAXBElement;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAnyElement;
+import jakarta.xml.bind.annotation.XmlElementRef;
+import jakarta.xml.bind.annotation.XmlElementRefs;
+import jakarta.xml.bind.annotation.XmlType;
import org.w3c.dom.Element;
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/QualifiedBoxIdentifierType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/QualifiedBoxIdentifierType.java
index 65d1cffb..07c4a772 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/QualifiedBoxIdentifierType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/QualifiedBoxIdentifierType.java
@@ -31,13 +31,13 @@
package at.gv.egiz.sl.schema;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.XmlValue;
-import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlValue;
+import jakarta.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/RSAKeyValueType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/RSAKeyValueType.java
index 11fced4b..d01ebc2f 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/RSAKeyValueType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/RSAKeyValueType.java
@@ -31,10 +31,10 @@
package at.gv.egiz.sl.schema;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ReferenceType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ReferenceType.java
index 576a4e12..1bc14106 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ReferenceType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ReferenceType.java
@@ -31,15 +31,15 @@
package at.gv.egiz.sl.schema;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlID;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlID;
+import jakarta.xml.bind.annotation.XmlSchemaType;
+import jakarta.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ReferencesCheckResultInfoType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ReferencesCheckResultInfoType.java
index 53847b71..3c4eada6 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ReferencesCheckResultInfoType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ReferencesCheckResultInfoType.java
@@ -34,13 +34,13 @@ package at.gv.egiz.sl.schema;
import java.math.BigInteger;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.JAXBElement;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAnyElement;
-import javax.xml.bind.annotation.XmlElementRef;
-import javax.xml.bind.annotation.XmlMixed;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.JAXBElement;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAnyElement;
+import jakarta.xml.bind.annotation.XmlElementRef;
+import jakarta.xml.bind.annotation.XmlMixed;
+import jakarta.xml.bind.annotation.XmlType;
import org.w3c.dom.Element;
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ReferencesCheckResultType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ReferencesCheckResultType.java
index e98e9a58..7942f1fd 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ReferencesCheckResultType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ReferencesCheckResultType.java
@@ -32,11 +32,11 @@
package at.gv.egiz.sl.schema;
import java.math.BigInteger;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlSchemaType;
+import jakarta.xml.bind.annotation.XmlType;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/RequesterIDType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/RequesterIDType.java
index 23b15d7c..1850b625 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/RequesterIDType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/RequesterIDType.java
@@ -31,11 +31,11 @@
package at.gv.egiz.sl.schema;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.XmlValue;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlValue;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ResetColdType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ResetColdType.java
index 19368057..315d7089 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ResetColdType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ResetColdType.java
@@ -31,9 +31,9 @@
package at.gv.egiz.sl.schema;
-import javax.xml.bind.annotation.XmlEnum;
-import javax.xml.bind.annotation.XmlEnumValue;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlEnum;
+import jakarta.xml.bind.annotation.XmlEnumValue;
+import jakarta.xml.bind.annotation.XmlType;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ResetType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ResetType.java
index 25571cb7..2c799a26 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ResetType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ResetType.java
@@ -31,10 +31,10 @@
package at.gv.egiz.sl.schema;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlType;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ResponseAPDUType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ResponseAPDUType.java
index 748c086d..f6bd7a74 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ResponseAPDUType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ResponseAPDUType.java
@@ -32,11 +32,11 @@
package at.gv.egiz.sl.schema;
import java.math.BigInteger;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.XmlValue;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlValue;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ResultApplElement.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ResultApplElement.java
index f7071ce4..9f899179 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ResultApplElement.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ResultApplElement.java
@@ -32,10 +32,10 @@
package at.gv.egiz.sl.schema;
import java.math.BigInteger;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlType;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ResultElement.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ResultElement.java
index 0d511989..a43b07cd 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ResultElement.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ResultElement.java
@@ -32,10 +32,10 @@
package at.gv.egiz.sl.schema;
import java.math.BigInteger;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlType;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/RetrievalMethodType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/RetrievalMethodType.java
index 1210281b..b67441a1 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/RetrievalMethodType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/RetrievalMethodType.java
@@ -31,12 +31,12 @@
package at.gv.egiz.sl.schema;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlSchemaType;
+import jakarta.xml.bind.annotation.XmlType;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ReturnResultType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ReturnResultType.java
index bb44dd60..aae69173 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ReturnResultType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ReturnResultType.java
@@ -31,9 +31,9 @@
package at.gv.egiz.sl.schema;
-import javax.xml.bind.annotation.XmlEnum;
-import javax.xml.bind.annotation.XmlEnumValue;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlEnum;
+import jakarta.xml.bind.annotation.XmlEnumValue;
+import jakarta.xml.bind.annotation.XmlType;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/SPKIDataType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/SPKIDataType.java
index 95ef23d5..bdf6daa6 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/SPKIDataType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/SPKIDataType.java
@@ -33,12 +33,12 @@ package at.gv.egiz.sl.schema;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.JAXBElement;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAnyElement;
-import javax.xml.bind.annotation.XmlElementRef;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.JAXBElement;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAnyElement;
+import jakarta.xml.bind.annotation.XmlElementRef;
+import jakarta.xml.bind.annotation.XmlType;
import org.w3c.dom.Element;
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ScriptElement.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ScriptElement.java
index 16591576..cc88c43a 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ScriptElement.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ScriptElement.java
@@ -33,11 +33,11 @@ package at.gv.egiz.sl.schema;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElements;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlElements;
+import jakarta.xml.bind.annotation.XmlType;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/SignatureInfoCreationType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/SignatureInfoCreationType.java
index f0c0cdc6..f69ce01c 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/SignatureInfoCreationType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/SignatureInfoCreationType.java
@@ -34,15 +34,15 @@ package at.gv.egiz.sl.schema;
import java.math.BigInteger;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.XmlValue;
-import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlSchemaType;
+import jakarta.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlValue;
+import jakarta.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/SignatureInfoVerificationType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/SignatureInfoVerificationType.java
index 6fc8a860..da7f27fd 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/SignatureInfoVerificationType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/SignatureInfoVerificationType.java
@@ -31,13 +31,13 @@
package at.gv.egiz.sl.schema;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlSchemaType;
+import jakarta.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/SignatureMethodType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/SignatureMethodType.java
index abf3db54..14afea57 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/SignatureMethodType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/SignatureMethodType.java
@@ -34,15 +34,15 @@ package at.gv.egiz.sl.schema;
import java.math.BigInteger;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.JAXBElement;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAnyElement;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlElementRef;
-import javax.xml.bind.annotation.XmlMixed;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.JAXBElement;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAnyElement;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlElementRef;
+import jakarta.xml.bind.annotation.XmlMixed;
+import jakarta.xml.bind.annotation.XmlSchemaType;
+import jakarta.xml.bind.annotation.XmlType;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/SignaturePropertiesType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/SignaturePropertiesType.java
index 749a5308..3eff70fb 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/SignaturePropertiesType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/SignaturePropertiesType.java
@@ -33,15 +33,15 @@ package at.gv.egiz.sl.schema;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlID;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlID;
+import jakarta.xml.bind.annotation.XmlSchemaType;
+import jakarta.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/SignaturePropertyType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/SignaturePropertyType.java
index ec580768..17ab7096 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/SignaturePropertyType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/SignaturePropertyType.java
@@ -33,16 +33,16 @@ package at.gv.egiz.sl.schema;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAnyElement;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlID;
-import javax.xml.bind.annotation.XmlMixed;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAnyElement;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlID;
+import jakarta.xml.bind.annotation.XmlMixed;
+import jakarta.xml.bind.annotation.XmlSchemaType;
+import jakarta.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import org.w3c.dom.Element;
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/SignatureType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/SignatureType.java
index 78d98b08..c8d3170c 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/SignatureType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/SignatureType.java
@@ -33,15 +33,15 @@ package at.gv.egiz.sl.schema;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlID;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlID;
+import jakarta.xml.bind.annotation.XmlSchemaType;
+import jakarta.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/SignatureValueType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/SignatureValueType.java
index 27801d15..0254a5c9 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/SignatureValueType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/SignatureValueType.java
@@ -31,15 +31,15 @@
package at.gv.egiz.sl.schema;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlID;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.XmlValue;
-import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlID;
+import jakarta.xml.bind.annotation.XmlSchemaType;
+import jakarta.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlValue;
+import jakarta.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/SignedInfoType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/SignedInfoType.java
index c7c93520..17f7cfc8 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/SignedInfoType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/SignedInfoType.java
@@ -33,15 +33,15 @@ package at.gv.egiz.sl.schema;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlID;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlID;
+import jakarta.xml.bind.annotation.XmlSchemaType;
+import jakarta.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ToBeEncryptedType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ToBeEncryptedType.java
index ba1b6502..d61b2eac 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ToBeEncryptedType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/ToBeEncryptedType.java
@@ -31,14 +31,14 @@
package at.gv.egiz.sl.schema;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlSchemaType;
+import jakarta.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/TokenStatusType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/TokenStatusType.java
index 64fcee0d..9281a4c8 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/TokenStatusType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/TokenStatusType.java
@@ -31,9 +31,9 @@
package at.gv.egiz.sl.schema;
-import javax.xml.bind.annotation.XmlEnum;
-import javax.xml.bind.annotation.XmlEnumValue;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlEnum;
+import jakarta.xml.bind.annotation.XmlEnumValue;
+import jakarta.xml.bind.annotation.XmlType;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/TransformType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/TransformType.java
index dda24b88..16cc8db1 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/TransformType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/TransformType.java
@@ -33,15 +33,15 @@ package at.gv.egiz.sl.schema;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.JAXBElement;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAnyElement;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlElementRef;
-import javax.xml.bind.annotation.XmlMixed;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.JAXBElement;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAnyElement;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlElementRef;
+import jakarta.xml.bind.annotation.XmlMixed;
+import jakarta.xml.bind.annotation.XmlSchemaType;
+import jakarta.xml.bind.annotation.XmlType;
import org.w3c.dom.Element;
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/TransformsInfoType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/TransformsInfoType.java
index 99bb1207..eb79c520 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/TransformsInfoType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/TransformsInfoType.java
@@ -31,10 +31,10 @@
package at.gv.egiz.sl.schema;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/TransformsType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/TransformsType.java
index 59e1bdb6..37334700 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/TransformsType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/TransformsType.java
@@ -33,10 +33,10 @@ package at.gv.egiz.sl.schema;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/UserConfirmationSimpleType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/UserConfirmationSimpleType.java
index 85d5fed4..d0c10f60 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/UserConfirmationSimpleType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/UserConfirmationSimpleType.java
@@ -31,9 +31,9 @@
package at.gv.egiz.sl.schema;
-import javax.xml.bind.annotation.XmlEnum;
-import javax.xml.bind.annotation.XmlEnumValue;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlEnum;
+import jakarta.xml.bind.annotation.XmlEnumValue;
+import jakarta.xml.bind.annotation.XmlType;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/UserConfirmationType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/UserConfirmationType.java
index c8a4f706..723f8e69 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/UserConfirmationType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/UserConfirmationType.java
@@ -31,11 +31,11 @@
package at.gv.egiz.sl.schema;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.XmlValue;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlValue;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/VerificationResultType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/VerificationResultType.java
index 6d61e1c1..13f6b9c9 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/VerificationResultType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/VerificationResultType.java
@@ -31,10 +31,10 @@
package at.gv.egiz.sl.schema;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/VerifyCMSSignatureRequestType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/VerifyCMSSignatureRequestType.java
index c607c002..140b3766 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/VerifyCMSSignatureRequestType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/VerifyCMSSignatureRequestType.java
@@ -33,12 +33,12 @@ package at.gv.egiz.sl.schema;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlSchemaType;
+import jakarta.xml.bind.annotation.XmlType;
import javax.xml.datatype.XMLGregorianCalendar;
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/VerifyCMSSignatureResponseType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/VerifyCMSSignatureResponseType.java
index 504023fb..bead821f 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/VerifyCMSSignatureResponseType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/VerifyCMSSignatureResponseType.java
@@ -33,12 +33,12 @@ package at.gv.egiz.sl.schema;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.JAXBElement;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElementRef;
-import javax.xml.bind.annotation.XmlElementRefs;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.JAXBElement;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElementRef;
+import jakarta.xml.bind.annotation.XmlElementRefs;
+import jakarta.xml.bind.annotation.XmlType;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/VerifyHashInfoRequestType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/VerifyHashInfoRequestType.java
index d076014a..6c087249 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/VerifyHashInfoRequestType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/VerifyHashInfoRequestType.java
@@ -31,11 +31,11 @@
package at.gv.egiz.sl.schema;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlSchemaType;
+import jakarta.xml.bind.annotation.XmlType;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/VerifyHashRequestType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/VerifyHashRequestType.java
index 1ca9b7f7..9dd0fad2 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/VerifyHashRequestType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/VerifyHashRequestType.java
@@ -33,10 +33,10 @@ package at.gv.egiz.sl.schema;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/VerifyHashResponseType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/VerifyHashResponseType.java
index c9dad911..af987cf6 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/VerifyHashResponseType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/VerifyHashResponseType.java
@@ -33,10 +33,10 @@ package at.gv.egiz.sl.schema;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/VerifyXMLSignatureRequestType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/VerifyXMLSignatureRequestType.java
index 799c1628..28d78dcd 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/VerifyXMLSignatureRequestType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/VerifyXMLSignatureRequestType.java
@@ -33,11 +33,11 @@ package at.gv.egiz.sl.schema;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlSchemaType;
+import jakarta.xml.bind.annotation.XmlType;
import javax.xml.datatype.XMLGregorianCalendar;
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/VerifyXMLSignatureResponseType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/VerifyXMLSignatureResponseType.java
index 17121cd7..05ab3dc8 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/VerifyXMLSignatureResponseType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/VerifyXMLSignatureResponseType.java
@@ -33,10 +33,10 @@ package at.gv.egiz.sl.schema;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/X509DataType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/X509DataType.java
index d377fb74..7fbf54ac 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/X509DataType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/X509DataType.java
@@ -33,13 +33,13 @@ package at.gv.egiz.sl.schema;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.JAXBElement;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAnyElement;
-import javax.xml.bind.annotation.XmlElementRef;
-import javax.xml.bind.annotation.XmlElementRefs;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.JAXBElement;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAnyElement;
+import jakarta.xml.bind.annotation.XmlElementRef;
+import jakarta.xml.bind.annotation.XmlElementRefs;
+import jakarta.xml.bind.annotation.XmlType;
import org.w3c.dom.Element;
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/X509IssuerSerialType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/X509IssuerSerialType.java
index c0fec8a2..1b8da46b 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/X509IssuerSerialType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/X509IssuerSerialType.java
@@ -32,10 +32,10 @@
package at.gv.egiz.sl.schema;
import java.math.BigInteger;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/XMLContentType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/XMLContentType.java
index 905109e1..ded3cac0 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/XMLContentType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/XMLContentType.java
@@ -31,12 +31,12 @@
package at.gv.egiz.sl.schema;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/XMLRecipientPublicKeyType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/XMLRecipientPublicKeyType.java
index cf6c2329..9e3fa7de 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/XMLRecipientPublicKeyType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/XMLRecipientPublicKeyType.java
@@ -31,10 +31,10 @@
package at.gv.egiz.sl.schema;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/XMLToBeEncryptedNewContentType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/XMLToBeEncryptedNewContentType.java
index c670b020..f7d2a69f 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/XMLToBeEncryptedNewContentType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/XMLToBeEncryptedNewContentType.java
@@ -31,11 +31,11 @@
package at.gv.egiz.sl.schema;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlSchemaType;
+import jakarta.xml.bind.annotation.XmlType;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/XMLToBeEncryptedNewType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/XMLToBeEncryptedNewType.java
index 4d61fcb2..93bc55a9 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/XMLToBeEncryptedNewType.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/XMLToBeEncryptedNewType.java
@@ -32,14 +32,14 @@
package at.gv.egiz.sl.schema;
import java.math.BigInteger;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlSchemaType;
+import jakarta.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
/**
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/package-info.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/package-info.java
index fde7efcd..5a1cd429 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/package-info.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/schema/package-info.java
@@ -28,5 +28,5 @@
// Generated on: 2014.04.22 at 04:01:10 PM CEST
//
-@javax.xml.bind.annotation.XmlSchema(namespace = "http://www.buergerkarte.at/namespaces/securitylayer/1.2#", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
+@jakarta.xml.bind.annotation.XmlSchema(namespace = "http://www.buergerkarte.at/namespaces/securitylayer/1.2#", elementFormDefault = jakarta.xml.bind.annotation.XmlNsForm.QUALIFIED)
package at.gv.egiz.sl.schema;
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/util/BKUSLConnector.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/util/BKUSLConnector.java
index 2e5c972f..72aa1204 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/util/BKUSLConnector.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/util/BKUSLConnector.java
@@ -30,8 +30,8 @@ import java.nio.charset.Charset;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-import javax.xml.bind.JAXBElement;
-import javax.xml.bind.JAXBException;
+import jakarta.xml.bind.JAXBElement;
+import jakarta.xml.bind.JAXBException;
import org.apache.http.Header;
import org.apache.http.HttpResponse;
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/util/SLMarschaller.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/util/SLMarschaller.java
index 8b9991fd..e25dba72 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl/util/SLMarschaller.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/util/SLMarschaller.java
@@ -28,10 +28,10 @@ import java.io.OutputStream;
import java.io.StringReader;
import java.io.StringWriter;
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.JAXBException;
-import javax.xml.bind.Marshaller;
-import javax.xml.bind.Unmarshaller;
+import jakarta.xml.bind.JAXBContext;
+import jakarta.xml.bind.JAXBException;
+import jakarta.xml.bind.Marshaller;
+import jakarta.xml.bind.Unmarshaller;
import javax.xml.stream.XMLInputFactory;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamReader;
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl20/utils/SL20JSONExtractorUtils.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl20/utils/SL20JSONExtractorUtils.java
index 8eb7211f..03c7b0a1 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/sl20/utils/SL20JSONExtractorUtils.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl20/utils/SL20JSONExtractorUtils.java
@@ -231,11 +231,10 @@ public class SL20JSONExtractorUtils {
//dummy code
try {
String[] signedPayload = encryptedResult.toString().split("\\.");
- JsonElement payLoad = new JsonParser().parse(new String(Base64Url.decodeToUtf8String(signedPayload[1])));
- return payLoad;
+ return JsonParser.parseString(Base64Url.decodeToUtf8String(signedPayload[1]));
} catch (Exception e1) {
- log.debug("DummyCode FAILED, Reason: " + e1.getMessage() + " Ignore it ...");
+ log.debug("DummyCode FAILED, Reason: {} Ignore it ...", e1.getMessage());
throw new SL20Exception(e.getMessage(), e);
}
@@ -290,7 +289,7 @@ public class SL20JSONExtractorUtils {
+ " Starting backup process ... ");
String[] split = sl20SignedPayload.getAsString().split("\\.");
if (split.length == 3) {
- JsonElement payLoad = new JsonParser().parse(new String(Base64Url.decodeToUtf8String(split[1])));
+ JsonElement payLoad = JsonParser.parseString(Base64Url.decodeToUtf8String(split[1]));
log.info("Signature verification FAILED with reason: " + e.getMessage() + " Use plain result as it is");
return new VerificationResult(payLoad.getAsJsonObject());
@@ -308,7 +307,7 @@ public class SL20JSONExtractorUtils {
log.info("Received signed SL20 response, but verification IS NOT required and NOT CONFIGURATED. Skip signature verification ... ");
String[] split = sl20SignedPayload.getAsString().split("\\.");
if (split.length == 3) {
- JsonElement payLoad = new JsonParser().parse(new String(Base64Url.decodeToUtf8String(split[1])));
+ JsonElement payLoad = JsonParser.parseString(Base64Url.decodeToUtf8String(split[1]));
return new VerificationResult(payLoad.getAsJsonObject());
} else {
@@ -345,7 +344,7 @@ public class SL20JSONExtractorUtils {
}
String sl20RespString = new URIBuilder(locationHeader[0].getValue()).getQueryParams().get(0).getValue();
- sl20Resp = new JsonParser().parse(Base64Url.encode((sl20RespString.getBytes()))).getAsJsonObject();
+ sl20Resp = JsonParser.parseString(Base64Url.encode((sl20RespString.getBytes()))).getAsJsonObject();
} else if (httpResp.getStatusLine().getStatusCode() == 200) {
if (!httpResp.getEntity().getContentType().getValue().startsWith("application/json")) {
@@ -383,7 +382,7 @@ public class SL20JSONExtractorUtils {
if (resp != null && resp.getContent() != null) {
String htmlRespBody = EntityUtils.toString(resp);
try {
- JsonElement sl20Resp = new JsonParser().parse(htmlRespBody);
+ JsonElement sl20Resp = JsonParser.parseString(htmlRespBody);
if (sl20Resp != null && sl20Resp.isJsonObject()) {
return sl20Resp.getAsJsonObject();
diff --git a/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/table/Style.java b/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/table/Style.java
index e2fa7062..d575b6bd 100644
--- a/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/table/Style.java
+++ b/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/table/Style.java
@@ -54,6 +54,7 @@ import java.awt.color.ICC_ColorSpace;
import java.awt.color.ICC_Profile;
import java.awt.color.ICC_ProfileRGB;
import java.io.Serializable;
+import java.util.Set;
/**
* This class implements an abstract style definiton used in tables or table entrys. Predefined
@@ -202,6 +203,20 @@ public class Style implements Serializable {
*/
public final static String STRIKETHRU = "STRIKETHRU";
+ /**
+ * Valid horizontal alignment values
+ */
+ private static final Set<String> VALID_HALIGN_VALUES = Set.of(LEFT, CENTER, RIGHT);
+
+ /**
+ * Valid vertical alignment values
+ */
+ private static final Set<String> VALID_VALIGN_VALUES = Set.of(TOP, MIDDLE, BOTTOM);
+
+ /**
+ * Valid value horizontal alignment values (includes LINECENTER)
+ */
+ private static final Set<String> VALID_VALUE_HALIGN_VALUES = Set.of(LEFT, CENTER, RIGHT, LINECENTER);
/**
* all paddings initialized with the default padding value (1)
@@ -286,33 +301,33 @@ public class Style implements Serializable {
}
if (HALIGN.equals(id)) {
- if (LEFT.equals(value) || CENTER.equals(value) || RIGHT.equals(value)) {
+ if (VALID_HALIGN_VALUES.contains(value)) {
hAlign_ = value;
}
}
if (VALIGN.equals(id)) {
- if (TOP.equals(value) || MIDDLE.equals(value) || BOTTOM.equals(value)) {
+ if (VALID_VALIGN_VALUES.contains(value)) {
vAlign_ = value;
}
}
//Set new align for horziontal valign of lineCenter
if (VALUEHALIGN.equals(id)) {
- if (LEFT.equals(value) || CENTER.equals(value) || RIGHT.equals(value)||LINECENTER.equals(value)) {
+ if (VALID_VALUE_HALIGN_VALUES.contains(value)) {
valueHAlign_ = value;
}
}
if (VALUEVALIGN.equals(id)) {
- if (TOP.equals(value) || MIDDLE.equals(value) || BOTTOM.equals(value)) {
+ if (VALID_VALIGN_VALUES.contains(value)) {
valueVAlign_ = value;
}
}
if (IMAGEHALIGN.equals(id)) {
- if (LEFT.equals(value) || CENTER.equals(value) || RIGHT.equals(value)) {
+ if (VALID_HALIGN_VALUES.contains(value)) {
imageHAlign_ = value;
}
}
if (IMAGEVALIGN.equals(id)) {
- if (TOP.equals(value) || MIDDLE.equals(value) || BOTTOM.equals(value)) {
+ if (VALID_VALIGN_VALUES.contains(value)) {
imageVAlign_ = value;
}
}
diff --git a/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/table/Table.java b/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/table/Table.java
index 12d0e2ee..77266488 100644
--- a/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/table/Table.java
+++ b/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/table/Table.java
@@ -51,7 +51,6 @@ package at.knowcenter.wag.egov.egiz.table;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashMap;
-import java.util.Iterator;
import java.util.Map;
import at.gv.egiz.pdfas.common.exceptions.PdfAsSettingsException;
@@ -81,7 +80,7 @@ public class Table implements Serializable
/**
* The row definitions.
*/
- private Map<String, ArrayList<Entry>> rows_ = new HashMap<String, ArrayList<Entry>>();
+ private Map<String, ArrayList<Entry>> rows_ = new HashMap<>();
/**
* The table width.
@@ -197,7 +196,7 @@ public class Table implements Serializable
*/
public ArrayList<ArrayList<Entry>> getRows()
{
- ArrayList<ArrayList<Entry>> rows = new ArrayList<ArrayList<Entry>>();
+ ArrayList<ArrayList<Entry>> rows = new ArrayList<>();
for (int row_idx = 1; row_idx <= rows_.size(); row_idx++)
{
ArrayList<Entry> row = rows_.get(String.valueOf(row_idx));
@@ -232,16 +231,14 @@ public class Table implements Serializable
private int calculateRowSize(ArrayList<Entry> newrow) {
int colCount = 0;
- for(int i = 0; i < newrow.size(); i++) {
- colCount += newrow.get(i).getColSpan();
+ for (Entry entry : newrow) {
+ colCount += entry.getColSpan();
}
return colCount;
}
private void recalculateMaxCol() {
- Iterator<ArrayList<Entry>> rowIt = getRows().iterator();
- while(rowIt.hasNext()) {
- ArrayList<Entry> row = rowIt.next();
+ for (ArrayList<Entry> row : getRows()) {
calculateMaxCols(row);
}
}
@@ -253,9 +250,7 @@ public class Table implements Serializable
* @throws PdfAsSettingsException
*/
public void normalize() throws PdfAsSettingsException {
- Iterator<ArrayList<Entry>> rowIt = getRows().iterator();
- while(rowIt.hasNext()) {
- ArrayList<Entry> row = rowIt.next();
+ for (ArrayList<Entry> row : getRows()) {
// This row fits just fine
if(row.size() == maxCols_) {
@@ -293,20 +288,21 @@ public class Table implements Serializable
*/
public String toString()
{
- String the_string = "\n#### TABLE " + name_ + " BEGIN #####";
- the_string += " Width:" + width_ + " max cols:" + maxCols_ + " cols:" + colsRelativeWith_;
- the_string += "\nStyle:" + style_;
+ StringBuilder sb = new StringBuilder();
+ sb.append("\n#### TABLE ").append(name_).append(" BEGIN #####");
+ sb.append(" Width:").append(width_).append(" max cols:").append(maxCols_).append(" cols:").append(colsRelativeWith_);
+ sb.append("\nStyle:").append(style_);
ArrayList<ArrayList<Entry>> rows = getRows();
for (int row_idx = 0; row_idx < rows.size(); row_idx++)
{
ArrayList<Entry> row = rows.get(row_idx);
String row_prefix = "\n ++ ROW " + row_idx + " ++ ";
- for (int entry_idx = 0; entry_idx < row.size(); entry_idx++)
+ for (Entry entry : row)
{
- the_string += row_prefix + row.get(entry_idx).toString();
+ sb.append(row_prefix).append(entry.toString());
}
}
- the_string += "\n#### TABLE " + name_ + " END #####";
- return the_string;
+ sb.append("\n#### TABLE ").append(name_).append(" END #####");
+ return sb.toString();
}
}
diff --git a/pdf-as-lib/src/test/java/at/gv/egiz/pdfas/lib/test/SignatureTest.java b/pdf-as-lib/src/test/java/at/gv/egiz/pdfas/lib/test/SignatureTest.java
new file mode 100644
index 00000000..fac1edd0
--- /dev/null
+++ b/pdf-as-lib/src/test/java/at/gv/egiz/pdfas/lib/test/SignatureTest.java
@@ -0,0 +1,94 @@
+package at.gv.egiz.pdfas.lib.test;
+
+import at.gv.egiz.pdfas.common.exceptions.PDFASError;
+import at.gv.egiz.pdfas.lib.api.ByteArrayDataSource;
+import at.gv.egiz.pdfas.lib.api.PdfAs;
+import at.gv.egiz.pdfas.lib.api.PdfAsFactory;
+import at.gv.egiz.pdfas.sigs.pades.PAdESSignerKeystore;
+import lombok.val;
+import org.junit.*;
+import org.junit.rules.TemporaryFolder;
+import org.junit.runner.RunWith;
+import org.junit.runners.BlockJUnit4ClassRunner;
+import org.zeroturnaround.zip.ZipUtil;
+
+import java.io.ByteArrayOutputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.security.KeyStore;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Objects;
+
+@RunWith(BlockJUnit4ClassRunner.class)
+public class SignatureTest {
+
+ @ClassRule
+ public static TemporaryFolder tempFolder = new TemporaryFolder();
+ static PdfAs pdfAs;
+ static KeyStore keyStore;
+
+ @BeforeClass
+ public static void initialize() throws Exception {
+ // unzip default config to temp dir
+ val configDir = tempFolder.newFolder();
+ ZipUtil.unpack(PdfAs.class.getResourceAsStream("/config/config.zip"), configDir);
+ pdfAs = PdfAsFactory.createPdfAs(configDir);
+
+ // load keystore
+ keyStore = KeyStore.getInstance("PKCS12");
+ keyStore.load(SignatureTest.class.getResourceAsStream("/test.p12"), "password".toCharArray());
+ }
+
+ private final static Map<String, ByteArrayDataSource> _inputPdfCache = new HashMap<>();
+ public static ByteArrayDataSource getInputPdf(String filename) throws IOException {
+ val normalizedName = filename.endsWith(".pdf") ? filename : (filename + ".pdf");
+ var existing = _inputPdfCache.get(normalizedName);
+ if (existing == null) {
+ try (val stream = SignatureTest.class.getResourceAsStream("/data/" + normalizedName)) {
+ existing = new ByteArrayDataSource(Objects.requireNonNull(stream).readAllBytes());
+ }
+ _inputPdfCache.put(normalizedName, existing);
+ }
+ return existing;
+ }
+
+ private final static Map<String, PAdESSignerKeystore> _keystoreSignerCache = new HashMap<>();
+ public static PAdESSignerKeystore getKeystoreSigner(String keyAlias) throws PDFASError {
+ var existing = _keystoreSignerCache.get(keyAlias);
+ if (existing == null) {
+ existing = new PAdESSignerKeystore(keyStore, keyAlias, "password");
+ _keystoreSignerCache.put(keyAlias, existing);
+ }
+ return existing;
+ }
+
+ @Test
+ public void signatureTest() throws Exception {
+ val inputPdf = getInputPdf("align.pdf");
+
+ val param = PdfAsFactory.createSignParameter(pdfAs.getConfiguration(), inputPdf, null);
+ param.setPlainSigner(getKeystoreSigner("test-key"));
+ param.setSignatureProfileId("SIGNATURBLOCK_SMALL_EN_NOTE");
+
+ val outputStream1 = new ByteArrayOutputStream();
+ param.setOutputStream(outputStream1);
+ pdfAs.sign(param);
+
+ val outputStream2 = new ByteArrayOutputStream();
+ param.setOutputStream(outputStream2);
+ pdfAs.sign(param);
+ val state1 = pdfAs.startSign(param);
+ val state2 = state1.setCertificate(param.getPlainSigner().getCertificate(state1.getSignParameter()).getEncoded());
+ val state3 = state2.setSignature(param.getPlainSigner().sign(
+ state2.getSignatureData(),
+ state2.getSignatureDataByteRange(),
+ state2.getSignParameter(),
+ state2.getRequestedSignature()));
+ state3.finishSign();
+
+ try (FileOutputStream fos = new FileOutputStream(tempFolder.newFile())) {
+ fos.write(outputStream1.toByteArray());
+ }
+ }
+}
diff --git a/pdf-as-lib/src/test/java/at/gv/egiz/pdfas/lib/test/stamping/CertificateAndRequestParameterResolverTest.java b/pdf-as-lib/src/test/java/at/gv/egiz/pdfas/lib/test/stamping/CertificateAndRequestParameterResolverTest.java
index e94d21e8..4aa07028 100644
--- a/pdf-as-lib/src/test/java/at/gv/egiz/pdfas/lib/test/stamping/CertificateAndRequestParameterResolverTest.java
+++ b/pdf-as-lib/src/test/java/at/gv/egiz/pdfas/lib/test/stamping/CertificateAndRequestParameterResolverTest.java
@@ -34,7 +34,7 @@ public class CertificateAndRequestParameterResolverTest {
@Before
public void initialize() throws PDFASError {
SignParameter signParams = new SignParameterImpl(null, null, null);
- opStatus = new OperationStatus(buildDummySettings(), signParams , null);
+ opStatus = new OperationStatus(buildDummySettings(), signParams , null, null);
sigProfileSetting = new SignatureProfileSettings("test", buildDummySettings());
diff --git a/pdf-as-lib/src/test/resources/data/align.pdf b/pdf-as-lib/src/test/resources/data/align.pdf
new file mode 100644
index 00000000..274d28d0
--- /dev/null
+++ b/pdf-as-lib/src/test/resources/data/align.pdf
Binary files differ
diff --git a/pdf-as-lib/src/test/resources/test.p12 b/pdf-as-lib/src/test/resources/test.p12
new file mode 100644
index 00000000..0096779d
--- /dev/null
+++ b/pdf-as-lib/src/test/resources/test.p12
Binary files differ
diff --git a/pdf-as-moa/build.gradle b/pdf-as-moa/build.gradle
index f7f46a1e..7885f697 100644
--- a/pdf-as-moa/build.gradle
+++ b/pdf-as-moa/build.gradle
@@ -13,7 +13,7 @@ buildscript {
mavenLocal()
mavenCentral()
}
- dependencies { classpath("commons-io:commons-io:2.21.0") }
+ dependencies { classpath("commons-io:commons-io:"+commonsIoVersion) }
}
sourceSets {
@@ -27,7 +27,7 @@ sourceSets {
configurations {
ws
- pdfDoclet { extendsFrom compile }
+ pdfDoclet { extendsFrom compileClasspath }
}
project.ext {
@@ -47,22 +47,38 @@ repositories {
dependencies {
implementation project (':pdf-as-lib')
implementation group: 'org.slf4j', name: 'slf4j-api', version: slf4jVersion
- implementation group: 'javax.xml.bind', name: 'jaxb-api', version: '2.3.1'
- testImplementation group: 'junit', name: 'junit', version: '4.+'
+
+ // Jakarta EE XML Binding (JAXB) - migrated from javax.xml.bind
+ implementation group: 'jakarta.xml.bind', name: 'jakarta.xml.bind-api', version: jaxbApiVersion
+ implementation group: 'org.glassfish.jaxb', name: 'jaxb-runtime', version: jaxbRuntimeVersion
+
+ // Jakarta EE XML Web Services (JAX-WS) - migrated from javax.xml.ws
+ api group: 'jakarta.xml.ws', name: 'jakarta.xml.ws-api', version: jakartaXmlWsVersion
+ api group: 'jakarta.jws', name: 'jakarta.jws-api', version: jakartaJwsVersion
+
+ // Apache Commons Codec for Base64 encoding
+ implementation group: 'commons-codec', name: 'commons-codec', version: commonsCodecVersion
+ implementation group: 'org.apache.commons', name: 'commons-lang3', version: commonsLang3Version
+ api group: 'org.apache.commons', name: 'commons-text', version: commonsTextVersion
+
+ testImplementation group: 'junit', name: 'junit', version: junitVersion
+
+ // Apache CXF tools for WSDL processing - updated to Jakarta EE compatible version
ws group: 'org.apache.cxf', name: 'cxf-tools', version: cxfVersion
ws group: 'org.apache.cxf', name: 'cxf-tools-wsdlto-databinding-jaxb', version: cxfVersion
ws group: 'org.apache.cxf', name: 'cxf-tools-wsdlto-frontend-jaxws', version: cxfVersion
- api group: 'javax.xml.ws', name: 'jaxws-api', version: '2.3.1'
- api group: 'javax.jws', name: 'javax.jws-api', version: '1.1'
- api group: 'org.glassfish.jaxb', name: 'jaxb-runtime', version: '2.3.3'}
+}
task wsdl2Java() {
if (!wsdlDir.listFiles()) {
// do nothing
} else {
inputs.files wsdlDir.listFiles()
- outputs.files generatedWsdlDir
+ outputs.dir generatedWsdlDir
doLast {
+ // Ensure the generated directory exists
+ generatedWsdlDir.mkdirs()
+
wsdlsToGenerate.each { argsin ->
argsin.add(argsin.size - 1, '-d')
argsin.add(argsin.size - 1, 'src/generated/java')
@@ -70,7 +86,7 @@ task wsdl2Java() {
argsin.add(argsin.size - 1, '/wsdl/MOA-SPSS-2.0.0.wsdl')
javaexec {
classpath configurations.ws
- main = 'org.apache.cxf.tools.wsdlto.WSDLToJava'
+ mainClass = 'org.apache.cxf.tools.wsdlto.WSDLToJava'
args = argsin
systemProperties = ['exitOnFinish':'TRUE']
}
diff --git a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/ASICResultType.java b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/ASICResultType.java
index ca7bbd30..5063e46f 100644
--- a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/ASICResultType.java
+++ b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/ASICResultType.java
@@ -3,40 +3,40 @@ package at.gv.e_government.reference.namespace.moa._20020822_;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.XmlValue;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlValue;
/**
- * <p>Java-Klasse für ASICResultType complex type.
+ * <p>Java class for ASICResultType complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType name="ASICResultType"&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
- * &lt;sequence&gt;
- * &lt;element name="signedFiles" maxOccurs="unbounded" minOccurs="0"&gt;
- * &lt;complexType&gt;
- * &lt;simpleContent&gt;
- * &lt;extension base="&lt;http://www.w3.org/2001/XMLSchema&gt;string"&gt;
- * &lt;attribute name="hashAlgorithm" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
- * &lt;/extension&gt;
- * &lt;/simpleContent&gt;
- * &lt;/complexType&gt;
- * &lt;/element&gt;
- * &lt;element name="XMLSignatureResult" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}VerifyASICXMLSignatureResponseType" maxOccurs="unbounded" minOccurs="0"/&gt;
- * &lt;element name="CMSSignatureResult" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}VerifyASICCMSSignatureResponseType" maxOccurs="unbounded" minOccurs="0"/&gt;
- * &lt;/sequence&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType name="ASICResultType">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="signedFiles" maxOccurs="unbounded" minOccurs="0">
+ * <complexType>
+ * <simpleContent>
+ * <extension base="<http://www.w3.org/2001/XMLSchema>string">
+ * <attribute name="hashAlgorithm" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * </extension>
+ * </simpleContent>
+ * </complexType>
+ * </element>
+ * <element name="XMLSignatureResult" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}VerifyASICXMLSignatureResponseType" maxOccurs="unbounded" minOccurs="0"/>
+ * <element name="CMSSignatureResult" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}VerifyASICCMSSignatureResponseType" maxOccurs="unbounded" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
@@ -57,28 +57,31 @@ public class ASICResultType {
/**
* Gets the value of the signedFiles property.
*
- * <p>
- * This accessor method returns a reference to the live list,
+ * <p>This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the signedFiles property.
+ * This is why there is not a <CODE>set</CODE> method for the signedFiles property.</p>
*
* <p>
* For example, to add a new item, do as follows:
+ * </p>
* <pre>
- * getSignedFiles().add(newItem);
+ * getSignedFiles().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link ASICResultType.SignedFiles }
+ * </p>
*
*
+ * @return
+ * The value of the signedFiles property.
*/
public List<ASICResultType.SignedFiles> getSignedFiles() {
if (signedFiles == null) {
- signedFiles = new ArrayList<ASICResultType.SignedFiles>();
+ signedFiles = new ArrayList<>();
}
return this.signedFiles;
}
@@ -86,28 +89,31 @@ public class ASICResultType {
/**
* Gets the value of the xmlSignatureResult property.
*
- * <p>
- * This accessor method returns a reference to the live list,
+ * <p>This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the xmlSignatureResult property.
+ * This is why there is not a <CODE>set</CODE> method for the xmlSignatureResult property.</p>
*
* <p>
* For example, to add a new item, do as follows:
+ * </p>
* <pre>
- * getXMLSignatureResult().add(newItem);
+ * getXMLSignatureResult().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link VerifyASICXMLSignatureResponseType }
+ * </p>
*
*
+ * @return
+ * The value of the xmlSignatureResult property.
*/
public List<VerifyASICXMLSignatureResponseType> getXMLSignatureResult() {
if (xmlSignatureResult == null) {
- xmlSignatureResult = new ArrayList<VerifyASICXMLSignatureResponseType>();
+ xmlSignatureResult = new ArrayList<>();
}
return this.xmlSignatureResult;
}
@@ -115,47 +121,50 @@ public class ASICResultType {
/**
* Gets the value of the cmsSignatureResult property.
*
- * <p>
- * This accessor method returns a reference to the live list,
+ * <p>This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the cmsSignatureResult property.
+ * This is why there is not a <CODE>set</CODE> method for the cmsSignatureResult property.</p>
*
* <p>
* For example, to add a new item, do as follows:
+ * </p>
* <pre>
- * getCMSSignatureResult().add(newItem);
+ * getCMSSignatureResult().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link VerifyASICCMSSignatureResponseType }
+ * </p>
*
*
+ * @return
+ * The value of the cmsSignatureResult property.
*/
public List<VerifyASICCMSSignatureResponseType> getCMSSignatureResult() {
if (cmsSignatureResult == null) {
- cmsSignatureResult = new ArrayList<VerifyASICCMSSignatureResponseType>();
+ cmsSignatureResult = new ArrayList<>();
}
return this.cmsSignatureResult;
}
/**
- * <p>Java-Klasse für anonymous complex type.
+ * <p>Java class for anonymous complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType&gt;
- * &lt;simpleContent&gt;
- * &lt;extension base="&lt;http://www.w3.org/2001/XMLSchema&gt;string"&gt;
- * &lt;attribute name="hashAlgorithm" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
- * &lt;/extension&gt;
- * &lt;/simpleContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType>
+ * <simpleContent>
+ * <extension base="<http://www.w3.org/2001/XMLSchema>string">
+ * <attribute name="hashAlgorithm" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * </extension>
+ * </simpleContent>
+ * </complexType>
+ * }</pre>
*
*
*/
@@ -171,7 +180,7 @@ public class ASICResultType {
protected String hashAlgorithm;
/**
- * Ruft den Wert der value-Eigenschaft ab.
+ * Gets the value of the value property.
*
* @return
* possible object is
@@ -183,7 +192,7 @@ public class ASICResultType {
}
/**
- * Legt den Wert der value-Eigenschaft fest.
+ * Sets the value of the value property.
*
* @param value
* allowed object is
@@ -195,7 +204,7 @@ public class ASICResultType {
}
/**
- * Ruft den Wert der hashAlgorithm-Eigenschaft ab.
+ * Gets the value of the hashAlgorithm property.
*
* @return
* possible object is
@@ -207,7 +216,7 @@ public class ASICResultType {
}
/**
- * Legt den Wert der hashAlgorithm-Eigenschaft fest.
+ * Sets the value of the hashAlgorithm property.
*
* @param value
* allowed object is
diff --git a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/AllSignatoriesType.java b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/AllSignatoriesType.java
index c4efe76e..b95ff45b 100644
--- a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/AllSignatoriesType.java
+++ b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/AllSignatoriesType.java
@@ -1,22 +1,24 @@
package at.gv.e_government.reference.namespace.moa._20020822_;
-import javax.xml.bind.annotation.XmlEnum;
-import javax.xml.bind.annotation.XmlEnumValue;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlEnum;
+import jakarta.xml.bind.annotation.XmlEnumValue;
+import jakarta.xml.bind.annotation.XmlType;
/**
- * <p>Java-Klasse für AllSignatoriesType.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
- * <pre>
- * &lt;simpleType name="AllSignatoriesType"&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string"&gt;
- * &lt;enumeration value="all"/&gt;
- * &lt;/restriction&gt;
- * &lt;/simpleType&gt;
- * </pre>
+ *
+ * <p>Java class for AllSignatoriesType</p>.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
+ * <pre>{@code
+ * <simpleType name="AllSignatoriesType">
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ * <enumeration value="all"/>
+ * </restriction>
+ * </simpleType>
+ * }</pre>
*
*/
@XmlType(name = "AllSignatoriesType")
@@ -31,10 +33,26 @@ public enum AllSignatoriesType {
value = v;
}
+ /**
+ * Gets the value associated to the enum constant.
+ *
+ * @return
+ * The value linked to the enum.
+ */
public String value() {
return value;
}
+ /**
+ * Gets the enum associated to the value passed as parameter.
+ *
+ * @param v
+ * The value to get the enum from.
+ * @return
+ * The enum which corresponds to the value, if it exists.
+ * @throws IllegalArgumentException
+ * If no value matches in the enum declaration.
+ */
public static AllSignatoriesType fromValue(String v) {
for (AllSignatoriesType c: AllSignatoriesType.values()) {
if (c.value.equals(v)) {
diff --git a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/AnyChildrenType.java b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/AnyChildrenType.java
index 45611ed4..d34c2656 100644
--- a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/AnyChildrenType.java
+++ b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/AnyChildrenType.java
@@ -3,31 +3,31 @@ package at.gv.e_government.reference.namespace.moa._20020822_;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAnyElement;
-import javax.xml.bind.annotation.XmlMixed;
-import javax.xml.bind.annotation.XmlSeeAlso;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAnyElement;
+import jakarta.xml.bind.annotation.XmlMixed;
+import jakarta.xml.bind.annotation.XmlSeeAlso;
+import jakarta.xml.bind.annotation.XmlType;
import org.w3c.dom.Element;
/**
- * <p>Java-Klasse für AnyChildrenType complex type.
+ * <p>Java class for AnyChildrenType complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType name="AnyChildrenType"&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
- * &lt;sequence&gt;
- * &lt;any processContents='lax' maxOccurs="unbounded" minOccurs="0"/&gt;
- * &lt;/sequence&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType name="AnyChildrenType">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <any processContents='lax' maxOccurs="unbounded" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
@@ -49,16 +49,16 @@ public class AnyChildrenType {
/**
* Gets the value of the content property.
*
- * <p>
- * This accessor method returns a reference to the live list,
+ * <p>This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the content property.
+ * This is why there is not a <CODE>set</CODE> method for the content property.</p>
*
* <p>
* For example, to add a new item, do as follows:
+ * </p>
* <pre>
- * getContent().add(newItem);
+ * getContent().add(newItem);
* </pre>
*
*
@@ -67,12 +67,15 @@ public class AnyChildrenType {
* {@link Object }
* {@link String }
* {@link Element }
+ * </p>
*
*
+ * @return
+ * The value of the content property.
*/
public List<Object> getContent() {
if (content == null) {
- content = new ArrayList<Object>();
+ content = new ArrayList<>();
}
return this.content;
}
diff --git a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CMSContentBaseType.java b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CMSContentBaseType.java
index 87b0e0bf..a77b4d73 100644
--- a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CMSContentBaseType.java
+++ b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CMSContentBaseType.java
@@ -1,27 +1,27 @@
package at.gv.e_government.reference.namespace.moa._20020822_;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlType;
/**
- * <p>Java-Klasse für CMSContentBaseType complex type.
+ * <p>Java class for CMSContentBaseType complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType name="CMSContentBaseType"&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://reference.e-government.gv.at/namespace/moa/20020822#}ContentOptionalRefType"&gt;
- * &lt;choice minOccurs="0"&gt;
- * &lt;element name="Base64Content" type="{http://www.w3.org/2001/XMLSchema}base64Binary"/&gt;
- * &lt;/choice&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType name="CMSContentBaseType">
+ * <complexContent>
+ * <restriction base="{http://reference.e-government.gv.at/namespace/moa/20020822#}ContentOptionalRefType">
+ * <choice minOccurs="0">
+ * <element name="Base64Content" type="{http://www.w3.org/2001/XMLSchema}base64Binary"/>
+ * </choice>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
diff --git a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CMSDataObjectInfoType.java b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CMSDataObjectInfoType.java
index a834a14d..acffa66f 100644
--- a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CMSDataObjectInfoType.java
+++ b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CMSDataObjectInfoType.java
@@ -1,45 +1,45 @@
package at.gv.e_government.reference.namespace.moa._20020822_;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlSeeAlso;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlSeeAlso;
+import jakarta.xml.bind.annotation.XmlType;
/**
- * <p>Java-Klasse für CMSDataObjectInfoType complex type.
+ * <p>Java class for CMSDataObjectInfoType complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType name="CMSDataObjectInfoType"&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
- * &lt;sequence&gt;
- * &lt;element name="DataObject"&gt;
- * &lt;complexType&gt;
- * &lt;complexContent&gt;
- * &lt;extension base="{http://reference.e-government.gv.at/namespace/moa/20020822#}CMSDataObjectRequiredMetaType"&gt;
- * &lt;/extension&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * &lt;/element&gt;
- * &lt;/sequence&gt;
- * &lt;attribute name="Structure" use="required"&gt;
- * &lt;simpleType&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string"&gt;
- * &lt;enumeration value="detached"/&gt;
- * &lt;enumeration value="enveloping"/&gt;
- * &lt;/restriction&gt;
- * &lt;/simpleType&gt;
- * &lt;/attribute&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType name="CMSDataObjectInfoType">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="DataObject">
+ * <complexType>
+ * <complexContent>
+ * <extension base="{http://reference.e-government.gv.at/namespace/moa/20020822#}CMSDataObjectRequiredMetaType">
+ * </extension>
+ * </complexContent>
+ * </complexType>
+ * </element>
+ * </sequence>
+ * <attribute name="Structure" use="required">
+ * <simpleType>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ * <enumeration value="detached"/>
+ * <enumeration value="enveloping"/>
+ * </restriction>
+ * </simpleType>
+ * </attribute>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
@@ -58,7 +58,7 @@ public class CMSDataObjectInfoType {
protected String structure;
/**
- * Ruft den Wert der dataObject-Eigenschaft ab.
+ * Gets the value of the dataObject property.
*
* @return
* possible object is
@@ -70,7 +70,7 @@ public class CMSDataObjectInfoType {
}
/**
- * Legt den Wert der dataObject-Eigenschaft fest.
+ * Sets the value of the dataObject property.
*
* @param value
* allowed object is
@@ -82,7 +82,7 @@ public class CMSDataObjectInfoType {
}
/**
- * Ruft den Wert der structure-Eigenschaft ab.
+ * Gets the value of the structure property.
*
* @return
* possible object is
@@ -94,7 +94,7 @@ public class CMSDataObjectInfoType {
}
/**
- * Legt den Wert der structure-Eigenschaft fest.
+ * Sets the value of the structure property.
*
* @param value
* allowed object is
@@ -107,18 +107,18 @@ public class CMSDataObjectInfoType {
/**
- * <p>Java-Klasse für anonymous complex type.
+ * <p>Java class for anonymous complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType&gt;
- * &lt;complexContent&gt;
- * &lt;extension base="{http://reference.e-government.gv.at/namespace/moa/20020822#}CMSDataObjectRequiredMetaType"&gt;
- * &lt;/extension&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType>
+ * <complexContent>
+ * <extension base="{http://reference.e-government.gv.at/namespace/moa/20020822#}CMSDataObjectRequiredMetaType">
+ * </extension>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
diff --git a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CMSDataObjectOptionalMetaType.java b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CMSDataObjectOptionalMetaType.java
index 60d3ffe1..06cdfaf9 100644
--- a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CMSDataObjectOptionalMetaType.java
+++ b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CMSDataObjectOptionalMetaType.java
@@ -1,29 +1,29 @@
package at.gv.e_government.reference.namespace.moa._20020822_;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
/**
- * <p>Java-Klasse für CMSDataObjectOptionalMetaType complex type.
+ * <p>Java class for CMSDataObjectOptionalMetaType complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType name="CMSDataObjectOptionalMetaType"&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
- * &lt;sequence&gt;
- * &lt;element name="MetaInfo" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}MetaInfoType" minOccurs="0"/&gt;
- * &lt;element name="Content" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}CMSContentBaseType"/&gt;
- * &lt;/sequence&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType name="CMSDataObjectOptionalMetaType">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="MetaInfo" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}MetaInfoType" minOccurs="0"/>
+ * <element name="Content" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}CMSContentBaseType"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
@@ -40,7 +40,7 @@ public class CMSDataObjectOptionalMetaType {
protected CMSContentBaseType content;
/**
- * Ruft den Wert der metaInfo-Eigenschaft ab.
+ * Gets the value of the metaInfo property.
*
* @return
* possible object is
@@ -52,7 +52,7 @@ public class CMSDataObjectOptionalMetaType {
}
/**
- * Legt den Wert der metaInfo-Eigenschaft fest.
+ * Sets the value of the metaInfo property.
*
* @param value
* allowed object is
@@ -64,7 +64,7 @@ public class CMSDataObjectOptionalMetaType {
}
/**
- * Ruft den Wert der content-Eigenschaft ab.
+ * Gets the value of the content property.
*
* @return
* possible object is
@@ -76,7 +76,7 @@ public class CMSDataObjectOptionalMetaType {
}
/**
- * Legt den Wert der content-Eigenschaft fest.
+ * Sets the value of the content property.
*
* @param value
* allowed object is
diff --git a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CMSDataObjectRequiredMetaType.java b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CMSDataObjectRequiredMetaType.java
index 7b4a7afd..028b95a2 100644
--- a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CMSDataObjectRequiredMetaType.java
+++ b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CMSDataObjectRequiredMetaType.java
@@ -1,30 +1,30 @@
package at.gv.e_government.reference.namespace.moa._20020822_;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlSeeAlso;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlSeeAlso;
+import jakarta.xml.bind.annotation.XmlType;
/**
- * <p>Java-Klasse für CMSDataObjectRequiredMetaType complex type.
+ * <p>Java class for CMSDataObjectRequiredMetaType complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType name="CMSDataObjectRequiredMetaType"&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
- * &lt;sequence&gt;
- * &lt;element name="MetaInfo" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}MetaInfoType"/&gt;
- * &lt;element name="Content" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}CMSContentBaseType"/&gt;
- * &lt;/sequence&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType name="CMSDataObjectRequiredMetaType">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="MetaInfo" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}MetaInfoType"/>
+ * <element name="Content" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}CMSContentBaseType"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
@@ -44,7 +44,7 @@ public class CMSDataObjectRequiredMetaType {
protected CMSContentBaseType content;
/**
- * Ruft den Wert der metaInfo-Eigenschaft ab.
+ * Gets the value of the metaInfo property.
*
* @return
* possible object is
@@ -56,7 +56,7 @@ public class CMSDataObjectRequiredMetaType {
}
/**
- * Legt den Wert der metaInfo-Eigenschaft fest.
+ * Sets the value of the metaInfo property.
*
* @param value
* allowed object is
@@ -68,7 +68,7 @@ public class CMSDataObjectRequiredMetaType {
}
/**
- * Ruft den Wert der content-Eigenschaft ab.
+ * Gets the value of the content property.
*
* @return
* possible object is
@@ -80,7 +80,7 @@ public class CMSDataObjectRequiredMetaType {
}
/**
- * Legt den Wert der content-Eigenschaft fest.
+ * Sets the value of the content property.
*
* @param value
* allowed object is
diff --git a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CheckResultType.java b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CheckResultType.java
index 84cf51e9..54c3d4be 100644
--- a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CheckResultType.java
+++ b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CheckResultType.java
@@ -2,31 +2,31 @@
package at.gv.e_government.reference.namespace.moa._20020822_;
import java.math.BigInteger;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlSeeAlso;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlSchemaType;
+import jakarta.xml.bind.annotation.XmlSeeAlso;
+import jakarta.xml.bind.annotation.XmlType;
/**
- * <p>Java-Klasse für CheckResultType complex type.
+ * <p>Java class for CheckResultType complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType name="CheckResultType"&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
- * &lt;sequence&gt;
- * &lt;element name="Code" type="{http://www.w3.org/2001/XMLSchema}nonNegativeInteger"/&gt;
- * &lt;element name="Info" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}AnyChildrenType" minOccurs="0"/&gt;
- * &lt;/sequence&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType name="CheckResultType">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="Code" type="{http://www.w3.org/2001/XMLSchema}nonNegativeInteger"/>
+ * <element name="Info" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}AnyChildrenType" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
@@ -48,7 +48,7 @@ public class CheckResultType {
protected AnyChildrenType info;
/**
- * Ruft den Wert der code-Eigenschaft ab.
+ * Gets the value of the code property.
*
* @return
* possible object is
@@ -60,7 +60,7 @@ public class CheckResultType {
}
/**
- * Legt den Wert der code-Eigenschaft fest.
+ * Sets the value of the code property.
*
* @param value
* allowed object is
@@ -72,7 +72,7 @@ public class CheckResultType {
}
/**
- * Ruft den Wert der info-Eigenschaft ab.
+ * Gets the value of the info property.
*
* @return
* possible object is
@@ -84,7 +84,7 @@ public class CheckResultType {
}
/**
- * Legt den Wert der info-Eigenschaft fest.
+ * Sets the value of the info property.
*
* @param value
* allowed object is
diff --git a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/ContentBaseType.java b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/ContentBaseType.java
index 02a83c4c..baf97213 100644
--- a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/ContentBaseType.java
+++ b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/ContentBaseType.java
@@ -1,32 +1,32 @@
package at.gv.e_government.reference.namespace.moa._20020822_;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlSeeAlso;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlSchemaType;
+import jakarta.xml.bind.annotation.XmlSeeAlso;
+import jakarta.xml.bind.annotation.XmlType;
/**
- * <p>Java-Klasse für ContentBaseType complex type.
+ * <p>Java class for ContentBaseType complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType name="ContentBaseType"&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
- * &lt;choice minOccurs="0"&gt;
- * &lt;element name="Base64Content" type="{http://www.w3.org/2001/XMLSchema}base64Binary"/&gt;
- * &lt;element name="XMLContent" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}XMLContentType"/&gt;
- * &lt;element name="LocRefContent" type="{http://www.w3.org/2001/XMLSchema}anyURI"/&gt;
- * &lt;/choice&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType name="ContentBaseType">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <choice minOccurs="0">
+ * <element name="Base64Content" type="{http://www.w3.org/2001/XMLSchema}base64Binary"/>
+ * <element name="XMLContent" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}XMLContentType"/>
+ * <element name="LocRefContent" type="{http://www.w3.org/2001/XMLSchema}anyURI"/>
+ * </choice>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
@@ -51,7 +51,7 @@ public class ContentBaseType {
protected String locRefContent;
/**
- * Ruft den Wert der base64Content-Eigenschaft ab.
+ * Gets the value of the base64Content property.
*
* @return
* possible object is
@@ -62,7 +62,7 @@ public class ContentBaseType {
}
/**
- * Legt den Wert der base64Content-Eigenschaft fest.
+ * Sets the value of the base64Content property.
*
* @param value
* allowed object is
@@ -73,7 +73,7 @@ public class ContentBaseType {
}
/**
- * Ruft den Wert der xmlContent-Eigenschaft ab.
+ * Gets the value of the xmlContent property.
*
* @return
* possible object is
@@ -85,7 +85,7 @@ public class ContentBaseType {
}
/**
- * Legt den Wert der xmlContent-Eigenschaft fest.
+ * Sets the value of the xmlContent property.
*
* @param value
* allowed object is
@@ -97,7 +97,7 @@ public class ContentBaseType {
}
/**
- * Ruft den Wert der locRefContent-Eigenschaft ab.
+ * Gets the value of the locRefContent property.
*
* @return
* possible object is
@@ -109,7 +109,7 @@ public class ContentBaseType {
}
/**
- * Legt den Wert der locRefContent-Eigenschaft fest.
+ * Sets the value of the locRefContent property.
*
* @param value
* allowed object is
diff --git a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/ContentExLocRefBaseType.java b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/ContentExLocRefBaseType.java
index 6913282f..16f57587 100644
--- a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/ContentExLocRefBaseType.java
+++ b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/ContentExLocRefBaseType.java
@@ -1,29 +1,29 @@
package at.gv.e_government.reference.namespace.moa._20020822_;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlSeeAlso;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlSeeAlso;
+import jakarta.xml.bind.annotation.XmlType;
/**
- * <p>Java-Klasse für ContentExLocRefBaseType complex type.
+ * <p>Java class for ContentExLocRefBaseType complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType name="ContentExLocRefBaseType"&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://reference.e-government.gv.at/namespace/moa/20020822#}ContentBaseType"&gt;
- * &lt;choice minOccurs="0"&gt;
- * &lt;element name="Base64Content" type="{http://www.w3.org/2001/XMLSchema}base64Binary"/&gt;
- * &lt;element name="XMLContent" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}XMLContentType"/&gt;
- * &lt;/choice&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType name="ContentExLocRefBaseType">
+ * <complexContent>
+ * <restriction base="{http://reference.e-government.gv.at/namespace/moa/20020822#}ContentBaseType">
+ * <choice minOccurs="0">
+ * <element name="Base64Content" type="{http://www.w3.org/2001/XMLSchema}base64Binary"/>
+ * <element name="XMLContent" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}XMLContentType"/>
+ * </choice>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
diff --git a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/ContentOptionalRefType.java b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/ContentOptionalRefType.java
index f50865fc..17dff8cd 100644
--- a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/ContentOptionalRefType.java
+++ b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/ContentOptionalRefType.java
@@ -1,28 +1,28 @@
package at.gv.e_government.reference.namespace.moa._20020822_;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlSeeAlso;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlSchemaType;
+import jakarta.xml.bind.annotation.XmlSeeAlso;
+import jakarta.xml.bind.annotation.XmlType;
/**
- * <p>Java-Klasse für ContentOptionalRefType complex type.
+ * <p>Java class for ContentOptionalRefType complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType name="ContentOptionalRefType"&gt;
- * &lt;complexContent&gt;
- * &lt;extension base="{http://reference.e-government.gv.at/namespace/moa/20020822#}ContentBaseType"&gt;
- * &lt;attribute name="Reference" type="{http://www.w3.org/2001/XMLSchema}anyURI" /&gt;
- * &lt;/extension&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType name="ContentOptionalRefType">
+ * <complexContent>
+ * <extension base="{http://reference.e-government.gv.at/namespace/moa/20020822#}ContentBaseType">
+ * <attribute name="Reference" type="{http://www.w3.org/2001/XMLSchema}anyURI" />
+ * </extension>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
@@ -42,7 +42,7 @@ public class ContentOptionalRefType
protected String reference;
/**
- * Ruft den Wert der reference-Eigenschaft ab.
+ * Gets the value of the reference property.
*
* @return
* possible object is
@@ -54,7 +54,7 @@ public class ContentOptionalRefType
}
/**
- * Legt den Wert der reference-Eigenschaft fest.
+ * Sets the value of the reference property.
*
* @param value
* allowed object is
diff --git a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/ContentRequiredRefType.java b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/ContentRequiredRefType.java
index 6dafba45..4d06cd64 100644
--- a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/ContentRequiredRefType.java
+++ b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/ContentRequiredRefType.java
@@ -1,30 +1,30 @@
package at.gv.e_government.reference.namespace.moa._20020822_;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlType;
/**
- * <p>Java-Klasse für ContentRequiredRefType complex type.
+ * <p>Java class for ContentRequiredRefType complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType name="ContentRequiredRefType"&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://reference.e-government.gv.at/namespace/moa/20020822#}ContentOptionalRefType"&gt;
- * &lt;choice minOccurs="0"&gt;
- * &lt;element name="Base64Content" type="{http://www.w3.org/2001/XMLSchema}base64Binary"/&gt;
- * &lt;element name="XMLContent" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}XMLContentType"/&gt;
- * &lt;element name="LocRefContent" type="{http://www.w3.org/2001/XMLSchema}anyURI"/&gt;
- * &lt;/choice&gt;
- * &lt;attribute name="Reference" use="required" type="{http://www.w3.org/2001/XMLSchema}anyURI" /&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType name="ContentRequiredRefType">
+ * <complexContent>
+ * <restriction base="{http://reference.e-government.gv.at/namespace/moa/20020822#}ContentOptionalRefType">
+ * <choice minOccurs="0">
+ * <element name="Base64Content" type="{http://www.w3.org/2001/XMLSchema}base64Binary"/>
+ * <element name="XMLContent" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}XMLContentType"/>
+ * <element name="LocRefContent" type="{http://www.w3.org/2001/XMLSchema}anyURI"/>
+ * </choice>
+ * <attribute name="Reference" use="required" type="{http://www.w3.org/2001/XMLSchema}anyURI" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
diff --git a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CreateCMSSignatureRequest.java b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CreateCMSSignatureRequest.java
index 3d43e49f..6fe8f740 100644
--- a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CreateCMSSignatureRequest.java
+++ b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CreateCMSSignatureRequest.java
@@ -1,25 +1,25 @@
package at.gv.e_government.reference.namespace.moa._20020822_;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlType;
/**
- * <p>Java-Klasse für anonymous complex type.
+ * <p>Java class for anonymous complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType&gt;
- * &lt;complexContent&gt;
- * &lt;extension base="{http://reference.e-government.gv.at/namespace/moa/20020822#}CreateCMSSignatureRequestType"&gt;
- * &lt;/extension&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType>
+ * <complexContent>
+ * <extension base="{http://reference.e-government.gv.at/namespace/moa/20020822#}CreateCMSSignatureRequestType">
+ * </extension>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
diff --git a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CreateCMSSignatureRequestType.java b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CreateCMSSignatureRequestType.java
index a57f3de4..2c0cc257 100644
--- a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CreateCMSSignatureRequestType.java
+++ b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CreateCMSSignatureRequestType.java
@@ -3,50 +3,50 @@ package at.gv.e_government.reference.namespace.moa._20020822_;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlSeeAlso;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlSeeAlso;
+import jakarta.xml.bind.annotation.XmlType;
/**
- * <p>Java-Klasse für CreateCMSSignatureRequestType complex type.
+ * <p>Java class for CreateCMSSignatureRequestType complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType name="CreateCMSSignatureRequestType"&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
- * &lt;sequence&gt;
- * &lt;element name="KeyIdentifier" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}KeyIdentifierType"/&gt;
- * &lt;element name="SingleSignatureInfo" maxOccurs="unbounded"&gt;
- * &lt;complexType&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
- * &lt;sequence&gt;
- * &lt;element name="DataObjectInfo"&gt;
- * &lt;complexType&gt;
- * &lt;complexContent&gt;
- * &lt;extension base="{http://reference.e-government.gv.at/namespace/moa/20020822#}CMSDataObjectInfoType"&gt;
- * &lt;/extension&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * &lt;/element&gt;
- * &lt;/sequence&gt;
- * &lt;attribute name="SecurityLayerConformity" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&gt;
- * &lt;attribute name="PAdESConformity" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * &lt;/element&gt;
- * &lt;/sequence&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType name="CreateCMSSignatureRequestType">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="KeyIdentifier" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}KeyIdentifierType"/>
+ * <element name="SingleSignatureInfo" maxOccurs="unbounded">
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="DataObjectInfo">
+ * <complexType>
+ * <complexContent>
+ * <extension base="{http://reference.e-government.gv.at/namespace/moa/20020822#}CMSDataObjectInfoType">
+ * </extension>
+ * </complexContent>
+ * </complexType>
+ * </element>
+ * </sequence>
+ * <attribute name="SecurityLayerConformity" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
+ * <attribute name="PAdESConformity" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </element>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
@@ -62,11 +62,16 @@ public class CreateCMSSignatureRequestType {
@XmlElement(name = "KeyIdentifier", required = true)
protected String keyIdentifier;
+ /**
+ * Ermöglichung der Stapelsignatur durch
+ * wiederholte Angabe dieses Elements
+ *
+ */
@XmlElement(name = "SingleSignatureInfo", required = true)
protected List<CreateCMSSignatureRequestType.SingleSignatureInfo> singleSignatureInfo;
/**
- * Ruft den Wert der keyIdentifier-Eigenschaft ab.
+ * Gets the value of the keyIdentifier property.
*
* @return
* possible object is
@@ -78,7 +83,7 @@ public class CreateCMSSignatureRequestType {
}
/**
- * Legt den Wert der keyIdentifier-Eigenschaft fest.
+ * Sets the value of the keyIdentifier property.
*
* @param value
* allowed object is
@@ -90,60 +95,66 @@ public class CreateCMSSignatureRequestType {
}
/**
+ * Ermöglichung der Stapelsignatur durch
+ * wiederholte Angabe dieses Elements
+ *
* Gets the value of the singleSignatureInfo property.
*
- * <p>
- * This accessor method returns a reference to the live list,
+ * <p>This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the singleSignatureInfo property.
+ * This is why there is not a <CODE>set</CODE> method for the singleSignatureInfo property.</p>
*
* <p>
* For example, to add a new item, do as follows:
+ * </p>
* <pre>
- * getSingleSignatureInfo().add(newItem);
+ * getSingleSignatureInfo().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link CreateCMSSignatureRequestType.SingleSignatureInfo }
+ * </p>
*
*
+ * @return
+ * The value of the singleSignatureInfo property.
*/
public List<CreateCMSSignatureRequestType.SingleSignatureInfo> getSingleSignatureInfo() {
if (singleSignatureInfo == null) {
- singleSignatureInfo = new ArrayList<CreateCMSSignatureRequestType.SingleSignatureInfo>();
+ singleSignatureInfo = new ArrayList<>();
}
return this.singleSignatureInfo;
}
/**
- * <p>Java-Klasse für anonymous complex type.
+ * <p>Java class for anonymous complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
- * &lt;sequence&gt;
- * &lt;element name="DataObjectInfo"&gt;
- * &lt;complexType&gt;
- * &lt;complexContent&gt;
- * &lt;extension base="{http://reference.e-government.gv.at/namespace/moa/20020822#}CMSDataObjectInfoType"&gt;
- * &lt;/extension&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * &lt;/element&gt;
- * &lt;/sequence&gt;
- * &lt;attribute name="SecurityLayerConformity" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&gt;
- * &lt;attribute name="PAdESConformity" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="DataObjectInfo">
+ * <complexType>
+ * <complexContent>
+ * <extension base="{http://reference.e-government.gv.at/namespace/moa/20020822#}CMSDataObjectInfoType">
+ * </extension>
+ * </complexContent>
+ * </complexType>
+ * </element>
+ * </sequence>
+ * <attribute name="SecurityLayerConformity" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
+ * <attribute name="PAdESConformity" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
@@ -161,7 +172,7 @@ public class CreateCMSSignatureRequestType {
protected Boolean pAdESConformity;
/**
- * Ruft den Wert der dataObjectInfo-Eigenschaft ab.
+ * Gets the value of the dataObjectInfo property.
*
* @return
* possible object is
@@ -173,7 +184,7 @@ public class CreateCMSSignatureRequestType {
}
/**
- * Legt den Wert der dataObjectInfo-Eigenschaft fest.
+ * Sets the value of the dataObjectInfo property.
*
* @param value
* allowed object is
@@ -185,7 +196,7 @@ public class CreateCMSSignatureRequestType {
}
/**
- * Ruft den Wert der securityLayerConformity-Eigenschaft ab.
+ * Gets the value of the securityLayerConformity property.
*
* @return
* possible object is
@@ -201,7 +212,7 @@ public class CreateCMSSignatureRequestType {
}
/**
- * Legt den Wert der securityLayerConformity-Eigenschaft fest.
+ * Sets the value of the securityLayerConformity property.
*
* @param value
* allowed object is
@@ -213,7 +224,7 @@ public class CreateCMSSignatureRequestType {
}
/**
- * Ruft den Wert der pAdESConformity-Eigenschaft ab.
+ * Gets the value of the pAdESConformity property.
*
* @return
* possible object is
@@ -229,7 +240,7 @@ public class CreateCMSSignatureRequestType {
}
/**
- * Legt den Wert der pAdESConformity-Eigenschaft fest.
+ * Sets the value of the pAdESConformity property.
*
* @param value
* allowed object is
@@ -242,18 +253,18 @@ public class CreateCMSSignatureRequestType {
/**
- * <p>Java-Klasse für anonymous complex type.
+ * <p>Java class for anonymous complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType&gt;
- * &lt;complexContent&gt;
- * &lt;extension base="{http://reference.e-government.gv.at/namespace/moa/20020822#}CMSDataObjectInfoType"&gt;
- * &lt;/extension&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType>
+ * <complexContent>
+ * <extension base="{http://reference.e-government.gv.at/namespace/moa/20020822#}CMSDataObjectInfoType">
+ * </extension>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
diff --git a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CreateCMSSignatureResponseType.java b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CreateCMSSignatureResponseType.java
index 0a643ba4..48500e7f 100644
--- a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CreateCMSSignatureResponseType.java
+++ b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CreateCMSSignatureResponseType.java
@@ -3,30 +3,30 @@ package at.gv.e_government.reference.namespace.moa._20020822_;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElements;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlElements;
+import jakarta.xml.bind.annotation.XmlType;
/**
- * <p>Java-Klasse für CreateCMSSignatureResponseType complex type.
+ * <p>Java class for CreateCMSSignatureResponseType complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType name="CreateCMSSignatureResponseType"&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
- * &lt;choice maxOccurs="unbounded"&gt;
- * &lt;element name="CMSSignature" type="{http://www.w3.org/2001/XMLSchema}base64Binary"/&gt;
- * &lt;element ref="{http://reference.e-government.gv.at/namespace/moa/20020822#}ErrorResponse"/&gt;
- * &lt;/choice&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType name="CreateCMSSignatureResponseType">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <choice maxOccurs="unbounded">
+ * <element name="CMSSignature" type="{http://www.w3.org/2001/XMLSchema}base64Binary"/>
+ * <element ref="{http://reference.e-government.gv.at/namespace/moa/20020822#}ErrorResponse"/>
+ * </choice>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
@@ -36,6 +36,11 @@ import javax.xml.bind.annotation.XmlType;
})
public class CreateCMSSignatureResponseType {
+ /**
+ * Kardinalität 1..oo erlaubt die Antwort auf eine
+ * Stapelsignatur-Anfrage
+ *
+ */
@XmlElements({
@XmlElement(name = "CMSSignature", type = byte[].class),
@XmlElement(name = "ErrorResponse", type = ErrorResponseType.class)
@@ -43,30 +48,36 @@ public class CreateCMSSignatureResponseType {
protected List<Object> cmsSignatureOrErrorResponse;
/**
+ * Kardinalität 1..oo erlaubt die Antwort auf eine
+ * Stapelsignatur-Anfrage
+ *
* Gets the value of the cmsSignatureOrErrorResponse property.
*
- * <p>
- * This accessor method returns a reference to the live list,
+ * <p>This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the cmsSignatureOrErrorResponse property.
+ * This is why there is not a <CODE>set</CODE> method for the cmsSignatureOrErrorResponse property.</p>
*
* <p>
* For example, to add a new item, do as follows:
+ * </p>
* <pre>
- * getCMSSignatureOrErrorResponse().add(newItem);
+ * getCMSSignatureOrErrorResponse().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link ErrorResponseType }
- * byte[]
+ * byte[]</p>
+ *
*
+ * @return
+ * The value of the cmsSignatureOrErrorResponse property.
*/
public List<Object> getCMSSignatureOrErrorResponse() {
if (cmsSignatureOrErrorResponse == null) {
- cmsSignatureOrErrorResponse = new ArrayList<Object>();
+ cmsSignatureOrErrorResponse = new ArrayList<>();
}
return this.cmsSignatureOrErrorResponse;
}
diff --git a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CreatePDFSignatureRequest.java b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CreatePDFSignatureRequest.java
index e0d34d3e..59c60459 100644
--- a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CreatePDFSignatureRequest.java
+++ b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CreatePDFSignatureRequest.java
@@ -1,25 +1,25 @@
package at.gv.e_government.reference.namespace.moa._20020822_;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlType;
/**
- * <p>Java-Klasse für anonymous complex type.
+ * <p>Java class for anonymous complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType&gt;
- * &lt;complexContent&gt;
- * &lt;extension base="{http://reference.e-government.gv.at/namespace/moa/20020822#}CreatePDFSignatureRequestType"&gt;
- * &lt;/extension&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType>
+ * <complexContent>
+ * <extension base="{http://reference.e-government.gv.at/namespace/moa/20020822#}CreatePDFSignatureRequestType">
+ * </extension>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
diff --git a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CreatePDFSignatureRequestType.java b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CreatePDFSignatureRequestType.java
index 586067c2..07836f48 100644
--- a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CreatePDFSignatureRequestType.java
+++ b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CreatePDFSignatureRequestType.java
@@ -3,43 +3,43 @@ package at.gv.e_government.reference.namespace.moa._20020822_;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlSeeAlso;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlSeeAlso;
+import jakarta.xml.bind.annotation.XmlType;
/**
- * <p>Java-Klasse für CreatePDFSignatureRequestType complex type.
+ * <p>Java class for CreatePDFSignatureRequestType complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType name="CreatePDFSignatureRequestType"&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
- * &lt;sequence&gt;
- * &lt;element name="KeyIdentifier" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}KeyIdentifierType"/&gt;
- * &lt;element name="SingleSignatureInfo" maxOccurs="unbounded"&gt;
- * &lt;complexType&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
- * &lt;sequence&gt;
- * &lt;element name="PDFDocument" type="{http://www.w3.org/2001/XMLSchema}base64Binary"/&gt;
- * &lt;element name="SignatureProfile" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
- * &lt;element name="SignaturePosition" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
- * &lt;element name="SignatureID" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
- * &lt;/sequence&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * &lt;/element&gt;
- * &lt;/sequence&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType name="CreatePDFSignatureRequestType">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="KeyIdentifier" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}KeyIdentifierType"/>
+ * <element name="SingleSignatureInfo" maxOccurs="unbounded">
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="PDFDocument" type="{http://www.w3.org/2001/XMLSchema}base64Binary"/>
+ * <element name="SignatureProfile" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * <element name="SignaturePosition" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * <element name="SignatureID" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </element>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
@@ -55,11 +55,16 @@ public class CreatePDFSignatureRequestType {
@XmlElement(name = "KeyIdentifier", required = true)
protected String keyIdentifier;
+ /**
+ * Ermöglichung der Stapelsignatur durch
+ * wiederholte Angabe dieses Elements
+ *
+ */
@XmlElement(name = "SingleSignatureInfo", required = true)
protected List<CreatePDFSignatureRequestType.SingleSignatureInfo> singleSignatureInfo;
/**
- * Ruft den Wert der keyIdentifier-Eigenschaft ab.
+ * Gets the value of the keyIdentifier property.
*
* @return
* possible object is
@@ -71,7 +76,7 @@ public class CreatePDFSignatureRequestType {
}
/**
- * Legt den Wert der keyIdentifier-Eigenschaft fest.
+ * Sets the value of the keyIdentifier property.
*
* @param value
* allowed object is
@@ -83,54 +88,60 @@ public class CreatePDFSignatureRequestType {
}
/**
+ * Ermöglichung der Stapelsignatur durch
+ * wiederholte Angabe dieses Elements
+ *
* Gets the value of the singleSignatureInfo property.
*
- * <p>
- * This accessor method returns a reference to the live list,
+ * <p>This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the singleSignatureInfo property.
+ * This is why there is not a <CODE>set</CODE> method for the singleSignatureInfo property.</p>
*
* <p>
* For example, to add a new item, do as follows:
+ * </p>
* <pre>
- * getSingleSignatureInfo().add(newItem);
+ * getSingleSignatureInfo().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link CreatePDFSignatureRequestType.SingleSignatureInfo }
+ * </p>
*
*
+ * @return
+ * The value of the singleSignatureInfo property.
*/
public List<CreatePDFSignatureRequestType.SingleSignatureInfo> getSingleSignatureInfo() {
if (singleSignatureInfo == null) {
- singleSignatureInfo = new ArrayList<CreatePDFSignatureRequestType.SingleSignatureInfo>();
+ singleSignatureInfo = new ArrayList<>();
}
return this.singleSignatureInfo;
}
/**
- * <p>Java-Klasse für anonymous complex type.
+ * <p>Java class for anonymous complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
- * &lt;sequence&gt;
- * &lt;element name="PDFDocument" type="{http://www.w3.org/2001/XMLSchema}base64Binary"/&gt;
- * &lt;element name="SignatureProfile" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
- * &lt;element name="SignaturePosition" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
- * &lt;element name="SignatureID" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
- * &lt;/sequence&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="PDFDocument" type="{http://www.w3.org/2001/XMLSchema}base64Binary"/>
+ * <element name="SignatureProfile" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * <element name="SignaturePosition" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * <element name="SignatureID" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
@@ -153,7 +164,7 @@ public class CreatePDFSignatureRequestType {
protected String signatureID;
/**
- * Ruft den Wert der pdfDocument-Eigenschaft ab.
+ * Gets the value of the pdfDocument property.
*
* @return
* possible object is
@@ -164,7 +175,7 @@ public class CreatePDFSignatureRequestType {
}
/**
- * Legt den Wert der pdfDocument-Eigenschaft fest.
+ * Sets the value of the pdfDocument property.
*
* @param value
* allowed object is
@@ -175,7 +186,7 @@ public class CreatePDFSignatureRequestType {
}
/**
- * Ruft den Wert der signatureProfile-Eigenschaft ab.
+ * Gets the value of the signatureProfile property.
*
* @return
* possible object is
@@ -187,7 +198,7 @@ public class CreatePDFSignatureRequestType {
}
/**
- * Legt den Wert der signatureProfile-Eigenschaft fest.
+ * Sets the value of the signatureProfile property.
*
* @param value
* allowed object is
@@ -199,7 +210,7 @@ public class CreatePDFSignatureRequestType {
}
/**
- * Ruft den Wert der signaturePosition-Eigenschaft ab.
+ * Gets the value of the signaturePosition property.
*
* @return
* possible object is
@@ -211,7 +222,7 @@ public class CreatePDFSignatureRequestType {
}
/**
- * Legt den Wert der signaturePosition-Eigenschaft fest.
+ * Sets the value of the signaturePosition property.
*
* @param value
* allowed object is
@@ -223,7 +234,7 @@ public class CreatePDFSignatureRequestType {
}
/**
- * Ruft den Wert der signatureID-Eigenschaft ab.
+ * Gets the value of the signatureID property.
*
* @return
* possible object is
@@ -235,7 +246,7 @@ public class CreatePDFSignatureRequestType {
}
/**
- * Legt den Wert der signatureID-Eigenschaft fest.
+ * Sets the value of the signatureID property.
*
* @param value
* allowed object is
diff --git a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CreatePDFSignatureResponseType.java b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CreatePDFSignatureResponseType.java
index aff44b12..a00af5e8 100644
--- a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CreatePDFSignatureResponseType.java
+++ b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CreatePDFSignatureResponseType.java
@@ -3,28 +3,28 @@ package at.gv.e_government.reference.namespace.moa._20020822_;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
/**
- * <p>Java-Klasse für CreatePDFSignatureResponseType complex type.
+ * <p>Java class for CreatePDFSignatureResponseType complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType name="CreatePDFSignatureResponseType"&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
- * &lt;sequence&gt;
- * &lt;element name="PDFSignature" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}PDFSignedRepsonse" maxOccurs="unbounded"/&gt;
- * &lt;/sequence&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType name="CreatePDFSignatureResponseType">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="PDFSignature" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}PDFSignedRepsonse" maxOccurs="unbounded"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
@@ -40,28 +40,31 @@ public class CreatePDFSignatureResponseType {
/**
* Gets the value of the pdfSignature property.
*
- * <p>
- * This accessor method returns a reference to the live list,
+ * <p>This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the pdfSignature property.
+ * This is why there is not a <CODE>set</CODE> method for the pdfSignature property.</p>
*
* <p>
* For example, to add a new item, do as follows:
+ * </p>
* <pre>
- * getPDFSignature().add(newItem);
+ * getPDFSignature().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link PDFSignedRepsonse }
+ * </p>
*
*
+ * @return
+ * The value of the pdfSignature property.
*/
public List<PDFSignedRepsonse> getPDFSignature() {
if (pdfSignature == null) {
- pdfSignature = new ArrayList<PDFSignedRepsonse>();
+ pdfSignature = new ArrayList<>();
}
return this.pdfSignature;
}
diff --git a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CreateSignatureEnvironmentProfile.java b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CreateSignatureEnvironmentProfile.java
index 70802c2d..8fe91609 100644
--- a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CreateSignatureEnvironmentProfile.java
+++ b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CreateSignatureEnvironmentProfile.java
@@ -3,30 +3,30 @@ package at.gv.e_government.reference.namespace.moa._20020822_;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlType;
/**
- * <p>Java-Klasse für anonymous complex type.
+ * <p>Java class for anonymous complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
- * &lt;sequence&gt;
- * &lt;element name="CreateSignatureLocation" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}CreateSignatureLocationType"/&gt;
- * &lt;element name="Supplement" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}XMLDataObjectAssociationType" maxOccurs="unbounded" minOccurs="0"/&gt;
- * &lt;/sequence&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="CreateSignatureLocation" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}CreateSignatureLocationType"/>
+ * <element name="Supplement" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}XMLDataObjectAssociationType" maxOccurs="unbounded" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
@@ -44,7 +44,7 @@ public class CreateSignatureEnvironmentProfile {
protected List<XMLDataObjectAssociationType> supplement;
/**
- * Ruft den Wert der createSignatureLocation-Eigenschaft ab.
+ * Gets the value of the createSignatureLocation property.
*
* @return
* possible object is
@@ -56,7 +56,7 @@ public class CreateSignatureEnvironmentProfile {
}
/**
- * Legt den Wert der createSignatureLocation-Eigenschaft fest.
+ * Sets the value of the createSignatureLocation property.
*
* @param value
* allowed object is
@@ -70,28 +70,31 @@ public class CreateSignatureEnvironmentProfile {
/**
* Gets the value of the supplement property.
*
- * <p>
- * This accessor method returns a reference to the live list,
+ * <p>This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the supplement property.
+ * This is why there is not a <CODE>set</CODE> method for the supplement property.</p>
*
* <p>
* For example, to add a new item, do as follows:
+ * </p>
* <pre>
- * getSupplement().add(newItem);
+ * getSupplement().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link XMLDataObjectAssociationType }
+ * </p>
*
*
+ * @return
+ * The value of the supplement property.
*/
public List<XMLDataObjectAssociationType> getSupplement() {
if (supplement == null) {
- supplement = new ArrayList<XMLDataObjectAssociationType>();
+ supplement = new ArrayList<>();
}
return this.supplement;
}
diff --git a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CreateSignatureLocationType.java b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CreateSignatureLocationType.java
index 7a0fe306..92e1b568 100644
--- a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CreateSignatureLocationType.java
+++ b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CreateSignatureLocationType.java
@@ -2,30 +2,30 @@
package at.gv.e_government.reference.namespace.moa._20020822_;
import java.math.BigInteger;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.XmlValue;
-import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlSchemaType;
+import jakarta.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlValue;
+import jakarta.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
/**
- * <p>Java-Klasse für CreateSignatureLocationType complex type.
+ * <p>Java class for CreateSignatureLocationType complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType name="CreateSignatureLocationType"&gt;
- * &lt;simpleContent&gt;
- * &lt;extension base="&lt;http://www.w3.org/2001/XMLSchema&gt;token"&gt;
- * &lt;attribute name="Index" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" /&gt;
- * &lt;/extension&gt;
- * &lt;/simpleContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType name="CreateSignatureLocationType">
+ * <simpleContent>
+ * <extension base="<http://www.w3.org/2001/XMLSchema>token">
+ * <attribute name="Index" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" />
+ * </extension>
+ * </simpleContent>
+ * </complexType>
+ * }</pre>
*
*
*/
@@ -43,7 +43,7 @@ public class CreateSignatureLocationType {
protected BigInteger index;
/**
- * Ruft den Wert der value-Eigenschaft ab.
+ * Gets the value of the value property.
*
* @return
* possible object is
@@ -55,7 +55,7 @@ public class CreateSignatureLocationType {
}
/**
- * Legt den Wert der value-Eigenschaft fest.
+ * Sets the value of the value property.
*
* @param value
* allowed object is
@@ -67,7 +67,7 @@ public class CreateSignatureLocationType {
}
/**
- * Ruft den Wert der index-Eigenschaft ab.
+ * Gets the value of the index property.
*
* @return
* possible object is
@@ -79,7 +79,7 @@ public class CreateSignatureLocationType {
}
/**
- * Legt den Wert der index-Eigenschaft fest.
+ * Sets the value of the index property.
*
* @param value
* allowed object is
diff --git a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CreateTransformsInfoProfile.java b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CreateTransformsInfoProfile.java
index aa7e1b1b..0a6626a7 100644
--- a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CreateTransformsInfoProfile.java
+++ b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CreateTransformsInfoProfile.java
@@ -3,30 +3,30 @@ package at.gv.e_government.reference.namespace.moa._20020822_;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlType;
/**
- * <p>Java-Klasse für anonymous complex type.
+ * <p>Java class for anonymous complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
- * &lt;sequence&gt;
- * &lt;element name="CreateTransformsInfo" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}TransformsInfoType"/&gt;
- * &lt;element ref="{http://reference.e-government.gv.at/namespace/moa/20020822#}Supplement" maxOccurs="unbounded" minOccurs="0"/&gt;
- * &lt;/sequence&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="CreateTransformsInfo" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}TransformsInfoType"/>
+ * <element ref="{http://reference.e-government.gv.at/namespace/moa/20020822#}Supplement" maxOccurs="unbounded" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
@@ -44,7 +44,7 @@ public class CreateTransformsInfoProfile {
protected List<XMLDataObjectAssociationType> supplement;
/**
- * Ruft den Wert der createTransformsInfo-Eigenschaft ab.
+ * Gets the value of the createTransformsInfo property.
*
* @return
* possible object is
@@ -56,7 +56,7 @@ public class CreateTransformsInfoProfile {
}
/**
- * Legt den Wert der createTransformsInfo-Eigenschaft fest.
+ * Sets the value of the createTransformsInfo property.
*
* @param value
* allowed object is
@@ -70,28 +70,31 @@ public class CreateTransformsInfoProfile {
/**
* Gets the value of the supplement property.
*
- * <p>
- * This accessor method returns a reference to the live list,
+ * <p>This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the supplement property.
+ * This is why there is not a <CODE>set</CODE> method for the supplement property.</p>
*
* <p>
* For example, to add a new item, do as follows:
+ * </p>
* <pre>
- * getSupplement().add(newItem);
+ * getSupplement().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link XMLDataObjectAssociationType }
+ * </p>
*
*
+ * @return
+ * The value of the supplement property.
*/
public List<XMLDataObjectAssociationType> getSupplement() {
if (supplement == null) {
- supplement = new ArrayList<XMLDataObjectAssociationType>();
+ supplement = new ArrayList<>();
}
return this.supplement;
}
diff --git a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CreateXMLSignatureRequest.java b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CreateXMLSignatureRequest.java
index 27b6746a..11a5cb47 100644
--- a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CreateXMLSignatureRequest.java
+++ b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CreateXMLSignatureRequest.java
@@ -1,25 +1,25 @@
package at.gv.e_government.reference.namespace.moa._20020822_;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlType;
/**
- * <p>Java-Klasse für anonymous complex type.
+ * <p>Java class for anonymous complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType&gt;
- * &lt;complexContent&gt;
- * &lt;extension base="{http://reference.e-government.gv.at/namespace/moa/20020822#}CreateXMLSignatureRequestType"&gt;
- * &lt;/extension&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType>
+ * <complexContent>
+ * <extension base="{http://reference.e-government.gv.at/namespace/moa/20020822#}CreateXMLSignatureRequestType">
+ * </extension>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
diff --git a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CreateXMLSignatureRequestType.java b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CreateXMLSignatureRequestType.java
index d796d23b..91375653 100644
--- a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CreateXMLSignatureRequestType.java
+++ b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CreateXMLSignatureRequestType.java
@@ -3,68 +3,68 @@ package at.gv.e_government.reference.namespace.moa._20020822_;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlSeeAlso;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlSchemaType;
+import jakarta.xml.bind.annotation.XmlSeeAlso;
+import jakarta.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
/**
- * <p>Java-Klasse für CreateXMLSignatureRequestType complex type.
+ * <p>Java class for CreateXMLSignatureRequestType complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType name="CreateXMLSignatureRequestType"&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
- * &lt;sequence&gt;
- * &lt;element name="KeyIdentifier" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}KeyIdentifierType"/&gt;
- * &lt;element name="SingleSignatureInfo" maxOccurs="unbounded"&gt;
- * &lt;complexType&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
- * &lt;sequence&gt;
- * &lt;element name="DataObjectInfo" maxOccurs="unbounded"&gt;
- * &lt;complexType&gt;
- * &lt;complexContent&gt;
- * &lt;extension base="{http://reference.e-government.gv.at/namespace/moa/20020822#}DataObjectInfoType"&gt;
- * &lt;attribute name="ChildOfManifest" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&gt;
- * &lt;/extension&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * &lt;/element&gt;
- * &lt;element name="CreateSignatureInfo" minOccurs="0"&gt;
- * &lt;complexType&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
- * &lt;sequence&gt;
- * &lt;element name="CreateSignatureEnvironment" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}ContentOptionalRefType"/&gt;
- * &lt;choice&gt;
- * &lt;element ref="{http://reference.e-government.gv.at/namespace/moa/20020822#}CreateSignatureEnvironmentProfile"/&gt;
- * &lt;element name="CreateSignatureEnvironmentProfileID" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}ProfileIdentifierType"/&gt;
- * &lt;/choice&gt;
- * &lt;/sequence&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * &lt;/element&gt;
- * &lt;/sequence&gt;
- * &lt;attribute name="SecurityLayerConformity" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * &lt;/element&gt;
- * &lt;/sequence&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType name="CreateXMLSignatureRequestType">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="KeyIdentifier" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}KeyIdentifierType"/>
+ * <element name="SingleSignatureInfo" maxOccurs="unbounded">
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="DataObjectInfo" maxOccurs="unbounded">
+ * <complexType>
+ * <complexContent>
+ * <extension base="{http://reference.e-government.gv.at/namespace/moa/20020822#}DataObjectInfoType">
+ * <attribute name="ChildOfManifest" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+ * </extension>
+ * </complexContent>
+ * </complexType>
+ * </element>
+ * <element name="CreateSignatureInfo" minOccurs="0">
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="CreateSignatureEnvironment" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}ContentOptionalRefType"/>
+ * <choice>
+ * <element ref="{http://reference.e-government.gv.at/namespace/moa/20020822#}CreateSignatureEnvironmentProfile"/>
+ * <element name="CreateSignatureEnvironmentProfileID" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}ProfileIdentifierType"/>
+ * </choice>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </element>
+ * </sequence>
+ * <attribute name="SecurityLayerConformity" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </element>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
@@ -80,11 +80,16 @@ public class CreateXMLSignatureRequestType {
@XmlElement(name = "KeyIdentifier", required = true)
protected String keyIdentifier;
+ /**
+ * Ermöglichung der Stapelsignatur durch
+ * wiederholte Angabe dieses Elements
+ *
+ */
@XmlElement(name = "SingleSignatureInfo", required = true)
protected List<CreateXMLSignatureRequestType.SingleSignatureInfo> singleSignatureInfo;
/**
- * Ruft den Wert der keyIdentifier-Eigenschaft ab.
+ * Gets the value of the keyIdentifier property.
*
* @return
* possible object is
@@ -96,7 +101,7 @@ public class CreateXMLSignatureRequestType {
}
/**
- * Legt den Wert der keyIdentifier-Eigenschaft fest.
+ * Sets the value of the keyIdentifier property.
*
* @param value
* allowed object is
@@ -108,75 +113,81 @@ public class CreateXMLSignatureRequestType {
}
/**
+ * Ermöglichung der Stapelsignatur durch
+ * wiederholte Angabe dieses Elements
+ *
* Gets the value of the singleSignatureInfo property.
*
- * <p>
- * This accessor method returns a reference to the live list,
+ * <p>This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the singleSignatureInfo property.
+ * This is why there is not a <CODE>set</CODE> method for the singleSignatureInfo property.</p>
*
* <p>
* For example, to add a new item, do as follows:
+ * </p>
* <pre>
- * getSingleSignatureInfo().add(newItem);
+ * getSingleSignatureInfo().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link CreateXMLSignatureRequestType.SingleSignatureInfo }
+ * </p>
*
*
+ * @return
+ * The value of the singleSignatureInfo property.
*/
public List<CreateXMLSignatureRequestType.SingleSignatureInfo> getSingleSignatureInfo() {
if (singleSignatureInfo == null) {
- singleSignatureInfo = new ArrayList<CreateXMLSignatureRequestType.SingleSignatureInfo>();
+ singleSignatureInfo = new ArrayList<>();
}
return this.singleSignatureInfo;
}
/**
- * <p>Java-Klasse für anonymous complex type.
+ * <p>Java class for anonymous complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
- * &lt;sequence&gt;
- * &lt;element name="DataObjectInfo" maxOccurs="unbounded"&gt;
- * &lt;complexType&gt;
- * &lt;complexContent&gt;
- * &lt;extension base="{http://reference.e-government.gv.at/namespace/moa/20020822#}DataObjectInfoType"&gt;
- * &lt;attribute name="ChildOfManifest" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&gt;
- * &lt;/extension&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * &lt;/element&gt;
- * &lt;element name="CreateSignatureInfo" minOccurs="0"&gt;
- * &lt;complexType&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
- * &lt;sequence&gt;
- * &lt;element name="CreateSignatureEnvironment" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}ContentOptionalRefType"/&gt;
- * &lt;choice&gt;
- * &lt;element ref="{http://reference.e-government.gv.at/namespace/moa/20020822#}CreateSignatureEnvironmentProfile"/&gt;
- * &lt;element name="CreateSignatureEnvironmentProfileID" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}ProfileIdentifierType"/&gt;
- * &lt;/choice&gt;
- * &lt;/sequence&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * &lt;/element&gt;
- * &lt;/sequence&gt;
- * &lt;attribute name="SecurityLayerConformity" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="DataObjectInfo" maxOccurs="unbounded">
+ * <complexType>
+ * <complexContent>
+ * <extension base="{http://reference.e-government.gv.at/namespace/moa/20020822#}DataObjectInfoType">
+ * <attribute name="ChildOfManifest" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+ * </extension>
+ * </complexContent>
+ * </complexType>
+ * </element>
+ * <element name="CreateSignatureInfo" minOccurs="0">
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="CreateSignatureEnvironment" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}ContentOptionalRefType"/>
+ * <choice>
+ * <element ref="{http://reference.e-government.gv.at/namespace/moa/20020822#}CreateSignatureEnvironmentProfile"/>
+ * <element name="CreateSignatureEnvironmentProfileID" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}ProfileIdentifierType"/>
+ * </choice>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </element>
+ * </sequence>
+ * <attribute name="SecurityLayerConformity" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
@@ -197,34 +208,37 @@ public class CreateXMLSignatureRequestType {
/**
* Gets the value of the dataObjectInfo property.
*
- * <p>
- * This accessor method returns a reference to the live list,
+ * <p>This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the dataObjectInfo property.
+ * This is why there is not a <CODE>set</CODE> method for the dataObjectInfo property.</p>
*
* <p>
* For example, to add a new item, do as follows:
+ * </p>
* <pre>
- * getDataObjectInfo().add(newItem);
+ * getDataObjectInfo().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link CreateXMLSignatureRequestType.SingleSignatureInfo.DataObjectInfo }
+ * </p>
*
*
+ * @return
+ * The value of the dataObjectInfo property.
*/
public List<CreateXMLSignatureRequestType.SingleSignatureInfo.DataObjectInfo> getDataObjectInfo() {
if (dataObjectInfo == null) {
- dataObjectInfo = new ArrayList<CreateXMLSignatureRequestType.SingleSignatureInfo.DataObjectInfo>();
+ dataObjectInfo = new ArrayList<>();
}
return this.dataObjectInfo;
}
/**
- * Ruft den Wert der createSignatureInfo-Eigenschaft ab.
+ * Gets the value of the createSignatureInfo property.
*
* @return
* possible object is
@@ -236,7 +250,7 @@ public class CreateXMLSignatureRequestType {
}
/**
- * Legt den Wert der createSignatureInfo-Eigenschaft fest.
+ * Sets the value of the createSignatureInfo property.
*
* @param value
* allowed object is
@@ -248,7 +262,7 @@ public class CreateXMLSignatureRequestType {
}
/**
- * Ruft den Wert der securityLayerConformity-Eigenschaft ab.
+ * Gets the value of the securityLayerConformity property.
*
* @return
* possible object is
@@ -264,7 +278,7 @@ public class CreateXMLSignatureRequestType {
}
/**
- * Legt den Wert der securityLayerConformity-Eigenschaft fest.
+ * Sets the value of the securityLayerConformity property.
*
* @param value
* allowed object is
@@ -277,25 +291,25 @@ public class CreateXMLSignatureRequestType {
/**
- * <p>Java-Klasse für anonymous complex type.
+ * <p>Java class for anonymous complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
- * &lt;sequence&gt;
- * &lt;element name="CreateSignatureEnvironment" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}ContentOptionalRefType"/&gt;
- * &lt;choice&gt;
- * &lt;element ref="{http://reference.e-government.gv.at/namespace/moa/20020822#}CreateSignatureEnvironmentProfile"/&gt;
- * &lt;element name="CreateSignatureEnvironmentProfileID" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}ProfileIdentifierType"/&gt;
- * &lt;/choice&gt;
- * &lt;/sequence&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="CreateSignatureEnvironment" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}ContentOptionalRefType"/>
+ * <choice>
+ * <element ref="{http://reference.e-government.gv.at/namespace/moa/20020822#}CreateSignatureEnvironmentProfile"/>
+ * <element name="CreateSignatureEnvironmentProfileID" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}ProfileIdentifierType"/>
+ * </choice>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
@@ -317,7 +331,7 @@ public class CreateXMLSignatureRequestType {
protected String createSignatureEnvironmentProfileID;
/**
- * Ruft den Wert der createSignatureEnvironment-Eigenschaft ab.
+ * Gets the value of the createSignatureEnvironment property.
*
* @return
* possible object is
@@ -329,7 +343,7 @@ public class CreateXMLSignatureRequestType {
}
/**
- * Legt den Wert der createSignatureEnvironment-Eigenschaft fest.
+ * Sets the value of the createSignatureEnvironment property.
*
* @param value
* allowed object is
@@ -341,7 +355,7 @@ public class CreateXMLSignatureRequestType {
}
/**
- * Ruft den Wert der createSignatureEnvironmentProfile-Eigenschaft ab.
+ * Gets the value of the createSignatureEnvironmentProfile property.
*
* @return
* possible object is
@@ -353,7 +367,7 @@ public class CreateXMLSignatureRequestType {
}
/**
- * Legt den Wert der createSignatureEnvironmentProfile-Eigenschaft fest.
+ * Sets the value of the createSignatureEnvironmentProfile property.
*
* @param value
* allowed object is
@@ -365,7 +379,7 @@ public class CreateXMLSignatureRequestType {
}
/**
- * Ruft den Wert der createSignatureEnvironmentProfileID-Eigenschaft ab.
+ * Gets the value of the createSignatureEnvironmentProfileID property.
*
* @return
* possible object is
@@ -377,7 +391,7 @@ public class CreateXMLSignatureRequestType {
}
/**
- * Legt den Wert der createSignatureEnvironmentProfileID-Eigenschaft fest.
+ * Sets the value of the createSignatureEnvironmentProfileID property.
*
* @param value
* allowed object is
@@ -392,19 +406,19 @@ public class CreateXMLSignatureRequestType {
/**
- * <p>Java-Klasse für anonymous complex type.
+ * <p>Java class for anonymous complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType&gt;
- * &lt;complexContent&gt;
- * &lt;extension base="{http://reference.e-government.gv.at/namespace/moa/20020822#}DataObjectInfoType"&gt;
- * &lt;attribute name="ChildOfManifest" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&gt;
- * &lt;/extension&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType>
+ * <complexContent>
+ * <extension base="{http://reference.e-government.gv.at/namespace/moa/20020822#}DataObjectInfoType">
+ * <attribute name="ChildOfManifest" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+ * </extension>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
@@ -418,7 +432,7 @@ public class CreateXMLSignatureRequestType {
protected Boolean childOfManifest;
/**
- * Ruft den Wert der childOfManifest-Eigenschaft ab.
+ * Gets the value of the childOfManifest property.
*
* @return
* possible object is
@@ -434,7 +448,7 @@ public class CreateXMLSignatureRequestType {
}
/**
- * Legt den Wert der childOfManifest-Eigenschaft fest.
+ * Sets the value of the childOfManifest property.
*
* @param value
* allowed object is
diff --git a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CreateXMLSignatureResponseType.java b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CreateXMLSignatureResponseType.java
index e27da519..038e5f94 100644
--- a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CreateXMLSignatureResponseType.java
+++ b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/CreateXMLSignatureResponseType.java
@@ -3,42 +3,42 @@ package at.gv.e_government.reference.namespace.moa._20020822_;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAnyElement;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElements;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAnyElement;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlElements;
+import jakarta.xml.bind.annotation.XmlType;
import org.w3c.dom.Element;
/**
- * <p>Java-Klasse für CreateXMLSignatureResponseType complex type.
+ * <p>Java class for CreateXMLSignatureResponseType complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType name="CreateXMLSignatureResponseType"&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
- * &lt;choice maxOccurs="unbounded"&gt;
- * &lt;element name="SignatureEnvironment"&gt;
- * &lt;complexType&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
- * &lt;sequence&gt;
- * &lt;any processContents='lax'/&gt;
- * &lt;/sequence&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * &lt;/element&gt;
- * &lt;element ref="{http://reference.e-government.gv.at/namespace/moa/20020822#}ErrorResponse"/&gt;
- * &lt;/choice&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType name="CreateXMLSignatureResponseType">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <choice maxOccurs="unbounded">
+ * <element name="SignatureEnvironment">
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <any processContents='lax'/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </element>
+ * <element ref="{http://reference.e-government.gv.at/namespace/moa/20020822#}ErrorResponse"/>
+ * </choice>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
@@ -48,6 +48,11 @@ import org.w3c.dom.Element;
})
public class CreateXMLSignatureResponseType {
+ /**
+ * Kardinalität 1..oo erlaubt die Antwort auf eine
+ * Stapelsignatur-Anfrage
+ *
+ */
@XmlElements({
@XmlElement(name = "SignatureEnvironment", type = CreateXMLSignatureResponseType.SignatureEnvironment.class),
@XmlElement(name = "ErrorResponse", type = ErrorResponseType.class)
@@ -55,18 +60,21 @@ public class CreateXMLSignatureResponseType {
protected List<Object> signatureEnvironmentOrErrorResponse;
/**
+ * Kardinalität 1..oo erlaubt die Antwort auf eine
+ * Stapelsignatur-Anfrage
+ *
* Gets the value of the signatureEnvironmentOrErrorResponse property.
*
- * <p>
- * This accessor method returns a reference to the live list,
+ * <p>This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the signatureEnvironmentOrErrorResponse property.
+ * This is why there is not a <CODE>set</CODE> method for the signatureEnvironmentOrErrorResponse property.</p>
*
* <p>
* For example, to add a new item, do as follows:
+ * </p>
* <pre>
- * getSignatureEnvironmentOrErrorResponse().add(newItem);
+ * getSignatureEnvironmentOrErrorResponse().add(newItem);
* </pre>
*
*
@@ -74,33 +82,36 @@ public class CreateXMLSignatureResponseType {
* Objects of the following type(s) are allowed in the list
* {@link CreateXMLSignatureResponseType.SignatureEnvironment }
* {@link ErrorResponseType }
+ * </p>
*
*
+ * @return
+ * The value of the signatureEnvironmentOrErrorResponse property.
*/
public List<Object> getSignatureEnvironmentOrErrorResponse() {
if (signatureEnvironmentOrErrorResponse == null) {
- signatureEnvironmentOrErrorResponse = new ArrayList<Object>();
+ signatureEnvironmentOrErrorResponse = new ArrayList<>();
}
return this.signatureEnvironmentOrErrorResponse;
}
/**
- * <p>Java-Klasse für anonymous complex type.
+ * <p>Java class for anonymous complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
- * &lt;sequence&gt;
- * &lt;any processContents='lax'/&gt;
- * &lt;/sequence&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <any processContents='lax'/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
@@ -114,7 +125,7 @@ public class CreateXMLSignatureResponseType {
protected Object any;
/**
- * Ruft den Wert der any-Eigenschaft ab.
+ * Gets the value of the any property.
*
* @return
* possible object is
@@ -127,7 +138,7 @@ public class CreateXMLSignatureResponseType {
}
/**
- * Legt den Wert der any-Eigenschaft fest.
+ * Sets the value of the any property.
*
* @param value
* allowed object is
diff --git a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/DataObjectInfoType.java b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/DataObjectInfoType.java
index d41f944e..6a798499 100644
--- a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/DataObjectInfoType.java
+++ b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/DataObjectInfoType.java
@@ -1,52 +1,52 @@
package at.gv.e_government.reference.namespace.moa._20020822_;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlSeeAlso;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlSchemaType;
+import jakarta.xml.bind.annotation.XmlSeeAlso;
+import jakarta.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
/**
- * <p>Java-Klasse für DataObjectInfoType complex type.
+ * <p>Java class for DataObjectInfoType complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType name="DataObjectInfoType"&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
- * &lt;sequence&gt;
- * &lt;element name="DataObject"&gt;
- * &lt;complexType&gt;
- * &lt;complexContent&gt;
- * &lt;extension base="{http://reference.e-government.gv.at/namespace/moa/20020822#}ContentOptionalRefType"&gt;
- * &lt;/extension&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * &lt;/element&gt;
- * &lt;choice&gt;
- * &lt;element ref="{http://reference.e-government.gv.at/namespace/moa/20020822#}CreateTransformsInfoProfile"/&gt;
- * &lt;element name="CreateTransformsInfoProfileID" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}ProfileIdentifierType"/&gt;
- * &lt;/choice&gt;
- * &lt;/sequence&gt;
- * &lt;attribute name="Structure" use="required"&gt;
- * &lt;simpleType&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string"&gt;
- * &lt;enumeration value="detached"/&gt;
- * &lt;enumeration value="enveloping"/&gt;
- * &lt;/restriction&gt;
- * &lt;/simpleType&gt;
- * &lt;/attribute&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType name="DataObjectInfoType">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="DataObject">
+ * <complexType>
+ * <complexContent>
+ * <extension base="{http://reference.e-government.gv.at/namespace/moa/20020822#}ContentOptionalRefType">
+ * </extension>
+ * </complexContent>
+ * </complexType>
+ * </element>
+ * <choice>
+ * <element ref="{http://reference.e-government.gv.at/namespace/moa/20020822#}CreateTransformsInfoProfile"/>
+ * <element name="CreateTransformsInfoProfileID" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}ProfileIdentifierType"/>
+ * </choice>
+ * </sequence>
+ * <attribute name="Structure" use="required">
+ * <simpleType>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ * <enumeration value="detached"/>
+ * <enumeration value="enveloping"/>
+ * </restriction>
+ * </simpleType>
+ * </attribute>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
@@ -73,7 +73,7 @@ public class DataObjectInfoType {
protected String structure;
/**
- * Ruft den Wert der dataObject-Eigenschaft ab.
+ * Gets the value of the dataObject property.
*
* @return
* possible object is
@@ -85,7 +85,7 @@ public class DataObjectInfoType {
}
/**
- * Legt den Wert der dataObject-Eigenschaft fest.
+ * Sets the value of the dataObject property.
*
* @param value
* allowed object is
@@ -97,7 +97,7 @@ public class DataObjectInfoType {
}
/**
- * Ruft den Wert der createTransformsInfoProfile-Eigenschaft ab.
+ * Gets the value of the createTransformsInfoProfile property.
*
* @return
* possible object is
@@ -109,7 +109,7 @@ public class DataObjectInfoType {
}
/**
- * Legt den Wert der createTransformsInfoProfile-Eigenschaft fest.
+ * Sets the value of the createTransformsInfoProfile property.
*
* @param value
* allowed object is
@@ -121,7 +121,7 @@ public class DataObjectInfoType {
}
/**
- * Ruft den Wert der createTransformsInfoProfileID-Eigenschaft ab.
+ * Gets the value of the createTransformsInfoProfileID property.
*
* @return
* possible object is
@@ -133,7 +133,7 @@ public class DataObjectInfoType {
}
/**
- * Legt den Wert der createTransformsInfoProfileID-Eigenschaft fest.
+ * Sets the value of the createTransformsInfoProfileID property.
*
* @param value
* allowed object is
@@ -145,7 +145,7 @@ public class DataObjectInfoType {
}
/**
- * Ruft den Wert der structure-Eigenschaft ab.
+ * Gets the value of the structure property.
*
* @return
* possible object is
@@ -157,7 +157,7 @@ public class DataObjectInfoType {
}
/**
- * Legt den Wert der structure-Eigenschaft fest.
+ * Sets the value of the structure property.
*
* @param value
* allowed object is
@@ -170,18 +170,18 @@ public class DataObjectInfoType {
/**
- * <p>Java-Klasse für anonymous complex type.
+ * <p>Java class for anonymous complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType&gt;
- * &lt;complexContent&gt;
- * &lt;extension base="{http://reference.e-government.gv.at/namespace/moa/20020822#}ContentOptionalRefType"&gt;
- * &lt;/extension&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType>
+ * <complexContent>
+ * <extension base="{http://reference.e-government.gv.at/namespace/moa/20020822#}ContentOptionalRefType">
+ * </extension>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
diff --git a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/ErrorResponseType.java b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/ErrorResponseType.java
index 42a2a4e5..5c362c57 100644
--- a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/ErrorResponseType.java
+++ b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/ErrorResponseType.java
@@ -2,29 +2,29 @@
package at.gv.e_government.reference.namespace.moa._20020822_;
import java.math.BigInteger;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
/**
- * <p>Java-Klasse für ErrorResponseType complex type.
+ * <p>Java class for ErrorResponseType complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType name="ErrorResponseType"&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
- * &lt;sequence&gt;
- * &lt;element name="ErrorCode" type="{http://www.w3.org/2001/XMLSchema}integer"/&gt;
- * &lt;element name="Info" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
- * &lt;/sequence&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType name="ErrorResponseType">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="ErrorCode" type="{http://www.w3.org/2001/XMLSchema}integer"/>
+ * <element name="Info" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
@@ -41,7 +41,7 @@ public class ErrorResponseType {
protected String info;
/**
- * Ruft den Wert der errorCode-Eigenschaft ab.
+ * Gets the value of the errorCode property.
*
* @return
* possible object is
@@ -53,7 +53,7 @@ public class ErrorResponseType {
}
/**
- * Legt den Wert der errorCode-Eigenschaft fest.
+ * Sets the value of the errorCode property.
*
* @param value
* allowed object is
@@ -65,7 +65,7 @@ public class ErrorResponseType {
}
/**
- * Ruft den Wert der info-Eigenschaft ab.
+ * Gets the value of the info property.
*
* @return
* possible object is
@@ -77,7 +77,7 @@ public class ErrorResponseType {
}
/**
- * Legt den Wert der info-Eigenschaft fest.
+ * Sets the value of the info property.
*
* @param value
* allowed object is
diff --git a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/ExtendedCertificateCheckResultType.java b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/ExtendedCertificateCheckResultType.java
index 88cead17..6cc2efab 100644
--- a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/ExtendedCertificateCheckResultType.java
+++ b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/ExtendedCertificateCheckResultType.java
@@ -1,29 +1,29 @@
package at.gv.e_government.reference.namespace.moa._20020822_;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
/**
- * <p>Java-Klasse für ExtendedCertificateCheckResultType complex type.
+ * <p>Java class for ExtendedCertificateCheckResultType complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType name="ExtendedCertificateCheckResultType"&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
- * &lt;sequence&gt;
- * &lt;element name="Major" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}IndicationResultType"/&gt;
- * &lt;element name="Minor" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}IndicationResultType" minOccurs="0"/&gt;
- * &lt;/sequence&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType name="ExtendedCertificateCheckResultType">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="Major" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}IndicationResultType"/>
+ * <element name="Minor" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}IndicationResultType" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
@@ -40,7 +40,7 @@ public class ExtendedCertificateCheckResultType {
protected IndicationResultType minor;
/**
- * Ruft den Wert der major-Eigenschaft ab.
+ * Gets the value of the major property.
*
* @return
* possible object is
@@ -52,7 +52,7 @@ public class ExtendedCertificateCheckResultType {
}
/**
- * Legt den Wert der major-Eigenschaft fest.
+ * Sets the value of the major property.
*
* @param value
* allowed object is
@@ -64,7 +64,7 @@ public class ExtendedCertificateCheckResultType {
}
/**
- * Ruft den Wert der minor-Eigenschaft ab.
+ * Gets the value of the minor property.
*
* @return
* possible object is
@@ -76,7 +76,7 @@ public class ExtendedCertificateCheckResultType {
}
/**
- * Legt den Wert der minor-Eigenschaft fest.
+ * Sets the value of the minor property.
*
* @param value
* allowed object is
diff --git a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/FinalDataMetaInfoType.java b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/FinalDataMetaInfoType.java
index 440be0b8..7c19c7a4 100644
--- a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/FinalDataMetaInfoType.java
+++ b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/FinalDataMetaInfoType.java
@@ -1,29 +1,29 @@
package at.gv.e_government.reference.namespace.moa._20020822_;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlSchemaType;
+import jakarta.xml.bind.annotation.XmlType;
/**
- * <p>Java-Klasse für FinalDataMetaInfoType complex type.
+ * <p>Java class for FinalDataMetaInfoType complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType name="FinalDataMetaInfoType"&gt;
- * &lt;complexContent&gt;
- * &lt;extension base="{http://reference.e-government.gv.at/namespace/moa/20020822#}MetaInfoType"&gt;
- * &lt;sequence&gt;
- * &lt;element name="Type" type="{http://www.w3.org/2001/XMLSchema}anyURI" minOccurs="0"/&gt;
- * &lt;/sequence&gt;
- * &lt;/extension&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType name="FinalDataMetaInfoType">
+ * <complexContent>
+ * <extension base="{http://reference.e-government.gv.at/namespace/moa/20020822#}MetaInfoType">
+ * <sequence>
+ * <element name="Type" type="{http://www.w3.org/2001/XMLSchema}anyURI" minOccurs="0"/>
+ * </sequence>
+ * </extension>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
@@ -40,7 +40,7 @@ public class FinalDataMetaInfoType
protected String type;
/**
- * Ruft den Wert der type-Eigenschaft ab.
+ * Gets the value of the type property.
*
* @return
* possible object is
@@ -52,7 +52,7 @@ public class FinalDataMetaInfoType
}
/**
- * Legt den Wert der type-Eigenschaft fest.
+ * Sets the value of the type property.
*
* @param value
* allowed object is
diff --git a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/FormResultType.java b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/FormResultType.java
index 338ad4fd..8ed2e9a6 100644
--- a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/FormResultType.java
+++ b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/FormResultType.java
@@ -2,30 +2,30 @@
package at.gv.e_government.reference.namespace.moa._20020822_;
import java.math.BigInteger;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlSchemaType;
+import jakarta.xml.bind.annotation.XmlType;
/**
- * <p>Java-Klasse für FormResultType complex type.
+ * <p>Java class for FormResultType complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType name="FormResultType"&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
- * &lt;sequence&gt;
- * &lt;element name="Code" type="{http://www.w3.org/2001/XMLSchema}nonNegativeInteger"/&gt;
- * &lt;element name="Name" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
- * &lt;/sequence&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType name="FormResultType">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="Code" type="{http://www.w3.org/2001/XMLSchema}nonNegativeInteger"/>
+ * <element name="Name" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
@@ -43,7 +43,7 @@ public class FormResultType {
protected String name;
/**
- * Ruft den Wert der code-Eigenschaft ab.
+ * Gets the value of the code property.
*
* @return
* possible object is
@@ -55,7 +55,7 @@ public class FormResultType {
}
/**
- * Legt den Wert der code-Eigenschaft fest.
+ * Sets the value of the code property.
*
* @param value
* allowed object is
@@ -67,7 +67,7 @@ public class FormResultType {
}
/**
- * Ruft den Wert der name-Eigenschaft ab.
+ * Gets the value of the name property.
*
* @return
* possible object is
@@ -79,7 +79,7 @@ public class FormResultType {
}
/**
- * Legt den Wert der name-Eigenschaft fest.
+ * Sets the value of the name property.
*
* @param value
* allowed object is
diff --git a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/IndicationResultType.java b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/IndicationResultType.java
index 248a58bb..9f1f8202 100644
--- a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/IndicationResultType.java
+++ b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/IndicationResultType.java
@@ -2,30 +2,30 @@
package at.gv.e_government.reference.namespace.moa._20020822_;
import java.math.BigInteger;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlSchemaType;
+import jakarta.xml.bind.annotation.XmlType;
/**
- * <p>Java-Klasse für IndicationResultType complex type.
+ * <p>Java class for IndicationResultType complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType name="IndicationResultType"&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
- * &lt;sequence&gt;
- * &lt;element name="Code" type="{http://www.w3.org/2001/XMLSchema}nonNegativeInteger"/&gt;
- * &lt;element name="Name" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
- * &lt;/sequence&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType name="IndicationResultType">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="Code" type="{http://www.w3.org/2001/XMLSchema}nonNegativeInteger"/>
+ * <element name="Name" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
@@ -43,7 +43,7 @@ public class IndicationResultType {
protected String name;
/**
- * Ruft den Wert der code-Eigenschaft ab.
+ * Gets the value of the code property.
*
* @return
* possible object is
@@ -55,7 +55,7 @@ public class IndicationResultType {
}
/**
- * Legt den Wert der code-Eigenschaft fest.
+ * Sets the value of the code property.
*
* @param value
* allowed object is
@@ -67,7 +67,7 @@ public class IndicationResultType {
}
/**
- * Ruft den Wert der name-Eigenschaft ab.
+ * Gets the value of the name property.
*
* @return
* possible object is
@@ -79,7 +79,7 @@ public class IndicationResultType {
}
/**
- * Legt den Wert der name-Eigenschaft fest.
+ * Sets the value of the name property.
*
* @param value
* allowed object is
diff --git a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/InputDataType.java b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/InputDataType.java
index 069cfaa7..dc11cfdd 100644
--- a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/InputDataType.java
+++ b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/InputDataType.java
@@ -2,38 +2,38 @@
package at.gv.e_government.reference.namespace.moa._20020822_;
import java.math.BigInteger;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlSchemaType;
+import jakarta.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
/**
- * <p>Java-Klasse für InputDataType complex type.
+ * <p>Java class for InputDataType complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType name="InputDataType"&gt;
- * &lt;complexContent&gt;
- * &lt;extension base="{http://reference.e-government.gv.at/namespace/moa/20020822#}ContentExLocRefBaseType"&gt;
- * &lt;attribute name="PartOf" default="SignedInfo"&gt;
- * &lt;simpleType&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}token"&gt;
- * &lt;enumeration value="SignedInfo"/&gt;
- * &lt;enumeration value="XMLDSIGManifest"/&gt;
- * &lt;/restriction&gt;
- * &lt;/simpleType&gt;
- * &lt;/attribute&gt;
- * &lt;attribute name="ReferringSigReference" type="{http://www.w3.org/2001/XMLSchema}nonNegativeInteger" /&gt;
- * &lt;attribute name="HashAlgorithm" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
- * &lt;/extension&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType name="InputDataType">
+ * <complexContent>
+ * <extension base="{http://reference.e-government.gv.at/namespace/moa/20020822#}ContentExLocRefBaseType">
+ * <attribute name="PartOf" default="SignedInfo">
+ * <simpleType>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}token">
+ * <enumeration value="SignedInfo"/>
+ * <enumeration value="XMLDSIGManifest"/>
+ * </restriction>
+ * </simpleType>
+ * </attribute>
+ * <attribute name="ReferringSigReference" type="{http://www.w3.org/2001/XMLSchema}nonNegativeInteger" />
+ * <attribute name="HashAlgorithm" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * </extension>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
@@ -53,7 +53,7 @@ public class InputDataType
protected String hashAlgorithm;
/**
- * Ruft den Wert der partOf-Eigenschaft ab.
+ * Gets the value of the partOf property.
*
* @return
* possible object is
@@ -69,7 +69,7 @@ public class InputDataType
}
/**
- * Legt den Wert der partOf-Eigenschaft fest.
+ * Sets the value of the partOf property.
*
* @param value
* allowed object is
@@ -81,7 +81,7 @@ public class InputDataType
}
/**
- * Ruft den Wert der referringSigReference-Eigenschaft ab.
+ * Gets the value of the referringSigReference property.
*
* @return
* possible object is
@@ -93,7 +93,7 @@ public class InputDataType
}
/**
- * Legt den Wert der referringSigReference-Eigenschaft fest.
+ * Sets the value of the referringSigReference property.
*
* @param value
* allowed object is
@@ -105,7 +105,7 @@ public class InputDataType
}
/**
- * Ruft den Wert der hashAlgorithm-Eigenschaft ab.
+ * Gets the value of the hashAlgorithm property.
*
* @return
* possible object is
@@ -117,7 +117,7 @@ public class InputDataType
}
/**
- * Legt den Wert der hashAlgorithm-Eigenschaft fest.
+ * Sets the value of the hashAlgorithm property.
*
* @param value
* allowed object is
diff --git a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/KeyStorageType.java b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/KeyStorageType.java
index 7bbd78cd..b7d3157e 100644
--- a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/KeyStorageType.java
+++ b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/KeyStorageType.java
@@ -1,23 +1,25 @@
package at.gv.e_government.reference.namespace.moa._20020822_;
-import javax.xml.bind.annotation.XmlEnum;
-import javax.xml.bind.annotation.XmlEnumValue;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlEnum;
+import jakarta.xml.bind.annotation.XmlEnumValue;
+import jakarta.xml.bind.annotation.XmlType;
/**
- * <p>Java-Klasse für KeyStorageType.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
- * <pre>
- * &lt;simpleType name="KeyStorageType"&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string"&gt;
- * &lt;enumeration value="Software"/&gt;
- * &lt;enumeration value="Hardware"/&gt;
- * &lt;/restriction&gt;
- * &lt;/simpleType&gt;
- * </pre>
+ *
+ * <p>Java class for KeyStorageType</p>.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
+ * <pre>{@code
+ * <simpleType name="KeyStorageType">
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ * <enumeration value="Software"/>
+ * <enumeration value="Hardware"/>
+ * </restriction>
+ * </simpleType>
+ * }</pre>
*
*/
@XmlType(name = "KeyStorageType")
@@ -34,10 +36,26 @@ public enum KeyStorageType {
value = v;
}
+ /**
+ * Gets the value associated to the enum constant.
+ *
+ * @return
+ * The value linked to the enum.
+ */
public String value() {
return value;
}
+ /**
+ * Gets the enum associated to the value passed as parameter.
+ *
+ * @param v
+ * The value to get the enum from.
+ * @return
+ * The enum which corresponds to the value, if it exists.
+ * @throws IllegalArgumentException
+ * If no value matches in the enum declaration.
+ */
public static KeyStorageType fromValue(String v) {
for (KeyStorageType c: KeyStorageType.values()) {
if (c.value.equals(v)) {
diff --git a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/MOAFault.java b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/MOAFault.java
index 44a32b08..f1864516 100644
--- a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/MOAFault.java
+++ b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/MOAFault.java
@@ -1,13 +1,13 @@
package at.gv.e_government.reference.namespace.moa._20020822_;
-import javax.xml.ws.WebFault;
+import jakarta.xml.ws.WebFault;
/**
- * This class was generated by Apache CXF 3.5.8
- * 2024-07-22T14:45:18.252+02:00
- * Generated source version: 3.5.8
+ * This class was generated by Apache CXF 4.1.0
+ * 2025-07-16T16:47:50.597+02:00
+ * Generated source version: 4.1.0
*/
@WebFault(name = "ErrorResponse", targetNamespace = "http://reference.e-government.gv.at/namespace/moa/20020822#")
diff --git a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/ManifestRefsCheckResultInfoType.java b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/ManifestRefsCheckResultInfoType.java
index 2c9db452..ce017445 100644
--- a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/ManifestRefsCheckResultInfoType.java
+++ b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/ManifestRefsCheckResultInfoType.java
@@ -1,29 +1,29 @@
package at.gv.e_government.reference.namespace.moa._20020822_;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlType;
/**
- * <p>Java-Klasse für ManifestRefsCheckResultInfoType complex type.
+ * <p>Java class for ManifestRefsCheckResultInfoType complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType name="ManifestRefsCheckResultInfoType"&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://reference.e-government.gv.at/namespace/moa/20020822#}AnyChildrenType"&gt;
- * &lt;sequence&gt;
- * &lt;any processContents='lax' namespace='##other' maxOccurs="unbounded" minOccurs="0"/&gt;
- * &lt;element name="FailedReference" type="{http://www.w3.org/2001/XMLSchema}positiveInteger" maxOccurs="unbounded" minOccurs="0"/&gt;
- * &lt;element name="ReferringSigReference" type="{http://www.w3.org/2001/XMLSchema}positiveInteger"/&gt;
- * &lt;/sequence&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType name="ManifestRefsCheckResultInfoType">
+ * <complexContent>
+ * <restriction base="{http://reference.e-government.gv.at/namespace/moa/20020822#}AnyChildrenType">
+ * <sequence>
+ * <any processContents='lax' namespace='##other' maxOccurs="unbounded" minOccurs="0"/>
+ * <element name="FailedReference" type="{http://www.w3.org/2001/XMLSchema}positiveInteger" maxOccurs="unbounded" minOccurs="0"/>
+ * <element name="ReferringSigReference" type="{http://www.w3.org/2001/XMLSchema}positiveInteger"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
diff --git a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/ManifestRefsCheckResultType.java b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/ManifestRefsCheckResultType.java
index 7694cbb8..54a555b0 100644
--- a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/ManifestRefsCheckResultType.java
+++ b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/ManifestRefsCheckResultType.java
@@ -1,28 +1,28 @@
package at.gv.e_government.reference.namespace.moa._20020822_;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlType;
/**
- * <p>Java-Klasse für ManifestRefsCheckResultType complex type.
+ * <p>Java class for ManifestRefsCheckResultType complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType name="ManifestRefsCheckResultType"&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://reference.e-government.gv.at/namespace/moa/20020822#}CheckResultType"&gt;
- * &lt;sequence&gt;
- * &lt;element name="Code" type="{http://www.w3.org/2001/XMLSchema}nonNegativeInteger"/&gt;
- * &lt;element name="Info" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}ManifestRefsCheckResultInfoType"/&gt;
- * &lt;/sequence&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType name="ManifestRefsCheckResultType">
+ * <complexContent>
+ * <restriction base="{http://reference.e-government.gv.at/namespace/moa/20020822#}CheckResultType">
+ * <sequence>
+ * <element name="Code" type="{http://www.w3.org/2001/XMLSchema}nonNegativeInteger"/>
+ * <element name="Info" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}ManifestRefsCheckResultInfoType"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
diff --git a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/MetaInfoType.java b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/MetaInfoType.java
index b73e98b3..4363ecac 100644
--- a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/MetaInfoType.java
+++ b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/MetaInfoType.java
@@ -3,35 +3,35 @@ package at.gv.e_government.reference.namespace.moa._20020822_;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAnyElement;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlSeeAlso;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAnyElement;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlSchemaType;
+import jakarta.xml.bind.annotation.XmlSeeAlso;
+import jakarta.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
/**
- * <p>Java-Klasse für MetaInfoType complex type.
+ * <p>Java class for MetaInfoType complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType name="MetaInfoType"&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
- * &lt;sequence&gt;
- * &lt;element name="MimeType" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}MimeTypeType"/&gt;
- * &lt;element name="Description" type="{http://www.w3.org/2001/XMLSchema}anyURI" minOccurs="0"/&gt;
- * &lt;any namespace='##other' maxOccurs="unbounded" minOccurs="0"/&gt;
- * &lt;/sequence&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType name="MetaInfoType">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="MimeType" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}MimeTypeType"/>
+ * <element name="Description" type="{http://www.w3.org/2001/XMLSchema}anyURI" minOccurs="0"/>
+ * <any namespace='##other' maxOccurs="unbounded" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
@@ -57,7 +57,7 @@ public class MetaInfoType {
protected List<Object> any;
/**
- * Ruft den Wert der mimeType-Eigenschaft ab.
+ * Gets the value of the mimeType property.
*
* @return
* possible object is
@@ -69,7 +69,7 @@ public class MetaInfoType {
}
/**
- * Legt den Wert der mimeType-Eigenschaft fest.
+ * Sets the value of the mimeType property.
*
* @param value
* allowed object is
@@ -81,7 +81,7 @@ public class MetaInfoType {
}
/**
- * Ruft den Wert der description-Eigenschaft ab.
+ * Gets the value of the description property.
*
* @return
* possible object is
@@ -93,7 +93,7 @@ public class MetaInfoType {
}
/**
- * Legt den Wert der description-Eigenschaft fest.
+ * Sets the value of the description property.
*
* @param value
* allowed object is
@@ -107,28 +107,31 @@ public class MetaInfoType {
/**
* Gets the value of the any property.
*
- * <p>
- * This accessor method returns a reference to the live list,
+ * <p>This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the any property.
+ * This is why there is not a <CODE>set</CODE> method for the any property.</p>
*
* <p>
* For example, to add a new item, do as follows:
+ * </p>
* <pre>
- * getAny().add(newItem);
+ * getAny().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link Object }
+ * </p>
*
*
+ * @return
+ * The value of the any property.
*/
public List<Object> getAny() {
if (any == null) {
- any = new ArrayList<Object>();
+ any = new ArrayList<>();
}
return this.any;
}
diff --git a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/ObjectFactory.java b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/ObjectFactory.java
index 17b1707d..224a2b64 100644
--- a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/ObjectFactory.java
+++ b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/ObjectFactory.java
@@ -1,13 +1,13 @@
package at.gv.e_government.reference.namespace.moa._20020822_;
-import javax.xml.bind.JAXBElement;
-import javax.xml.bind.annotation.XmlElementDecl;
-import javax.xml.bind.annotation.XmlRegistry;
-import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import javax.xml.datatype.XMLGregorianCalendar;
import javax.xml.namespace.QName;
+import jakarta.xml.bind.JAXBElement;
+import jakarta.xml.bind.annotation.XmlElementDecl;
+import jakarta.xml.bind.annotation.XmlRegistry;
+import jakarta.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import org.w3._2000._09.xmldsig_.KeyInfoType;
@@ -15,7 +15,7 @@ import org.w3._2000._09.xmldsig_.KeyInfoType;
* This object contains factory methods for each
* Java content interface and Java element interface
* generated in the at.gv.e_government.reference.namespace.moa._20020822_ package.
- * <p>An ObjectFactory allows you to programatically
+ * <p>An ObjectFactory allows you to programmatically
* construct new instances of the Java representation
* for XML content. The Java representation of XML
* content can consist of schema derived interfaces
@@ -28,26 +28,26 @@ import org.w3._2000._09.xmldsig_.KeyInfoType;
@XmlRegistry
public class ObjectFactory {
- private final static QName _CreateCMSSignatureResponse_QNAME = new QName("http://reference.e-government.gv.at/namespace/moa/20020822#", "CreateCMSSignatureResponse");
- private final static QName _CreateXMLSignatureResponse_QNAME = new QName("http://reference.e-government.gv.at/namespace/moa/20020822#", "CreateXMLSignatureResponse");
- private final static QName _CreatePDFSignatureResponse_QNAME = new QName("http://reference.e-government.gv.at/namespace/moa/20020822#", "CreatePDFSignatureResponse");
- private final static QName _VerifyCMSSignatureResponse_QNAME = new QName("http://reference.e-government.gv.at/namespace/moa/20020822#", "VerifyCMSSignatureResponse");
- private final static QName _VerifyASICSignatureResponse_QNAME = new QName("http://reference.e-government.gv.at/namespace/moa/20020822#", "VerifyASICSignatureResponse");
- private final static QName _VerifyPDFSignatureResponse_QNAME = new QName("http://reference.e-government.gv.at/namespace/moa/20020822#", "VerifyPDFSignatureResponse");
- private final static QName _VerifyXMLSignatureRequest_QNAME = new QName("http://reference.e-government.gv.at/namespace/moa/20020822#", "VerifyXMLSignatureRequest");
- private final static QName _VerifyXMLSignatureResponse_QNAME = new QName("http://reference.e-government.gv.at/namespace/moa/20020822#", "VerifyXMLSignatureResponse");
- private final static QName _ErrorResponse_QNAME = new QName("http://reference.e-government.gv.at/namespace/moa/20020822#", "ErrorResponse");
- private final static QName _IssuingCountry_QNAME = new QName("http://reference.e-government.gv.at/namespace/moa/20020822#", "IssuingCountry");
- private final static QName _PublicAuthority_QNAME = new QName("http://reference.e-government.gv.at/namespace/moa/20020822#", "PublicAuthority");
- private final static QName _Supplement_QNAME = new QName("http://reference.e-government.gv.at/namespace/moa/20020822#", "Supplement");
- private final static QName _SupplementProfile_QNAME = new QName("http://reference.e-government.gv.at/namespace/moa/20020822#", "SupplementProfile");
- private final static QName _VerifyASICCMSSignatureResponseTypeSignerInfo_QNAME = new QName("http://reference.e-government.gv.at/namespace/moa/20020822#", "SignerInfo");
- private final static QName _VerifyASICCMSSignatureResponseTypeSigningTime_QNAME = new QName("http://reference.e-government.gv.at/namespace/moa/20020822#", "SigningTime");
- private final static QName _VerifyASICCMSSignatureResponseTypeSignatureCheck_QNAME = new QName("http://reference.e-government.gv.at/namespace/moa/20020822#", "SignatureCheck");
- private final static QName _VerifyASICCMSSignatureResponseTypeCertificateCheck_QNAME = new QName("http://reference.e-government.gv.at/namespace/moa/20020822#", "CertificateCheck");
- private final static QName _VerifyASICCMSSignatureResponseTypeFormCheckResult_QNAME = new QName("http://reference.e-government.gv.at/namespace/moa/20020822#", "FormCheckResult");
- private final static QName _VerifyASICCMSSignatureResponseTypeExtendedCertificateCheck_QNAME = new QName("http://reference.e-government.gv.at/namespace/moa/20020822#", "ExtendedCertificateCheck");
- private final static QName _VerifyCMSSignatureResponseTypeSignatureAlgorithm_QNAME = new QName("http://reference.e-government.gv.at/namespace/moa/20020822#", "SignatureAlgorithm");
+ private static final QName _CreateCMSSignatureResponse_QNAME = new QName("http://reference.e-government.gv.at/namespace/moa/20020822#", "CreateCMSSignatureResponse");
+ private static final QName _CreateXMLSignatureResponse_QNAME = new QName("http://reference.e-government.gv.at/namespace/moa/20020822#", "CreateXMLSignatureResponse");
+ private static final QName _CreatePDFSignatureResponse_QNAME = new QName("http://reference.e-government.gv.at/namespace/moa/20020822#", "CreatePDFSignatureResponse");
+ private static final QName _VerifyCMSSignatureResponse_QNAME = new QName("http://reference.e-government.gv.at/namespace/moa/20020822#", "VerifyCMSSignatureResponse");
+ private static final QName _VerifyASICSignatureResponse_QNAME = new QName("http://reference.e-government.gv.at/namespace/moa/20020822#", "VerifyASICSignatureResponse");
+ private static final QName _VerifyPDFSignatureResponse_QNAME = new QName("http://reference.e-government.gv.at/namespace/moa/20020822#", "VerifyPDFSignatureResponse");
+ private static final QName _VerifyXMLSignatureRequest_QNAME = new QName("http://reference.e-government.gv.at/namespace/moa/20020822#", "VerifyXMLSignatureRequest");
+ private static final QName _VerifyXMLSignatureResponse_QNAME = new QName("http://reference.e-government.gv.at/namespace/moa/20020822#", "VerifyXMLSignatureResponse");
+ private static final QName _ErrorResponse_QNAME = new QName("http://reference.e-government.gv.at/namespace/moa/20020822#", "ErrorResponse");
+ private static final QName _IssuingCountry_QNAME = new QName("http://reference.e-government.gv.at/namespace/moa/20020822#", "IssuingCountry");
+ private static final QName _PublicAuthority_QNAME = new QName("http://reference.e-government.gv.at/namespace/moa/20020822#", "PublicAuthority");
+ private static final QName _Supplement_QNAME = new QName("http://reference.e-government.gv.at/namespace/moa/20020822#", "Supplement");
+ private static final QName _SupplementProfile_QNAME = new QName("http://reference.e-government.gv.at/namespace/moa/20020822#", "SupplementProfile");
+ private static final QName _VerifyASICCMSSignatureResponseTypeSignerInfo_QNAME = new QName("http://reference.e-government.gv.at/namespace/moa/20020822#", "SignerInfo");
+ private static final QName _VerifyASICCMSSignatureResponseTypeSigningTime_QNAME = new QName("http://reference.e-government.gv.at/namespace/moa/20020822#", "SigningTime");
+ private static final QName _VerifyASICCMSSignatureResponseTypeSignatureCheck_QNAME = new QName("http://reference.e-government.gv.at/namespace/moa/20020822#", "SignatureCheck");
+ private static final QName _VerifyASICCMSSignatureResponseTypeCertificateCheck_QNAME = new QName("http://reference.e-government.gv.at/namespace/moa/20020822#", "CertificateCheck");
+ private static final QName _VerifyASICCMSSignatureResponseTypeFormCheckResult_QNAME = new QName("http://reference.e-government.gv.at/namespace/moa/20020822#", "FormCheckResult");
+ private static final QName _VerifyASICCMSSignatureResponseTypeExtendedCertificateCheck_QNAME = new QName("http://reference.e-government.gv.at/namespace/moa/20020822#", "ExtendedCertificateCheck");
+ private static final QName _VerifyCMSSignatureResponseTypeSignatureAlgorithm_QNAME = new QName("http://reference.e-government.gv.at/namespace/moa/20020822#", "SignatureAlgorithm");
/**
* Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: at.gv.e_government.reference.namespace.moa._20020822_
@@ -59,6 +59,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link CreateCMSSignatureRequestType }
*
+ * @return
+ * the new instance of {@link CreateCMSSignatureRequestType }
*/
public CreateCMSSignatureRequestType createCreateCMSSignatureRequestType() {
return new CreateCMSSignatureRequestType();
@@ -67,6 +69,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link CreateXMLSignatureRequestType }
*
+ * @return
+ * the new instance of {@link CreateXMLSignatureRequestType }
*/
public CreateXMLSignatureRequestType createCreateXMLSignatureRequestType() {
return new CreateXMLSignatureRequestType();
@@ -75,6 +79,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link CreatePDFSignatureRequestType }
*
+ * @return
+ * the new instance of {@link CreatePDFSignatureRequestType }
*/
public CreatePDFSignatureRequestType createCreatePDFSignatureRequestType() {
return new CreatePDFSignatureRequestType();
@@ -83,6 +89,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link CMSDataObjectInfoType }
*
+ * @return
+ * the new instance of {@link CMSDataObjectInfoType }
*/
public CMSDataObjectInfoType createCMSDataObjectInfoType() {
return new CMSDataObjectInfoType();
@@ -91,6 +99,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link DataObjectInfoType }
*
+ * @return
+ * the new instance of {@link DataObjectInfoType }
*/
public DataObjectInfoType createDataObjectInfoType() {
return new DataObjectInfoType();
@@ -99,6 +109,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link ASICResultType }
*
+ * @return
+ * the new instance of {@link ASICResultType }
*/
public ASICResultType createASICResultType() {
return new ASICResultType();
@@ -107,6 +119,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link TransformParameterType }
*
+ * @return
+ * the new instance of {@link TransformParameterType }
*/
public TransformParameterType createTransformParameterType() {
return new TransformParameterType();
@@ -115,6 +129,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link VerifyXMLSignatureRequestType }
*
+ * @return
+ * the new instance of {@link VerifyXMLSignatureRequestType }
*/
public VerifyXMLSignatureRequestType createVerifyXMLSignatureRequestType() {
return new VerifyXMLSignatureRequestType();
@@ -123,6 +139,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link CreateXMLSignatureResponseType }
*
+ * @return
+ * the new instance of {@link CreateXMLSignatureResponseType }
*/
public CreateXMLSignatureResponseType createCreateXMLSignatureResponseType() {
return new CreateXMLSignatureResponseType();
@@ -131,6 +149,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link CreateXMLSignatureRequestType.SingleSignatureInfo }
*
+ * @return
+ * the new instance of {@link CreateXMLSignatureRequestType.SingleSignatureInfo }
*/
public CreateXMLSignatureRequestType.SingleSignatureInfo createCreateXMLSignatureRequestTypeSingleSignatureInfo() {
return new CreateXMLSignatureRequestType.SingleSignatureInfo();
@@ -139,6 +159,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link CreateCMSSignatureRequestType.SingleSignatureInfo }
*
+ * @return
+ * the new instance of {@link CreateCMSSignatureRequestType.SingleSignatureInfo }
*/
public CreateCMSSignatureRequestType.SingleSignatureInfo createCreateCMSSignatureRequestTypeSingleSignatureInfo() {
return new CreateCMSSignatureRequestType.SingleSignatureInfo();
@@ -147,6 +169,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link CreateCMSSignatureRequest }
*
+ * @return
+ * the new instance of {@link CreateCMSSignatureRequest }
*/
public CreateCMSSignatureRequest createCreateCMSSignatureRequest() {
return new CreateCMSSignatureRequest();
@@ -155,6 +179,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link CreateCMSSignatureResponseType }
*
+ * @return
+ * the new instance of {@link CreateCMSSignatureResponseType }
*/
public CreateCMSSignatureResponseType createCreateCMSSignatureResponseType() {
return new CreateCMSSignatureResponseType();
@@ -163,6 +189,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link CreateXMLSignatureRequest }
*
+ * @return
+ * the new instance of {@link CreateXMLSignatureRequest }
*/
public CreateXMLSignatureRequest createCreateXMLSignatureRequest() {
return new CreateXMLSignatureRequest();
@@ -171,6 +199,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link CreatePDFSignatureRequest }
*
+ * @return
+ * the new instance of {@link CreatePDFSignatureRequest }
*/
public CreatePDFSignatureRequest createCreatePDFSignatureRequest() {
return new CreatePDFSignatureRequest();
@@ -179,6 +209,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link CreatePDFSignatureRequestType.SingleSignatureInfo }
*
+ * @return
+ * the new instance of {@link CreatePDFSignatureRequestType.SingleSignatureInfo }
*/
public CreatePDFSignatureRequestType.SingleSignatureInfo createCreatePDFSignatureRequestTypeSingleSignatureInfo() {
return new CreatePDFSignatureRequestType.SingleSignatureInfo();
@@ -187,6 +219,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link CreatePDFSignatureResponseType }
*
+ * @return
+ * the new instance of {@link CreatePDFSignatureResponseType }
*/
public CreatePDFSignatureResponseType createCreatePDFSignatureResponseType() {
return new CreatePDFSignatureResponseType();
@@ -195,6 +229,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link VerifyCMSSignatureRequest }
*
+ * @return
+ * the new instance of {@link VerifyCMSSignatureRequest }
*/
public VerifyCMSSignatureRequest createVerifyCMSSignatureRequest() {
return new VerifyCMSSignatureRequest();
@@ -203,6 +239,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link VerifyCMSSignatureRequestType }
*
+ * @return
+ * the new instance of {@link VerifyCMSSignatureRequestType }
*/
public VerifyCMSSignatureRequestType createVerifyCMSSignatureRequestType() {
return new VerifyCMSSignatureRequestType();
@@ -211,6 +249,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link CMSDataObjectOptionalMetaType }
*
+ * @return
+ * the new instance of {@link CMSDataObjectOptionalMetaType }
*/
public CMSDataObjectOptionalMetaType createCMSDataObjectOptionalMetaType() {
return new CMSDataObjectOptionalMetaType();
@@ -219,6 +259,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link VerifyCMSSignatureResponseType }
*
+ * @return
+ * the new instance of {@link VerifyCMSSignatureResponseType }
*/
public VerifyCMSSignatureResponseType createVerifyCMSSignatureResponseType() {
return new VerifyCMSSignatureResponseType();
@@ -227,6 +269,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link VerifyPDFSignatureRequest }
*
+ * @return
+ * the new instance of {@link VerifyPDFSignatureRequest }
*/
public VerifyPDFSignatureRequest createVerifyPDFSignatureRequest() {
return new VerifyPDFSignatureRequest();
@@ -235,6 +279,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link VerifyPDFSignatureRequestType }
*
+ * @return
+ * the new instance of {@link VerifyPDFSignatureRequestType }
*/
public VerifyPDFSignatureRequestType createVerifyPDFSignatureRequestType() {
return new VerifyPDFSignatureRequestType();
@@ -243,6 +289,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link VerifyASICSignatureRequest }
*
+ * @return
+ * the new instance of {@link VerifyASICSignatureRequest }
*/
public VerifyASICSignatureRequest createVerifyASICSignatureRequest() {
return new VerifyASICSignatureRequest();
@@ -251,6 +299,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link VerifyASICSignatureRequestType }
*
+ * @return
+ * the new instance of {@link VerifyASICSignatureRequestType }
*/
public VerifyASICSignatureRequestType createVerifyASICSignatureRequestType() {
return new VerifyASICSignatureRequestType();
@@ -259,6 +309,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link VerifyASICSignatureResponseType }
*
+ * @return
+ * the new instance of {@link VerifyASICSignatureResponseType }
*/
public VerifyASICSignatureResponseType createVerifyASICSignatureResponseType() {
return new VerifyASICSignatureResponseType();
@@ -267,6 +319,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link VerifyPDFSignatureResponseType }
*
+ * @return
+ * the new instance of {@link VerifyPDFSignatureResponseType }
*/
public VerifyPDFSignatureResponseType createVerifyPDFSignatureResponseType() {
return new VerifyPDFSignatureResponseType();
@@ -275,6 +329,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link VerifyXMLSignatureResponseType }
*
+ * @return
+ * the new instance of {@link VerifyXMLSignatureResponseType }
*/
public VerifyXMLSignatureResponseType createVerifyXMLSignatureResponseType() {
return new VerifyXMLSignatureResponseType();
@@ -283,6 +339,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link ErrorResponseType }
*
+ * @return
+ * the new instance of {@link ErrorResponseType }
*/
public ErrorResponseType createErrorResponseType() {
return new ErrorResponseType();
@@ -291,6 +349,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link QualifiedCertificate }
*
+ * @return
+ * the new instance of {@link QualifiedCertificate }
*/
public QualifiedCertificate createQualifiedCertificate() {
return new QualifiedCertificate();
@@ -299,6 +359,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link SecureSignatureCreationDevice }
*
+ * @return
+ * the new instance of {@link SecureSignatureCreationDevice }
*/
public SecureSignatureCreationDevice createSecureSignatureCreationDevice() {
return new SecureSignatureCreationDevice();
@@ -307,6 +369,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link PublicAuthorityType }
*
+ * @return
+ * the new instance of {@link PublicAuthorityType }
*/
public PublicAuthorityType createPublicAuthorityType() {
return new PublicAuthorityType();
@@ -315,6 +379,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link CreateSignatureEnvironmentProfile }
*
+ * @return
+ * the new instance of {@link CreateSignatureEnvironmentProfile }
*/
public CreateSignatureEnvironmentProfile createCreateSignatureEnvironmentProfile() {
return new CreateSignatureEnvironmentProfile();
@@ -323,6 +389,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link CreateSignatureLocationType }
*
+ * @return
+ * the new instance of {@link CreateSignatureLocationType }
*/
public CreateSignatureLocationType createCreateSignatureLocationType() {
return new CreateSignatureLocationType();
@@ -331,6 +399,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link XMLDataObjectAssociationType }
*
+ * @return
+ * the new instance of {@link XMLDataObjectAssociationType }
*/
public XMLDataObjectAssociationType createXMLDataObjectAssociationType() {
return new XMLDataObjectAssociationType();
@@ -339,6 +409,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link VerifyTransformsInfoProfile }
*
+ * @return
+ * the new instance of {@link VerifyTransformsInfoProfile }
*/
public VerifyTransformsInfoProfile createVerifyTransformsInfoProfile() {
return new VerifyTransformsInfoProfile();
@@ -347,6 +419,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link CreateTransformsInfoProfile }
*
+ * @return
+ * the new instance of {@link CreateTransformsInfoProfile }
*/
public CreateTransformsInfoProfile createCreateTransformsInfoProfile() {
return new CreateTransformsInfoProfile();
@@ -355,6 +429,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link TransformsInfoType }
*
+ * @return
+ * the new instance of {@link TransformsInfoType }
*/
public TransformsInfoType createTransformsInfoType() {
return new TransformsInfoType();
@@ -363,6 +439,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link VerifyASICCMSSignatureResponseType }
*
+ * @return
+ * the new instance of {@link VerifyASICCMSSignatureResponseType }
*/
public VerifyASICCMSSignatureResponseType createVerifyASICCMSSignatureResponseType() {
return new VerifyASICCMSSignatureResponseType();
@@ -371,6 +449,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link PDFSignatureResultType }
*
+ * @return
+ * the new instance of {@link PDFSignatureResultType }
*/
public PDFSignatureResultType createPDFSignatureResultType() {
return new PDFSignatureResultType();
@@ -379,6 +459,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link PDFSignatureProperties }
*
+ * @return
+ * the new instance of {@link PDFSignatureProperties }
*/
public PDFSignatureProperties createPDFSignatureProperties() {
return new PDFSignatureProperties();
@@ -387,6 +469,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link VerifyASICXMLSignatureResponseType }
*
+ * @return
+ * the new instance of {@link VerifyASICXMLSignatureResponseType }
*/
public VerifyASICXMLSignatureResponseType createVerifyASICXMLSignatureResponseType() {
return new VerifyASICXMLSignatureResponseType();
@@ -395,6 +479,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link InputDataType }
*
+ * @return
+ * the new instance of {@link InputDataType }
*/
public InputDataType createInputDataType() {
return new InputDataType();
@@ -403,6 +489,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link MetaInfoType }
*
+ * @return
+ * the new instance of {@link MetaInfoType }
*/
public MetaInfoType createMetaInfoType() {
return new MetaInfoType();
@@ -411,6 +499,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link FinalDataMetaInfoType }
*
+ * @return
+ * the new instance of {@link FinalDataMetaInfoType }
*/
public FinalDataMetaInfoType createFinalDataMetaInfoType() {
return new FinalDataMetaInfoType();
@@ -419,6 +509,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link PDFSignedRepsonse }
*
+ * @return
+ * the new instance of {@link PDFSignedRepsonse }
*/
public PDFSignedRepsonse createPDFSignedRepsonse() {
return new PDFSignedRepsonse();
@@ -427,6 +519,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link CMSDataObjectRequiredMetaType }
*
+ * @return
+ * the new instance of {@link CMSDataObjectRequiredMetaType }
*/
public CMSDataObjectRequiredMetaType createCMSDataObjectRequiredMetaType() {
return new CMSDataObjectRequiredMetaType();
@@ -435,6 +529,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link CMSContentBaseType }
*
+ * @return
+ * the new instance of {@link CMSContentBaseType }
*/
public CMSContentBaseType createCMSContentBaseType() {
return new CMSContentBaseType();
@@ -443,6 +539,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link CheckResultType }
*
+ * @return
+ * the new instance of {@link CheckResultType }
*/
public CheckResultType createCheckResultType() {
return new CheckResultType();
@@ -451,6 +549,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link FormResultType }
*
+ * @return
+ * the new instance of {@link FormResultType }
*/
public FormResultType createFormResultType() {
return new FormResultType();
@@ -459,6 +559,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link IndicationResultType }
*
+ * @return
+ * the new instance of {@link IndicationResultType }
*/
public IndicationResultType createIndicationResultType() {
return new IndicationResultType();
@@ -467,6 +569,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link ExtendedCertificateCheckResultType }
*
+ * @return
+ * the new instance of {@link ExtendedCertificateCheckResultType }
*/
public ExtendedCertificateCheckResultType createExtendedCertificateCheckResultType() {
return new ExtendedCertificateCheckResultType();
@@ -475,6 +579,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link ReferencesCheckResultType }
*
+ * @return
+ * the new instance of {@link ReferencesCheckResultType }
*/
public ReferencesCheckResultType createReferencesCheckResultType() {
return new ReferencesCheckResultType();
@@ -483,6 +589,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link ReferencesCheckResultInfoType }
*
+ * @return
+ * the new instance of {@link ReferencesCheckResultInfoType }
*/
public ReferencesCheckResultInfoType createReferencesCheckResultInfoType() {
return new ReferencesCheckResultInfoType();
@@ -491,6 +599,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link ManifestRefsCheckResultType }
*
+ * @return
+ * the new instance of {@link ManifestRefsCheckResultType }
*/
public ManifestRefsCheckResultType createManifestRefsCheckResultType() {
return new ManifestRefsCheckResultType();
@@ -499,6 +609,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link ManifestRefsCheckResultInfoType }
*
+ * @return
+ * the new instance of {@link ManifestRefsCheckResultInfoType }
*/
public ManifestRefsCheckResultInfoType createManifestRefsCheckResultInfoType() {
return new ManifestRefsCheckResultInfoType();
@@ -507,6 +619,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link AnyChildrenType }
*
+ * @return
+ * the new instance of {@link AnyChildrenType }
*/
public AnyChildrenType createAnyChildrenType() {
return new AnyChildrenType();
@@ -515,6 +629,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link XMLContentType }
*
+ * @return
+ * the new instance of {@link XMLContentType }
*/
public XMLContentType createXMLContentType() {
return new XMLContentType();
@@ -523,6 +639,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link ContentBaseType }
*
+ * @return
+ * the new instance of {@link ContentBaseType }
*/
public ContentBaseType createContentBaseType() {
return new ContentBaseType();
@@ -531,6 +649,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link ContentExLocRefBaseType }
*
+ * @return
+ * the new instance of {@link ContentExLocRefBaseType }
*/
public ContentExLocRefBaseType createContentExLocRefBaseType() {
return new ContentExLocRefBaseType();
@@ -539,6 +659,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link ContentOptionalRefType }
*
+ * @return
+ * the new instance of {@link ContentOptionalRefType }
*/
public ContentOptionalRefType createContentOptionalRefType() {
return new ContentOptionalRefType();
@@ -547,6 +669,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link ContentRequiredRefType }
*
+ * @return
+ * the new instance of {@link ContentRequiredRefType }
*/
public ContentRequiredRefType createContentRequiredRefType() {
return new ContentRequiredRefType();
@@ -555,6 +679,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link VerifyTransformsDataType }
*
+ * @return
+ * the new instance of {@link VerifyTransformsDataType }
*/
public VerifyTransformsDataType createVerifyTransformsDataType() {
return new VerifyTransformsDataType();
@@ -563,6 +689,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link CMSDataObjectInfoType.DataObject }
*
+ * @return
+ * the new instance of {@link CMSDataObjectInfoType.DataObject }
*/
public CMSDataObjectInfoType.DataObject createCMSDataObjectInfoTypeDataObject() {
return new CMSDataObjectInfoType.DataObject();
@@ -571,6 +699,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link DataObjectInfoType.DataObject }
*
+ * @return
+ * the new instance of {@link DataObjectInfoType.DataObject }
*/
public DataObjectInfoType.DataObject createDataObjectInfoTypeDataObject() {
return new DataObjectInfoType.DataObject();
@@ -579,6 +709,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link ASICResultType.SignedFiles }
*
+ * @return
+ * the new instance of {@link ASICResultType.SignedFiles }
*/
public ASICResultType.SignedFiles createASICResultTypeSignedFiles() {
return new ASICResultType.SignedFiles();
@@ -587,6 +719,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link TransformParameterType.Hash }
*
+ * @return
+ * the new instance of {@link TransformParameterType.Hash }
*/
public TransformParameterType.Hash createTransformParameterTypeHash() {
return new TransformParameterType.Hash();
@@ -595,6 +729,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link VerifyXMLSignatureRequestType.VerifySignatureInfo }
*
+ * @return
+ * the new instance of {@link VerifyXMLSignatureRequestType.VerifySignatureInfo }
*/
public VerifyXMLSignatureRequestType.VerifySignatureInfo createVerifyXMLSignatureRequestTypeVerifySignatureInfo() {
return new VerifyXMLSignatureRequestType.VerifySignatureInfo();
@@ -603,6 +739,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link VerifyXMLSignatureRequestType.SignatureManifestCheckParams }
*
+ * @return
+ * the new instance of {@link VerifyXMLSignatureRequestType.SignatureManifestCheckParams }
*/
public VerifyXMLSignatureRequestType.SignatureManifestCheckParams createVerifyXMLSignatureRequestTypeSignatureManifestCheckParams() {
return new VerifyXMLSignatureRequestType.SignatureManifestCheckParams();
@@ -611,6 +749,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link CreateXMLSignatureResponseType.SignatureEnvironment }
*
+ * @return
+ * the new instance of {@link CreateXMLSignatureResponseType.SignatureEnvironment }
*/
public CreateXMLSignatureResponseType.SignatureEnvironment createCreateXMLSignatureResponseTypeSignatureEnvironment() {
return new CreateXMLSignatureResponseType.SignatureEnvironment();
@@ -619,6 +759,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link CreateXMLSignatureRequestType.SingleSignatureInfo.DataObjectInfo }
*
+ * @return
+ * the new instance of {@link CreateXMLSignatureRequestType.SingleSignatureInfo.DataObjectInfo }
*/
public CreateXMLSignatureRequestType.SingleSignatureInfo.DataObjectInfo createCreateXMLSignatureRequestTypeSingleSignatureInfoDataObjectInfo() {
return new CreateXMLSignatureRequestType.SingleSignatureInfo.DataObjectInfo();
@@ -627,6 +769,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link CreateXMLSignatureRequestType.SingleSignatureInfo.CreateSignatureInfo }
*
+ * @return
+ * the new instance of {@link CreateXMLSignatureRequestType.SingleSignatureInfo.CreateSignatureInfo }
*/
public CreateXMLSignatureRequestType.SingleSignatureInfo.CreateSignatureInfo createCreateXMLSignatureRequestTypeSingleSignatureInfoCreateSignatureInfo() {
return new CreateXMLSignatureRequestType.SingleSignatureInfo.CreateSignatureInfo();
@@ -635,6 +779,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link CreateCMSSignatureRequestType.SingleSignatureInfo.DataObjectInfo }
*
+ * @return
+ * the new instance of {@link CreateCMSSignatureRequestType.SingleSignatureInfo.DataObjectInfo }
*/
public CreateCMSSignatureRequestType.SingleSignatureInfo.DataObjectInfo createCreateCMSSignatureRequestTypeSingleSignatureInfoDataObjectInfo() {
return new CreateCMSSignatureRequestType.SingleSignatureInfo.DataObjectInfo();
@@ -650,7 +796,7 @@ public class ObjectFactory {
*/
@XmlElementDecl(namespace = "http://reference.e-government.gv.at/namespace/moa/20020822#", name = "CreateCMSSignatureResponse")
public JAXBElement<CreateCMSSignatureResponseType> createCreateCMSSignatureResponse(CreateCMSSignatureResponseType value) {
- return new JAXBElement<CreateCMSSignatureResponseType>(_CreateCMSSignatureResponse_QNAME, CreateCMSSignatureResponseType.class, null, value);
+ return new JAXBElement<>(_CreateCMSSignatureResponse_QNAME, CreateCMSSignatureResponseType.class, null, value);
}
/**
@@ -663,7 +809,7 @@ public class ObjectFactory {
*/
@XmlElementDecl(namespace = "http://reference.e-government.gv.at/namespace/moa/20020822#", name = "CreateXMLSignatureResponse")
public JAXBElement<CreateXMLSignatureResponseType> createCreateXMLSignatureResponse(CreateXMLSignatureResponseType value) {
- return new JAXBElement<CreateXMLSignatureResponseType>(_CreateXMLSignatureResponse_QNAME, CreateXMLSignatureResponseType.class, null, value);
+ return new JAXBElement<>(_CreateXMLSignatureResponse_QNAME, CreateXMLSignatureResponseType.class, null, value);
}
/**
@@ -676,7 +822,7 @@ public class ObjectFactory {
*/
@XmlElementDecl(namespace = "http://reference.e-government.gv.at/namespace/moa/20020822#", name = "CreatePDFSignatureResponse")
public JAXBElement<CreatePDFSignatureResponseType> createCreatePDFSignatureResponse(CreatePDFSignatureResponseType value) {
- return new JAXBElement<CreatePDFSignatureResponseType>(_CreatePDFSignatureResponse_QNAME, CreatePDFSignatureResponseType.class, null, value);
+ return new JAXBElement<>(_CreatePDFSignatureResponse_QNAME, CreatePDFSignatureResponseType.class, null, value);
}
/**
@@ -689,7 +835,7 @@ public class ObjectFactory {
*/
@XmlElementDecl(namespace = "http://reference.e-government.gv.at/namespace/moa/20020822#", name = "VerifyCMSSignatureResponse")
public JAXBElement<VerifyCMSSignatureResponseType> createVerifyCMSSignatureResponse(VerifyCMSSignatureResponseType value) {
- return new JAXBElement<VerifyCMSSignatureResponseType>(_VerifyCMSSignatureResponse_QNAME, VerifyCMSSignatureResponseType.class, null, value);
+ return new JAXBElement<>(_VerifyCMSSignatureResponse_QNAME, VerifyCMSSignatureResponseType.class, null, value);
}
/**
@@ -702,7 +848,7 @@ public class ObjectFactory {
*/
@XmlElementDecl(namespace = "http://reference.e-government.gv.at/namespace/moa/20020822#", name = "VerifyASICSignatureResponse")
public JAXBElement<VerifyASICSignatureResponseType> createVerifyASICSignatureResponse(VerifyASICSignatureResponseType value) {
- return new JAXBElement<VerifyASICSignatureResponseType>(_VerifyASICSignatureResponse_QNAME, VerifyASICSignatureResponseType.class, null, value);
+ return new JAXBElement<>(_VerifyASICSignatureResponse_QNAME, VerifyASICSignatureResponseType.class, null, value);
}
/**
@@ -715,7 +861,7 @@ public class ObjectFactory {
*/
@XmlElementDecl(namespace = "http://reference.e-government.gv.at/namespace/moa/20020822#", name = "VerifyPDFSignatureResponse")
public JAXBElement<VerifyPDFSignatureResponseType> createVerifyPDFSignatureResponse(VerifyPDFSignatureResponseType value) {
- return new JAXBElement<VerifyPDFSignatureResponseType>(_VerifyPDFSignatureResponse_QNAME, VerifyPDFSignatureResponseType.class, null, value);
+ return new JAXBElement<>(_VerifyPDFSignatureResponse_QNAME, VerifyPDFSignatureResponseType.class, null, value);
}
/**
@@ -728,7 +874,7 @@ public class ObjectFactory {
*/
@XmlElementDecl(namespace = "http://reference.e-government.gv.at/namespace/moa/20020822#", name = "VerifyXMLSignatureRequest")
public JAXBElement<VerifyXMLSignatureRequestType> createVerifyXMLSignatureRequest(VerifyXMLSignatureRequestType value) {
- return new JAXBElement<VerifyXMLSignatureRequestType>(_VerifyXMLSignatureRequest_QNAME, VerifyXMLSignatureRequestType.class, null, value);
+ return new JAXBElement<>(_VerifyXMLSignatureRequest_QNAME, VerifyXMLSignatureRequestType.class, null, value);
}
/**
@@ -741,7 +887,7 @@ public class ObjectFactory {
*/
@XmlElementDecl(namespace = "http://reference.e-government.gv.at/namespace/moa/20020822#", name = "VerifyXMLSignatureResponse")
public JAXBElement<VerifyXMLSignatureResponseType> createVerifyXMLSignatureResponse(VerifyXMLSignatureResponseType value) {
- return new JAXBElement<VerifyXMLSignatureResponseType>(_VerifyXMLSignatureResponse_QNAME, VerifyXMLSignatureResponseType.class, null, value);
+ return new JAXBElement<>(_VerifyXMLSignatureResponse_QNAME, VerifyXMLSignatureResponseType.class, null, value);
}
/**
@@ -754,7 +900,7 @@ public class ObjectFactory {
*/
@XmlElementDecl(namespace = "http://reference.e-government.gv.at/namespace/moa/20020822#", name = "ErrorResponse")
public JAXBElement<ErrorResponseType> createErrorResponse(ErrorResponseType value) {
- return new JAXBElement<ErrorResponseType>(_ErrorResponse_QNAME, ErrorResponseType.class, null, value);
+ return new JAXBElement<>(_ErrorResponse_QNAME, ErrorResponseType.class, null, value);
}
/**
@@ -768,7 +914,7 @@ public class ObjectFactory {
@XmlElementDecl(namespace = "http://reference.e-government.gv.at/namespace/moa/20020822#", name = "IssuingCountry")
@XmlJavaTypeAdapter(CollapsedStringAdapter.class)
public JAXBElement<String> createIssuingCountry(String value) {
- return new JAXBElement<String>(_IssuingCountry_QNAME, String.class, null, value);
+ return new JAXBElement<>(_IssuingCountry_QNAME, String.class, null, value);
}
/**
@@ -781,7 +927,7 @@ public class ObjectFactory {
*/
@XmlElementDecl(namespace = "http://reference.e-government.gv.at/namespace/moa/20020822#", name = "PublicAuthority")
public JAXBElement<PublicAuthorityType> createPublicAuthority(PublicAuthorityType value) {
- return new JAXBElement<PublicAuthorityType>(_PublicAuthority_QNAME, PublicAuthorityType.class, null, value);
+ return new JAXBElement<>(_PublicAuthority_QNAME, PublicAuthorityType.class, null, value);
}
/**
@@ -794,7 +940,7 @@ public class ObjectFactory {
*/
@XmlElementDecl(namespace = "http://reference.e-government.gv.at/namespace/moa/20020822#", name = "Supplement")
public JAXBElement<XMLDataObjectAssociationType> createSupplement(XMLDataObjectAssociationType value) {
- return new JAXBElement<XMLDataObjectAssociationType>(_Supplement_QNAME, XMLDataObjectAssociationType.class, null, value);
+ return new JAXBElement<>(_Supplement_QNAME, XMLDataObjectAssociationType.class, null, value);
}
/**
@@ -807,7 +953,7 @@ public class ObjectFactory {
*/
@XmlElementDecl(namespace = "http://reference.e-government.gv.at/namespace/moa/20020822#", name = "SupplementProfile")
public JAXBElement<XMLDataObjectAssociationType> createSupplementProfile(XMLDataObjectAssociationType value) {
- return new JAXBElement<XMLDataObjectAssociationType>(_SupplementProfile_QNAME, XMLDataObjectAssociationType.class, null, value);
+ return new JAXBElement<>(_SupplementProfile_QNAME, XMLDataObjectAssociationType.class, null, value);
}
/**
@@ -820,7 +966,7 @@ public class ObjectFactory {
*/
@XmlElementDecl(namespace = "http://reference.e-government.gv.at/namespace/moa/20020822#", name = "SignerInfo", scope = VerifyASICCMSSignatureResponseType.class)
public JAXBElement<KeyInfoType> createVerifyASICCMSSignatureResponseTypeSignerInfo(KeyInfoType value) {
- return new JAXBElement<KeyInfoType>(_VerifyASICCMSSignatureResponseTypeSignerInfo_QNAME, KeyInfoType.class, VerifyASICCMSSignatureResponseType.class, value);
+ return new JAXBElement<>(_VerifyASICCMSSignatureResponseTypeSignerInfo_QNAME, KeyInfoType.class, VerifyASICCMSSignatureResponseType.class, value);
}
/**
@@ -833,7 +979,7 @@ public class ObjectFactory {
*/
@XmlElementDecl(namespace = "http://reference.e-government.gv.at/namespace/moa/20020822#", name = "SigningTime", scope = VerifyASICCMSSignatureResponseType.class)
public JAXBElement<XMLGregorianCalendar> createVerifyASICCMSSignatureResponseTypeSigningTime(XMLGregorianCalendar value) {
- return new JAXBElement<XMLGregorianCalendar>(_VerifyASICCMSSignatureResponseTypeSigningTime_QNAME, XMLGregorianCalendar.class, VerifyASICCMSSignatureResponseType.class, value);
+ return new JAXBElement<>(_VerifyASICCMSSignatureResponseTypeSigningTime_QNAME, XMLGregorianCalendar.class, VerifyASICCMSSignatureResponseType.class, value);
}
/**
@@ -846,7 +992,7 @@ public class ObjectFactory {
*/
@XmlElementDecl(namespace = "http://reference.e-government.gv.at/namespace/moa/20020822#", name = "SignatureCheck", scope = VerifyASICCMSSignatureResponseType.class)
public JAXBElement<CheckResultType> createVerifyASICCMSSignatureResponseTypeSignatureCheck(CheckResultType value) {
- return new JAXBElement<CheckResultType>(_VerifyASICCMSSignatureResponseTypeSignatureCheck_QNAME, CheckResultType.class, VerifyASICCMSSignatureResponseType.class, value);
+ return new JAXBElement<>(_VerifyASICCMSSignatureResponseTypeSignatureCheck_QNAME, CheckResultType.class, VerifyASICCMSSignatureResponseType.class, value);
}
/**
@@ -859,7 +1005,7 @@ public class ObjectFactory {
*/
@XmlElementDecl(namespace = "http://reference.e-government.gv.at/namespace/moa/20020822#", name = "CertificateCheck", scope = VerifyASICCMSSignatureResponseType.class)
public JAXBElement<CheckResultType> createVerifyASICCMSSignatureResponseTypeCertificateCheck(CheckResultType value) {
- return new JAXBElement<CheckResultType>(_VerifyASICCMSSignatureResponseTypeCertificateCheck_QNAME, CheckResultType.class, VerifyASICCMSSignatureResponseType.class, value);
+ return new JAXBElement<>(_VerifyASICCMSSignatureResponseTypeCertificateCheck_QNAME, CheckResultType.class, VerifyASICCMSSignatureResponseType.class, value);
}
/**
@@ -872,7 +1018,7 @@ public class ObjectFactory {
*/
@XmlElementDecl(namespace = "http://reference.e-government.gv.at/namespace/moa/20020822#", name = "FormCheckResult", scope = VerifyASICCMSSignatureResponseType.class)
public JAXBElement<FormResultType> createVerifyASICCMSSignatureResponseTypeFormCheckResult(FormResultType value) {
- return new JAXBElement<FormResultType>(_VerifyASICCMSSignatureResponseTypeFormCheckResult_QNAME, FormResultType.class, VerifyASICCMSSignatureResponseType.class, value);
+ return new JAXBElement<>(_VerifyASICCMSSignatureResponseTypeFormCheckResult_QNAME, FormResultType.class, VerifyASICCMSSignatureResponseType.class, value);
}
/**
@@ -885,7 +1031,7 @@ public class ObjectFactory {
*/
@XmlElementDecl(namespace = "http://reference.e-government.gv.at/namespace/moa/20020822#", name = "ExtendedCertificateCheck", scope = VerifyASICCMSSignatureResponseType.class)
public JAXBElement<ExtendedCertificateCheckResultType> createVerifyASICCMSSignatureResponseTypeExtendedCertificateCheck(ExtendedCertificateCheckResultType value) {
- return new JAXBElement<ExtendedCertificateCheckResultType>(_VerifyASICCMSSignatureResponseTypeExtendedCertificateCheck_QNAME, ExtendedCertificateCheckResultType.class, VerifyASICCMSSignatureResponseType.class, value);
+ return new JAXBElement<>(_VerifyASICCMSSignatureResponseTypeExtendedCertificateCheck_QNAME, ExtendedCertificateCheckResultType.class, VerifyASICCMSSignatureResponseType.class, value);
}
/**
@@ -898,7 +1044,7 @@ public class ObjectFactory {
*/
@XmlElementDecl(namespace = "http://reference.e-government.gv.at/namespace/moa/20020822#", name = "SignerInfo", scope = VerifyCMSSignatureResponseType.class)
public JAXBElement<KeyInfoType> createVerifyCMSSignatureResponseTypeSignerInfo(KeyInfoType value) {
- return new JAXBElement<KeyInfoType>(_VerifyASICCMSSignatureResponseTypeSignerInfo_QNAME, KeyInfoType.class, VerifyCMSSignatureResponseType.class, value);
+ return new JAXBElement<>(_VerifyASICCMSSignatureResponseTypeSignerInfo_QNAME, KeyInfoType.class, VerifyCMSSignatureResponseType.class, value);
}
/**
@@ -911,7 +1057,7 @@ public class ObjectFactory {
*/
@XmlElementDecl(namespace = "http://reference.e-government.gv.at/namespace/moa/20020822#", name = "SignatureAlgorithm", scope = VerifyCMSSignatureResponseType.class)
public JAXBElement<String> createVerifyCMSSignatureResponseTypeSignatureAlgorithm(String value) {
- return new JAXBElement<String>(_VerifyCMSSignatureResponseTypeSignatureAlgorithm_QNAME, String.class, VerifyCMSSignatureResponseType.class, value);
+ return new JAXBElement<>(_VerifyCMSSignatureResponseTypeSignatureAlgorithm_QNAME, String.class, VerifyCMSSignatureResponseType.class, value);
}
/**
@@ -924,7 +1070,7 @@ public class ObjectFactory {
*/
@XmlElementDecl(namespace = "http://reference.e-government.gv.at/namespace/moa/20020822#", name = "SignatureCheck", scope = VerifyCMSSignatureResponseType.class)
public JAXBElement<CheckResultType> createVerifyCMSSignatureResponseTypeSignatureCheck(CheckResultType value) {
- return new JAXBElement<CheckResultType>(_VerifyASICCMSSignatureResponseTypeSignatureCheck_QNAME, CheckResultType.class, VerifyCMSSignatureResponseType.class, value);
+ return new JAXBElement<>(_VerifyASICCMSSignatureResponseTypeSignatureCheck_QNAME, CheckResultType.class, VerifyCMSSignatureResponseType.class, value);
}
/**
@@ -937,7 +1083,7 @@ public class ObjectFactory {
*/
@XmlElementDecl(namespace = "http://reference.e-government.gv.at/namespace/moa/20020822#", name = "CertificateCheck", scope = VerifyCMSSignatureResponseType.class)
public JAXBElement<CheckResultType> createVerifyCMSSignatureResponseTypeCertificateCheck(CheckResultType value) {
- return new JAXBElement<CheckResultType>(_VerifyASICCMSSignatureResponseTypeCertificateCheck_QNAME, CheckResultType.class, VerifyCMSSignatureResponseType.class, value);
+ return new JAXBElement<>(_VerifyASICCMSSignatureResponseTypeCertificateCheck_QNAME, CheckResultType.class, VerifyCMSSignatureResponseType.class, value);
}
/**
@@ -950,7 +1096,7 @@ public class ObjectFactory {
*/
@XmlElementDecl(namespace = "http://reference.e-government.gv.at/namespace/moa/20020822#", name = "FormCheckResult", scope = VerifyCMSSignatureResponseType.class)
public JAXBElement<FormResultType> createVerifyCMSSignatureResponseTypeFormCheckResult(FormResultType value) {
- return new JAXBElement<FormResultType>(_VerifyASICCMSSignatureResponseTypeFormCheckResult_QNAME, FormResultType.class, VerifyCMSSignatureResponseType.class, value);
+ return new JAXBElement<>(_VerifyASICCMSSignatureResponseTypeFormCheckResult_QNAME, FormResultType.class, VerifyCMSSignatureResponseType.class, value);
}
/**
@@ -963,7 +1109,7 @@ public class ObjectFactory {
*/
@XmlElementDecl(namespace = "http://reference.e-government.gv.at/namespace/moa/20020822#", name = "ExtendedCertificateCheck", scope = VerifyCMSSignatureResponseType.class)
public JAXBElement<ExtendedCertificateCheckResultType> createVerifyCMSSignatureResponseTypeExtendedCertificateCheck(ExtendedCertificateCheckResultType value) {
- return new JAXBElement<ExtendedCertificateCheckResultType>(_VerifyASICCMSSignatureResponseTypeExtendedCertificateCheck_QNAME, ExtendedCertificateCheckResultType.class, VerifyCMSSignatureResponseType.class, value);
+ return new JAXBElement<>(_VerifyASICCMSSignatureResponseTypeExtendedCertificateCheck_QNAME, ExtendedCertificateCheckResultType.class, VerifyCMSSignatureResponseType.class, value);
}
}
diff --git a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/PDFSignatureProperties.java b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/PDFSignatureProperties.java
index 18143994..8bf8c5a9 100644
--- a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/PDFSignatureProperties.java
+++ b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/PDFSignatureProperties.java
@@ -1,29 +1,29 @@
package at.gv.e_government.reference.namespace.moa._20020822_;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
/**
- * <p>Java-Klasse für PDFSignatureProperties complex type.
+ * <p>Java class for PDFSignatureProperties complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType name="PDFSignatureProperties"&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
- * &lt;sequence&gt;
- * &lt;element name="SignatureCoversFullPDF" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/&gt;
- * &lt;element name="SignatureByteRange" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
- * &lt;/sequence&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType name="PDFSignatureProperties">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="SignatureCoversFullPDF" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
+ * <element name="SignatureByteRange" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
@@ -40,7 +40,7 @@ public class PDFSignatureProperties {
protected String signatureByteRange;
/**
- * Ruft den Wert der signatureCoversFullPDF-Eigenschaft ab.
+ * Gets the value of the signatureCoversFullPDF property.
*
* @return
* possible object is
@@ -52,7 +52,7 @@ public class PDFSignatureProperties {
}
/**
- * Legt den Wert der signatureCoversFullPDF-Eigenschaft fest.
+ * Sets the value of the signatureCoversFullPDF property.
*
* @param value
* allowed object is
@@ -64,7 +64,7 @@ public class PDFSignatureProperties {
}
/**
- * Ruft den Wert der signatureByteRange-Eigenschaft ab.
+ * Gets the value of the signatureByteRange property.
*
* @return
* possible object is
@@ -76,7 +76,7 @@ public class PDFSignatureProperties {
}
/**
- * Legt den Wert der signatureByteRange-Eigenschaft fest.
+ * Sets the value of the signatureByteRange property.
*
* @param value
* allowed object is
diff --git a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/PDFSignatureResultType.java b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/PDFSignatureResultType.java
index 17d643b9..07d5a5e0 100644
--- a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/PDFSignatureResultType.java
+++ b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/PDFSignatureResultType.java
@@ -3,38 +3,38 @@ package at.gv.e_government.reference.namespace.moa._20020822_;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlType;
import javax.xml.datatype.XMLGregorianCalendar;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlSchemaType;
+import jakarta.xml.bind.annotation.XmlType;
import org.w3._2000._09.xmldsig_.KeyInfoType;
/**
- * <p>Java-Klasse für PDFSignatureResultType complex type.
+ * <p>Java class for PDFSignatureResultType complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType name="PDFSignatureResultType"&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
- * &lt;sequence&gt;
- * &lt;element name="SignerInfo" type="{http://www.w3.org/2000/09/xmldsig#}KeyInfoType" minOccurs="0"/&gt;
- * &lt;element name="SigningTime" type="{http://www.w3.org/2001/XMLSchema}dateTime" minOccurs="0"/&gt;
- * &lt;element name="SignatureAlgorithm" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
- * &lt;element name="SignatureCheck" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}CheckResultType"/&gt;
- * &lt;element name="CertificateCheck" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}CheckResultType"/&gt;
- * &lt;element name="FormCheckResult" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}FormResultType" maxOccurs="unbounded" minOccurs="0"/&gt;
- * &lt;element name="ExtendedCertificateCheck" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}ExtendedCertificateCheckResultType" minOccurs="0"/&gt;
- * &lt;element name="SignatureProperties" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}PDFSignatureProperties" minOccurs="0"/&gt;
- * &lt;/sequence&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType name="PDFSignatureResultType">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="SignerInfo" type="{http://www.w3.org/2000/09/xmldsig#}KeyInfoType" minOccurs="0"/>
+ * <element name="SigningTime" type="{http://www.w3.org/2001/XMLSchema}dateTime" minOccurs="0"/>
+ * <element name="SignatureAlgorithm" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * <element name="SignatureCheck" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}CheckResultType"/>
+ * <element name="CertificateCheck" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}CheckResultType"/>
+ * <element name="FormCheckResult" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}FormResultType" maxOccurs="unbounded" minOccurs="0"/>
+ * <element name="ExtendedCertificateCheck" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}ExtendedCertificateCheckResultType" minOccurs="0"/>
+ * <element name="SignatureProperties" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}PDFSignatureProperties" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
@@ -51,6 +51,14 @@ import org.w3._2000._09.xmldsig_.KeyInfoType;
})
public class PDFSignatureResultType {
+ /**
+ * only ds:X509Data and RetrievalMethod is
+ * supported; QualifiedCertificate is included as
+ * X509Data/any;publicAuthority is included as X509Data/any;
+ * SecureSignatureCreationDevice is included as X509Data/any,
+ * IssuingCountry is included as X509Data/any
+ *
+ */
@XmlElement(name = "SignerInfo")
protected KeyInfoType signerInfo;
@XmlElement(name = "SigningTime")
@@ -70,7 +78,11 @@ public class PDFSignatureResultType {
protected PDFSignatureProperties signatureProperties;
/**
- * Ruft den Wert der signerInfo-Eigenschaft ab.
+ * only ds:X509Data and RetrievalMethod is
+ * supported; QualifiedCertificate is included as
+ * X509Data/any;publicAuthority is included as X509Data/any;
+ * SecureSignatureCreationDevice is included as X509Data/any,
+ * IssuingCountry is included as X509Data/any
*
* @return
* possible object is
@@ -82,19 +94,20 @@ public class PDFSignatureResultType {
}
/**
- * Legt den Wert der signerInfo-Eigenschaft fest.
+ * Sets the value of the signerInfo property.
*
* @param value
* allowed object is
* {@link KeyInfoType }
*
+ * @see #getSignerInfo()
*/
public void setSignerInfo(KeyInfoType value) {
this.signerInfo = value;
}
/**
- * Ruft den Wert der signingTime-Eigenschaft ab.
+ * Gets the value of the signingTime property.
*
* @return
* possible object is
@@ -106,7 +119,7 @@ public class PDFSignatureResultType {
}
/**
- * Legt den Wert der signingTime-Eigenschaft fest.
+ * Sets the value of the signingTime property.
*
* @param value
* allowed object is
@@ -118,7 +131,7 @@ public class PDFSignatureResultType {
}
/**
- * Ruft den Wert der signatureAlgorithm-Eigenschaft ab.
+ * Gets the value of the signatureAlgorithm property.
*
* @return
* possible object is
@@ -130,7 +143,7 @@ public class PDFSignatureResultType {
}
/**
- * Legt den Wert der signatureAlgorithm-Eigenschaft fest.
+ * Sets the value of the signatureAlgorithm property.
*
* @param value
* allowed object is
@@ -142,7 +155,7 @@ public class PDFSignatureResultType {
}
/**
- * Ruft den Wert der signatureCheck-Eigenschaft ab.
+ * Gets the value of the signatureCheck property.
*
* @return
* possible object is
@@ -154,7 +167,7 @@ public class PDFSignatureResultType {
}
/**
- * Legt den Wert der signatureCheck-Eigenschaft fest.
+ * Sets the value of the signatureCheck property.
*
* @param value
* allowed object is
@@ -166,7 +179,7 @@ public class PDFSignatureResultType {
}
/**
- * Ruft den Wert der certificateCheck-Eigenschaft ab.
+ * Gets the value of the certificateCheck property.
*
* @return
* possible object is
@@ -178,7 +191,7 @@ public class PDFSignatureResultType {
}
/**
- * Legt den Wert der certificateCheck-Eigenschaft fest.
+ * Sets the value of the certificateCheck property.
*
* @param value
* allowed object is
@@ -192,34 +205,37 @@ public class PDFSignatureResultType {
/**
* Gets the value of the formCheckResult property.
*
- * <p>
- * This accessor method returns a reference to the live list,
+ * <p>This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the formCheckResult property.
+ * This is why there is not a <CODE>set</CODE> method for the formCheckResult property.</p>
*
* <p>
* For example, to add a new item, do as follows:
+ * </p>
* <pre>
- * getFormCheckResult().add(newItem);
+ * getFormCheckResult().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link FormResultType }
+ * </p>
*
*
+ * @return
+ * The value of the formCheckResult property.
*/
public List<FormResultType> getFormCheckResult() {
if (formCheckResult == null) {
- formCheckResult = new ArrayList<FormResultType>();
+ formCheckResult = new ArrayList<>();
}
return this.formCheckResult;
}
/**
- * Ruft den Wert der extendedCertificateCheck-Eigenschaft ab.
+ * Gets the value of the extendedCertificateCheck property.
*
* @return
* possible object is
@@ -231,7 +247,7 @@ public class PDFSignatureResultType {
}
/**
- * Legt den Wert der extendedCertificateCheck-Eigenschaft fest.
+ * Sets the value of the extendedCertificateCheck property.
*
* @param value
* allowed object is
@@ -243,7 +259,7 @@ public class PDFSignatureResultType {
}
/**
- * Ruft den Wert der signatureProperties-Eigenschaft ab.
+ * Gets the value of the signatureProperties property.
*
* @return
* possible object is
@@ -255,7 +271,7 @@ public class PDFSignatureResultType {
}
/**
- * Legt den Wert der signatureProperties-Eigenschaft fest.
+ * Sets the value of the signatureProperties property.
*
* @param value
* allowed object is
diff --git a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/PDFSignedRepsonse.java b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/PDFSignedRepsonse.java
index 5c47371c..66d91951 100644
--- a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/PDFSignedRepsonse.java
+++ b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/PDFSignedRepsonse.java
@@ -1,32 +1,32 @@
package at.gv.e_government.reference.namespace.moa._20020822_;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
/**
- * <p>Java-Klasse für PDFSignedRepsonse complex type.
+ * <p>Java class for PDFSignedRepsonse complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType name="PDFSignedRepsonse"&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
- * &lt;sequence&gt;
- * &lt;element name="SignatureID" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
- * &lt;choice&gt;
- * &lt;element name="PDFSignature" type="{http://www.w3.org/2001/XMLSchema}base64Binary"/&gt;
- * &lt;element ref="{http://reference.e-government.gv.at/namespace/moa/20020822#}ErrorResponse"/&gt;
- * &lt;/choice&gt;
- * &lt;/sequence&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType name="PDFSignedRepsonse">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="SignatureID" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * <choice>
+ * <element name="PDFSignature" type="{http://www.w3.org/2001/XMLSchema}base64Binary"/>
+ * <element ref="{http://reference.e-government.gv.at/namespace/moa/20020822#}ErrorResponse"/>
+ * </choice>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
@@ -40,13 +40,23 @@ public class PDFSignedRepsonse {
@XmlElement(name = "SignatureID")
protected String signatureID;
+ /**
+ * Resultat, falls die Signaturerstellung
+ * erfolgreich war
+ *
+ */
@XmlElement(name = "PDFSignature")
protected byte[] pdfSignature;
+ /**
+ * Resultat, falls die Signaturerstellung gescheitert
+ * ist
+ *
+ */
@XmlElement(name = "ErrorResponse")
protected ErrorResponseType errorResponse;
/**
- * Ruft den Wert der signatureID-Eigenschaft ab.
+ * Gets the value of the signatureID property.
*
* @return
* possible object is
@@ -58,7 +68,7 @@ public class PDFSignedRepsonse {
}
/**
- * Legt den Wert der signatureID-Eigenschaft fest.
+ * Sets the value of the signatureID property.
*
* @param value
* allowed object is
@@ -70,7 +80,8 @@ public class PDFSignedRepsonse {
}
/**
- * Ruft den Wert der pdfSignature-Eigenschaft ab.
+ * Resultat, falls die Signaturerstellung
+ * erfolgreich war
*
* @return
* possible object is
@@ -81,18 +92,20 @@ public class PDFSignedRepsonse {
}
/**
- * Legt den Wert der pdfSignature-Eigenschaft fest.
+ * Sets the value of the pdfSignature property.
*
* @param value
* allowed object is
* byte[]
+ * @see #getPDFSignature()
*/
public void setPDFSignature(byte[] value) {
this.pdfSignature = value;
}
/**
- * Ruft den Wert der errorResponse-Eigenschaft ab.
+ * Resultat, falls die Signaturerstellung gescheitert
+ * ist
*
* @return
* possible object is
@@ -104,12 +117,13 @@ public class PDFSignedRepsonse {
}
/**
- * Legt den Wert der errorResponse-Eigenschaft fest.
+ * Sets the value of the errorResponse property.
*
* @param value
* allowed object is
* {@link ErrorResponseType }
*
+ * @see #getErrorResponse()
*/
public void setErrorResponse(ErrorResponseType value) {
this.errorResponse = value;
diff --git a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/PublicAuthorityType.java b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/PublicAuthorityType.java
index d157035c..ec06bcf2 100644
--- a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/PublicAuthorityType.java
+++ b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/PublicAuthorityType.java
@@ -1,28 +1,28 @@
package at.gv.e_government.reference.namespace.moa._20020822_;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
/**
- * <p>Java-Klasse für PublicAuthorityType complex type.
+ * <p>Java class for PublicAuthorityType complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType name="PublicAuthorityType"&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
- * &lt;sequence&gt;
- * &lt;element name="Code" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
- * &lt;/sequence&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType name="PublicAuthorityType">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="Code" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
@@ -36,7 +36,7 @@ public class PublicAuthorityType {
protected String code;
/**
- * Ruft den Wert der code-Eigenschaft ab.
+ * Gets the value of the code property.
*
* @return
* possible object is
@@ -48,7 +48,7 @@ public class PublicAuthorityType {
}
/**
- * Legt den Wert der code-Eigenschaft fest.
+ * Sets the value of the code property.
*
* @param value
* allowed object is
diff --git a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/QualifiedCertificate.java b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/QualifiedCertificate.java
index dc15a228..d0a4751e 100644
--- a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/QualifiedCertificate.java
+++ b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/QualifiedCertificate.java
@@ -1,36 +1,36 @@
package at.gv.e_government.reference.namespace.moa._20020822_;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
/**
- * <p>Java-Klasse für anonymous complex type.
+ * <p>Java class for anonymous complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
- * &lt;attribute name="source"&gt;
- * &lt;simpleType&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}token"&gt;
- * &lt;enumeration value="TSL"/&gt;
- * &lt;enumeration value="Certificate"/&gt;
- * &lt;/restriction&gt;
- * &lt;/simpleType&gt;
- * &lt;/attribute&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <attribute name="source">
+ * <simpleType>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}token">
+ * <enumeration value="TSL"/>
+ * <enumeration value="Certificate"/>
+ * </restriction>
+ * </simpleType>
+ * </attribute>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
@@ -44,7 +44,7 @@ public class QualifiedCertificate {
protected String source;
/**
- * Ruft den Wert der source-Eigenschaft ab.
+ * Gets the value of the source property.
*
* @return
* possible object is
@@ -56,7 +56,7 @@ public class QualifiedCertificate {
}
/**
- * Legt den Wert der source-Eigenschaft fest.
+ * Sets the value of the source property.
*
* @param value
* allowed object is
diff --git a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/ReferencesCheckResultInfoType.java b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/ReferencesCheckResultInfoType.java
index b0290384..1f60c44d 100644
--- a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/ReferencesCheckResultInfoType.java
+++ b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/ReferencesCheckResultInfoType.java
@@ -1,28 +1,28 @@
package at.gv.e_government.reference.namespace.moa._20020822_;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlType;
/**
- * <p>Java-Klasse für ReferencesCheckResultInfoType complex type.
+ * <p>Java class for ReferencesCheckResultInfoType complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType name="ReferencesCheckResultInfoType"&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://reference.e-government.gv.at/namespace/moa/20020822#}AnyChildrenType"&gt;
- * &lt;sequence&gt;
- * &lt;any processContents='lax' namespace='##other' maxOccurs="unbounded" minOccurs="0"/&gt;
- * &lt;element name="FailedReference" type="{http://www.w3.org/2001/XMLSchema}positiveInteger" maxOccurs="unbounded" minOccurs="0"/&gt;
- * &lt;/sequence&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType name="ReferencesCheckResultInfoType">
+ * <complexContent>
+ * <restriction base="{http://reference.e-government.gv.at/namespace/moa/20020822#}AnyChildrenType">
+ * <sequence>
+ * <any processContents='lax' namespace='##other' maxOccurs="unbounded" minOccurs="0"/>
+ * <element name="FailedReference" type="{http://www.w3.org/2001/XMLSchema}positiveInteger" maxOccurs="unbounded" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
diff --git a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/ReferencesCheckResultType.java b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/ReferencesCheckResultType.java
index 953705a8..16a02cc9 100644
--- a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/ReferencesCheckResultType.java
+++ b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/ReferencesCheckResultType.java
@@ -1,28 +1,28 @@
package at.gv.e_government.reference.namespace.moa._20020822_;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlType;
/**
- * <p>Java-Klasse für ReferencesCheckResultType complex type.
+ * <p>Java class for ReferencesCheckResultType complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType name="ReferencesCheckResultType"&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://reference.e-government.gv.at/namespace/moa/20020822#}CheckResultType"&gt;
- * &lt;sequence&gt;
- * &lt;element name="Code" type="{http://www.w3.org/2001/XMLSchema}nonNegativeInteger"/&gt;
- * &lt;element name="Info" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}ReferencesCheckResultInfoType" minOccurs="0"/&gt;
- * &lt;/sequence&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType name="ReferencesCheckResultType">
+ * <complexContent>
+ * <restriction base="{http://reference.e-government.gv.at/namespace/moa/20020822#}CheckResultType">
+ * <sequence>
+ * <element name="Code" type="{http://www.w3.org/2001/XMLSchema}nonNegativeInteger"/>
+ * <element name="Info" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}ReferencesCheckResultInfoType" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
diff --git a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/SecureSignatureCreationDevice.java b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/SecureSignatureCreationDevice.java
index 1b370cc2..455c82db 100644
--- a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/SecureSignatureCreationDevice.java
+++ b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/SecureSignatureCreationDevice.java
@@ -1,36 +1,36 @@
package at.gv.e_government.reference.namespace.moa._20020822_;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
/**
- * <p>Java-Klasse für anonymous complex type.
+ * <p>Java class for anonymous complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
- * &lt;attribute name="source"&gt;
- * &lt;simpleType&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}token"&gt;
- * &lt;enumeration value="TSL"/&gt;
- * &lt;enumeration value="Certificate"/&gt;
- * &lt;/restriction&gt;
- * &lt;/simpleType&gt;
- * &lt;/attribute&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <attribute name="source">
+ * <simpleType>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}token">
+ * <enumeration value="TSL"/>
+ * <enumeration value="Certificate"/>
+ * </restriction>
+ * </simpleType>
+ * </attribute>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
@@ -44,7 +44,7 @@ public class SecureSignatureCreationDevice {
protected String source;
/**
- * Ruft den Wert der source-Eigenschaft ab.
+ * Gets the value of the source property.
*
* @return
* possible object is
@@ -56,7 +56,7 @@ public class SecureSignatureCreationDevice {
}
/**
- * Legt den Wert der source-Eigenschaft fest.
+ * Sets the value of the source property.
*
* @param value
* allowed object is
diff --git a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/SignatureCreationPortType.java b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/SignatureCreationPortType.java
index a6953bc2..c8071f5b 100644
--- a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/SignatureCreationPortType.java
+++ b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/SignatureCreationPortType.java
@@ -1,16 +1,16 @@
package at.gv.e_government.reference.namespace.moa._20020822_;
-import javax.jws.WebMethod;
-import javax.jws.WebParam;
-import javax.jws.WebResult;
-import javax.jws.WebService;
-import javax.jws.soap.SOAPBinding;
-import javax.xml.bind.annotation.XmlSeeAlso;
+import jakarta.jws.WebMethod;
+import jakarta.jws.WebParam;
+import jakarta.jws.WebResult;
+import jakarta.jws.WebService;
+import jakarta.jws.soap.SOAPBinding;
+import jakarta.xml.bind.annotation.XmlSeeAlso;
/**
- * This class was generated by Apache CXF 3.5.8
- * 2024-07-22T14:45:18.261+02:00
- * Generated source version: 3.5.8
+ * This class was generated by Apache CXF 4.1.0
+ * 2025-07-16T16:47:50.603+02:00
+ * Generated source version: 4.1.0
*
*/
@WebService(targetNamespace = "http://reference.e-government.gv.at/namespace/moa/20020822#", name = "SignatureCreationPortType")
diff --git a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/SignatureCreationService.java b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/SignatureCreationService.java
index 7317f145..e3701ef9 100644
--- a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/SignatureCreationService.java
+++ b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/SignatureCreationService.java
@@ -2,15 +2,15 @@ package at.gv.e_government.reference.namespace.moa._20020822_;
import java.net.URL;
import javax.xml.namespace.QName;
-import javax.xml.ws.WebEndpoint;
-import javax.xml.ws.WebServiceClient;
-import javax.xml.ws.WebServiceFeature;
-import javax.xml.ws.Service;
+import jakarta.xml.ws.WebEndpoint;
+import jakarta.xml.ws.WebServiceClient;
+import jakarta.xml.ws.WebServiceFeature;
+import jakarta.xml.ws.Service;
/**
- * This class was generated by Apache CXF 3.5.8
- * 2024-07-22T14:45:18.281+02:00
- * Generated source version: 3.5.8
+ * This class was generated by Apache CXF 4.1.0
+ * 2025-07-16T16:47:50.614+02:00
+ * Generated source version: 4.1.0
*
*/
@WebServiceClient(name = "SignatureCreationService",
@@ -75,7 +75,7 @@ public class SignatureCreationService extends Service {
/**
*
* @param features
- * A list of {@link javax.xml.ws.WebServiceFeature} to configure on the proxy. Supported features not in the <code>features</code> parameter will have their default values.
+ * A list of {@link jakarta.xml.ws.WebServiceFeature} to configure on the proxy. Supported features not in the <code>features</code> parameter will have their default values.
* @return
* returns SignatureCreationPortType
*/
diff --git a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/SignatureVerificationPortType.java b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/SignatureVerificationPortType.java
index 15119f0e..7672fc4c 100644
--- a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/SignatureVerificationPortType.java
+++ b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/SignatureVerificationPortType.java
@@ -1,16 +1,16 @@
package at.gv.e_government.reference.namespace.moa._20020822_;
-import javax.jws.WebMethod;
-import javax.jws.WebParam;
-import javax.jws.WebResult;
-import javax.jws.WebService;
-import javax.jws.soap.SOAPBinding;
-import javax.xml.bind.annotation.XmlSeeAlso;
+import jakarta.jws.WebMethod;
+import jakarta.jws.WebParam;
+import jakarta.jws.WebResult;
+import jakarta.jws.WebService;
+import jakarta.jws.soap.SOAPBinding;
+import jakarta.xml.bind.annotation.XmlSeeAlso;
/**
- * This class was generated by Apache CXF 3.5.8
- * 2024-07-22T14:45:18.275+02:00
- * Generated source version: 3.5.8
+ * This class was generated by Apache CXF 4.1.0
+ * 2025-07-16T16:47:50.610+02:00
+ * Generated source version: 4.1.0
*
*/
@WebService(targetNamespace = "http://reference.e-government.gv.at/namespace/moa/20020822#", name = "SignatureVerificationPortType")
diff --git a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/SignatureVerificationService.java b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/SignatureVerificationService.java
index 11ff29e7..9e9200bd 100644
--- a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/SignatureVerificationService.java
+++ b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/SignatureVerificationService.java
@@ -2,15 +2,15 @@ package at.gv.e_government.reference.namespace.moa._20020822_;
import java.net.URL;
import javax.xml.namespace.QName;
-import javax.xml.ws.WebEndpoint;
-import javax.xml.ws.WebServiceClient;
-import javax.xml.ws.WebServiceFeature;
-import javax.xml.ws.Service;
+import jakarta.xml.ws.WebEndpoint;
+import jakarta.xml.ws.WebServiceClient;
+import jakarta.xml.ws.WebServiceFeature;
+import jakarta.xml.ws.Service;
/**
- * This class was generated by Apache CXF 3.5.8
- * 2024-07-22T14:45:18.301+02:00
- * Generated source version: 3.5.8
+ * This class was generated by Apache CXF 4.1.0
+ * 2025-07-16T16:47:50.624+02:00
+ * Generated source version: 4.1.0
*
*/
@WebServiceClient(name = "SignatureVerificationService",
@@ -75,7 +75,7 @@ public class SignatureVerificationService extends Service {
/**
*
* @param features
- * A list of {@link javax.xml.ws.WebServiceFeature} to configure on the proxy. Supported features not in the <code>features</code> parameter will have their default values.
+ * A list of {@link jakarta.xml.ws.WebServiceFeature} to configure on the proxy. Supported features not in the <code>features</code> parameter will have their default values.
* @return
* returns SignatureVerificationPortType
*/
diff --git a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/TransformParameterType.java b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/TransformParameterType.java
index 67cad009..23eebf92 100644
--- a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/TransformParameterType.java
+++ b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/TransformParameterType.java
@@ -1,44 +1,44 @@
package at.gv.e_government.reference.namespace.moa._20020822_;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlSchemaType;
+import jakarta.xml.bind.annotation.XmlType;
import org.w3._2000._09.xmldsig_.DigestMethodType;
/**
- * <p>Java-Klasse für TransformParameterType complex type.
+ * <p>Java class for TransformParameterType complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType name="TransformParameterType"&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
- * &lt;choice minOccurs="0"&gt;
- * &lt;element name="Base64Content" type="{http://www.w3.org/2001/XMLSchema}base64Binary"/&gt;
- * &lt;element name="Hash"&gt;
- * &lt;complexType&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
- * &lt;sequence&gt;
- * &lt;element ref="{http://www.w3.org/2000/09/xmldsig#}DigestMethod"/&gt;
- * &lt;element ref="{http://www.w3.org/2000/09/xmldsig#}DigestValue"/&gt;
- * &lt;/sequence&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * &lt;/element&gt;
- * &lt;/choice&gt;
- * &lt;attribute name="URI" use="required" type="{http://www.w3.org/2001/XMLSchema}anyURI" /&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType name="TransformParameterType">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <choice minOccurs="0">
+ * <element name="Base64Content" type="{http://www.w3.org/2001/XMLSchema}base64Binary"/>
+ * <element name="Hash">
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element ref="{http://www.w3.org/2000/09/xmldsig#}DigestMethod"/>
+ * <element ref="{http://www.w3.org/2000/09/xmldsig#}DigestValue"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </element>
+ * </choice>
+ * <attribute name="URI" use="required" type="{http://www.w3.org/2001/XMLSchema}anyURI" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
@@ -49,8 +49,16 @@ import org.w3._2000._09.xmldsig_.DigestMethodType;
})
public class TransformParameterType {
+ /**
+ * Der Transformationsparameter explizit angegeben.
+ *
+ */
@XmlElement(name = "Base64Content")
protected byte[] base64Content;
+ /**
+ * Der Hashwert des Transformationsparameters.
+ *
+ */
@XmlElement(name = "Hash")
protected TransformParameterType.Hash hash;
@XmlAttribute(name = "URI", required = true)
@@ -58,7 +66,7 @@ public class TransformParameterType {
protected String uri;
/**
- * Ruft den Wert der base64Content-Eigenschaft ab.
+ * Der Transformationsparameter explizit angegeben.
*
* @return
* possible object is
@@ -69,18 +77,19 @@ public class TransformParameterType {
}
/**
- * Legt den Wert der base64Content-Eigenschaft fest.
+ * Sets the value of the base64Content property.
*
* @param value
* allowed object is
* byte[]
+ * @see #getBase64Content()
*/
public void setBase64Content(byte[] value) {
this.base64Content = value;
}
/**
- * Ruft den Wert der hash-Eigenschaft ab.
+ * Der Hashwert des Transformationsparameters.
*
* @return
* possible object is
@@ -92,19 +101,20 @@ public class TransformParameterType {
}
/**
- * Legt den Wert der hash-Eigenschaft fest.
+ * Sets the value of the hash property.
*
* @param value
* allowed object is
* {@link TransformParameterType.Hash }
*
+ * @see #getHash()
*/
public void setHash(TransformParameterType.Hash value) {
this.hash = value;
}
/**
- * Ruft den Wert der uri-Eigenschaft ab.
+ * Gets the value of the uri property.
*
* @return
* possible object is
@@ -116,7 +126,7 @@ public class TransformParameterType {
}
/**
- * Legt den Wert der uri-Eigenschaft fest.
+ * Sets the value of the uri property.
*
* @param value
* allowed object is
@@ -129,22 +139,22 @@ public class TransformParameterType {
/**
- * <p>Java-Klasse für anonymous complex type.
+ * <p>Java class for anonymous complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
- * &lt;sequence&gt;
- * &lt;element ref="{http://www.w3.org/2000/09/xmldsig#}DigestMethod"/&gt;
- * &lt;element ref="{http://www.w3.org/2000/09/xmldsig#}DigestValue"/&gt;
- * &lt;/sequence&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element ref="{http://www.w3.org/2000/09/xmldsig#}DigestMethod"/>
+ * <element ref="{http://www.w3.org/2000/09/xmldsig#}DigestValue"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
@@ -161,7 +171,7 @@ public class TransformParameterType {
protected String digestValue;
/**
- * Ruft den Wert der digestMethod-Eigenschaft ab.
+ * Gets the value of the digestMethod property.
*
* @return
* possible object is
@@ -173,7 +183,7 @@ public class TransformParameterType {
}
/**
- * Legt den Wert der digestMethod-Eigenschaft fest.
+ * Sets the value of the digestMethod property.
*
* @param value
* allowed object is
@@ -185,7 +195,7 @@ public class TransformParameterType {
}
/**
- * Ruft den Wert der digestValue-Eigenschaft ab.
+ * Gets the value of the digestValue property.
*
* @return
* possible object is
@@ -197,7 +207,7 @@ public class TransformParameterType {
}
/**
- * Legt den Wert der digestValue-Eigenschaft fest.
+ * Sets the value of the digestValue property.
*
* @param value
* allowed object is
diff --git a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/TransformsInfoType.java b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/TransformsInfoType.java
index 3c40039d..3504c468 100644
--- a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/TransformsInfoType.java
+++ b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/TransformsInfoType.java
@@ -1,30 +1,30 @@
package at.gv.e_government.reference.namespace.moa._20020822_;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
import org.w3._2000._09.xmldsig_.TransformsType;
/**
- * <p>Java-Klasse für TransformsInfoType complex type.
+ * <p>Java class for TransformsInfoType complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType name="TransformsInfoType"&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
- * &lt;sequence&gt;
- * &lt;element ref="{http://www.w3.org/2000/09/xmldsig#}Transforms" minOccurs="0"/&gt;
- * &lt;element name="FinalDataMetaInfo" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}FinalDataMetaInfoType"/&gt;
- * &lt;/sequence&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType name="TransformsInfoType">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element ref="{http://www.w3.org/2000/09/xmldsig#}Transforms" minOccurs="0"/>
+ * <element name="FinalDataMetaInfo" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}FinalDataMetaInfoType"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
@@ -41,7 +41,7 @@ public class TransformsInfoType {
protected FinalDataMetaInfoType finalDataMetaInfo;
/**
- * Ruft den Wert der transforms-Eigenschaft ab.
+ * Gets the value of the transforms property.
*
* @return
* possible object is
@@ -53,7 +53,7 @@ public class TransformsInfoType {
}
/**
- * Legt den Wert der transforms-Eigenschaft fest.
+ * Sets the value of the transforms property.
*
* @param value
* allowed object is
@@ -65,7 +65,7 @@ public class TransformsInfoType {
}
/**
- * Ruft den Wert der finalDataMetaInfo-Eigenschaft ab.
+ * Gets the value of the finalDataMetaInfo property.
*
* @return
* possible object is
@@ -77,7 +77,7 @@ public class TransformsInfoType {
}
/**
- * Legt den Wert der finalDataMetaInfo-Eigenschaft fest.
+ * Sets the value of the finalDataMetaInfo property.
*
* @param value
* allowed object is
diff --git a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/VerifyASICCMSSignatureResponseType.java b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/VerifyASICCMSSignatureResponseType.java
index 6d74e9c8..f1580d11 100644
--- a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/VerifyASICCMSSignatureResponseType.java
+++ b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/VerifyASICCMSSignatureResponseType.java
@@ -3,37 +3,37 @@ package at.gv.e_government.reference.namespace.moa._20020822_;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.JAXBElement;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElementRef;
-import javax.xml.bind.annotation.XmlElementRefs;
-import javax.xml.bind.annotation.XmlType;
import javax.xml.datatype.XMLGregorianCalendar;
+import jakarta.xml.bind.JAXBElement;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElementRef;
+import jakarta.xml.bind.annotation.XmlElementRefs;
+import jakarta.xml.bind.annotation.XmlType;
import org.w3._2000._09.xmldsig_.KeyInfoType;
/**
- * <p>Java-Klasse für VerifyASICCMSSignatureResponseType complex type.
+ * <p>Java class for VerifyASICCMSSignatureResponseType complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType name="VerifyASICCMSSignatureResponseType"&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
- * &lt;sequence maxOccurs="unbounded"&gt;
- * &lt;element name="SignerInfo" type="{http://www.w3.org/2000/09/xmldsig#}KeyInfoType"/&gt;
- * &lt;element name="SigningTime" type="{http://www.w3.org/2001/XMLSchema}dateTime" minOccurs="0"/&gt;
- * &lt;element name="SignatureCheck" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}CheckResultType"/&gt;
- * &lt;element name="CertificateCheck" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}CheckResultType"/&gt;
- * &lt;element name="FormCheckResult" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}FormResultType" maxOccurs="unbounded" minOccurs="0"/&gt;
- * &lt;element name="ExtendedCertificateCheck" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}ExtendedCertificateCheckResultType" minOccurs="0"/&gt;
- * &lt;/sequence&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType name="VerifyASICCMSSignatureResponseType">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence maxOccurs="unbounded">
+ * <element name="SignerInfo" type="{http://www.w3.org/2000/09/xmldsig#}KeyInfoType"/>
+ * <element name="SigningTime" type="{http://www.w3.org/2001/XMLSchema}dateTime" minOccurs="0"/>
+ * <element name="SignatureCheck" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}CheckResultType"/>
+ * <element name="CertificateCheck" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}CheckResultType"/>
+ * <element name="FormCheckResult" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}FormResultType" maxOccurs="unbounded" minOccurs="0"/>
+ * <element name="ExtendedCertificateCheck" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}ExtendedCertificateCheckResultType" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
@@ -56,16 +56,16 @@ public class VerifyASICCMSSignatureResponseType {
/**
* Gets the value of the signerInfoAndSigningTimeAndSignatureCheck property.
*
- * <p>
- * This accessor method returns a reference to the live list,
+ * <p>This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the signerInfoAndSigningTimeAndSignatureCheck property.
+ * This is why there is not a <CODE>set</CODE> method for the signerInfoAndSigningTimeAndSignatureCheck property.</p>
*
* <p>
* For example, to add a new item, do as follows:
+ * </p>
* <pre>
- * getSignerInfoAndSigningTimeAndSignatureCheck().add(newItem);
+ * getSignerInfoAndSigningTimeAndSignatureCheck().add(newItem);
* </pre>
*
*
@@ -77,12 +77,15 @@ public class VerifyASICCMSSignatureResponseType {
* {@link JAXBElement }{@code <}{@link FormResultType }{@code >}
* {@link JAXBElement }{@code <}{@link XMLGregorianCalendar }{@code >}
* {@link JAXBElement }{@code <}{@link KeyInfoType }{@code >}
+ * </p>
*
*
+ * @return
+ * The value of the signerInfoAndSigningTimeAndSignatureCheck property.
*/
public List<JAXBElement<?>> getSignerInfoAndSigningTimeAndSignatureCheck() {
if (signerInfoAndSigningTimeAndSignatureCheck == null) {
- signerInfoAndSigningTimeAndSignatureCheck = new ArrayList<JAXBElement<?>>();
+ signerInfoAndSigningTimeAndSignatureCheck = new ArrayList<>();
}
return this.signerInfoAndSigningTimeAndSignatureCheck;
}
diff --git a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/VerifyASICSignatureRequest.java b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/VerifyASICSignatureRequest.java
index 4ba31ac2..6430aec3 100644
--- a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/VerifyASICSignatureRequest.java
+++ b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/VerifyASICSignatureRequest.java
@@ -1,25 +1,25 @@
package at.gv.e_government.reference.namespace.moa._20020822_;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlType;
/**
- * <p>Java-Klasse für anonymous complex type.
+ * <p>Java class for anonymous complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType&gt;
- * &lt;complexContent&gt;
- * &lt;extension base="{http://reference.e-government.gv.at/namespace/moa/20020822#}VerifyASICSignatureRequestType"&gt;
- * &lt;/extension&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType>
+ * <complexContent>
+ * <extension base="{http://reference.e-government.gv.at/namespace/moa/20020822#}VerifyASICSignatureRequestType">
+ * </extension>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
diff --git a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/VerifyASICSignatureRequestType.java b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/VerifyASICSignatureRequestType.java
index 1870dbc5..f3ffa427 100644
--- a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/VerifyASICSignatureRequestType.java
+++ b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/VerifyASICSignatureRequestType.java
@@ -1,37 +1,37 @@
package at.gv.e_government.reference.namespace.moa._20020822_;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlSeeAlso;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import javax.xml.datatype.XMLGregorianCalendar;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlSchemaType;
+import jakarta.xml.bind.annotation.XmlSeeAlso;
+import jakarta.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
/**
- * <p>Java-Klasse für VerifyASICSignatureRequestType complex type.
+ * <p>Java class for VerifyASICSignatureRequestType complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType name="VerifyASICSignatureRequestType"&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
- * &lt;sequence&gt;
- * &lt;element name="DateTime" type="{http://www.w3.org/2001/XMLSchema}dateTime" minOccurs="0"/&gt;
- * &lt;element name="ExtendedValidation" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/&gt;
- * &lt;element name="ASICSignature" type="{http://www.w3.org/2001/XMLSchema}base64Binary"/&gt;
- * &lt;element name="ASICExtension" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
- * &lt;element name="TrustProfileID" type="{http://www.w3.org/2001/XMLSchema}token"/&gt;
- * &lt;/sequence&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType name="VerifyASICSignatureRequestType">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="DateTime" type="{http://www.w3.org/2001/XMLSchema}dateTime" minOccurs="0"/>
+ * <element name="ExtendedValidation" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
+ * <element name="ASICSignature" type="{http://www.w3.org/2001/XMLSchema}base64Binary"/>
+ * <element name="ASICExtension" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * <element name="TrustProfileID" type="{http://www.w3.org/2001/XMLSchema}token"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
@@ -55,15 +55,24 @@ public class VerifyASICSignatureRequestType {
protected Boolean extendedValidation;
@XmlElement(name = "ASICSignature", required = true)
protected byte[] asicSignature;
+ /**
+ * asics or asice
+ *
+ */
@XmlElement(name = "ASICExtension", required = true)
protected String asicExtension;
+ /**
+ * mit diesem Profil wird eine Menge von
+ * vertrauenswürdigen Wurzelzertifikaten spezifiziert
+ *
+ */
@XmlElement(name = "TrustProfileID", required = true)
@XmlJavaTypeAdapter(CollapsedStringAdapter.class)
@XmlSchemaType(name = "token")
protected String trustProfileID;
/**
- * Ruft den Wert der dateTime-Eigenschaft ab.
+ * Gets the value of the dateTime property.
*
* @return
* possible object is
@@ -75,7 +84,7 @@ public class VerifyASICSignatureRequestType {
}
/**
- * Legt den Wert der dateTime-Eigenschaft fest.
+ * Sets the value of the dateTime property.
*
* @param value
* allowed object is
@@ -87,7 +96,7 @@ public class VerifyASICSignatureRequestType {
}
/**
- * Ruft den Wert der extendedValidation-Eigenschaft ab.
+ * Gets the value of the extendedValidation property.
*
* @return
* possible object is
@@ -99,7 +108,7 @@ public class VerifyASICSignatureRequestType {
}
/**
- * Legt den Wert der extendedValidation-Eigenschaft fest.
+ * Sets the value of the extendedValidation property.
*
* @param value
* allowed object is
@@ -111,7 +120,7 @@ public class VerifyASICSignatureRequestType {
}
/**
- * Ruft den Wert der asicSignature-Eigenschaft ab.
+ * Gets the value of the asicSignature property.
*
* @return
* possible object is
@@ -122,7 +131,7 @@ public class VerifyASICSignatureRequestType {
}
/**
- * Legt den Wert der asicSignature-Eigenschaft fest.
+ * Sets the value of the asicSignature property.
*
* @param value
* allowed object is
@@ -133,7 +142,7 @@ public class VerifyASICSignatureRequestType {
}
/**
- * Ruft den Wert der asicExtension-Eigenschaft ab.
+ * asics or asice
*
* @return
* possible object is
@@ -145,19 +154,21 @@ public class VerifyASICSignatureRequestType {
}
/**
- * Legt den Wert der asicExtension-Eigenschaft fest.
+ * Sets the value of the asicExtension property.
*
* @param value
* allowed object is
* {@link String }
*
+ * @see #getASICExtension()
*/
public void setASICExtension(String value) {
this.asicExtension = value;
}
/**
- * Ruft den Wert der trustProfileID-Eigenschaft ab.
+ * mit diesem Profil wird eine Menge von
+ * vertrauenswürdigen Wurzelzertifikaten spezifiziert
*
* @return
* possible object is
@@ -169,12 +180,13 @@ public class VerifyASICSignatureRequestType {
}
/**
- * Legt den Wert der trustProfileID-Eigenschaft fest.
+ * Sets the value of the trustProfileID property.
*
* @param value
* allowed object is
* {@link String }
*
+ * @see #getTrustProfileID()
*/
public void setTrustProfileID(String value) {
this.trustProfileID = value;
diff --git a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/VerifyASICSignatureResponseType.java b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/VerifyASICSignatureResponseType.java
index 063f2eaf..cf9f2387 100644
--- a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/VerifyASICSignatureResponseType.java
+++ b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/VerifyASICSignatureResponseType.java
@@ -3,28 +3,28 @@ package at.gv.e_government.reference.namespace.moa._20020822_;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
/**
- * <p>Java-Klasse für VerifyASICSignatureResponseType complex type.
+ * <p>Java class for VerifyASICSignatureResponseType complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType name="VerifyASICSignatureResponseType"&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
- * &lt;sequence&gt;
- * &lt;element name="ASiCSignatureResult" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}ASICResultType" maxOccurs="unbounded" minOccurs="0"/&gt;
- * &lt;/sequence&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType name="VerifyASICSignatureResponseType">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="ASiCSignatureResult" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}ASICResultType" maxOccurs="unbounded" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
@@ -40,28 +40,31 @@ public class VerifyASICSignatureResponseType {
/**
* Gets the value of the aSiCSignatureResult property.
*
- * <p>
- * This accessor method returns a reference to the live list,
+ * <p>This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the aSiCSignatureResult property.
+ * This is why there is not a <CODE>set</CODE> method for the aSiCSignatureResult property.</p>
*
* <p>
* For example, to add a new item, do as follows:
+ * </p>
* <pre>
- * getASiCSignatureResult().add(newItem);
+ * getASiCSignatureResult().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link ASICResultType }
+ * </p>
*
*
+ * @return
+ * The value of the aSiCSignatureResult property.
*/
public List<ASICResultType> getASiCSignatureResult() {
if (aSiCSignatureResult == null) {
- aSiCSignatureResult = new ArrayList<ASICResultType>();
+ aSiCSignatureResult = new ArrayList<>();
}
return this.aSiCSignatureResult;
}
diff --git a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/VerifyASICXMLSignatureResponseType.java b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/VerifyASICXMLSignatureResponseType.java
index 09fc9be9..97ad57d5 100644
--- a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/VerifyASICXMLSignatureResponseType.java
+++ b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/VerifyASICXMLSignatureResponseType.java
@@ -3,40 +3,40 @@ package at.gv.e_government.reference.namespace.moa._20020822_;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlType;
import javax.xml.datatype.XMLGregorianCalendar;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlSchemaType;
+import jakarta.xml.bind.annotation.XmlType;
import org.w3._2000._09.xmldsig_.KeyInfoType;
/**
- * <p>Java-Klasse für VerifyASICXMLSignatureResponseType complex type.
+ * <p>Java class for VerifyASICXMLSignatureResponseType complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType name="VerifyASICXMLSignatureResponseType"&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
- * &lt;sequence&gt;
- * &lt;element name="SignerInfo" type="{http://www.w3.org/2000/09/xmldsig#}KeyInfoType"/&gt;
- * &lt;element name="SigningTime" type="{http://www.w3.org/2001/XMLSchema}dateTime" minOccurs="0"/&gt;
- * &lt;element name="HashInputData" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}InputDataType" maxOccurs="unbounded" minOccurs="0"/&gt;
- * &lt;element name="ReferenceInputData" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}InputDataType" maxOccurs="unbounded" minOccurs="0"/&gt;
- * &lt;element name="SignatureCheck" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}ReferencesCheckResultType"/&gt;
- * &lt;element name="SignatureManifestCheck" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}ReferencesCheckResultType" minOccurs="0"/&gt;
- * &lt;element name="XMLDSIGManifestCheck" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}ManifestRefsCheckResultType" maxOccurs="unbounded" minOccurs="0"/&gt;
- * &lt;element name="CertificateCheck" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}CheckResultType"/&gt;
- * &lt;element name="FormCheckResult" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}FormResultType" maxOccurs="unbounded" minOccurs="0"/&gt;
- * &lt;element name="ExtendedCertificateCheck" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}ExtendedCertificateCheckResultType" minOccurs="0"/&gt;
- * &lt;/sequence&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType name="VerifyASICXMLSignatureResponseType">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="SignerInfo" type="{http://www.w3.org/2000/09/xmldsig#}KeyInfoType"/>
+ * <element name="SigningTime" type="{http://www.w3.org/2001/XMLSchema}dateTime" minOccurs="0"/>
+ * <element name="HashInputData" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}InputDataType" maxOccurs="unbounded" minOccurs="0"/>
+ * <element name="ReferenceInputData" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}InputDataType" maxOccurs="unbounded" minOccurs="0"/>
+ * <element name="SignatureCheck" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}ReferencesCheckResultType"/>
+ * <element name="SignatureManifestCheck" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}ReferencesCheckResultType" minOccurs="0"/>
+ * <element name="XMLDSIGManifestCheck" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}ManifestRefsCheckResultType" maxOccurs="unbounded" minOccurs="0"/>
+ * <element name="CertificateCheck" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}CheckResultType"/>
+ * <element name="FormCheckResult" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}FormResultType" maxOccurs="unbounded" minOccurs="0"/>
+ * <element name="ExtendedCertificateCheck" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}ExtendedCertificateCheckResultType" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
@@ -55,6 +55,14 @@ import org.w3._2000._09.xmldsig_.KeyInfoType;
})
public class VerifyASICXMLSignatureResponseType {
+ /**
+ * only ds:X509Data and ds:RetrievalMethod is
+ * supported; QualifiedCertificate is included as X509Data/any;
+ * PublicAuthority is included as X509Data/any;
+ * SecureSignatureCreationDevice is included as X509Data/any,
+ * IssuingCountry is included as X509Data/any
+ *
+ */
@XmlElement(name = "SignerInfo", required = true)
protected KeyInfoType signerInfo;
@XmlElement(name = "SigningTime")
@@ -78,7 +86,11 @@ public class VerifyASICXMLSignatureResponseType {
protected ExtendedCertificateCheckResultType extendedCertificateCheck;
/**
- * Ruft den Wert der signerInfo-Eigenschaft ab.
+ * only ds:X509Data and ds:RetrievalMethod is
+ * supported; QualifiedCertificate is included as X509Data/any;
+ * PublicAuthority is included as X509Data/any;
+ * SecureSignatureCreationDevice is included as X509Data/any,
+ * IssuingCountry is included as X509Data/any
*
* @return
* possible object is
@@ -90,19 +102,20 @@ public class VerifyASICXMLSignatureResponseType {
}
/**
- * Legt den Wert der signerInfo-Eigenschaft fest.
+ * Sets the value of the signerInfo property.
*
* @param value
* allowed object is
* {@link KeyInfoType }
*
+ * @see #getSignerInfo()
*/
public void setSignerInfo(KeyInfoType value) {
this.signerInfo = value;
}
/**
- * Ruft den Wert der signingTime-Eigenschaft ab.
+ * Gets the value of the signingTime property.
*
* @return
* possible object is
@@ -114,7 +127,7 @@ public class VerifyASICXMLSignatureResponseType {
}
/**
- * Legt den Wert der signingTime-Eigenschaft fest.
+ * Sets the value of the signingTime property.
*
* @param value
* allowed object is
@@ -128,28 +141,31 @@ public class VerifyASICXMLSignatureResponseType {
/**
* Gets the value of the hashInputData property.
*
- * <p>
- * This accessor method returns a reference to the live list,
+ * <p>This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the hashInputData property.
+ * This is why there is not a <CODE>set</CODE> method for the hashInputData property.</p>
*
* <p>
* For example, to add a new item, do as follows:
+ * </p>
* <pre>
- * getHashInputData().add(newItem);
+ * getHashInputData().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link InputDataType }
+ * </p>
*
*
+ * @return
+ * The value of the hashInputData property.
*/
public List<InputDataType> getHashInputData() {
if (hashInputData == null) {
- hashInputData = new ArrayList<InputDataType>();
+ hashInputData = new ArrayList<>();
}
return this.hashInputData;
}
@@ -157,34 +173,37 @@ public class VerifyASICXMLSignatureResponseType {
/**
* Gets the value of the referenceInputData property.
*
- * <p>
- * This accessor method returns a reference to the live list,
+ * <p>This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the referenceInputData property.
+ * This is why there is not a <CODE>set</CODE> method for the referenceInputData property.</p>
*
* <p>
* For example, to add a new item, do as follows:
+ * </p>
* <pre>
- * getReferenceInputData().add(newItem);
+ * getReferenceInputData().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link InputDataType }
+ * </p>
*
*
+ * @return
+ * The value of the referenceInputData property.
*/
public List<InputDataType> getReferenceInputData() {
if (referenceInputData == null) {
- referenceInputData = new ArrayList<InputDataType>();
+ referenceInputData = new ArrayList<>();
}
return this.referenceInputData;
}
/**
- * Ruft den Wert der signatureCheck-Eigenschaft ab.
+ * Gets the value of the signatureCheck property.
*
* @return
* possible object is
@@ -196,7 +215,7 @@ public class VerifyASICXMLSignatureResponseType {
}
/**
- * Legt den Wert der signatureCheck-Eigenschaft fest.
+ * Sets the value of the signatureCheck property.
*
* @param value
* allowed object is
@@ -208,7 +227,7 @@ public class VerifyASICXMLSignatureResponseType {
}
/**
- * Ruft den Wert der signatureManifestCheck-Eigenschaft ab.
+ * Gets the value of the signatureManifestCheck property.
*
* @return
* possible object is
@@ -220,7 +239,7 @@ public class VerifyASICXMLSignatureResponseType {
}
/**
- * Legt den Wert der signatureManifestCheck-Eigenschaft fest.
+ * Sets the value of the signatureManifestCheck property.
*
* @param value
* allowed object is
@@ -234,34 +253,37 @@ public class VerifyASICXMLSignatureResponseType {
/**
* Gets the value of the xmldsigManifestCheck property.
*
- * <p>
- * This accessor method returns a reference to the live list,
+ * <p>This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the xmldsigManifestCheck property.
+ * This is why there is not a <CODE>set</CODE> method for the xmldsigManifestCheck property.</p>
*
* <p>
* For example, to add a new item, do as follows:
+ * </p>
* <pre>
- * getXMLDSIGManifestCheck().add(newItem);
+ * getXMLDSIGManifestCheck().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link ManifestRefsCheckResultType }
+ * </p>
*
*
+ * @return
+ * The value of the xmldsigManifestCheck property.
*/
public List<ManifestRefsCheckResultType> getXMLDSIGManifestCheck() {
if (xmldsigManifestCheck == null) {
- xmldsigManifestCheck = new ArrayList<ManifestRefsCheckResultType>();
+ xmldsigManifestCheck = new ArrayList<>();
}
return this.xmldsigManifestCheck;
}
/**
- * Ruft den Wert der certificateCheck-Eigenschaft ab.
+ * Gets the value of the certificateCheck property.
*
* @return
* possible object is
@@ -273,7 +295,7 @@ public class VerifyASICXMLSignatureResponseType {
}
/**
- * Legt den Wert der certificateCheck-Eigenschaft fest.
+ * Sets the value of the certificateCheck property.
*
* @param value
* allowed object is
@@ -287,34 +309,37 @@ public class VerifyASICXMLSignatureResponseType {
/**
* Gets the value of the formCheckResult property.
*
- * <p>
- * This accessor method returns a reference to the live list,
+ * <p>This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the formCheckResult property.
+ * This is why there is not a <CODE>set</CODE> method for the formCheckResult property.</p>
*
* <p>
* For example, to add a new item, do as follows:
+ * </p>
* <pre>
- * getFormCheckResult().add(newItem);
+ * getFormCheckResult().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link FormResultType }
+ * </p>
*
*
+ * @return
+ * The value of the formCheckResult property.
*/
public List<FormResultType> getFormCheckResult() {
if (formCheckResult == null) {
- formCheckResult = new ArrayList<FormResultType>();
+ formCheckResult = new ArrayList<>();
}
return this.formCheckResult;
}
/**
- * Ruft den Wert der extendedCertificateCheck-Eigenschaft ab.
+ * Gets the value of the extendedCertificateCheck property.
*
* @return
* possible object is
@@ -326,7 +351,7 @@ public class VerifyASICXMLSignatureResponseType {
}
/**
- * Legt den Wert der extendedCertificateCheck-Eigenschaft fest.
+ * Sets the value of the extendedCertificateCheck property.
*
* @param value
* allowed object is
diff --git a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/VerifyCMSSignatureRequest.java b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/VerifyCMSSignatureRequest.java
index b323873a..2b7b8ea4 100644
--- a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/VerifyCMSSignatureRequest.java
+++ b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/VerifyCMSSignatureRequest.java
@@ -3,27 +3,27 @@ package at.gv.e_government.reference.namespace.moa._20020822_;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlType;
/**
- * <p>Java-Klasse für anonymous complex type.
+ * <p>Java class for anonymous complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType&gt;
- * &lt;complexContent&gt;
- * &lt;extension base="{http://reference.e-government.gv.at/namespace/moa/20020822#}VerifyCMSSignatureRequestType"&gt;
- * &lt;attribute name="Signatories" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}SignatoriesType" default="1" /&gt;
- * &lt;/extension&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType>
+ * <complexContent>
+ * <extension base="{http://reference.e-government.gv.at/namespace/moa/20020822#}VerifyCMSSignatureRequestType">
+ * <attribute name="Signatories" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}SignatoriesType" default="1" />
+ * </extension>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
@@ -40,28 +40,31 @@ public class VerifyCMSSignatureRequest
/**
* Gets the value of the signatories property.
*
- * <p>
- * This accessor method returns a reference to the live list,
+ * <p>This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the signatories property.
+ * This is why there is not a <CODE>set</CODE> method for the signatories property.</p>
*
* <p>
* For example, to add a new item, do as follows:
+ * </p>
* <pre>
- * getSignatories().add(newItem);
+ * getSignatories().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link String }
+ * </p>
*
*
+ * @return
+ * The value of the signatories property.
*/
public List<String> getSignatories() {
if (signatories == null) {
- signatories = new ArrayList<String>();
+ signatories = new ArrayList<>();
}
return this.signatories;
}
diff --git a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/VerifyCMSSignatureRequestType.java b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/VerifyCMSSignatureRequestType.java
index 327ff846..468b8e9c 100644
--- a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/VerifyCMSSignatureRequestType.java
+++ b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/VerifyCMSSignatureRequestType.java
@@ -1,37 +1,37 @@
package at.gv.e_government.reference.namespace.moa._20020822_;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlSeeAlso;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import javax.xml.datatype.XMLGregorianCalendar;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlSchemaType;
+import jakarta.xml.bind.annotation.XmlSeeAlso;
+import jakarta.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
/**
- * <p>Java-Klasse für VerifyCMSSignatureRequestType complex type.
+ * <p>Java class for VerifyCMSSignatureRequestType complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType name="VerifyCMSSignatureRequestType"&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
- * &lt;sequence&gt;
- * &lt;element name="DateTime" type="{http://www.w3.org/2001/XMLSchema}dateTime" minOccurs="0"/&gt;
- * &lt;element name="ExtendedValidation" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/&gt;
- * &lt;element name="CMSSignature" type="{http://www.w3.org/2001/XMLSchema}base64Binary"/&gt;
- * &lt;element name="DataObject" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}CMSDataObjectOptionalMetaType" minOccurs="0"/&gt;
- * &lt;element name="TrustProfileID" type="{http://www.w3.org/2001/XMLSchema}token"/&gt;
- * &lt;/sequence&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType name="VerifyCMSSignatureRequestType">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="DateTime" type="{http://www.w3.org/2001/XMLSchema}dateTime" minOccurs="0"/>
+ * <element name="ExtendedValidation" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
+ * <element name="CMSSignature" type="{http://www.w3.org/2001/XMLSchema}base64Binary"/>
+ * <element name="DataObject" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}CMSDataObjectOptionalMetaType" minOccurs="0"/>
+ * <element name="TrustProfileID" type="{http://www.w3.org/2001/XMLSchema}token"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
@@ -57,13 +57,18 @@ public class VerifyCMSSignatureRequestType {
protected byte[] cmsSignature;
@XmlElement(name = "DataObject")
protected CMSDataObjectOptionalMetaType dataObject;
+ /**
+ * mit diesem Profil wird eine Menge von
+ * vertrauenswürdigen Wurzelzertifikaten spezifiziert
+ *
+ */
@XmlElement(name = "TrustProfileID", required = true)
@XmlJavaTypeAdapter(CollapsedStringAdapter.class)
@XmlSchemaType(name = "token")
protected String trustProfileID;
/**
- * Ruft den Wert der dateTime-Eigenschaft ab.
+ * Gets the value of the dateTime property.
*
* @return
* possible object is
@@ -75,7 +80,7 @@ public class VerifyCMSSignatureRequestType {
}
/**
- * Legt den Wert der dateTime-Eigenschaft fest.
+ * Sets the value of the dateTime property.
*
* @param value
* allowed object is
@@ -87,7 +92,7 @@ public class VerifyCMSSignatureRequestType {
}
/**
- * Ruft den Wert der extendedValidation-Eigenschaft ab.
+ * Gets the value of the extendedValidation property.
*
* @return
* possible object is
@@ -99,7 +104,7 @@ public class VerifyCMSSignatureRequestType {
}
/**
- * Legt den Wert der extendedValidation-Eigenschaft fest.
+ * Sets the value of the extendedValidation property.
*
* @param value
* allowed object is
@@ -111,7 +116,7 @@ public class VerifyCMSSignatureRequestType {
}
/**
- * Ruft den Wert der cmsSignature-Eigenschaft ab.
+ * Gets the value of the cmsSignature property.
*
* @return
* possible object is
@@ -122,7 +127,7 @@ public class VerifyCMSSignatureRequestType {
}
/**
- * Legt den Wert der cmsSignature-Eigenschaft fest.
+ * Sets the value of the cmsSignature property.
*
* @param value
* allowed object is
@@ -133,7 +138,7 @@ public class VerifyCMSSignatureRequestType {
}
/**
- * Ruft den Wert der dataObject-Eigenschaft ab.
+ * Gets the value of the dataObject property.
*
* @return
* possible object is
@@ -145,7 +150,7 @@ public class VerifyCMSSignatureRequestType {
}
/**
- * Legt den Wert der dataObject-Eigenschaft fest.
+ * Sets the value of the dataObject property.
*
* @param value
* allowed object is
@@ -157,7 +162,8 @@ public class VerifyCMSSignatureRequestType {
}
/**
- * Ruft den Wert der trustProfileID-Eigenschaft ab.
+ * mit diesem Profil wird eine Menge von
+ * vertrauenswürdigen Wurzelzertifikaten spezifiziert
*
* @return
* possible object is
@@ -169,12 +175,13 @@ public class VerifyCMSSignatureRequestType {
}
/**
- * Legt den Wert der trustProfileID-Eigenschaft fest.
+ * Sets the value of the trustProfileID property.
*
* @param value
* allowed object is
* {@link String }
*
+ * @see #getTrustProfileID()
*/
public void setTrustProfileID(String value) {
this.trustProfileID = value;
diff --git a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/VerifyCMSSignatureResponseType.java b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/VerifyCMSSignatureResponseType.java
index 16c5fa22..5f1f7354 100644
--- a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/VerifyCMSSignatureResponseType.java
+++ b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/VerifyCMSSignatureResponseType.java
@@ -3,36 +3,36 @@ package at.gv.e_government.reference.namespace.moa._20020822_;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.JAXBElement;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElementRef;
-import javax.xml.bind.annotation.XmlElementRefs;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.JAXBElement;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElementRef;
+import jakarta.xml.bind.annotation.XmlElementRefs;
+import jakarta.xml.bind.annotation.XmlType;
import org.w3._2000._09.xmldsig_.KeyInfoType;
/**
- * <p>Java-Klasse für VerifyCMSSignatureResponseType complex type.
+ * <p>Java class for VerifyCMSSignatureResponseType complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType name="VerifyCMSSignatureResponseType"&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
- * &lt;sequence maxOccurs="unbounded"&gt;
- * &lt;element name="SignerInfo" type="{http://www.w3.org/2000/09/xmldsig#}KeyInfoType"/&gt;
- * &lt;element name="SignatureAlgorithm" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
- * &lt;element name="SignatureCheck" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}CheckResultType"/&gt;
- * &lt;element name="CertificateCheck" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}CheckResultType"/&gt;
- * &lt;element name="FormCheckResult" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}FormResultType" maxOccurs="unbounded" minOccurs="0"/&gt;
- * &lt;element name="ExtendedCertificateCheck" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}ExtendedCertificateCheckResultType" minOccurs="0"/&gt;
- * &lt;/sequence&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType name="VerifyCMSSignatureResponseType">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence maxOccurs="unbounded">
+ * <element name="SignerInfo" type="{http://www.w3.org/2000/09/xmldsig#}KeyInfoType"/>
+ * <element name="SignatureAlgorithm" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * <element name="SignatureCheck" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}CheckResultType"/>
+ * <element name="CertificateCheck" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}CheckResultType"/>
+ * <element name="FormCheckResult" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}FormResultType" maxOccurs="unbounded" minOccurs="0"/>
+ * <element name="ExtendedCertificateCheck" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}ExtendedCertificateCheckResultType" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
@@ -55,16 +55,16 @@ public class VerifyCMSSignatureResponseType {
/**
* Gets the value of the signerInfoAndSignatureAlgorithmAndSignatureCheck property.
*
- * <p>
- * This accessor method returns a reference to the live list,
+ * <p>This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the signerInfoAndSignatureAlgorithmAndSignatureCheck property.
+ * This is why there is not a <CODE>set</CODE> method for the signerInfoAndSignatureAlgorithmAndSignatureCheck property.</p>
*
* <p>
* For example, to add a new item, do as follows:
+ * </p>
* <pre>
- * getSignerInfoAndSignatureAlgorithmAndSignatureCheck().add(newItem);
+ * getSignerInfoAndSignatureAlgorithmAndSignatureCheck().add(newItem);
* </pre>
*
*
@@ -76,12 +76,15 @@ public class VerifyCMSSignatureResponseType {
* {@link JAXBElement }{@code <}{@link FormResultType }{@code >}
* {@link JAXBElement }{@code <}{@link String }{@code >}
* {@link JAXBElement }{@code <}{@link KeyInfoType }{@code >}
+ * </p>
*
*
+ * @return
+ * The value of the signerInfoAndSignatureAlgorithmAndSignatureCheck property.
*/
public List<JAXBElement<?>> getSignerInfoAndSignatureAlgorithmAndSignatureCheck() {
if (signerInfoAndSignatureAlgorithmAndSignatureCheck == null) {
- signerInfoAndSignatureAlgorithmAndSignatureCheck = new ArrayList<JAXBElement<?>>();
+ signerInfoAndSignatureAlgorithmAndSignatureCheck = new ArrayList<>();
}
return this.signerInfoAndSignatureAlgorithmAndSignatureCheck;
}
diff --git a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/VerifyPDFSignatureRequest.java b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/VerifyPDFSignatureRequest.java
index 656ea240..7f458f9a 100644
--- a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/VerifyPDFSignatureRequest.java
+++ b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/VerifyPDFSignatureRequest.java
@@ -3,27 +3,27 @@ package at.gv.e_government.reference.namespace.moa._20020822_;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlType;
/**
- * <p>Java-Klasse für anonymous complex type.
+ * <p>Java class for anonymous complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType&gt;
- * &lt;complexContent&gt;
- * &lt;extension base="{http://reference.e-government.gv.at/namespace/moa/20020822#}VerifyPDFSignatureRequestType"&gt;
- * &lt;attribute name="Signatories" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}SignatoriesType" default="1" /&gt;
- * &lt;/extension&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType>
+ * <complexContent>
+ * <extension base="{http://reference.e-government.gv.at/namespace/moa/20020822#}VerifyPDFSignatureRequestType">
+ * <attribute name="Signatories" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}SignatoriesType" default="1" />
+ * </extension>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
@@ -40,28 +40,31 @@ public class VerifyPDFSignatureRequest
/**
* Gets the value of the signatories property.
*
- * <p>
- * This accessor method returns a reference to the live list,
+ * <p>This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the signatories property.
+ * This is why there is not a <CODE>set</CODE> method for the signatories property.</p>
*
* <p>
* For example, to add a new item, do as follows:
+ * </p>
* <pre>
- * getSignatories().add(newItem);
+ * getSignatories().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link String }
+ * </p>
*
*
+ * @return
+ * The value of the signatories property.
*/
public List<String> getSignatories() {
if (signatories == null) {
- signatories = new ArrayList<String>();
+ signatories = new ArrayList<>();
}
return this.signatories;
}
diff --git a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/VerifyPDFSignatureRequestType.java b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/VerifyPDFSignatureRequestType.java
index 4536ac2e..ee8eb400 100644
--- a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/VerifyPDFSignatureRequestType.java
+++ b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/VerifyPDFSignatureRequestType.java
@@ -1,36 +1,36 @@
package at.gv.e_government.reference.namespace.moa._20020822_;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlSeeAlso;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import javax.xml.datatype.XMLGregorianCalendar;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlSchemaType;
+import jakarta.xml.bind.annotation.XmlSeeAlso;
+import jakarta.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
/**
- * <p>Java-Klasse für VerifyPDFSignatureRequestType complex type.
+ * <p>Java class for VerifyPDFSignatureRequestType complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType name="VerifyPDFSignatureRequestType"&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
- * &lt;sequence&gt;
- * &lt;element name="DateTime" type="{http://www.w3.org/2001/XMLSchema}dateTime" minOccurs="0"/&gt;
- * &lt;element name="ExtendedValidation" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/&gt;
- * &lt;element name="PDFSignature" type="{http://www.w3.org/2001/XMLSchema}base64Binary"/&gt;
- * &lt;element name="TrustProfileID" type="{http://www.w3.org/2001/XMLSchema}token"/&gt;
- * &lt;/sequence&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType name="VerifyPDFSignatureRequestType">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="DateTime" type="{http://www.w3.org/2001/XMLSchema}dateTime" minOccurs="0"/>
+ * <element name="ExtendedValidation" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
+ * <element name="PDFSignature" type="{http://www.w3.org/2001/XMLSchema}base64Binary"/>
+ * <element name="TrustProfileID" type="{http://www.w3.org/2001/XMLSchema}token"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
@@ -53,13 +53,18 @@ public class VerifyPDFSignatureRequestType {
protected Boolean extendedValidation;
@XmlElement(name = "PDFSignature", required = true)
protected byte[] pdfSignature;
+ /**
+ * mit diesem Profil wird eine Menge von
+ * vertrauenswürdigen Wurzelzertifikaten spezifiziert
+ *
+ */
@XmlElement(name = "TrustProfileID", required = true)
@XmlJavaTypeAdapter(CollapsedStringAdapter.class)
@XmlSchemaType(name = "token")
protected String trustProfileID;
/**
- * Ruft den Wert der dateTime-Eigenschaft ab.
+ * Gets the value of the dateTime property.
*
* @return
* possible object is
@@ -71,7 +76,7 @@ public class VerifyPDFSignatureRequestType {
}
/**
- * Legt den Wert der dateTime-Eigenschaft fest.
+ * Sets the value of the dateTime property.
*
* @param value
* allowed object is
@@ -83,7 +88,7 @@ public class VerifyPDFSignatureRequestType {
}
/**
- * Ruft den Wert der extendedValidation-Eigenschaft ab.
+ * Gets the value of the extendedValidation property.
*
* @return
* possible object is
@@ -95,7 +100,7 @@ public class VerifyPDFSignatureRequestType {
}
/**
- * Legt den Wert der extendedValidation-Eigenschaft fest.
+ * Sets the value of the extendedValidation property.
*
* @param value
* allowed object is
@@ -107,7 +112,7 @@ public class VerifyPDFSignatureRequestType {
}
/**
- * Ruft den Wert der pdfSignature-Eigenschaft ab.
+ * Gets the value of the pdfSignature property.
*
* @return
* possible object is
@@ -118,7 +123,7 @@ public class VerifyPDFSignatureRequestType {
}
/**
- * Legt den Wert der pdfSignature-Eigenschaft fest.
+ * Sets the value of the pdfSignature property.
*
* @param value
* allowed object is
@@ -129,7 +134,8 @@ public class VerifyPDFSignatureRequestType {
}
/**
- * Ruft den Wert der trustProfileID-Eigenschaft ab.
+ * mit diesem Profil wird eine Menge von
+ * vertrauenswürdigen Wurzelzertifikaten spezifiziert
*
* @return
* possible object is
@@ -141,12 +147,13 @@ public class VerifyPDFSignatureRequestType {
}
/**
- * Legt den Wert der trustProfileID-Eigenschaft fest.
+ * Sets the value of the trustProfileID property.
*
* @param value
* allowed object is
* {@link String }
*
+ * @see #getTrustProfileID()
*/
public void setTrustProfileID(String value) {
this.trustProfileID = value;
diff --git a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/VerifyPDFSignatureResponseType.java b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/VerifyPDFSignatureResponseType.java
index 151c6f97..de36f998 100644
--- a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/VerifyPDFSignatureResponseType.java
+++ b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/VerifyPDFSignatureResponseType.java
@@ -3,28 +3,28 @@ package at.gv.e_government.reference.namespace.moa._20020822_;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
/**
- * <p>Java-Klasse für VerifyPDFSignatureResponseType complex type.
+ * <p>Java class for VerifyPDFSignatureResponseType complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType name="VerifyPDFSignatureResponseType"&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
- * &lt;sequence maxOccurs="unbounded"&gt;
- * &lt;element name="SignatureResult" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}PDFSignatureResultType"/&gt;
- * &lt;/sequence&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType name="VerifyPDFSignatureResponseType">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence maxOccurs="unbounded">
+ * <element name="SignatureResult" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}PDFSignatureResultType"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
@@ -40,28 +40,31 @@ public class VerifyPDFSignatureResponseType {
/**
* Gets the value of the signatureResult property.
*
- * <p>
- * This accessor method returns a reference to the live list,
+ * <p>This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the signatureResult property.
+ * This is why there is not a <CODE>set</CODE> method for the signatureResult property.</p>
*
* <p>
* For example, to add a new item, do as follows:
+ * </p>
* <pre>
- * getSignatureResult().add(newItem);
+ * getSignatureResult().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link PDFSignatureResultType }
+ * </p>
*
*
+ * @return
+ * The value of the signatureResult property.
*/
public List<PDFSignatureResultType> getSignatureResult() {
if (signatureResult == null) {
- signatureResult = new ArrayList<PDFSignatureResultType>();
+ signatureResult = new ArrayList<>();
}
return this.signatureResult;
}
diff --git a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/VerifyTransformsDataType.java b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/VerifyTransformsDataType.java
index 3a057075..4c4fe239 100644
--- a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/VerifyTransformsDataType.java
+++ b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/VerifyTransformsDataType.java
@@ -3,30 +3,30 @@ package at.gv.e_government.reference.namespace.moa._20020822_;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElements;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlElements;
+import jakarta.xml.bind.annotation.XmlType;
/**
- * <p>Java-Klasse für VerifyTransformsDataType complex type.
+ * <p>Java class for VerifyTransformsDataType complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType name="VerifyTransformsDataType"&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
- * &lt;choice maxOccurs="unbounded"&gt;
- * &lt;element ref="{http://reference.e-government.gv.at/namespace/moa/20020822#}VerifyTransformsInfoProfile"/&gt;
- * &lt;element name="VerifyTransformsInfoProfileID" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
- * &lt;/choice&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType name="VerifyTransformsDataType">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <choice maxOccurs="unbounded">
+ * <element ref="{http://reference.e-government.gv.at/namespace/moa/20020822#}VerifyTransformsInfoProfile"/>
+ * <element name="VerifyTransformsInfoProfileID" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * </choice>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
@@ -36,6 +36,13 @@ import javax.xml.bind.annotation.XmlType;
})
public class VerifyTransformsDataType {
+ /**
+ * Ein oder mehrere Transformationswege können von
+ * der Applikation an MOA mitgeteilt werden. Die zu prüfende Signatur
+ * hat zumindest einem dieser Transformationswege zu entsprechen. Die
+ * Angabe kann explizit oder als Profilbezeichner erfolgen.
+ *
+ */
@XmlElements({
@XmlElement(name = "VerifyTransformsInfoProfile", type = VerifyTransformsInfoProfile.class),
@XmlElement(name = "VerifyTransformsInfoProfileID", type = String.class)
@@ -43,18 +50,23 @@ public class VerifyTransformsDataType {
protected List<Object> verifyTransformsInfoProfileOrVerifyTransformsInfoProfileID;
/**
+ * Ein oder mehrere Transformationswege können von
+ * der Applikation an MOA mitgeteilt werden. Die zu prüfende Signatur
+ * hat zumindest einem dieser Transformationswege zu entsprechen. Die
+ * Angabe kann explizit oder als Profilbezeichner erfolgen.
+ *
* Gets the value of the verifyTransformsInfoProfileOrVerifyTransformsInfoProfileID property.
*
- * <p>
- * This accessor method returns a reference to the live list,
+ * <p>This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the verifyTransformsInfoProfileOrVerifyTransformsInfoProfileID property.
+ * This is why there is not a <CODE>set</CODE> method for the verifyTransformsInfoProfileOrVerifyTransformsInfoProfileID property.</p>
*
* <p>
* For example, to add a new item, do as follows:
+ * </p>
* <pre>
- * getVerifyTransformsInfoProfileOrVerifyTransformsInfoProfileID().add(newItem);
+ * getVerifyTransformsInfoProfileOrVerifyTransformsInfoProfileID().add(newItem);
* </pre>
*
*
@@ -62,12 +74,15 @@ public class VerifyTransformsDataType {
* Objects of the following type(s) are allowed in the list
* {@link VerifyTransformsInfoProfile }
* {@link String }
+ * </p>
*
*
+ * @return
+ * The value of the verifyTransformsInfoProfileOrVerifyTransformsInfoProfileID property.
*/
public List<Object> getVerifyTransformsInfoProfileOrVerifyTransformsInfoProfileID() {
if (verifyTransformsInfoProfileOrVerifyTransformsInfoProfileID == null) {
- verifyTransformsInfoProfileOrVerifyTransformsInfoProfileID = new ArrayList<Object>();
+ verifyTransformsInfoProfileOrVerifyTransformsInfoProfileID = new ArrayList<>();
}
return this.verifyTransformsInfoProfileOrVerifyTransformsInfoProfileID;
}
diff --git a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/VerifyTransformsInfoProfile.java b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/VerifyTransformsInfoProfile.java
index 0aea66a2..29da7bd8 100644
--- a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/VerifyTransformsInfoProfile.java
+++ b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/VerifyTransformsInfoProfile.java
@@ -3,31 +3,31 @@ package at.gv.e_government.reference.namespace.moa._20020822_;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlType;
import org.w3._2000._09.xmldsig_.TransformsType;
/**
- * <p>Java-Klasse für anonymous complex type.
+ * <p>Java class for anonymous complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
- * &lt;sequence&gt;
- * &lt;element ref="{http://www.w3.org/2000/09/xmldsig#}Transforms" minOccurs="0"/&gt;
- * &lt;element name="TransformParameter" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}TransformParameterType" maxOccurs="unbounded" minOccurs="0"/&gt;
- * &lt;/sequence&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element ref="{http://www.w3.org/2000/09/xmldsig#}Transforms" minOccurs="0"/>
+ * <element name="TransformParameter" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}TransformParameterType" maxOccurs="unbounded" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
@@ -41,11 +41,20 @@ public class VerifyTransformsInfoProfile {
@XmlElement(name = "Transforms", namespace = "http://www.w3.org/2000/09/xmldsig#")
protected TransformsType transforms;
+ /**
+ * Alle impliziten Transformationsparameter, die
+ * zum Durchlaufen der oben angeführten Transformationskette
+ * bekannt sein müssen, müssen hier angeführt werden. Das
+ * Attribut "URI" bezeichnet den Transformationsparameter in exakt
+ * jener Weise, wie er in der zu überprüfenden Signatur gebraucht
+ * wird.
+ *
+ */
@XmlElement(name = "TransformParameter")
protected List<TransformParameterType> transformParameter;
/**
- * Ruft den Wert der transforms-Eigenschaft ab.
+ * Gets the value of the transforms property.
*
* @return
* possible object is
@@ -57,7 +66,7 @@ public class VerifyTransformsInfoProfile {
}
/**
- * Legt den Wert der transforms-Eigenschaft fest.
+ * Sets the value of the transforms property.
*
* @param value
* allowed object is
@@ -69,30 +78,40 @@ public class VerifyTransformsInfoProfile {
}
/**
+ * Alle impliziten Transformationsparameter, die
+ * zum Durchlaufen der oben angeführten Transformationskette
+ * bekannt sein müssen, müssen hier angeführt werden. Das
+ * Attribut "URI" bezeichnet den Transformationsparameter in exakt
+ * jener Weise, wie er in der zu überprüfenden Signatur gebraucht
+ * wird.
+ *
* Gets the value of the transformParameter property.
*
- * <p>
- * This accessor method returns a reference to the live list,
+ * <p>This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the transformParameter property.
+ * This is why there is not a <CODE>set</CODE> method for the transformParameter property.</p>
*
* <p>
* For example, to add a new item, do as follows:
+ * </p>
* <pre>
- * getTransformParameter().add(newItem);
+ * getTransformParameter().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link TransformParameterType }
+ * </p>
*
*
+ * @return
+ * The value of the transformParameter property.
*/
public List<TransformParameterType> getTransformParameter() {
if (transformParameter == null) {
- transformParameter = new ArrayList<TransformParameterType>();
+ transformParameter = new ArrayList<>();
}
return this.transformParameter;
}
diff --git a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/VerifyXMLSignatureRequestType.java b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/VerifyXMLSignatureRequestType.java
index c675387d..79db9405 100644
--- a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/VerifyXMLSignatureRequestType.java
+++ b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/VerifyXMLSignatureRequestType.java
@@ -3,65 +3,65 @@ package at.gv.e_government.reference.namespace.moa._20020822_;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElements;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import javax.xml.datatype.XMLGregorianCalendar;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlElements;
+import jakarta.xml.bind.annotation.XmlSchemaType;
+import jakarta.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
/**
- * <p>Java-Klasse für VerifyXMLSignatureRequestType complex type.
+ * <p>Java class for VerifyXMLSignatureRequestType complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType name="VerifyXMLSignatureRequestType"&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
- * &lt;sequence&gt;
- * &lt;element name="DateTime" type="{http://www.w3.org/2001/XMLSchema}dateTime" minOccurs="0"/&gt;
- * &lt;element name="ExtendedValidation" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/&gt;
- * &lt;element name="VerifySignatureInfo"&gt;
- * &lt;complexType&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
- * &lt;sequence&gt;
- * &lt;element name="VerifySignatureEnvironment" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}ContentOptionalRefType"/&gt;
- * &lt;element name="VerifySignatureLocation" type="{http://www.w3.org/2001/XMLSchema}token"/&gt;
- * &lt;/sequence&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * &lt;/element&gt;
- * &lt;choice maxOccurs="unbounded" minOccurs="0"&gt;
- * &lt;element ref="{http://reference.e-government.gv.at/namespace/moa/20020822#}SupplementProfile"/&gt;
- * &lt;element name="SupplementProfileID" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
- * &lt;/choice&gt;
- * &lt;element name="SignatureManifestCheckParams" minOccurs="0"&gt;
- * &lt;complexType&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
- * &lt;sequence&gt;
- * &lt;element name="ReferenceInfo" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}VerifyTransformsDataType" maxOccurs="unbounded"/&gt;
- * &lt;/sequence&gt;
- * &lt;attribute name="ReturnReferenceInputData" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * &lt;/element&gt;
- * &lt;element name="ReturnHashInputData" type="{http://www.w3.org/2001/XMLSchema}anyType" minOccurs="0"/&gt;
- * &lt;element name="TrustProfileID" type="{http://www.w3.org/2001/XMLSchema}token"/&gt;
- * &lt;/sequence&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType name="VerifyXMLSignatureRequestType">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="DateTime" type="{http://www.w3.org/2001/XMLSchema}dateTime" minOccurs="0"/>
+ * <element name="ExtendedValidation" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
+ * <element name="VerifySignatureInfo">
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="VerifySignatureEnvironment" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}ContentOptionalRefType"/>
+ * <element name="VerifySignatureLocation" type="{http://www.w3.org/2001/XMLSchema}token"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </element>
+ * <choice maxOccurs="unbounded" minOccurs="0">
+ * <element ref="{http://reference.e-government.gv.at/namespace/moa/20020822#}SupplementProfile"/>
+ * <element name="SupplementProfileID" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * </choice>
+ * <element name="SignatureManifestCheckParams" minOccurs="0">
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="ReferenceInfo" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}VerifyTransformsDataType" maxOccurs="unbounded"/>
+ * </sequence>
+ * <attribute name="ReturnReferenceInputData" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </element>
+ * <element name="ReturnHashInputData" type="{http://www.w3.org/2001/XMLSchema}anyType" minOccurs="0"/>
+ * <element name="TrustProfileID" type="{http://www.w3.org/2001/XMLSchema}token"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
@@ -93,13 +93,18 @@ public class VerifyXMLSignatureRequestType {
protected VerifyXMLSignatureRequestType.SignatureManifestCheckParams signatureManifestCheckParams;
@XmlElement(name = "ReturnHashInputData")
protected Object returnHashInputData;
+ /**
+ * mit diesem Profil wird eine Menge von
+ * vertrauenswürdigen Wurzelzertifikaten spezifiziert
+ *
+ */
@XmlElement(name = "TrustProfileID", required = true)
@XmlJavaTypeAdapter(CollapsedStringAdapter.class)
@XmlSchemaType(name = "token")
protected String trustProfileID;
/**
- * Ruft den Wert der dateTime-Eigenschaft ab.
+ * Gets the value of the dateTime property.
*
* @return
* possible object is
@@ -111,7 +116,7 @@ public class VerifyXMLSignatureRequestType {
}
/**
- * Legt den Wert der dateTime-Eigenschaft fest.
+ * Sets the value of the dateTime property.
*
* @param value
* allowed object is
@@ -123,7 +128,7 @@ public class VerifyXMLSignatureRequestType {
}
/**
- * Ruft den Wert der extendedValidation-Eigenschaft ab.
+ * Gets the value of the extendedValidation property.
*
* @return
* possible object is
@@ -135,7 +140,7 @@ public class VerifyXMLSignatureRequestType {
}
/**
- * Legt den Wert der extendedValidation-Eigenschaft fest.
+ * Sets the value of the extendedValidation property.
*
* @param value
* allowed object is
@@ -147,7 +152,7 @@ public class VerifyXMLSignatureRequestType {
}
/**
- * Ruft den Wert der verifySignatureInfo-Eigenschaft ab.
+ * Gets the value of the verifySignatureInfo property.
*
* @return
* possible object is
@@ -159,7 +164,7 @@ public class VerifyXMLSignatureRequestType {
}
/**
- * Legt den Wert der verifySignatureInfo-Eigenschaft fest.
+ * Sets the value of the verifySignatureInfo property.
*
* @param value
* allowed object is
@@ -173,16 +178,16 @@ public class VerifyXMLSignatureRequestType {
/**
* Gets the value of the supplementProfileOrSupplementProfileID property.
*
- * <p>
- * This accessor method returns a reference to the live list,
+ * <p>This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the supplementProfileOrSupplementProfileID property.
+ * This is why there is not a <CODE>set</CODE> method for the supplementProfileOrSupplementProfileID property.</p>
*
* <p>
* For example, to add a new item, do as follows:
+ * </p>
* <pre>
- * getSupplementProfileOrSupplementProfileID().add(newItem);
+ * getSupplementProfileOrSupplementProfileID().add(newItem);
* </pre>
*
*
@@ -190,18 +195,21 @@ public class VerifyXMLSignatureRequestType {
* Objects of the following type(s) are allowed in the list
* {@link XMLDataObjectAssociationType }
* {@link String }
+ * </p>
*
*
+ * @return
+ * The value of the supplementProfileOrSupplementProfileID property.
*/
public List<Object> getSupplementProfileOrSupplementProfileID() {
if (supplementProfileOrSupplementProfileID == null) {
- supplementProfileOrSupplementProfileID = new ArrayList<Object>();
+ supplementProfileOrSupplementProfileID = new ArrayList<>();
}
return this.supplementProfileOrSupplementProfileID;
}
/**
- * Ruft den Wert der signatureManifestCheckParams-Eigenschaft ab.
+ * Gets the value of the signatureManifestCheckParams property.
*
* @return
* possible object is
@@ -213,7 +221,7 @@ public class VerifyXMLSignatureRequestType {
}
/**
- * Legt den Wert der signatureManifestCheckParams-Eigenschaft fest.
+ * Sets the value of the signatureManifestCheckParams property.
*
* @param value
* allowed object is
@@ -225,7 +233,7 @@ public class VerifyXMLSignatureRequestType {
}
/**
- * Ruft den Wert der returnHashInputData-Eigenschaft ab.
+ * Gets the value of the returnHashInputData property.
*
* @return
* possible object is
@@ -237,7 +245,7 @@ public class VerifyXMLSignatureRequestType {
}
/**
- * Legt den Wert der returnHashInputData-Eigenschaft fest.
+ * Sets the value of the returnHashInputData property.
*
* @param value
* allowed object is
@@ -249,7 +257,8 @@ public class VerifyXMLSignatureRequestType {
}
/**
- * Ruft den Wert der trustProfileID-Eigenschaft ab.
+ * mit diesem Profil wird eine Menge von
+ * vertrauenswürdigen Wurzelzertifikaten spezifiziert
*
* @return
* possible object is
@@ -261,12 +270,13 @@ public class VerifyXMLSignatureRequestType {
}
/**
- * Legt den Wert der trustProfileID-Eigenschaft fest.
+ * Sets the value of the trustProfileID property.
*
* @param value
* allowed object is
* {@link String }
*
+ * @see #getTrustProfileID()
*/
public void setTrustProfileID(String value) {
this.trustProfileID = value;
@@ -274,22 +284,22 @@ public class VerifyXMLSignatureRequestType {
/**
- * <p>Java-Klasse für anonymous complex type.
+ * <p>Java class for anonymous complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
- * &lt;sequence&gt;
- * &lt;element name="ReferenceInfo" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}VerifyTransformsDataType" maxOccurs="unbounded"/&gt;
- * &lt;/sequence&gt;
- * &lt;attribute name="ReturnReferenceInputData" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="ReferenceInfo" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}VerifyTransformsDataType" maxOccurs="unbounded"/>
+ * </sequence>
+ * <attribute name="ReturnReferenceInputData" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
@@ -299,42 +309,59 @@ public class VerifyXMLSignatureRequestType {
})
public static class SignatureManifestCheckParams {
+ /**
+ * Pro dsig:Reference-Element in der zu
+ * überprüfenden XML-Signatur muss hier ein
+ * ReferenceInfo-Element erscheinen. Die Reihenfolge der einzelnen
+ * ReferenceInfo Elemente entspricht jener der dsig:Reference
+ * Elemente in der XML-Signatur.
+ *
+ */
@XmlElement(name = "ReferenceInfo", required = true)
protected List<VerifyTransformsDataType> referenceInfo;
@XmlAttribute(name = "ReturnReferenceInputData")
protected Boolean returnReferenceInputData;
/**
+ * Pro dsig:Reference-Element in der zu
+ * überprüfenden XML-Signatur muss hier ein
+ * ReferenceInfo-Element erscheinen. Die Reihenfolge der einzelnen
+ * ReferenceInfo Elemente entspricht jener der dsig:Reference
+ * Elemente in der XML-Signatur.
+ *
* Gets the value of the referenceInfo property.
*
- * <p>
- * This accessor method returns a reference to the live list,
+ * <p>This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the referenceInfo property.
+ * This is why there is not a <CODE>set</CODE> method for the referenceInfo property.</p>
*
* <p>
* For example, to add a new item, do as follows:
+ * </p>
* <pre>
- * getReferenceInfo().add(newItem);
+ * getReferenceInfo().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link VerifyTransformsDataType }
+ * </p>
*
*
+ * @return
+ * The value of the referenceInfo property.
*/
public List<VerifyTransformsDataType> getReferenceInfo() {
if (referenceInfo == null) {
- referenceInfo = new ArrayList<VerifyTransformsDataType>();
+ referenceInfo = new ArrayList<>();
}
return this.referenceInfo;
}
/**
- * Ruft den Wert der returnReferenceInputData-Eigenschaft ab.
+ * Gets the value of the returnReferenceInputData property.
*
* @return
* possible object is
@@ -350,7 +377,7 @@ public class VerifyXMLSignatureRequestType {
}
/**
- * Legt den Wert der returnReferenceInputData-Eigenschaft fest.
+ * Sets the value of the returnReferenceInputData property.
*
* @param value
* allowed object is
@@ -365,22 +392,22 @@ public class VerifyXMLSignatureRequestType {
/**
- * <p>Java-Klasse für anonymous complex type.
+ * <p>Java class for anonymous complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
- * &lt;sequence&gt;
- * &lt;element name="VerifySignatureEnvironment" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}ContentOptionalRefType"/&gt;
- * &lt;element name="VerifySignatureLocation" type="{http://www.w3.org/2001/XMLSchema}token"/&gt;
- * &lt;/sequence&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="VerifySignatureEnvironment" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}ContentOptionalRefType"/>
+ * <element name="VerifySignatureLocation" type="{http://www.w3.org/2001/XMLSchema}token"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
@@ -399,7 +426,7 @@ public class VerifyXMLSignatureRequestType {
protected String verifySignatureLocation;
/**
- * Ruft den Wert der verifySignatureEnvironment-Eigenschaft ab.
+ * Gets the value of the verifySignatureEnvironment property.
*
* @return
* possible object is
@@ -411,7 +438,7 @@ public class VerifyXMLSignatureRequestType {
}
/**
- * Legt den Wert der verifySignatureEnvironment-Eigenschaft fest.
+ * Sets the value of the verifySignatureEnvironment property.
*
* @param value
* allowed object is
@@ -423,7 +450,7 @@ public class VerifyXMLSignatureRequestType {
}
/**
- * Ruft den Wert der verifySignatureLocation-Eigenschaft ab.
+ * Gets the value of the verifySignatureLocation property.
*
* @return
* possible object is
@@ -435,7 +462,7 @@ public class VerifyXMLSignatureRequestType {
}
/**
- * Legt den Wert der verifySignatureLocation-Eigenschaft fest.
+ * Sets the value of the verifySignatureLocation property.
*
* @param value
* allowed object is
diff --git a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/VerifyXMLSignatureResponseType.java b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/VerifyXMLSignatureResponseType.java
index 967c567a..26beffa1 100644
--- a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/VerifyXMLSignatureResponseType.java
+++ b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/VerifyXMLSignatureResponseType.java
@@ -3,38 +3,38 @@ package at.gv.e_government.reference.namespace.moa._20020822_;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
import org.w3._2000._09.xmldsig_.KeyInfoType;
/**
- * <p>Java-Klasse für VerifyXMLSignatureResponseType complex type.
+ * <p>Java class for VerifyXMLSignatureResponseType complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType name="VerifyXMLSignatureResponseType"&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
- * &lt;sequence&gt;
- * &lt;element name="SignerInfo" type="{http://www.w3.org/2000/09/xmldsig#}KeyInfoType"/&gt;
- * &lt;element name="HashInputData" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}InputDataType" maxOccurs="unbounded" minOccurs="0"/&gt;
- * &lt;element name="ReferenceInputData" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}InputDataType" maxOccurs="unbounded" minOccurs="0"/&gt;
- * &lt;element name="SignatureAlgorithm" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
- * &lt;element name="SignatureCheck" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}ReferencesCheckResultType"/&gt;
- * &lt;element name="SignatureManifestCheck" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}ReferencesCheckResultType" minOccurs="0"/&gt;
- * &lt;element name="XMLDSIGManifestCheck" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}ManifestRefsCheckResultType" maxOccurs="unbounded" minOccurs="0"/&gt;
- * &lt;element name="CertificateCheck" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}CheckResultType"/&gt;
- * &lt;element name="FormCheckResult" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}FormResultType" maxOccurs="unbounded" minOccurs="0"/&gt;
- * &lt;element name="ExtendedCertificateCheck" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}ExtendedCertificateCheckResultType" minOccurs="0"/&gt;
- * &lt;/sequence&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType name="VerifyXMLSignatureResponseType">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="SignerInfo" type="{http://www.w3.org/2000/09/xmldsig#}KeyInfoType"/>
+ * <element name="HashInputData" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}InputDataType" maxOccurs="unbounded" minOccurs="0"/>
+ * <element name="ReferenceInputData" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}InputDataType" maxOccurs="unbounded" minOccurs="0"/>
+ * <element name="SignatureAlgorithm" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * <element name="SignatureCheck" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}ReferencesCheckResultType"/>
+ * <element name="SignatureManifestCheck" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}ReferencesCheckResultType" minOccurs="0"/>
+ * <element name="XMLDSIGManifestCheck" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}ManifestRefsCheckResultType" maxOccurs="unbounded" minOccurs="0"/>
+ * <element name="CertificateCheck" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}CheckResultType"/>
+ * <element name="FormCheckResult" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}FormResultType" maxOccurs="unbounded" minOccurs="0"/>
+ * <element name="ExtendedCertificateCheck" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}ExtendedCertificateCheckResultType" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
@@ -53,6 +53,14 @@ import org.w3._2000._09.xmldsig_.KeyInfoType;
})
public class VerifyXMLSignatureResponseType {
+ /**
+ * only ds:X509Data and ds:RetrievalMethod is
+ * supported; QualifiedCertificate is included as X509Data/any;
+ * PublicAuthority is included as X509Data/any;
+ * SecureSignatureCreationDevice is included as X509Data/any,
+ * IssuingCountry is included as X509Data/any
+ *
+ */
@XmlElement(name = "SignerInfo", required = true)
protected KeyInfoType signerInfo;
@XmlElement(name = "HashInputData")
@@ -75,7 +83,11 @@ public class VerifyXMLSignatureResponseType {
protected ExtendedCertificateCheckResultType extendedCertificateCheck;
/**
- * Ruft den Wert der signerInfo-Eigenschaft ab.
+ * only ds:X509Data and ds:RetrievalMethod is
+ * supported; QualifiedCertificate is included as X509Data/any;
+ * PublicAuthority is included as X509Data/any;
+ * SecureSignatureCreationDevice is included as X509Data/any,
+ * IssuingCountry is included as X509Data/any
*
* @return
* possible object is
@@ -87,12 +99,13 @@ public class VerifyXMLSignatureResponseType {
}
/**
- * Legt den Wert der signerInfo-Eigenschaft fest.
+ * Sets the value of the signerInfo property.
*
* @param value
* allowed object is
* {@link KeyInfoType }
*
+ * @see #getSignerInfo()
*/
public void setSignerInfo(KeyInfoType value) {
this.signerInfo = value;
@@ -101,28 +114,31 @@ public class VerifyXMLSignatureResponseType {
/**
* Gets the value of the hashInputData property.
*
- * <p>
- * This accessor method returns a reference to the live list,
+ * <p>This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the hashInputData property.
+ * This is why there is not a <CODE>set</CODE> method for the hashInputData property.</p>
*
* <p>
* For example, to add a new item, do as follows:
+ * </p>
* <pre>
- * getHashInputData().add(newItem);
+ * getHashInputData().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link InputDataType }
+ * </p>
*
*
+ * @return
+ * The value of the hashInputData property.
*/
public List<InputDataType> getHashInputData() {
if (hashInputData == null) {
- hashInputData = new ArrayList<InputDataType>();
+ hashInputData = new ArrayList<>();
}
return this.hashInputData;
}
@@ -130,34 +146,37 @@ public class VerifyXMLSignatureResponseType {
/**
* Gets the value of the referenceInputData property.
*
- * <p>
- * This accessor method returns a reference to the live list,
+ * <p>This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the referenceInputData property.
+ * This is why there is not a <CODE>set</CODE> method for the referenceInputData property.</p>
*
* <p>
* For example, to add a new item, do as follows:
+ * </p>
* <pre>
- * getReferenceInputData().add(newItem);
+ * getReferenceInputData().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link InputDataType }
+ * </p>
*
*
+ * @return
+ * The value of the referenceInputData property.
*/
public List<InputDataType> getReferenceInputData() {
if (referenceInputData == null) {
- referenceInputData = new ArrayList<InputDataType>();
+ referenceInputData = new ArrayList<>();
}
return this.referenceInputData;
}
/**
- * Ruft den Wert der signatureAlgorithm-Eigenschaft ab.
+ * Gets the value of the signatureAlgorithm property.
*
* @return
* possible object is
@@ -169,7 +188,7 @@ public class VerifyXMLSignatureResponseType {
}
/**
- * Legt den Wert der signatureAlgorithm-Eigenschaft fest.
+ * Sets the value of the signatureAlgorithm property.
*
* @param value
* allowed object is
@@ -181,7 +200,7 @@ public class VerifyXMLSignatureResponseType {
}
/**
- * Ruft den Wert der signatureCheck-Eigenschaft ab.
+ * Gets the value of the signatureCheck property.
*
* @return
* possible object is
@@ -193,7 +212,7 @@ public class VerifyXMLSignatureResponseType {
}
/**
- * Legt den Wert der signatureCheck-Eigenschaft fest.
+ * Sets the value of the signatureCheck property.
*
* @param value
* allowed object is
@@ -205,7 +224,7 @@ public class VerifyXMLSignatureResponseType {
}
/**
- * Ruft den Wert der signatureManifestCheck-Eigenschaft ab.
+ * Gets the value of the signatureManifestCheck property.
*
* @return
* possible object is
@@ -217,7 +236,7 @@ public class VerifyXMLSignatureResponseType {
}
/**
- * Legt den Wert der signatureManifestCheck-Eigenschaft fest.
+ * Sets the value of the signatureManifestCheck property.
*
* @param value
* allowed object is
@@ -231,34 +250,37 @@ public class VerifyXMLSignatureResponseType {
/**
* Gets the value of the xmldsigManifestCheck property.
*
- * <p>
- * This accessor method returns a reference to the live list,
+ * <p>This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the xmldsigManifestCheck property.
+ * This is why there is not a <CODE>set</CODE> method for the xmldsigManifestCheck property.</p>
*
* <p>
* For example, to add a new item, do as follows:
+ * </p>
* <pre>
- * getXMLDSIGManifestCheck().add(newItem);
+ * getXMLDSIGManifestCheck().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link ManifestRefsCheckResultType }
+ * </p>
*
*
+ * @return
+ * The value of the xmldsigManifestCheck property.
*/
public List<ManifestRefsCheckResultType> getXMLDSIGManifestCheck() {
if (xmldsigManifestCheck == null) {
- xmldsigManifestCheck = new ArrayList<ManifestRefsCheckResultType>();
+ xmldsigManifestCheck = new ArrayList<>();
}
return this.xmldsigManifestCheck;
}
/**
- * Ruft den Wert der certificateCheck-Eigenschaft ab.
+ * Gets the value of the certificateCheck property.
*
* @return
* possible object is
@@ -270,7 +292,7 @@ public class VerifyXMLSignatureResponseType {
}
/**
- * Legt den Wert der certificateCheck-Eigenschaft fest.
+ * Sets the value of the certificateCheck property.
*
* @param value
* allowed object is
@@ -284,34 +306,37 @@ public class VerifyXMLSignatureResponseType {
/**
* Gets the value of the formCheckResult property.
*
- * <p>
- * This accessor method returns a reference to the live list,
+ * <p>This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the formCheckResult property.
+ * This is why there is not a <CODE>set</CODE> method for the formCheckResult property.</p>
*
* <p>
* For example, to add a new item, do as follows:
+ * </p>
* <pre>
- * getFormCheckResult().add(newItem);
+ * getFormCheckResult().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link FormResultType }
+ * </p>
*
*
+ * @return
+ * The value of the formCheckResult property.
*/
public List<FormResultType> getFormCheckResult() {
if (formCheckResult == null) {
- formCheckResult = new ArrayList<FormResultType>();
+ formCheckResult = new ArrayList<>();
}
return this.formCheckResult;
}
/**
- * Ruft den Wert der extendedCertificateCheck-Eigenschaft ab.
+ * Gets the value of the extendedCertificateCheck property.
*
* @return
* possible object is
@@ -323,7 +348,7 @@ public class VerifyXMLSignatureResponseType {
}
/**
- * Legt den Wert der extendedCertificateCheck-Eigenschaft fest.
+ * Sets the value of the extendedCertificateCheck property.
*
* @param value
* allowed object is
diff --git a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/XMLContentType.java b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/XMLContentType.java
index 3bf5c17b..ec836e83 100644
--- a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/XMLContentType.java
+++ b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/XMLContentType.java
@@ -1,28 +1,28 @@
package at.gv.e_government.reference.namespace.moa._20020822_;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
/**
- * <p>Java-Klasse für XMLContentType complex type.
+ * <p>Java class for XMLContentType complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType name="XMLContentType"&gt;
- * &lt;complexContent&gt;
- * &lt;extension base="{http://reference.e-government.gv.at/namespace/moa/20020822#}AnyChildrenType"&gt;
- * &lt;attribute ref="{http://www.w3.org/XML/1998/namespace}space"/&gt;
- * &lt;/extension&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType name="XMLContentType">
+ * <complexContent>
+ * <extension base="{http://reference.e-government.gv.at/namespace/moa/20020822#}AnyChildrenType">
+ * <attribute ref="{http://www.w3.org/XML/1998/namespace}space"/>
+ * </extension>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
@@ -37,7 +37,7 @@ public class XMLContentType
protected String space;
/**
- * Ruft den Wert der space-Eigenschaft ab.
+ * Gets the value of the space property.
*
* @return
* possible object is
@@ -49,7 +49,7 @@ public class XMLContentType
}
/**
- * Legt den Wert der space-Eigenschaft fest.
+ * Sets the value of the space property.
*
* @param value
* allowed object is
diff --git a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/XMLDataObjectAssociationType.java b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/XMLDataObjectAssociationType.java
index 6f79f9c3..4d928b9d 100644
--- a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/XMLDataObjectAssociationType.java
+++ b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/XMLDataObjectAssociationType.java
@@ -1,29 +1,29 @@
package at.gv.e_government.reference.namespace.moa._20020822_;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
/**
- * <p>Java-Klasse für XMLDataObjectAssociationType complex type.
+ * <p>Java class for XMLDataObjectAssociationType complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType name="XMLDataObjectAssociationType"&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
- * &lt;sequence&gt;
- * &lt;element name="MetaInfo" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}MetaInfoType" minOccurs="0"/&gt;
- * &lt;element name="Content" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}ContentRequiredRefType"/&gt;
- * &lt;/sequence&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType name="XMLDataObjectAssociationType">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="MetaInfo" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}MetaInfoType" minOccurs="0"/>
+ * <element name="Content" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}ContentRequiredRefType"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
@@ -40,7 +40,7 @@ public class XMLDataObjectAssociationType {
protected ContentRequiredRefType content;
/**
- * Ruft den Wert der metaInfo-Eigenschaft ab.
+ * Gets the value of the metaInfo property.
*
* @return
* possible object is
@@ -52,7 +52,7 @@ public class XMLDataObjectAssociationType {
}
/**
- * Legt den Wert der metaInfo-Eigenschaft fest.
+ * Sets the value of the metaInfo property.
*
* @param value
* allowed object is
@@ -64,7 +64,7 @@ public class XMLDataObjectAssociationType {
}
/**
- * Ruft den Wert der content-Eigenschaft ab.
+ * Gets the value of the content property.
*
* @return
* possible object is
@@ -76,7 +76,7 @@ public class XMLDataObjectAssociationType {
}
/**
- * Legt den Wert der content-Eigenschaft fest.
+ * Sets the value of the content property.
*
* @param value
* allowed object is
diff --git a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/package-info.java b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/package-info.java
index 23cceed7..c2022565 100644
--- a/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/package-info.java
+++ b/pdf-as-moa/src/generated/java/at/gv/e_government/reference/namespace/moa/_20020822_/package-info.java
@@ -1,2 +1,2 @@
-@javax.xml.bind.annotation.XmlSchema(namespace = "http://reference.e-government.gv.at/namespace/moa/20020822#", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
+@jakarta.xml.bind.annotation.XmlSchema(namespace = "http://reference.e-government.gv.at/namespace/moa/20020822#", elementFormDefault = jakarta.xml.bind.annotation.XmlNsForm.QUALIFIED)
package at.gv.e_government.reference.namespace.moa._20020822_;
diff --git a/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/CanonicalizationMethodType.java b/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/CanonicalizationMethodType.java
index 9ac3752e..e3f5ea1b 100644
--- a/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/CanonicalizationMethodType.java
+++ b/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/CanonicalizationMethodType.java
@@ -3,32 +3,32 @@ package org.w3._2000._09.xmldsig_;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAnyElement;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlMixed;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAnyElement;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlMixed;
+import jakarta.xml.bind.annotation.XmlSchemaType;
+import jakarta.xml.bind.annotation.XmlType;
/**
- * <p>Java-Klasse für CanonicalizationMethodType complex type.
+ * <p>Java class for CanonicalizationMethodType complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType name="CanonicalizationMethodType"&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
- * &lt;sequence&gt;
- * &lt;any maxOccurs="unbounded" minOccurs="0"/&gt;
- * &lt;/sequence&gt;
- * &lt;attribute name="Algorithm" use="required" type="{http://www.w3.org/2001/XMLSchema}anyURI" /&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType name="CanonicalizationMethodType">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <any maxOccurs="unbounded" minOccurs="0"/>
+ * </sequence>
+ * <attribute name="Algorithm" use="required" type="{http://www.w3.org/2001/XMLSchema}anyURI" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
@@ -48,16 +48,16 @@ public class CanonicalizationMethodType {
/**
* Gets the value of the content property.
*
- * <p>
- * This accessor method returns a reference to the live list,
+ * <p>This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the content property.
+ * This is why there is not a <CODE>set</CODE> method for the content property.</p>
*
* <p>
* For example, to add a new item, do as follows:
+ * </p>
* <pre>
- * getContent().add(newItem);
+ * getContent().add(newItem);
* </pre>
*
*
@@ -65,18 +65,21 @@ public class CanonicalizationMethodType {
* Objects of the following type(s) are allowed in the list
* {@link Object }
* {@link String }
+ * </p>
*
*
+ * @return
+ * The value of the content property.
*/
public List<Object> getContent() {
if (content == null) {
- content = new ArrayList<Object>();
+ content = new ArrayList<>();
}
return this.content;
}
/**
- * Ruft den Wert der algorithm-Eigenschaft ab.
+ * Gets the value of the algorithm property.
*
* @return
* possible object is
@@ -88,7 +91,7 @@ public class CanonicalizationMethodType {
}
/**
- * Legt den Wert der algorithm-Eigenschaft fest.
+ * Sets the value of the algorithm property.
*
* @param value
* allowed object is
diff --git a/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/DSAKeyValueType.java b/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/DSAKeyValueType.java
index d0654919..03d07147 100644
--- a/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/DSAKeyValueType.java
+++ b/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/DSAKeyValueType.java
@@ -1,38 +1,38 @@
package org.w3._2000._09.xmldsig_;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
/**
- * <p>Java-Klasse für DSAKeyValueType complex type.
+ * <p>Java class for DSAKeyValueType complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType name="DSAKeyValueType"&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
- * &lt;sequence&gt;
- * &lt;sequence minOccurs="0"&gt;
- * &lt;element name="P" type="{http://www.w3.org/2000/09/xmldsig#}CryptoBinary"/&gt;
- * &lt;element name="Q" type="{http://www.w3.org/2000/09/xmldsig#}CryptoBinary"/&gt;
- * &lt;/sequence&gt;
- * &lt;element name="J" type="{http://www.w3.org/2000/09/xmldsig#}CryptoBinary" minOccurs="0"/&gt;
- * &lt;element name="G" type="{http://www.w3.org/2000/09/xmldsig#}CryptoBinary" minOccurs="0"/&gt;
- * &lt;element name="Y" type="{http://www.w3.org/2000/09/xmldsig#}CryptoBinary"/&gt;
- * &lt;sequence minOccurs="0"&gt;
- * &lt;element name="Seed" type="{http://www.w3.org/2000/09/xmldsig#}CryptoBinary"/&gt;
- * &lt;element name="PgenCounter" type="{http://www.w3.org/2000/09/xmldsig#}CryptoBinary"/&gt;
- * &lt;/sequence&gt;
- * &lt;/sequence&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType name="DSAKeyValueType">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <sequence minOccurs="0">
+ * <element name="P" type="{http://www.w3.org/2000/09/xmldsig#}CryptoBinary"/>
+ * <element name="Q" type="{http://www.w3.org/2000/09/xmldsig#}CryptoBinary"/>
+ * </sequence>
+ * <element name="J" type="{http://www.w3.org/2000/09/xmldsig#}CryptoBinary" minOccurs="0"/>
+ * <element name="G" type="{http://www.w3.org/2000/09/xmldsig#}CryptoBinary" minOccurs="0"/>
+ * <element name="Y" type="{http://www.w3.org/2000/09/xmldsig#}CryptoBinary"/>
+ * <sequence minOccurs="0">
+ * <element name="Seed" type="{http://www.w3.org/2000/09/xmldsig#}CryptoBinary"/>
+ * <element name="PgenCounter" type="{http://www.w3.org/2000/09/xmldsig#}CryptoBinary"/>
+ * </sequence>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
@@ -64,7 +64,7 @@ public class DSAKeyValueType {
protected String pgenCounter;
/**
- * Ruft den Wert der p-Eigenschaft ab.
+ * Gets the value of the p property.
*
* @return
* possible object is
@@ -76,7 +76,7 @@ public class DSAKeyValueType {
}
/**
- * Legt den Wert der p-Eigenschaft fest.
+ * Sets the value of the p property.
*
* @param value
* allowed object is
@@ -88,7 +88,7 @@ public class DSAKeyValueType {
}
/**
- * Ruft den Wert der q-Eigenschaft ab.
+ * Gets the value of the q property.
*
* @return
* possible object is
@@ -100,7 +100,7 @@ public class DSAKeyValueType {
}
/**
- * Legt den Wert der q-Eigenschaft fest.
+ * Sets the value of the q property.
*
* @param value
* allowed object is
@@ -112,7 +112,7 @@ public class DSAKeyValueType {
}
/**
- * Ruft den Wert der j-Eigenschaft ab.
+ * Gets the value of the j property.
*
* @return
* possible object is
@@ -124,7 +124,7 @@ public class DSAKeyValueType {
}
/**
- * Legt den Wert der j-Eigenschaft fest.
+ * Sets the value of the j property.
*
* @param value
* allowed object is
@@ -136,7 +136,7 @@ public class DSAKeyValueType {
}
/**
- * Ruft den Wert der g-Eigenschaft ab.
+ * Gets the value of the g property.
*
* @return
* possible object is
@@ -148,7 +148,7 @@ public class DSAKeyValueType {
}
/**
- * Legt den Wert der g-Eigenschaft fest.
+ * Sets the value of the g property.
*
* @param value
* allowed object is
@@ -160,7 +160,7 @@ public class DSAKeyValueType {
}
/**
- * Ruft den Wert der y-Eigenschaft ab.
+ * Gets the value of the y property.
*
* @return
* possible object is
@@ -172,7 +172,7 @@ public class DSAKeyValueType {
}
/**
- * Legt den Wert der y-Eigenschaft fest.
+ * Sets the value of the y property.
*
* @param value
* allowed object is
@@ -184,7 +184,7 @@ public class DSAKeyValueType {
}
/**
- * Ruft den Wert der seed-Eigenschaft ab.
+ * Gets the value of the seed property.
*
* @return
* possible object is
@@ -196,7 +196,7 @@ public class DSAKeyValueType {
}
/**
- * Legt den Wert der seed-Eigenschaft fest.
+ * Sets the value of the seed property.
*
* @param value
* allowed object is
@@ -208,7 +208,7 @@ public class DSAKeyValueType {
}
/**
- * Ruft den Wert der pgenCounter-Eigenschaft ab.
+ * Gets the value of the pgenCounter property.
*
* @return
* possible object is
@@ -220,7 +220,7 @@ public class DSAKeyValueType {
}
/**
- * Legt den Wert der pgenCounter-Eigenschaft fest.
+ * Sets the value of the pgenCounter property.
*
* @param value
* allowed object is
diff --git a/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/DigestMethodType.java b/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/DigestMethodType.java
index 6d06d201..1f0297fb 100644
--- a/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/DigestMethodType.java
+++ b/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/DigestMethodType.java
@@ -3,33 +3,33 @@ package org.w3._2000._09.xmldsig_;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAnyElement;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlMixed;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAnyElement;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlMixed;
+import jakarta.xml.bind.annotation.XmlSchemaType;
+import jakarta.xml.bind.annotation.XmlType;
import org.w3c.dom.Element;
/**
- * <p>Java-Klasse für DigestMethodType complex type.
+ * <p>Java class for DigestMethodType complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType name="DigestMethodType"&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
- * &lt;sequence&gt;
- * &lt;any processContents='lax' namespace='##other' maxOccurs="unbounded" minOccurs="0"/&gt;
- * &lt;/sequence&gt;
- * &lt;attribute name="Algorithm" use="required" type="{http://www.w3.org/2001/XMLSchema}anyURI" /&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType name="DigestMethodType">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <any processContents='lax' namespace='##other' maxOccurs="unbounded" minOccurs="0"/>
+ * </sequence>
+ * <attribute name="Algorithm" use="required" type="{http://www.w3.org/2001/XMLSchema}anyURI" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
@@ -49,16 +49,16 @@ public class DigestMethodType {
/**
* Gets the value of the content property.
*
- * <p>
- * This accessor method returns a reference to the live list,
+ * <p>This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the content property.
+ * This is why there is not a <CODE>set</CODE> method for the content property.</p>
*
* <p>
* For example, to add a new item, do as follows:
+ * </p>
* <pre>
- * getContent().add(newItem);
+ * getContent().add(newItem);
* </pre>
*
*
@@ -67,18 +67,21 @@ public class DigestMethodType {
* {@link Object }
* {@link String }
* {@link Element }
+ * </p>
*
*
+ * @return
+ * The value of the content property.
*/
public List<Object> getContent() {
if (content == null) {
- content = new ArrayList<Object>();
+ content = new ArrayList<>();
}
return this.content;
}
/**
- * Ruft den Wert der algorithm-Eigenschaft ab.
+ * Gets the value of the algorithm property.
*
* @return
* possible object is
@@ -90,7 +93,7 @@ public class DigestMethodType {
}
/**
- * Legt den Wert der algorithm-Eigenschaft fest.
+ * Sets the value of the algorithm property.
*
* @param value
* allowed object is
diff --git a/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/KeyInfoType.java b/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/KeyInfoType.java
index b89025eb..f99460c0 100644
--- a/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/KeyInfoType.java
+++ b/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/KeyInfoType.java
@@ -3,46 +3,46 @@ package org.w3._2000._09.xmldsig_;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.JAXBElement;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAnyElement;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlElementRef;
-import javax.xml.bind.annotation.XmlElementRefs;
-import javax.xml.bind.annotation.XmlID;
-import javax.xml.bind.annotation.XmlMixed;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import jakarta.xml.bind.JAXBElement;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAnyElement;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlElementRef;
+import jakarta.xml.bind.annotation.XmlElementRefs;
+import jakarta.xml.bind.annotation.XmlID;
+import jakarta.xml.bind.annotation.XmlMixed;
+import jakarta.xml.bind.annotation.XmlSchemaType;
+import jakarta.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import org.w3c.dom.Element;
/**
- * <p>Java-Klasse für KeyInfoType complex type.
+ * <p>Java class for KeyInfoType complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType name="KeyInfoType"&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
- * &lt;choice maxOccurs="unbounded"&gt;
- * &lt;element ref="{http://www.w3.org/2000/09/xmldsig#}KeyName"/&gt;
- * &lt;element ref="{http://www.w3.org/2000/09/xmldsig#}KeyValue"/&gt;
- * &lt;element ref="{http://www.w3.org/2000/09/xmldsig#}RetrievalMethod"/&gt;
- * &lt;element ref="{http://www.w3.org/2000/09/xmldsig#}X509Data"/&gt;
- * &lt;element ref="{http://www.w3.org/2000/09/xmldsig#}PGPData"/&gt;
- * &lt;element ref="{http://www.w3.org/2000/09/xmldsig#}SPKIData"/&gt;
- * &lt;element ref="{http://www.w3.org/2000/09/xmldsig#}MgmtData"/&gt;
- * &lt;any processContents='lax' namespace='##other'/&gt;
- * &lt;/choice&gt;
- * &lt;attribute name="Id" type="{http://www.w3.org/2001/XMLSchema}ID" /&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType name="KeyInfoType">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <choice maxOccurs="unbounded">
+ * <element ref="{http://www.w3.org/2000/09/xmldsig#}KeyName"/>
+ * <element ref="{http://www.w3.org/2000/09/xmldsig#}KeyValue"/>
+ * <element ref="{http://www.w3.org/2000/09/xmldsig#}RetrievalMethod"/>
+ * <element ref="{http://www.w3.org/2000/09/xmldsig#}X509Data"/>
+ * <element ref="{http://www.w3.org/2000/09/xmldsig#}PGPData"/>
+ * <element ref="{http://www.w3.org/2000/09/xmldsig#}SPKIData"/>
+ * <element ref="{http://www.w3.org/2000/09/xmldsig#}MgmtData"/>
+ * <any processContents='lax' namespace='##other'/>
+ * </choice>
+ * <attribute name="Id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
@@ -73,23 +73,21 @@ public class KeyInfoType {
/**
* Gets the value of the content property.
*
- * <p>
- * This accessor method returns a reference to the live list,
+ * <p>This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the content property.
+ * This is why there is not a <CODE>set</CODE> method for the content property.</p>
*
* <p>
* For example, to add a new item, do as follows:
+ * </p>
* <pre>
- * getContent().add(newItem);
+ * getContent().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
- * {@link Object }
- * {@link String }
* {@link JAXBElement }{@code <}{@link String }{@code >}
* {@link JAXBElement }{@code <}{@link String }{@code >}
* {@link JAXBElement }{@code <}{@link KeyValueType }{@code >}
@@ -97,19 +95,24 @@ public class KeyInfoType {
* {@link JAXBElement }{@code <}{@link RetrievalMethodType }{@code >}
* {@link JAXBElement }{@code <}{@link SPKIDataType }{@code >}
* {@link JAXBElement }{@code <}{@link X509DataType }{@code >}
+ * {@link Object }
+ * {@link String }
* {@link Element }
+ * </p>
*
*
+ * @return
+ * The value of the content property.
*/
public List<Object> getContent() {
if (content == null) {
- content = new ArrayList<Object>();
+ content = new ArrayList<>();
}
return this.content;
}
/**
- * Ruft den Wert der id-Eigenschaft ab.
+ * Gets the value of the id property.
*
* @return
* possible object is
@@ -121,7 +124,7 @@ public class KeyInfoType {
}
/**
- * Legt den Wert der id-Eigenschaft fest.
+ * Sets the value of the id property.
*
* @param value
* allowed object is
diff --git a/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/KeyValueType.java b/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/KeyValueType.java
index b7c4b943..205093e6 100644
--- a/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/KeyValueType.java
+++ b/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/KeyValueType.java
@@ -3,35 +3,35 @@ package org.w3._2000._09.xmldsig_;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.JAXBElement;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAnyElement;
-import javax.xml.bind.annotation.XmlElementRef;
-import javax.xml.bind.annotation.XmlElementRefs;
-import javax.xml.bind.annotation.XmlMixed;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.JAXBElement;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAnyElement;
+import jakarta.xml.bind.annotation.XmlElementRef;
+import jakarta.xml.bind.annotation.XmlElementRefs;
+import jakarta.xml.bind.annotation.XmlMixed;
+import jakarta.xml.bind.annotation.XmlType;
import org.w3c.dom.Element;
/**
- * <p>Java-Klasse für KeyValueType complex type.
+ * <p>Java class for KeyValueType complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType name="KeyValueType"&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
- * &lt;choice&gt;
- * &lt;element ref="{http://www.w3.org/2000/09/xmldsig#}DSAKeyValue"/&gt;
- * &lt;element ref="{http://www.w3.org/2000/09/xmldsig#}RSAKeyValue"/&gt;
- * &lt;any processContents='lax' namespace='##other'/&gt;
- * &lt;/choice&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType name="KeyValueType">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <choice>
+ * <element ref="{http://www.w3.org/2000/09/xmldsig#}DSAKeyValue"/>
+ * <element ref="{http://www.w3.org/2000/09/xmldsig#}RSAKeyValue"/>
+ * <any processContents='lax' namespace='##other'/>
+ * </choice>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
@@ -52,32 +52,35 @@ public class KeyValueType {
/**
* Gets the value of the content property.
*
- * <p>
- * This accessor method returns a reference to the live list,
+ * <p>This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the content property.
+ * This is why there is not a <CODE>set</CODE> method for the content property.</p>
*
* <p>
* For example, to add a new item, do as follows:
+ * </p>
* <pre>
- * getContent().add(newItem);
+ * getContent().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
- * {@link Object }
- * {@link String }
* {@link JAXBElement }{@code <}{@link DSAKeyValueType }{@code >}
* {@link JAXBElement }{@code <}{@link RSAKeyValueType }{@code >}
+ * {@link Object }
+ * {@link String }
* {@link Element }
+ * </p>
*
*
+ * @return
+ * The value of the content property.
*/
public List<Object> getContent() {
if (content == null) {
- content = new ArrayList<Object>();
+ content = new ArrayList<>();
}
return this.content;
}
diff --git a/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/ManifestType.java b/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/ManifestType.java
index 6e9c4303..ada8be59 100644
--- a/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/ManifestType.java
+++ b/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/ManifestType.java
@@ -3,34 +3,34 @@ package org.w3._2000._09.xmldsig_;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlID;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlID;
+import jakarta.xml.bind.annotation.XmlSchemaType;
+import jakarta.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
/**
- * <p>Java-Klasse für ManifestType complex type.
+ * <p>Java class for ManifestType complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType name="ManifestType"&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
- * &lt;sequence&gt;
- * &lt;element ref="{http://www.w3.org/2000/09/xmldsig#}Reference" maxOccurs="unbounded"/&gt;
- * &lt;/sequence&gt;
- * &lt;attribute name="Id" type="{http://www.w3.org/2001/XMLSchema}ID" /&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType name="ManifestType">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element ref="{http://www.w3.org/2000/09/xmldsig#}Reference" maxOccurs="unbounded"/>
+ * </sequence>
+ * <attribute name="Id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
@@ -51,34 +51,37 @@ public class ManifestType {
/**
* Gets the value of the reference property.
*
- * <p>
- * This accessor method returns a reference to the live list,
+ * <p>This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the reference property.
+ * This is why there is not a <CODE>set</CODE> method for the reference property.</p>
*
* <p>
* For example, to add a new item, do as follows:
+ * </p>
* <pre>
- * getReference().add(newItem);
+ * getReference().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link ReferenceType }
+ * </p>
*
*
+ * @return
+ * The value of the reference property.
*/
public List<ReferenceType> getReference() {
if (reference == null) {
- reference = new ArrayList<ReferenceType>();
+ reference = new ArrayList<>();
}
return this.reference;
}
/**
- * Ruft den Wert der id-Eigenschaft ab.
+ * Gets the value of the id property.
*
* @return
* possible object is
@@ -90,7 +93,7 @@ public class ManifestType {
}
/**
- * Legt den Wert der id-Eigenschaft fest.
+ * Sets the value of the id property.
*
* @param value
* allowed object is
diff --git a/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/ObjectFactory.java b/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/ObjectFactory.java
index f30be5f9..d3aa8b06 100644
--- a/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/ObjectFactory.java
+++ b/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/ObjectFactory.java
@@ -2,17 +2,17 @@
package org.w3._2000._09.xmldsig_;
import java.math.BigInteger;
-import javax.xml.bind.JAXBElement;
-import javax.xml.bind.annotation.XmlElementDecl;
-import javax.xml.bind.annotation.XmlRegistry;
import javax.xml.namespace.QName;
+import jakarta.xml.bind.JAXBElement;
+import jakarta.xml.bind.annotation.XmlElementDecl;
+import jakarta.xml.bind.annotation.XmlRegistry;
/**
* This object contains factory methods for each
* Java content interface and Java element interface
* generated in the org.w3._2000._09.xmldsig_ package.
- * <p>An ObjectFactory allows you to programatically
+ * <p>An ObjectFactory allows you to programmatically
* construct new instances of the Java representation
* for XML content. The Java representation of XML
* content can consist of schema derived interfaces
@@ -25,40 +25,40 @@ import javax.xml.namespace.QName;
@XmlRegistry
public class ObjectFactory {
- private final static QName _Signature_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "Signature");
- private final static QName _SignatureValue_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "SignatureValue");
- private final static QName _SignedInfo_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "SignedInfo");
- private final static QName _CanonicalizationMethod_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "CanonicalizationMethod");
- private final static QName _SignatureMethod_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "SignatureMethod");
- private final static QName _Reference_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "Reference");
- private final static QName _Transforms_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "Transforms");
- private final static QName _Transform_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "Transform");
- private final static QName _DigestMethod_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "DigestMethod");
- private final static QName _DigestValue_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "DigestValue");
- private final static QName _KeyInfo_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "KeyInfo");
- private final static QName _KeyName_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "KeyName");
- private final static QName _MgmtData_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "MgmtData");
- private final static QName _KeyValue_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "KeyValue");
- private final static QName _RetrievalMethod_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "RetrievalMethod");
- private final static QName _X509Data_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "X509Data");
- private final static QName _PGPData_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "PGPData");
- private final static QName _SPKIData_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "SPKIData");
- private final static QName _Object_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "Object");
- private final static QName _Manifest_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "Manifest");
- private final static QName _SignatureProperties_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "SignatureProperties");
- private final static QName _SignatureProperty_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "SignatureProperty");
- private final static QName _DSAKeyValue_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "DSAKeyValue");
- private final static QName _RSAKeyValue_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "RSAKeyValue");
- private final static QName _SPKIDataTypeSPKISexp_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "SPKISexp");
- private final static QName _PGPDataTypePGPKeyID_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "PGPKeyID");
- private final static QName _PGPDataTypePGPKeyPacket_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "PGPKeyPacket");
- private final static QName _X509DataTypeX509IssuerSerial_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "X509IssuerSerial");
- private final static QName _X509DataTypeX509SKI_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "X509SKI");
- private final static QName _X509DataTypeX509SubjectName_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "X509SubjectName");
- private final static QName _X509DataTypeX509Certificate_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "X509Certificate");
- private final static QName _X509DataTypeX509CRL_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "X509CRL");
- private final static QName _TransformTypeXPath_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "XPath");
- private final static QName _SignatureMethodTypeHMACOutputLength_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "HMACOutputLength");
+ private static final QName _Signature_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "Signature");
+ private static final QName _SignatureValue_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "SignatureValue");
+ private static final QName _SignedInfo_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "SignedInfo");
+ private static final QName _CanonicalizationMethod_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "CanonicalizationMethod");
+ private static final QName _SignatureMethod_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "SignatureMethod");
+ private static final QName _Reference_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "Reference");
+ private static final QName _Transforms_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "Transforms");
+ private static final QName _Transform_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "Transform");
+ private static final QName _DigestMethod_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "DigestMethod");
+ private static final QName _DigestValue_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "DigestValue");
+ private static final QName _KeyInfo_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "KeyInfo");
+ private static final QName _KeyName_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "KeyName");
+ private static final QName _MgmtData_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "MgmtData");
+ private static final QName _KeyValue_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "KeyValue");
+ private static final QName _RetrievalMethod_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "RetrievalMethod");
+ private static final QName _X509Data_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "X509Data");
+ private static final QName _PGPData_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "PGPData");
+ private static final QName _SPKIData_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "SPKIData");
+ private static final QName _Object_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "Object");
+ private static final QName _Manifest_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "Manifest");
+ private static final QName _SignatureProperties_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "SignatureProperties");
+ private static final QName _SignatureProperty_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "SignatureProperty");
+ private static final QName _DSAKeyValue_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "DSAKeyValue");
+ private static final QName _RSAKeyValue_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "RSAKeyValue");
+ private static final QName _SPKIDataTypeSPKISexp_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "SPKISexp");
+ private static final QName _PGPDataTypePGPKeyID_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "PGPKeyID");
+ private static final QName _PGPDataTypePGPKeyPacket_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "PGPKeyPacket");
+ private static final QName _X509DataTypeX509IssuerSerial_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "X509IssuerSerial");
+ private static final QName _X509DataTypeX509SKI_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "X509SKI");
+ private static final QName _X509DataTypeX509SubjectName_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "X509SubjectName");
+ private static final QName _X509DataTypeX509Certificate_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "X509Certificate");
+ private static final QName _X509DataTypeX509CRL_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "X509CRL");
+ private static final QName _TransformTypeXPath_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "XPath");
+ private static final QName _SignatureMethodTypeHMACOutputLength_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "HMACOutputLength");
/**
* Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: org.w3._2000._09.xmldsig_
@@ -70,6 +70,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link SignatureType }
*
+ * @return
+ * the new instance of {@link SignatureType }
*/
public SignatureType createSignatureType() {
return new SignatureType();
@@ -78,6 +80,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link SignatureValueType }
*
+ * @return
+ * the new instance of {@link SignatureValueType }
*/
public SignatureValueType createSignatureValueType() {
return new SignatureValueType();
@@ -86,6 +90,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link SignedInfoType }
*
+ * @return
+ * the new instance of {@link SignedInfoType }
*/
public SignedInfoType createSignedInfoType() {
return new SignedInfoType();
@@ -94,6 +100,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link CanonicalizationMethodType }
*
+ * @return
+ * the new instance of {@link CanonicalizationMethodType }
*/
public CanonicalizationMethodType createCanonicalizationMethodType() {
return new CanonicalizationMethodType();
@@ -102,6 +110,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link SignatureMethodType }
*
+ * @return
+ * the new instance of {@link SignatureMethodType }
*/
public SignatureMethodType createSignatureMethodType() {
return new SignatureMethodType();
@@ -110,6 +120,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link ReferenceType }
*
+ * @return
+ * the new instance of {@link ReferenceType }
*/
public ReferenceType createReferenceType() {
return new ReferenceType();
@@ -118,6 +130,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link TransformsType }
*
+ * @return
+ * the new instance of {@link TransformsType }
*/
public TransformsType createTransformsType() {
return new TransformsType();
@@ -126,6 +140,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link TransformType }
*
+ * @return
+ * the new instance of {@link TransformType }
*/
public TransformType createTransformType() {
return new TransformType();
@@ -134,6 +150,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link DigestMethodType }
*
+ * @return
+ * the new instance of {@link DigestMethodType }
*/
public DigestMethodType createDigestMethodType() {
return new DigestMethodType();
@@ -142,6 +160,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link KeyInfoType }
*
+ * @return
+ * the new instance of {@link KeyInfoType }
*/
public KeyInfoType createKeyInfoType() {
return new KeyInfoType();
@@ -150,6 +170,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link KeyValueType }
*
+ * @return
+ * the new instance of {@link KeyValueType }
*/
public KeyValueType createKeyValueType() {
return new KeyValueType();
@@ -158,6 +180,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link RetrievalMethodType }
*
+ * @return
+ * the new instance of {@link RetrievalMethodType }
*/
public RetrievalMethodType createRetrievalMethodType() {
return new RetrievalMethodType();
@@ -166,6 +190,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link X509DataType }
*
+ * @return
+ * the new instance of {@link X509DataType }
*/
public X509DataType createX509DataType() {
return new X509DataType();
@@ -174,6 +200,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link PGPDataType }
*
+ * @return
+ * the new instance of {@link PGPDataType }
*/
public PGPDataType createPGPDataType() {
return new PGPDataType();
@@ -182,6 +210,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link SPKIDataType }
*
+ * @return
+ * the new instance of {@link SPKIDataType }
*/
public SPKIDataType createSPKIDataType() {
return new SPKIDataType();
@@ -190,6 +220,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link ObjectType }
*
+ * @return
+ * the new instance of {@link ObjectType }
*/
public ObjectType createObjectType() {
return new ObjectType();
@@ -198,6 +230,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link ManifestType }
*
+ * @return
+ * the new instance of {@link ManifestType }
*/
public ManifestType createManifestType() {
return new ManifestType();
@@ -206,6 +240,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link SignaturePropertiesType }
*
+ * @return
+ * the new instance of {@link SignaturePropertiesType }
*/
public SignaturePropertiesType createSignaturePropertiesType() {
return new SignaturePropertiesType();
@@ -214,6 +250,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link SignaturePropertyType }
*
+ * @return
+ * the new instance of {@link SignaturePropertyType }
*/
public SignaturePropertyType createSignaturePropertyType() {
return new SignaturePropertyType();
@@ -222,6 +260,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link DSAKeyValueType }
*
+ * @return
+ * the new instance of {@link DSAKeyValueType }
*/
public DSAKeyValueType createDSAKeyValueType() {
return new DSAKeyValueType();
@@ -230,6 +270,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link RSAKeyValueType }
*
+ * @return
+ * the new instance of {@link RSAKeyValueType }
*/
public RSAKeyValueType createRSAKeyValueType() {
return new RSAKeyValueType();
@@ -238,6 +280,8 @@ public class ObjectFactory {
/**
* Create an instance of {@link X509IssuerSerialType }
*
+ * @return
+ * the new instance of {@link X509IssuerSerialType }
*/
public X509IssuerSerialType createX509IssuerSerialType() {
return new X509IssuerSerialType();
@@ -253,7 +297,7 @@ public class ObjectFactory {
*/
@XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "Signature")
public JAXBElement<SignatureType> createSignature(SignatureType value) {
- return new JAXBElement<SignatureType>(_Signature_QNAME, SignatureType.class, null, value);
+ return new JAXBElement<>(_Signature_QNAME, SignatureType.class, null, value);
}
/**
@@ -266,7 +310,7 @@ public class ObjectFactory {
*/
@XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "SignatureValue")
public JAXBElement<SignatureValueType> createSignatureValue(SignatureValueType value) {
- return new JAXBElement<SignatureValueType>(_SignatureValue_QNAME, SignatureValueType.class, null, value);
+ return new JAXBElement<>(_SignatureValue_QNAME, SignatureValueType.class, null, value);
}
/**
@@ -279,7 +323,7 @@ public class ObjectFactory {
*/
@XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "SignedInfo")
public JAXBElement<SignedInfoType> createSignedInfo(SignedInfoType value) {
- return new JAXBElement<SignedInfoType>(_SignedInfo_QNAME, SignedInfoType.class, null, value);
+ return new JAXBElement<>(_SignedInfo_QNAME, SignedInfoType.class, null, value);
}
/**
@@ -292,7 +336,7 @@ public class ObjectFactory {
*/
@XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "CanonicalizationMethod")
public JAXBElement<CanonicalizationMethodType> createCanonicalizationMethod(CanonicalizationMethodType value) {
- return new JAXBElement<CanonicalizationMethodType>(_CanonicalizationMethod_QNAME, CanonicalizationMethodType.class, null, value);
+ return new JAXBElement<>(_CanonicalizationMethod_QNAME, CanonicalizationMethodType.class, null, value);
}
/**
@@ -305,7 +349,7 @@ public class ObjectFactory {
*/
@XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "SignatureMethod")
public JAXBElement<SignatureMethodType> createSignatureMethod(SignatureMethodType value) {
- return new JAXBElement<SignatureMethodType>(_SignatureMethod_QNAME, SignatureMethodType.class, null, value);
+ return new JAXBElement<>(_SignatureMethod_QNAME, SignatureMethodType.class, null, value);
}
/**
@@ -318,7 +362,7 @@ public class ObjectFactory {
*/
@XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "Reference")
public JAXBElement<ReferenceType> createReference(ReferenceType value) {
- return new JAXBElement<ReferenceType>(_Reference_QNAME, ReferenceType.class, null, value);
+ return new JAXBElement<>(_Reference_QNAME, ReferenceType.class, null, value);
}
/**
@@ -331,7 +375,7 @@ public class ObjectFactory {
*/
@XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "Transforms")
public JAXBElement<TransformsType> createTransforms(TransformsType value) {
- return new JAXBElement<TransformsType>(_Transforms_QNAME, TransformsType.class, null, value);
+ return new JAXBElement<>(_Transforms_QNAME, TransformsType.class, null, value);
}
/**
@@ -344,7 +388,7 @@ public class ObjectFactory {
*/
@XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "Transform")
public JAXBElement<TransformType> createTransform(TransformType value) {
- return new JAXBElement<TransformType>(_Transform_QNAME, TransformType.class, null, value);
+ return new JAXBElement<>(_Transform_QNAME, TransformType.class, null, value);
}
/**
@@ -357,7 +401,7 @@ public class ObjectFactory {
*/
@XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "DigestMethod")
public JAXBElement<DigestMethodType> createDigestMethod(DigestMethodType value) {
- return new JAXBElement<DigestMethodType>(_DigestMethod_QNAME, DigestMethodType.class, null, value);
+ return new JAXBElement<>(_DigestMethod_QNAME, DigestMethodType.class, null, value);
}
/**
@@ -370,7 +414,7 @@ public class ObjectFactory {
*/
@XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "DigestValue")
public JAXBElement<String> createDigestValue(String value) {
- return new JAXBElement<String>(_DigestValue_QNAME, String.class, null, value);
+ return new JAXBElement<>(_DigestValue_QNAME, String.class, null, value);
}
/**
@@ -383,7 +427,7 @@ public class ObjectFactory {
*/
@XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "KeyInfo")
public JAXBElement<KeyInfoType> createKeyInfo(KeyInfoType value) {
- return new JAXBElement<KeyInfoType>(_KeyInfo_QNAME, KeyInfoType.class, null, value);
+ return new JAXBElement<>(_KeyInfo_QNAME, KeyInfoType.class, null, value);
}
/**
@@ -396,7 +440,7 @@ public class ObjectFactory {
*/
@XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "KeyName")
public JAXBElement<String> createKeyName(String value) {
- return new JAXBElement<String>(_KeyName_QNAME, String.class, null, value);
+ return new JAXBElement<>(_KeyName_QNAME, String.class, null, value);
}
/**
@@ -409,7 +453,7 @@ public class ObjectFactory {
*/
@XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "MgmtData")
public JAXBElement<String> createMgmtData(String value) {
- return new JAXBElement<String>(_MgmtData_QNAME, String.class, null, value);
+ return new JAXBElement<>(_MgmtData_QNAME, String.class, null, value);
}
/**
@@ -422,7 +466,7 @@ public class ObjectFactory {
*/
@XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "KeyValue")
public JAXBElement<KeyValueType> createKeyValue(KeyValueType value) {
- return new JAXBElement<KeyValueType>(_KeyValue_QNAME, KeyValueType.class, null, value);
+ return new JAXBElement<>(_KeyValue_QNAME, KeyValueType.class, null, value);
}
/**
@@ -435,7 +479,7 @@ public class ObjectFactory {
*/
@XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "RetrievalMethod")
public JAXBElement<RetrievalMethodType> createRetrievalMethod(RetrievalMethodType value) {
- return new JAXBElement<RetrievalMethodType>(_RetrievalMethod_QNAME, RetrievalMethodType.class, null, value);
+ return new JAXBElement<>(_RetrievalMethod_QNAME, RetrievalMethodType.class, null, value);
}
/**
@@ -448,7 +492,7 @@ public class ObjectFactory {
*/
@XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "X509Data")
public JAXBElement<X509DataType> createX509Data(X509DataType value) {
- return new JAXBElement<X509DataType>(_X509Data_QNAME, X509DataType.class, null, value);
+ return new JAXBElement<>(_X509Data_QNAME, X509DataType.class, null, value);
}
/**
@@ -461,7 +505,7 @@ public class ObjectFactory {
*/
@XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "PGPData")
public JAXBElement<PGPDataType> createPGPData(PGPDataType value) {
- return new JAXBElement<PGPDataType>(_PGPData_QNAME, PGPDataType.class, null, value);
+ return new JAXBElement<>(_PGPData_QNAME, PGPDataType.class, null, value);
}
/**
@@ -474,7 +518,7 @@ public class ObjectFactory {
*/
@XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "SPKIData")
public JAXBElement<SPKIDataType> createSPKIData(SPKIDataType value) {
- return new JAXBElement<SPKIDataType>(_SPKIData_QNAME, SPKIDataType.class, null, value);
+ return new JAXBElement<>(_SPKIData_QNAME, SPKIDataType.class, null, value);
}
/**
@@ -487,7 +531,7 @@ public class ObjectFactory {
*/
@XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "Object")
public JAXBElement<ObjectType> createObject(ObjectType value) {
- return new JAXBElement<ObjectType>(_Object_QNAME, ObjectType.class, null, value);
+ return new JAXBElement<>(_Object_QNAME, ObjectType.class, null, value);
}
/**
@@ -500,7 +544,7 @@ public class ObjectFactory {
*/
@XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "Manifest")
public JAXBElement<ManifestType> createManifest(ManifestType value) {
- return new JAXBElement<ManifestType>(_Manifest_QNAME, ManifestType.class, null, value);
+ return new JAXBElement<>(_Manifest_QNAME, ManifestType.class, null, value);
}
/**
@@ -513,7 +557,7 @@ public class ObjectFactory {
*/
@XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "SignatureProperties")
public JAXBElement<SignaturePropertiesType> createSignatureProperties(SignaturePropertiesType value) {
- return new JAXBElement<SignaturePropertiesType>(_SignatureProperties_QNAME, SignaturePropertiesType.class, null, value);
+ return new JAXBElement<>(_SignatureProperties_QNAME, SignaturePropertiesType.class, null, value);
}
/**
@@ -526,7 +570,7 @@ public class ObjectFactory {
*/
@XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "SignatureProperty")
public JAXBElement<SignaturePropertyType> createSignatureProperty(SignaturePropertyType value) {
- return new JAXBElement<SignaturePropertyType>(_SignatureProperty_QNAME, SignaturePropertyType.class, null, value);
+ return new JAXBElement<>(_SignatureProperty_QNAME, SignaturePropertyType.class, null, value);
}
/**
@@ -539,7 +583,7 @@ public class ObjectFactory {
*/
@XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "DSAKeyValue")
public JAXBElement<DSAKeyValueType> createDSAKeyValue(DSAKeyValueType value) {
- return new JAXBElement<DSAKeyValueType>(_DSAKeyValue_QNAME, DSAKeyValueType.class, null, value);
+ return new JAXBElement<>(_DSAKeyValue_QNAME, DSAKeyValueType.class, null, value);
}
/**
@@ -552,7 +596,7 @@ public class ObjectFactory {
*/
@XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "RSAKeyValue")
public JAXBElement<RSAKeyValueType> createRSAKeyValue(RSAKeyValueType value) {
- return new JAXBElement<RSAKeyValueType>(_RSAKeyValue_QNAME, RSAKeyValueType.class, null, value);
+ return new JAXBElement<>(_RSAKeyValue_QNAME, RSAKeyValueType.class, null, value);
}
/**
@@ -565,7 +609,7 @@ public class ObjectFactory {
*/
@XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "SPKISexp", scope = SPKIDataType.class)
public JAXBElement<String> createSPKIDataTypeSPKISexp(String value) {
- return new JAXBElement<String>(_SPKIDataTypeSPKISexp_QNAME, String.class, SPKIDataType.class, value);
+ return new JAXBElement<>(_SPKIDataTypeSPKISexp_QNAME, String.class, SPKIDataType.class, value);
}
/**
@@ -578,7 +622,7 @@ public class ObjectFactory {
*/
@XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "PGPKeyID", scope = PGPDataType.class)
public JAXBElement<String> createPGPDataTypePGPKeyID(String value) {
- return new JAXBElement<String>(_PGPDataTypePGPKeyID_QNAME, String.class, PGPDataType.class, value);
+ return new JAXBElement<>(_PGPDataTypePGPKeyID_QNAME, String.class, PGPDataType.class, value);
}
/**
@@ -591,7 +635,7 @@ public class ObjectFactory {
*/
@XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "PGPKeyPacket", scope = PGPDataType.class)
public JAXBElement<String> createPGPDataTypePGPKeyPacket(String value) {
- return new JAXBElement<String>(_PGPDataTypePGPKeyPacket_QNAME, String.class, PGPDataType.class, value);
+ return new JAXBElement<>(_PGPDataTypePGPKeyPacket_QNAME, String.class, PGPDataType.class, value);
}
/**
@@ -604,7 +648,7 @@ public class ObjectFactory {
*/
@XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "X509IssuerSerial", scope = X509DataType.class)
public JAXBElement<X509IssuerSerialType> createX509DataTypeX509IssuerSerial(X509IssuerSerialType value) {
- return new JAXBElement<X509IssuerSerialType>(_X509DataTypeX509IssuerSerial_QNAME, X509IssuerSerialType.class, X509DataType.class, value);
+ return new JAXBElement<>(_X509DataTypeX509IssuerSerial_QNAME, X509IssuerSerialType.class, X509DataType.class, value);
}
/**
@@ -617,7 +661,7 @@ public class ObjectFactory {
*/
@XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "X509SKI", scope = X509DataType.class)
public JAXBElement<String> createX509DataTypeX509SKI(String value) {
- return new JAXBElement<String>(_X509DataTypeX509SKI_QNAME, String.class, X509DataType.class, value);
+ return new JAXBElement<>(_X509DataTypeX509SKI_QNAME, String.class, X509DataType.class, value);
}
/**
@@ -630,7 +674,7 @@ public class ObjectFactory {
*/
@XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "X509SubjectName", scope = X509DataType.class)
public JAXBElement<String> createX509DataTypeX509SubjectName(String value) {
- return new JAXBElement<String>(_X509DataTypeX509SubjectName_QNAME, String.class, X509DataType.class, value);
+ return new JAXBElement<>(_X509DataTypeX509SubjectName_QNAME, String.class, X509DataType.class, value);
}
/**
@@ -643,7 +687,7 @@ public class ObjectFactory {
*/
@XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "X509Certificate", scope = X509DataType.class)
public JAXBElement<String> createX509DataTypeX509Certificate(String value) {
- return new JAXBElement<String>(_X509DataTypeX509Certificate_QNAME, String.class, X509DataType.class, value);
+ return new JAXBElement<>(_X509DataTypeX509Certificate_QNAME, String.class, X509DataType.class, value);
}
/**
@@ -656,7 +700,7 @@ public class ObjectFactory {
*/
@XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "X509CRL", scope = X509DataType.class)
public JAXBElement<String> createX509DataTypeX509CRL(String value) {
- return new JAXBElement<String>(_X509DataTypeX509CRL_QNAME, String.class, X509DataType.class, value);
+ return new JAXBElement<>(_X509DataTypeX509CRL_QNAME, String.class, X509DataType.class, value);
}
/**
@@ -669,7 +713,7 @@ public class ObjectFactory {
*/
@XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "XPath", scope = TransformType.class)
public JAXBElement<String> createTransformTypeXPath(String value) {
- return new JAXBElement<String>(_TransformTypeXPath_QNAME, String.class, TransformType.class, value);
+ return new JAXBElement<>(_TransformTypeXPath_QNAME, String.class, TransformType.class, value);
}
/**
@@ -682,7 +726,7 @@ public class ObjectFactory {
*/
@XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "HMACOutputLength", scope = SignatureMethodType.class)
public JAXBElement<BigInteger> createSignatureMethodTypeHMACOutputLength(BigInteger value) {
- return new JAXBElement<BigInteger>(_SignatureMethodTypeHMACOutputLength_QNAME, BigInteger.class, SignatureMethodType.class, value);
+ return new JAXBElement<>(_SignatureMethodTypeHMACOutputLength_QNAME, BigInteger.class, SignatureMethodType.class, value);
}
}
diff --git a/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/ObjectType.java b/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/ObjectType.java
index eee62207..c0741683 100644
--- a/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/ObjectType.java
+++ b/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/ObjectType.java
@@ -3,38 +3,38 @@ package org.w3._2000._09.xmldsig_;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAnyElement;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlID;
-import javax.xml.bind.annotation.XmlMixed;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAnyElement;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlID;
+import jakarta.xml.bind.annotation.XmlMixed;
+import jakarta.xml.bind.annotation.XmlSchemaType;
+import jakarta.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import org.w3c.dom.Element;
/**
- * <p>Java-Klasse für ObjectType complex type.
+ * <p>Java class for ObjectType complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType name="ObjectType"&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
- * &lt;sequence maxOccurs="unbounded" minOccurs="0"&gt;
- * &lt;any processContents='lax'/&gt;
- * &lt;/sequence&gt;
- * &lt;attribute name="Id" type="{http://www.w3.org/2001/XMLSchema}ID" /&gt;
- * &lt;attribute name="MimeType" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
- * &lt;attribute name="Encoding" type="{http://www.w3.org/2001/XMLSchema}anyURI" /&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType name="ObjectType">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence maxOccurs="unbounded" minOccurs="0">
+ * <any processContents='lax'/>
+ * </sequence>
+ * <attribute name="Id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ * <attribute name="MimeType" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="Encoding" type="{http://www.w3.org/2001/XMLSchema}anyURI" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
@@ -61,16 +61,16 @@ public class ObjectType {
/**
* Gets the value of the content property.
*
- * <p>
- * This accessor method returns a reference to the live list,
+ * <p>This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the content property.
+ * This is why there is not a <CODE>set</CODE> method for the content property.</p>
*
* <p>
* For example, to add a new item, do as follows:
+ * </p>
* <pre>
- * getContent().add(newItem);
+ * getContent().add(newItem);
* </pre>
*
*
@@ -79,18 +79,21 @@ public class ObjectType {
* {@link Object }
* {@link String }
* {@link Element }
+ * </p>
*
*
+ * @return
+ * The value of the content property.
*/
public List<Object> getContent() {
if (content == null) {
- content = new ArrayList<Object>();
+ content = new ArrayList<>();
}
return this.content;
}
/**
- * Ruft den Wert der id-Eigenschaft ab.
+ * Gets the value of the id property.
*
* @return
* possible object is
@@ -102,7 +105,7 @@ public class ObjectType {
}
/**
- * Legt den Wert der id-Eigenschaft fest.
+ * Sets the value of the id property.
*
* @param value
* allowed object is
@@ -114,7 +117,7 @@ public class ObjectType {
}
/**
- * Ruft den Wert der mimeType-Eigenschaft ab.
+ * Gets the value of the mimeType property.
*
* @return
* possible object is
@@ -126,7 +129,7 @@ public class ObjectType {
}
/**
- * Legt den Wert der mimeType-Eigenschaft fest.
+ * Sets the value of the mimeType property.
*
* @param value
* allowed object is
@@ -138,7 +141,7 @@ public class ObjectType {
}
/**
- * Ruft den Wert der encoding-Eigenschaft ab.
+ * Gets the value of the encoding property.
*
* @return
* possible object is
@@ -150,7 +153,7 @@ public class ObjectType {
}
/**
- * Legt den Wert der encoding-Eigenschaft fest.
+ * Sets the value of the encoding property.
*
* @param value
* allowed object is
diff --git a/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/PGPDataType.java b/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/PGPDataType.java
index 10718f18..12c4d7db 100644
--- a/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/PGPDataType.java
+++ b/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/PGPDataType.java
@@ -3,40 +3,40 @@ package org.w3._2000._09.xmldsig_;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.JAXBElement;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAnyElement;
-import javax.xml.bind.annotation.XmlElementRef;
-import javax.xml.bind.annotation.XmlElementRefs;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.JAXBElement;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAnyElement;
+import jakarta.xml.bind.annotation.XmlElementRef;
+import jakarta.xml.bind.annotation.XmlElementRefs;
+import jakarta.xml.bind.annotation.XmlType;
import org.w3c.dom.Element;
/**
- * <p>Java-Klasse für PGPDataType complex type.
+ * <p>Java class for PGPDataType complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType name="PGPDataType"&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
- * &lt;choice&gt;
- * &lt;sequence&gt;
- * &lt;element name="PGPKeyID" type="{http://www.w3.org/2000/09/xmldsig#}CryptoBinary"/&gt;
- * &lt;element name="PGPKeyPacket" type="{http://www.w3.org/2000/09/xmldsig#}CryptoBinary" minOccurs="0"/&gt;
- * &lt;any processContents='lax' namespace='##other' maxOccurs="unbounded" minOccurs="0"/&gt;
- * &lt;/sequence&gt;
- * &lt;sequence&gt;
- * &lt;element name="PGPKeyPacket" type="{http://www.w3.org/2000/09/xmldsig#}CryptoBinary"/&gt;
- * &lt;any processContents='lax' namespace='##other' maxOccurs="unbounded" minOccurs="0"/&gt;
- * &lt;/sequence&gt;
- * &lt;/choice&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType name="PGPDataType">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <choice>
+ * <sequence>
+ * <element name="PGPKeyID" type="{http://www.w3.org/2000/09/xmldsig#}CryptoBinary"/>
+ * <element name="PGPKeyPacket" type="{http://www.w3.org/2000/09/xmldsig#}CryptoBinary" minOccurs="0"/>
+ * <any processContents='lax' namespace='##other' maxOccurs="unbounded" minOccurs="0"/>
+ * </sequence>
+ * <sequence>
+ * <element name="PGPKeyPacket" type="{http://www.w3.org/2000/09/xmldsig#}CryptoBinary"/>
+ * <any processContents='lax' namespace='##other' maxOccurs="unbounded" minOccurs="0"/>
+ * </sequence>
+ * </choice>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
@@ -46,6 +46,19 @@ import org.w3c.dom.Element;
})
public class PGPDataType {
+ /**
+ * Gets the rest of the content model.
+ *
+ * <p>
+ * You are getting this "catch-all" property because of the following reason:
+ * The field name "PGPKeyPacket" is used by two different parts of a schema. See:
+ * line 184 of file:/home/gpalfinger/Documents/pdf-as-4-kiro/pdf-as-moa/src/main/resources/wsdl/W3C-XMLDSig.xsd
+ * line 180 of file:/home/gpalfinger/Documents/pdf-as-4-kiro/pdf-as-moa/src/main/resources/wsdl/W3C-XMLDSig.xsd
+ * <p>
+ * To get rid of this property, apply a property customization to one
+ * of both of the following declarations to change their names:
+ *
+ */
@XmlElementRefs({
@XmlElementRef(name = "PGPKeyID", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false),
@XmlElementRef(name = "PGPKeyPacket", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false)
@@ -54,43 +67,47 @@ public class PGPDataType {
protected List<Object> content;
/**
- * Ruft das restliche Contentmodell ab.
+ * Gets the rest of the content model.
*
* <p>
- * Sie rufen diese "catch-all"-Eigenschaft aus folgendem Grund ab:
- * Der Feldname "PGPKeyPacket" wird von zwei verschiedenen Teilen eines Schemas verwendet. Siehe:
- * Zeile 184 von file:/home/tlenz/Projekte/pdfas4/source/pdf-as-moa/src/main/resources/wsdl/W3C-XMLDSig.xsd
- * Zeile 180 von file:/home/tlenz/Projekte/pdfas4/source/pdf-as-moa/src/main/resources/wsdl/W3C-XMLDSig.xsd
+ * You are getting this "catch-all" property because of the following reason:
+ * The field name "PGPKeyPacket" is used by two different parts of a schema. See:
+ * line 184 of file:/home/gpalfinger/Documents/pdf-as-4-kiro/pdf-as-moa/src/main/resources/wsdl/W3C-XMLDSig.xsd
+ * line 180 of file:/home/gpalfinger/Documents/pdf-as-4-kiro/pdf-as-moa/src/main/resources/wsdl/W3C-XMLDSig.xsd
* <p>
- * Um diese Eigenschaft zu entfernen, wenden Sie eine Eigenschaftenanpassung für eine
- * der beiden folgenden Deklarationen an, um deren Namen zu ändern:
+ * To get rid of this property, apply a property customization to one
+ * of both of the following declarations to change their names:
+ *
* Gets the value of the content property.
*
- * <p>
- * This accessor method returns a reference to the live list,
+ * <p>This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the content property.
+ * This is why there is not a <CODE>set</CODE> method for the content property.</p>
*
* <p>
* For example, to add a new item, do as follows:
+ * </p>
* <pre>
- * getContent().add(newItem);
+ * getContent().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
- * {@link Object }
* {@link JAXBElement }{@code <}{@link String }{@code >}
* {@link JAXBElement }{@code <}{@link String }{@code >}
+ * {@link Object }
* {@link Element }
+ * </p>
*
*
+ * @return
+ * The value of the content property.
*/
public List<Object> getContent() {
if (content == null) {
- content = new ArrayList<Object>();
+ content = new ArrayList<>();
}
return this.content;
}
diff --git a/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/RSAKeyValueType.java b/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/RSAKeyValueType.java
index 11468613..6547431e 100644
--- a/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/RSAKeyValueType.java
+++ b/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/RSAKeyValueType.java
@@ -1,29 +1,29 @@
package org.w3._2000._09.xmldsig_;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
/**
- * <p>Java-Klasse für RSAKeyValueType complex type.
+ * <p>Java class for RSAKeyValueType complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType name="RSAKeyValueType"&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
- * &lt;sequence&gt;
- * &lt;element name="Modulus" type="{http://www.w3.org/2000/09/xmldsig#}CryptoBinary"/&gt;
- * &lt;element name="Exponent" type="{http://www.w3.org/2000/09/xmldsig#}CryptoBinary"/&gt;
- * &lt;/sequence&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType name="RSAKeyValueType">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="Modulus" type="{http://www.w3.org/2000/09/xmldsig#}CryptoBinary"/>
+ * <element name="Exponent" type="{http://www.w3.org/2000/09/xmldsig#}CryptoBinary"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
@@ -40,7 +40,7 @@ public class RSAKeyValueType {
protected String exponent;
/**
- * Ruft den Wert der modulus-Eigenschaft ab.
+ * Gets the value of the modulus property.
*
* @return
* possible object is
@@ -52,7 +52,7 @@ public class RSAKeyValueType {
}
/**
- * Legt den Wert der modulus-Eigenschaft fest.
+ * Sets the value of the modulus property.
*
* @param value
* allowed object is
@@ -64,7 +64,7 @@ public class RSAKeyValueType {
}
/**
- * Ruft den Wert der exponent-Eigenschaft ab.
+ * Gets the value of the exponent property.
*
* @return
* possible object is
@@ -76,7 +76,7 @@ public class RSAKeyValueType {
}
/**
- * Legt den Wert der exponent-Eigenschaft fest.
+ * Sets the value of the exponent property.
*
* @param value
* allowed object is
diff --git a/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/ReferenceType.java b/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/ReferenceType.java
index bba2a97a..f66a94dc 100644
--- a/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/ReferenceType.java
+++ b/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/ReferenceType.java
@@ -1,38 +1,38 @@
package org.w3._2000._09.xmldsig_;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlID;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlID;
+import jakarta.xml.bind.annotation.XmlSchemaType;
+import jakarta.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
/**
- * <p>Java-Klasse für ReferenceType complex type.
+ * <p>Java class for ReferenceType complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType name="ReferenceType"&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
- * &lt;sequence&gt;
- * &lt;element ref="{http://www.w3.org/2000/09/xmldsig#}Transforms" minOccurs="0"/&gt;
- * &lt;element ref="{http://www.w3.org/2000/09/xmldsig#}DigestMethod"/&gt;
- * &lt;element ref="{http://www.w3.org/2000/09/xmldsig#}DigestValue"/&gt;
- * &lt;/sequence&gt;
- * &lt;attribute name="Id" type="{http://www.w3.org/2001/XMLSchema}ID" /&gt;
- * &lt;attribute name="URI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /&gt;
- * &lt;attribute name="Type" type="{http://www.w3.org/2001/XMLSchema}anyURI" /&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType name="ReferenceType">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element ref="{http://www.w3.org/2000/09/xmldsig#}Transforms" minOccurs="0"/>
+ * <element ref="{http://www.w3.org/2000/09/xmldsig#}DigestMethod"/>
+ * <element ref="{http://www.w3.org/2000/09/xmldsig#}DigestValue"/>
+ * </sequence>
+ * <attribute name="Id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ * <attribute name="URI" type="{http://www.w3.org/2001/XMLSchema}anyURI" />
+ * <attribute name="Type" type="{http://www.w3.org/2001/XMLSchema}anyURI" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
@@ -63,7 +63,7 @@ public class ReferenceType {
protected String type;
/**
- * Ruft den Wert der transforms-Eigenschaft ab.
+ * Gets the value of the transforms property.
*
* @return
* possible object is
@@ -75,7 +75,7 @@ public class ReferenceType {
}
/**
- * Legt den Wert der transforms-Eigenschaft fest.
+ * Sets the value of the transforms property.
*
* @param value
* allowed object is
@@ -87,7 +87,7 @@ public class ReferenceType {
}
/**
- * Ruft den Wert der digestMethod-Eigenschaft ab.
+ * Gets the value of the digestMethod property.
*
* @return
* possible object is
@@ -99,7 +99,7 @@ public class ReferenceType {
}
/**
- * Legt den Wert der digestMethod-Eigenschaft fest.
+ * Sets the value of the digestMethod property.
*
* @param value
* allowed object is
@@ -111,7 +111,7 @@ public class ReferenceType {
}
/**
- * Ruft den Wert der digestValue-Eigenschaft ab.
+ * Gets the value of the digestValue property.
*
* @return
* possible object is
@@ -123,7 +123,7 @@ public class ReferenceType {
}
/**
- * Legt den Wert der digestValue-Eigenschaft fest.
+ * Sets the value of the digestValue property.
*
* @param value
* allowed object is
@@ -135,7 +135,7 @@ public class ReferenceType {
}
/**
- * Ruft den Wert der id-Eigenschaft ab.
+ * Gets the value of the id property.
*
* @return
* possible object is
@@ -147,7 +147,7 @@ public class ReferenceType {
}
/**
- * Legt den Wert der id-Eigenschaft fest.
+ * Sets the value of the id property.
*
* @param value
* allowed object is
@@ -159,7 +159,7 @@ public class ReferenceType {
}
/**
- * Ruft den Wert der uri-Eigenschaft ab.
+ * Gets the value of the uri property.
*
* @return
* possible object is
@@ -171,7 +171,7 @@ public class ReferenceType {
}
/**
- * Legt den Wert der uri-Eigenschaft fest.
+ * Sets the value of the uri property.
*
* @param value
* allowed object is
@@ -183,7 +183,7 @@ public class ReferenceType {
}
/**
- * Ruft den Wert der type-Eigenschaft ab.
+ * Gets the value of the type property.
*
* @return
* possible object is
@@ -195,7 +195,7 @@ public class ReferenceType {
}
/**
- * Legt den Wert der type-Eigenschaft fest.
+ * Sets the value of the type property.
*
* @param value
* allowed object is
diff --git a/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/RetrievalMethodType.java b/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/RetrievalMethodType.java
index 59a3febc..46d11039 100644
--- a/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/RetrievalMethodType.java
+++ b/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/RetrievalMethodType.java
@@ -1,32 +1,32 @@
package org.w3._2000._09.xmldsig_;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlSchemaType;
+import jakarta.xml.bind.annotation.XmlType;
/**
- * <p>Java-Klasse für RetrievalMethodType complex type.
+ * <p>Java class for RetrievalMethodType complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType name="RetrievalMethodType"&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
- * &lt;sequence&gt;
- * &lt;element name="Transforms" type="{http://www.w3.org/2000/09/xmldsig#}TransformsType" minOccurs="0"/&gt;
- * &lt;/sequence&gt;
- * &lt;attribute name="URI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /&gt;
- * &lt;attribute name="Type" type="{http://www.w3.org/2001/XMLSchema}anyURI" /&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType name="RetrievalMethodType">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="Transforms" type="{http://www.w3.org/2000/09/xmldsig#}TransformsType" minOccurs="0"/>
+ * </sequence>
+ * <attribute name="URI" type="{http://www.w3.org/2001/XMLSchema}anyURI" />
+ * <attribute name="Type" type="{http://www.w3.org/2001/XMLSchema}anyURI" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
@@ -46,7 +46,7 @@ public class RetrievalMethodType {
protected String type;
/**
- * Ruft den Wert der transforms-Eigenschaft ab.
+ * Gets the value of the transforms property.
*
* @return
* possible object is
@@ -58,7 +58,7 @@ public class RetrievalMethodType {
}
/**
- * Legt den Wert der transforms-Eigenschaft fest.
+ * Sets the value of the transforms property.
*
* @param value
* allowed object is
@@ -70,7 +70,7 @@ public class RetrievalMethodType {
}
/**
- * Ruft den Wert der uri-Eigenschaft ab.
+ * Gets the value of the uri property.
*
* @return
* possible object is
@@ -82,7 +82,7 @@ public class RetrievalMethodType {
}
/**
- * Legt den Wert der uri-Eigenschaft fest.
+ * Sets the value of the uri property.
*
* @param value
* allowed object is
@@ -94,7 +94,7 @@ public class RetrievalMethodType {
}
/**
- * Ruft den Wert der type-Eigenschaft ab.
+ * Gets the value of the type property.
*
* @return
* possible object is
@@ -106,7 +106,7 @@ public class RetrievalMethodType {
}
/**
- * Legt den Wert der type-Eigenschaft fest.
+ * Sets the value of the type property.
*
* @param value
* allowed object is
diff --git a/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/SPKIDataType.java b/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/SPKIDataType.java
index 34264510..77efcc79 100644
--- a/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/SPKIDataType.java
+++ b/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/SPKIDataType.java
@@ -3,32 +3,32 @@ package org.w3._2000._09.xmldsig_;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.JAXBElement;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAnyElement;
-import javax.xml.bind.annotation.XmlElementRef;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.JAXBElement;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAnyElement;
+import jakarta.xml.bind.annotation.XmlElementRef;
+import jakarta.xml.bind.annotation.XmlType;
import org.w3c.dom.Element;
/**
- * <p>Java-Klasse für SPKIDataType complex type.
+ * <p>Java class for SPKIDataType complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType name="SPKIDataType"&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
- * &lt;sequence maxOccurs="unbounded"&gt;
- * &lt;element name="SPKISexp" type="{http://www.w3.org/2000/09/xmldsig#}CryptoBinary"/&gt;
- * &lt;any processContents='lax' namespace='##other' minOccurs="0"/&gt;
- * &lt;/sequence&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType name="SPKIDataType">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence maxOccurs="unbounded">
+ * <element name="SPKISexp" type="{http://www.w3.org/2000/09/xmldsig#}CryptoBinary"/>
+ * <any processContents='lax' namespace='##other' minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
@@ -45,30 +45,33 @@ public class SPKIDataType {
/**
* Gets the value of the spkiSexpAndAny property.
*
- * <p>
- * This accessor method returns a reference to the live list,
+ * <p>This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the spkiSexpAndAny property.
+ * This is why there is not a <CODE>set</CODE> method for the spkiSexpAndAny property.</p>
*
* <p>
* For example, to add a new item, do as follows:
+ * </p>
* <pre>
- * getSPKISexpAndAny().add(newItem);
+ * getSPKISexpAndAny().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
- * {@link Object }
* {@link JAXBElement }{@code <}{@link String }{@code >}
+ * {@link Object }
* {@link Element }
+ * </p>
*
*
+ * @return
+ * The value of the spkiSexpAndAny property.
*/
public List<Object> getSPKISexpAndAny() {
if (spkiSexpAndAny == null) {
- spkiSexpAndAny = new ArrayList<Object>();
+ spkiSexpAndAny = new ArrayList<>();
}
return this.spkiSexpAndAny;
}
diff --git a/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/SignatureMethodType.java b/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/SignatureMethodType.java
index 268deb8a..079717a9 100644
--- a/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/SignatureMethodType.java
+++ b/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/SignatureMethodType.java
@@ -4,35 +4,35 @@ package org.w3._2000._09.xmldsig_;
import java.math.BigInteger;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.JAXBElement;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAnyElement;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlElementRef;
-import javax.xml.bind.annotation.XmlMixed;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.JAXBElement;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAnyElement;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlElementRef;
+import jakarta.xml.bind.annotation.XmlMixed;
+import jakarta.xml.bind.annotation.XmlSchemaType;
+import jakarta.xml.bind.annotation.XmlType;
/**
- * <p>Java-Klasse für SignatureMethodType complex type.
+ * <p>Java class for SignatureMethodType complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType name="SignatureMethodType"&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
- * &lt;sequence&gt;
- * &lt;element name="HMACOutputLength" type="{http://www.w3.org/2000/09/xmldsig#}HMACOutputLengthType" minOccurs="0"/&gt;
- * &lt;any namespace='##other' maxOccurs="unbounded" minOccurs="0"/&gt;
- * &lt;/sequence&gt;
- * &lt;attribute name="Algorithm" use="required" type="{http://www.w3.org/2001/XMLSchema}anyURI" /&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType name="SignatureMethodType">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="HMACOutputLength" type="{http://www.w3.org/2000/09/xmldsig#}HMACOutputLengthType" minOccurs="0"/>
+ * <any namespace='##other' maxOccurs="unbounded" minOccurs="0"/>
+ * </sequence>
+ * <attribute name="Algorithm" use="required" type="{http://www.w3.org/2001/XMLSchema}anyURI" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
@@ -53,36 +53,39 @@ public class SignatureMethodType {
/**
* Gets the value of the content property.
*
- * <p>
- * This accessor method returns a reference to the live list,
+ * <p>This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the content property.
+ * This is why there is not a <CODE>set</CODE> method for the content property.</p>
*
* <p>
* For example, to add a new item, do as follows:
+ * </p>
* <pre>
- * getContent().add(newItem);
+ * getContent().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
+ * {@link JAXBElement }{@code <}{@link BigInteger }{@code >}
* {@link Object }
* {@link String }
- * {@link JAXBElement }{@code <}{@link BigInteger }{@code >}
+ * </p>
*
*
+ * @return
+ * The value of the content property.
*/
public List<Object> getContent() {
if (content == null) {
- content = new ArrayList<Object>();
+ content = new ArrayList<>();
}
return this.content;
}
/**
- * Ruft den Wert der algorithm-Eigenschaft ab.
+ * Gets the value of the algorithm property.
*
* @return
* possible object is
@@ -94,7 +97,7 @@ public class SignatureMethodType {
}
/**
- * Legt den Wert der algorithm-Eigenschaft fest.
+ * Sets the value of the algorithm property.
*
* @param value
* allowed object is
diff --git a/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/SignaturePropertiesType.java b/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/SignaturePropertiesType.java
index 850af98e..5f920450 100644
--- a/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/SignaturePropertiesType.java
+++ b/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/SignaturePropertiesType.java
@@ -3,34 +3,34 @@ package org.w3._2000._09.xmldsig_;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlID;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlID;
+import jakarta.xml.bind.annotation.XmlSchemaType;
+import jakarta.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
/**
- * <p>Java-Klasse für SignaturePropertiesType complex type.
+ * <p>Java class for SignaturePropertiesType complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType name="SignaturePropertiesType"&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
- * &lt;sequence&gt;
- * &lt;element ref="{http://www.w3.org/2000/09/xmldsig#}SignatureProperty" maxOccurs="unbounded"/&gt;
- * &lt;/sequence&gt;
- * &lt;attribute name="Id" type="{http://www.w3.org/2001/XMLSchema}ID" /&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType name="SignaturePropertiesType">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element ref="{http://www.w3.org/2000/09/xmldsig#}SignatureProperty" maxOccurs="unbounded"/>
+ * </sequence>
+ * <attribute name="Id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
@@ -51,34 +51,37 @@ public class SignaturePropertiesType {
/**
* Gets the value of the signatureProperty property.
*
- * <p>
- * This accessor method returns a reference to the live list,
+ * <p>This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the signatureProperty property.
+ * This is why there is not a <CODE>set</CODE> method for the signatureProperty property.</p>
*
* <p>
* For example, to add a new item, do as follows:
+ * </p>
* <pre>
- * getSignatureProperty().add(newItem);
+ * getSignatureProperty().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link SignaturePropertyType }
+ * </p>
*
*
+ * @return
+ * The value of the signatureProperty property.
*/
public List<SignaturePropertyType> getSignatureProperty() {
if (signatureProperty == null) {
- signatureProperty = new ArrayList<SignaturePropertyType>();
+ signatureProperty = new ArrayList<>();
}
return this.signatureProperty;
}
/**
- * Ruft den Wert der id-Eigenschaft ab.
+ * Gets the value of the id property.
*
* @return
* possible object is
@@ -90,7 +93,7 @@ public class SignaturePropertiesType {
}
/**
- * Legt den Wert der id-Eigenschaft fest.
+ * Sets the value of the id property.
*
* @param value
* allowed object is
diff --git a/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/SignaturePropertyType.java b/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/SignaturePropertyType.java
index f7f0317b..4a89ae76 100644
--- a/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/SignaturePropertyType.java
+++ b/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/SignaturePropertyType.java
@@ -3,37 +3,37 @@ package org.w3._2000._09.xmldsig_;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAnyElement;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlID;
-import javax.xml.bind.annotation.XmlMixed;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAnyElement;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlID;
+import jakarta.xml.bind.annotation.XmlMixed;
+import jakarta.xml.bind.annotation.XmlSchemaType;
+import jakarta.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import org.w3c.dom.Element;
/**
- * <p>Java-Klasse für SignaturePropertyType complex type.
+ * <p>Java class for SignaturePropertyType complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType name="SignaturePropertyType"&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
- * &lt;choice maxOccurs="unbounded"&gt;
- * &lt;any processContents='lax' namespace='##other'/&gt;
- * &lt;/choice&gt;
- * &lt;attribute name="Target" use="required" type="{http://www.w3.org/2001/XMLSchema}anyURI" /&gt;
- * &lt;attribute name="Id" type="{http://www.w3.org/2001/XMLSchema}ID" /&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType name="SignaturePropertyType">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <choice maxOccurs="unbounded">
+ * <any processContents='lax' namespace='##other'/>
+ * </choice>
+ * <attribute name="Target" use="required" type="{http://www.w3.org/2001/XMLSchema}anyURI" />
+ * <attribute name="Id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
@@ -58,16 +58,16 @@ public class SignaturePropertyType {
/**
* Gets the value of the content property.
*
- * <p>
- * This accessor method returns a reference to the live list,
+ * <p>This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the content property.
+ * This is why there is not a <CODE>set</CODE> method for the content property.</p>
*
* <p>
* For example, to add a new item, do as follows:
+ * </p>
* <pre>
- * getContent().add(newItem);
+ * getContent().add(newItem);
* </pre>
*
*
@@ -76,18 +76,21 @@ public class SignaturePropertyType {
* {@link Object }
* {@link String }
* {@link Element }
+ * </p>
*
*
+ * @return
+ * The value of the content property.
*/
public List<Object> getContent() {
if (content == null) {
- content = new ArrayList<Object>();
+ content = new ArrayList<>();
}
return this.content;
}
/**
- * Ruft den Wert der target-Eigenschaft ab.
+ * Gets the value of the target property.
*
* @return
* possible object is
@@ -99,7 +102,7 @@ public class SignaturePropertyType {
}
/**
- * Legt den Wert der target-Eigenschaft fest.
+ * Sets the value of the target property.
*
* @param value
* allowed object is
@@ -111,7 +114,7 @@ public class SignaturePropertyType {
}
/**
- * Ruft den Wert der id-Eigenschaft ab.
+ * Gets the value of the id property.
*
* @return
* possible object is
@@ -123,7 +126,7 @@ public class SignaturePropertyType {
}
/**
- * Legt den Wert der id-Eigenschaft fest.
+ * Sets the value of the id property.
*
* @param value
* allowed object is
diff --git a/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/SignatureType.java b/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/SignatureType.java
index cb841082..f18bfcc1 100644
--- a/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/SignatureType.java
+++ b/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/SignatureType.java
@@ -3,37 +3,37 @@ package org.w3._2000._09.xmldsig_;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlID;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlID;
+import jakarta.xml.bind.annotation.XmlSchemaType;
+import jakarta.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
/**
- * <p>Java-Klasse für SignatureType complex type.
+ * <p>Java class for SignatureType complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType name="SignatureType"&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
- * &lt;sequence&gt;
- * &lt;element ref="{http://www.w3.org/2000/09/xmldsig#}SignedInfo"/&gt;
- * &lt;element ref="{http://www.w3.org/2000/09/xmldsig#}SignatureValue"/&gt;
- * &lt;element ref="{http://www.w3.org/2000/09/xmldsig#}KeyInfo" minOccurs="0"/&gt;
- * &lt;element ref="{http://www.w3.org/2000/09/xmldsig#}Object" maxOccurs="unbounded" minOccurs="0"/&gt;
- * &lt;/sequence&gt;
- * &lt;attribute name="Id" type="{http://www.w3.org/2001/XMLSchema}ID" /&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType name="SignatureType">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element ref="{http://www.w3.org/2000/09/xmldsig#}SignedInfo"/>
+ * <element ref="{http://www.w3.org/2000/09/xmldsig#}SignatureValue"/>
+ * <element ref="{http://www.w3.org/2000/09/xmldsig#}KeyInfo" minOccurs="0"/>
+ * <element ref="{http://www.w3.org/2000/09/xmldsig#}Object" maxOccurs="unbounded" minOccurs="0"/>
+ * </sequence>
+ * <attribute name="Id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
@@ -61,7 +61,7 @@ public class SignatureType {
protected String id;
/**
- * Ruft den Wert der signedInfo-Eigenschaft ab.
+ * Gets the value of the signedInfo property.
*
* @return
* possible object is
@@ -73,7 +73,7 @@ public class SignatureType {
}
/**
- * Legt den Wert der signedInfo-Eigenschaft fest.
+ * Sets the value of the signedInfo property.
*
* @param value
* allowed object is
@@ -85,7 +85,7 @@ public class SignatureType {
}
/**
- * Ruft den Wert der signatureValue-Eigenschaft ab.
+ * Gets the value of the signatureValue property.
*
* @return
* possible object is
@@ -97,7 +97,7 @@ public class SignatureType {
}
/**
- * Legt den Wert der signatureValue-Eigenschaft fest.
+ * Sets the value of the signatureValue property.
*
* @param value
* allowed object is
@@ -109,7 +109,7 @@ public class SignatureType {
}
/**
- * Ruft den Wert der keyInfo-Eigenschaft ab.
+ * Gets the value of the keyInfo property.
*
* @return
* possible object is
@@ -121,7 +121,7 @@ public class SignatureType {
}
/**
- * Legt den Wert der keyInfo-Eigenschaft fest.
+ * Sets the value of the keyInfo property.
*
* @param value
* allowed object is
@@ -135,34 +135,37 @@ public class SignatureType {
/**
* Gets the value of the object property.
*
- * <p>
- * This accessor method returns a reference to the live list,
+ * <p>This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the object property.
+ * This is why there is not a <CODE>set</CODE> method for the object property.</p>
*
* <p>
* For example, to add a new item, do as follows:
+ * </p>
* <pre>
- * getObject().add(newItem);
+ * getObject().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link ObjectType }
+ * </p>
*
*
+ * @return
+ * The value of the object property.
*/
public List<ObjectType> getObject() {
if (object == null) {
- object = new ArrayList<ObjectType>();
+ object = new ArrayList<>();
}
return this.object;
}
/**
- * Ruft den Wert der id-Eigenschaft ab.
+ * Gets the value of the id property.
*
* @return
* possible object is
@@ -174,7 +177,7 @@ public class SignatureType {
}
/**
- * Legt den Wert der id-Eigenschaft fest.
+ * Sets the value of the id property.
*
* @param value
* allowed object is
diff --git a/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/SignatureValueType.java b/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/SignatureValueType.java
index 989a950b..d3df4969 100644
--- a/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/SignatureValueType.java
+++ b/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/SignatureValueType.java
@@ -1,31 +1,31 @@
package org.w3._2000._09.xmldsig_;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlID;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.XmlValue;
-import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlID;
+import jakarta.xml.bind.annotation.XmlSchemaType;
+import jakarta.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlValue;
+import jakarta.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
/**
- * <p>Java-Klasse für SignatureValueType complex type.
+ * <p>Java class for SignatureValueType complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType name="SignatureValueType"&gt;
- * &lt;simpleContent&gt;
- * &lt;extension base="&lt;http://www.w3.org/2000/09/xmldsig#&gt;CryptoBinary"&gt;
- * &lt;attribute name="Id" type="{http://www.w3.org/2001/XMLSchema}ID" /&gt;
- * &lt;/extension&gt;
- * &lt;/simpleContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType name="SignatureValueType">
+ * <simpleContent>
+ * <extension base="<http://www.w3.org/2000/09/xmldsig#>CryptoBinary">
+ * <attribute name="Id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ * </extension>
+ * </simpleContent>
+ * </complexType>
+ * }</pre>
*
*
*/
@@ -44,7 +44,7 @@ public class SignatureValueType {
protected String id;
/**
- * Ruft den Wert der value-Eigenschaft ab.
+ * Gets the value of the value property.
*
* @return
* possible object is
@@ -56,7 +56,7 @@ public class SignatureValueType {
}
/**
- * Legt den Wert der value-Eigenschaft fest.
+ * Sets the value of the value property.
*
* @param value
* allowed object is
@@ -68,7 +68,7 @@ public class SignatureValueType {
}
/**
- * Ruft den Wert der id-Eigenschaft ab.
+ * Gets the value of the id property.
*
* @return
* possible object is
@@ -80,7 +80,7 @@ public class SignatureValueType {
}
/**
- * Legt den Wert der id-Eigenschaft fest.
+ * Sets the value of the id property.
*
* @param value
* allowed object is
diff --git a/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/SignedInfoType.java b/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/SignedInfoType.java
index f38b247f..6c1d1e49 100644
--- a/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/SignedInfoType.java
+++ b/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/SignedInfoType.java
@@ -3,36 +3,36 @@ package org.w3._2000._09.xmldsig_;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlID;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlID;
+import jakarta.xml.bind.annotation.XmlSchemaType;
+import jakarta.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
/**
- * <p>Java-Klasse für SignedInfoType complex type.
+ * <p>Java class for SignedInfoType complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType name="SignedInfoType"&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
- * &lt;sequence&gt;
- * &lt;element ref="{http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod"/&gt;
- * &lt;element ref="{http://www.w3.org/2000/09/xmldsig#}SignatureMethod"/&gt;
- * &lt;element ref="{http://www.w3.org/2000/09/xmldsig#}Reference" maxOccurs="unbounded"/&gt;
- * &lt;/sequence&gt;
- * &lt;attribute name="Id" type="{http://www.w3.org/2001/XMLSchema}ID" /&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType name="SignedInfoType">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element ref="{http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod"/>
+ * <element ref="{http://www.w3.org/2000/09/xmldsig#}SignatureMethod"/>
+ * <element ref="{http://www.w3.org/2000/09/xmldsig#}Reference" maxOccurs="unbounded"/>
+ * </sequence>
+ * <attribute name="Id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
@@ -57,7 +57,7 @@ public class SignedInfoType {
protected String id;
/**
- * Ruft den Wert der canonicalizationMethod-Eigenschaft ab.
+ * Gets the value of the canonicalizationMethod property.
*
* @return
* possible object is
@@ -69,7 +69,7 @@ public class SignedInfoType {
}
/**
- * Legt den Wert der canonicalizationMethod-Eigenschaft fest.
+ * Sets the value of the canonicalizationMethod property.
*
* @param value
* allowed object is
@@ -81,7 +81,7 @@ public class SignedInfoType {
}
/**
- * Ruft den Wert der signatureMethod-Eigenschaft ab.
+ * Gets the value of the signatureMethod property.
*
* @return
* possible object is
@@ -93,7 +93,7 @@ public class SignedInfoType {
}
/**
- * Legt den Wert der signatureMethod-Eigenschaft fest.
+ * Sets the value of the signatureMethod property.
*
* @param value
* allowed object is
@@ -107,34 +107,37 @@ public class SignedInfoType {
/**
* Gets the value of the reference property.
*
- * <p>
- * This accessor method returns a reference to the live list,
+ * <p>This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the reference property.
+ * This is why there is not a <CODE>set</CODE> method for the reference property.</p>
*
* <p>
* For example, to add a new item, do as follows:
+ * </p>
* <pre>
- * getReference().add(newItem);
+ * getReference().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link ReferenceType }
+ * </p>
*
*
+ * @return
+ * The value of the reference property.
*/
public List<ReferenceType> getReference() {
if (reference == null) {
- reference = new ArrayList<ReferenceType>();
+ reference = new ArrayList<>();
}
return this.reference;
}
/**
- * Ruft den Wert der id-Eigenschaft ab.
+ * Gets the value of the id property.
*
* @return
* possible object is
@@ -146,7 +149,7 @@ public class SignedInfoType {
}
/**
- * Legt den Wert der id-Eigenschaft fest.
+ * Sets the value of the id property.
*
* @param value
* allowed object is
diff --git a/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/TransformType.java b/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/TransformType.java
index 83d64908..77615614 100644
--- a/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/TransformType.java
+++ b/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/TransformType.java
@@ -3,36 +3,36 @@ package org.w3._2000._09.xmldsig_;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.JAXBElement;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAnyElement;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlElementRef;
-import javax.xml.bind.annotation.XmlMixed;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.JAXBElement;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAnyElement;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlElementRef;
+import jakarta.xml.bind.annotation.XmlMixed;
+import jakarta.xml.bind.annotation.XmlSchemaType;
+import jakarta.xml.bind.annotation.XmlType;
import org.w3c.dom.Element;
/**
- * <p>Java-Klasse für TransformType complex type.
+ * <p>Java class for TransformType complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType name="TransformType"&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
- * &lt;choice maxOccurs="unbounded" minOccurs="0"&gt;
- * &lt;any processContents='lax' namespace='##other'/&gt;
- * &lt;element name="XPath" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
- * &lt;/choice&gt;
- * &lt;attribute name="Algorithm" use="required" type="{http://www.w3.org/2001/XMLSchema}anyURI" /&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType name="TransformType">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <choice maxOccurs="unbounded" minOccurs="0">
+ * <any processContents='lax' namespace='##other'/>
+ * <element name="XPath" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * </choice>
+ * <attribute name="Algorithm" use="required" type="{http://www.w3.org/2001/XMLSchema}anyURI" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
@@ -53,37 +53,40 @@ public class TransformType {
/**
* Gets the value of the content property.
*
- * <p>
- * This accessor method returns a reference to the live list,
+ * <p>This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the content property.
+ * This is why there is not a <CODE>set</CODE> method for the content property.</p>
*
* <p>
* For example, to add a new item, do as follows:
+ * </p>
* <pre>
- * getContent().add(newItem);
+ * getContent().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
+ * {@link JAXBElement }{@code <}{@link String }{@code >}
* {@link Object }
* {@link String }
- * {@link JAXBElement }{@code <}{@link String }{@code >}
* {@link Element }
+ * </p>
*
*
+ * @return
+ * The value of the content property.
*/
public List<Object> getContent() {
if (content == null) {
- content = new ArrayList<Object>();
+ content = new ArrayList<>();
}
return this.content;
}
/**
- * Ruft den Wert der algorithm-Eigenschaft ab.
+ * Gets the value of the algorithm property.
*
* @return
* possible object is
@@ -95,7 +98,7 @@ public class TransformType {
}
/**
- * Legt den Wert der algorithm-Eigenschaft fest.
+ * Sets the value of the algorithm property.
*
* @param value
* allowed object is
diff --git a/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/TransformsType.java b/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/TransformsType.java
index 933bc662..dd7c72c2 100644
--- a/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/TransformsType.java
+++ b/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/TransformsType.java
@@ -3,28 +3,28 @@ package org.w3._2000._09.xmldsig_;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
/**
- * <p>Java-Klasse für TransformsType complex type.
+ * <p>Java class for TransformsType complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType name="TransformsType"&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
- * &lt;sequence&gt;
- * &lt;element ref="{http://www.w3.org/2000/09/xmldsig#}Transform" maxOccurs="unbounded"/&gt;
- * &lt;/sequence&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType name="TransformsType">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element ref="{http://www.w3.org/2000/09/xmldsig#}Transform" maxOccurs="unbounded"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
@@ -40,28 +40,31 @@ public class TransformsType {
/**
* Gets the value of the transform property.
*
- * <p>
- * This accessor method returns a reference to the live list,
+ * <p>This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the transform property.
+ * This is why there is not a <CODE>set</CODE> method for the transform property.</p>
*
* <p>
* For example, to add a new item, do as follows:
+ * </p>
* <pre>
- * getTransform().add(newItem);
+ * getTransform().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link TransformType }
+ * </p>
*
*
+ * @return
+ * The value of the transform property.
*/
public List<TransformType> getTransform() {
if (transform == null) {
- transform = new ArrayList<TransformType>();
+ transform = new ArrayList<>();
}
return this.transform;
}
diff --git a/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/X509DataType.java b/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/X509DataType.java
index e99a02d6..44a4afdc 100644
--- a/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/X509DataType.java
+++ b/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/X509DataType.java
@@ -3,39 +3,39 @@ package org.w3._2000._09.xmldsig_;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.JAXBElement;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAnyElement;
-import javax.xml.bind.annotation.XmlElementRef;
-import javax.xml.bind.annotation.XmlElementRefs;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.JAXBElement;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAnyElement;
+import jakarta.xml.bind.annotation.XmlElementRef;
+import jakarta.xml.bind.annotation.XmlElementRefs;
+import jakarta.xml.bind.annotation.XmlType;
import org.w3c.dom.Element;
/**
- * <p>Java-Klasse für X509DataType complex type.
+ * <p>Java class for X509DataType complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType name="X509DataType"&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
- * &lt;sequence maxOccurs="unbounded"&gt;
- * &lt;choice&gt;
- * &lt;element name="X509IssuerSerial" type="{http://www.w3.org/2000/09/xmldsig#}X509IssuerSerialType"/&gt;
- * &lt;element name="X509SKI" type="{http://www.w3.org/2000/09/xmldsig#}CryptoBinary"/&gt;
- * &lt;element name="X509SubjectName" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
- * &lt;element name="X509Certificate" type="{http://www.w3.org/2000/09/xmldsig#}CryptoBinary"/&gt;
- * &lt;element name="X509CRL" type="{http://www.w3.org/2000/09/xmldsig#}CryptoBinary"/&gt;
- * &lt;any processContents='lax' namespace='##other'/&gt;
- * &lt;/choice&gt;
- * &lt;/sequence&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType name="X509DataType">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence maxOccurs="unbounded">
+ * <choice>
+ * <element name="X509IssuerSerial" type="{http://www.w3.org/2000/09/xmldsig#}X509IssuerSerialType"/>
+ * <element name="X509SKI" type="{http://www.w3.org/2000/09/xmldsig#}CryptoBinary"/>
+ * <element name="X509SubjectName" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * <element name="X509Certificate" type="{http://www.w3.org/2000/09/xmldsig#}CryptoBinary"/>
+ * <element name="X509CRL" type="{http://www.w3.org/2000/09/xmldsig#}CryptoBinary"/>
+ * <any processContents='lax' namespace='##other'/>
+ * </choice>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
@@ -58,34 +58,37 @@ public class X509DataType {
/**
* Gets the value of the x509IssuerSerialOrX509SKIOrX509SubjectName property.
*
- * <p>
- * This accessor method returns a reference to the live list,
+ * <p>This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the x509IssuerSerialOrX509SKIOrX509SubjectName property.
+ * This is why there is not a <CODE>set</CODE> method for the x509IssuerSerialOrX509SKIOrX509SubjectName property.</p>
*
* <p>
* For example, to add a new item, do as follows:
+ * </p>
* <pre>
- * getX509IssuerSerialOrX509SKIOrX509SubjectName().add(newItem);
+ * getX509IssuerSerialOrX509SKIOrX509SubjectName().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
- * {@link Object }
* {@link JAXBElement }{@code <}{@link String }{@code >}
* {@link JAXBElement }{@code <}{@link String }{@code >}
* {@link JAXBElement }{@code <}{@link String }{@code >}
* {@link JAXBElement }{@code <}{@link String }{@code >}
* {@link JAXBElement }{@code <}{@link X509IssuerSerialType }{@code >}
+ * {@link Object }
* {@link Element }
+ * </p>
*
*
+ * @return
+ * The value of the x509IssuerSerialOrX509SKIOrX509SubjectName property.
*/
public List<Object> getX509IssuerSerialOrX509SKIOrX509SubjectName() {
if (x509IssuerSerialOrX509SKIOrX509SubjectName == null) {
- x509IssuerSerialOrX509SKIOrX509SubjectName = new ArrayList<Object>();
+ x509IssuerSerialOrX509SKIOrX509SubjectName = new ArrayList<>();
}
return this.x509IssuerSerialOrX509SKIOrX509SubjectName;
}
diff --git a/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/X509IssuerSerialType.java b/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/X509IssuerSerialType.java
index 98e286c7..2f96927b 100644
--- a/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/X509IssuerSerialType.java
+++ b/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/X509IssuerSerialType.java
@@ -2,29 +2,29 @@
package org.w3._2000._09.xmldsig_;
import java.math.BigInteger;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
/**
- * <p>Java-Klasse für X509IssuerSerialType complex type.
+ * <p>Java class for X509IssuerSerialType complex type</p>.
*
- * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ * <p>The following schema fragment specifies the expected content contained within this class.</p>
*
- * <pre>
- * &lt;complexType name="X509IssuerSerialType"&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
- * &lt;sequence&gt;
- * &lt;element name="X509IssuerName" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
- * &lt;element name="X509SerialNumber" type="{http://www.w3.org/2001/XMLSchema}integer"/&gt;
- * &lt;/sequence&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
+ * <pre>{@code
+ * <complexType name="X509IssuerSerialType">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="X509IssuerName" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * <element name="X509SerialNumber" type="{http://www.w3.org/2001/XMLSchema}integer"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * }</pre>
*
*
*/
@@ -41,7 +41,7 @@ public class X509IssuerSerialType {
protected BigInteger x509SerialNumber;
/**
- * Ruft den Wert der x509IssuerName-Eigenschaft ab.
+ * Gets the value of the x509IssuerName property.
*
* @return
* possible object is
@@ -53,7 +53,7 @@ public class X509IssuerSerialType {
}
/**
- * Legt den Wert der x509IssuerName-Eigenschaft fest.
+ * Sets the value of the x509IssuerName property.
*
* @param value
* allowed object is
@@ -65,7 +65,7 @@ public class X509IssuerSerialType {
}
/**
- * Ruft den Wert der x509SerialNumber-Eigenschaft ab.
+ * Gets the value of the x509SerialNumber property.
*
* @return
* possible object is
@@ -77,7 +77,7 @@ public class X509IssuerSerialType {
}
/**
- * Legt den Wert der x509SerialNumber-Eigenschaft fest.
+ * Sets the value of the x509SerialNumber property.
*
* @param value
* allowed object is
diff --git a/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/package-info.java b/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/package-info.java
index 96d5b4b5..13b13252 100644
--- a/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/package-info.java
+++ b/pdf-as-moa/src/generated/java/org/w3/_2000/_09/xmldsig_/package-info.java
@@ -1,2 +1,2 @@
-@javax.xml.bind.annotation.XmlSchema(namespace = "http://www.w3.org/2000/09/xmldsig#", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
+@jakarta.xml.bind.annotation.XmlSchema(namespace = "http://www.w3.org/2000/09/xmldsig#", elementFormDefault = jakarta.xml.bind.annotation.XmlNsForm.QUALIFIED)
package org.w3._2000._09.xmldsig_;
diff --git a/pdf-as-moa/src/main/java/at/gv/egiz/pdfas/moa/MOAConnector.java b/pdf-as-moa/src/main/java/at/gv/egiz/pdfas/moa/MOAConnector.java
index 11d00c75..9923e4bb 100644
--- a/pdf-as-moa/src/main/java/at/gv/egiz/pdfas/moa/MOAConnector.java
+++ b/pdf-as-moa/src/main/java/at/gv/egiz/pdfas/moa/MOAConnector.java
@@ -30,11 +30,16 @@ import java.io.IOException;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;
+import java.net.http.HttpConnectTimeoutException;
+import java.net.http.HttpTimeoutException;
import java.security.cert.CertificateException;
-import javax.xml.ws.BindingProvider;
-import javax.xml.ws.soap.SOAPBinding;
+import at.gv.egiz.pdfas.common.exceptions.*;
+import jakarta.xml.ws.BindingProvider;
+import jakarta.xml.ws.WebServiceException;
+import jakarta.xml.ws.soap.SOAPBinding;
+import lombok.val;
import org.apache.commons.codec.binary.Base64;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
@@ -51,13 +56,6 @@ import at.gv.e_government.reference.namespace.moa._20020822_.MOAFault;
import at.gv.e_government.reference.namespace.moa._20020822_.MetaInfoType;
import at.gv.e_government.reference.namespace.moa._20020822_.SignatureCreationPortType;
import at.gv.e_government.reference.namespace.moa._20020822_.SignatureCreationService;
-import at.gv.egiz.pdfas.common.exceptions.ErrorConstants;
-import at.gv.egiz.pdfas.common.exceptions.PDFASError;
-import at.gv.egiz.pdfas.common.exceptions.PdfAsErrorCarrier;
-import at.gv.egiz.pdfas.common.exceptions.PdfAsException;
-import at.gv.egiz.pdfas.common.exceptions.PdfAsMOAException;
-import at.gv.egiz.pdfas.common.exceptions.PdfAsSignatureException;
-import at.gv.egiz.pdfas.common.exceptions.PdfAsWrappedIOException;
import at.gv.egiz.pdfas.common.settings.ISettings;
import at.gv.egiz.pdfas.common.utils.SettingsUtils;
import at.gv.egiz.pdfas.common.utils.StreamUtils;
@@ -134,18 +132,22 @@ public class MOAConnector implements ISignatureConnector,
URL certificateURL = new URL(certificateValue);
is = certificateURL.openStream();
this.certificate = new X509Certificate(is);
-
+
} catch (MalformedURLException e) {
logger.error(certificateValue + " is not a valid url but starts with http!");
throw new PdfAsWrappedIOException(new PdfAsException(certificateValue + " is not a valid url but!"));
-
+
} finally {
- if (is != null) {
- is.close();
-
- }
- }
-
+ if (is != null) {
+ is.close();
+
+ }
+ }
+ } else if (certificateValue.startsWith("base64:")) {
+ logger.debug("Loading base64 certificate: {}", certificateValue);
+
+ val cert = java.util.Base64.getDecoder().decode(certificateValue.substring(7));
+ this.certificate = new X509Certificate(cert);
} else {
File certFile = new File(certificateValue);
@@ -256,6 +258,9 @@ public class MOAConnector implements ISignatureConnector,
throw new PdfAsMOAException("", e.getMessage(), "", "");
}
+ } catch (WebServiceException e) {
+ val cause = (e.getCause() != null) ? e.getCause() : e;
+ throw new SLPdfAsException((int) ErrorConstants.ERROR_SIG_CONNECT_ERROR, cause.getMessage());
}
if (response.getCMSSignatureOrErrorResponse().size() != 1) {
diff --git a/pdf-as-moa/src/main/java/at/gv/egiz/pdfas/moa/MOAVerifier.java b/pdf-as-moa/src/main/java/at/gv/egiz/pdfas/moa/MOAVerifier.java
index 40ea4ba5..21d90681 100644
--- a/pdf-as-moa/src/main/java/at/gv/egiz/pdfas/moa/MOAVerifier.java
+++ b/pdf-as-moa/src/main/java/at/gv/egiz/pdfas/moa/MOAVerifier.java
@@ -5,10 +5,11 @@ import java.util.Date;
import java.util.GregorianCalendar;
import java.util.List;
-import javax.xml.bind.JAXBElement;
+import at.gv.egiz.pdfas.lib.impl.verify.SignatureInputData;
+import jakarta.xml.bind.JAXBElement;
import javax.xml.datatype.DatatypeFactory;
import javax.xml.datatype.XMLGregorianCalendar;
-import javax.xml.ws.BindingProvider;
+import jakarta.xml.ws.BindingProvider;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -44,7 +45,7 @@ public class MOAVerifier implements IVerifier {
private String moaTrustProfile;
- public List<VerifyResult> verify(byte[] signature, byte[] signatureContent,
+ public List<VerifyResult> verify(byte[] signature, SignatureInputData signatureContent,
Date verificationTime) throws PdfAsException {
List<VerifyResult> resultList = new ArrayList<VerifyResult>();
try {
@@ -68,7 +69,7 @@ public class MOAVerifier implements IVerifier {
metaDataType.setMetaInfo(metaInfoType);
CMSContentBaseType contentBase = new CMSContentBaseType();
- contentBase.setBase64Content(signatureContent);
+ contentBase.setBase64Content(signatureContent.getSignatureInputBytes());
metaDataType.setContent(contentBase);
verifyCMSSignatureRequest.setDataObject(metaDataType);
diff --git a/pdf-as-pdfbox-2/build.gradle b/pdf-as-pdfbox-2/build.gradle
index ef71aefe..67bb265d 100644
--- a/pdf-as-pdfbox-2/build.gradle
+++ b/pdf-as-pdfbox-2/build.gradle
@@ -30,21 +30,23 @@ releases.dependsOn jar
releases.dependsOn sourcesJar
dependencies {
+ var pdfbox2Version = '2.0.35'
implementation project (':pdf-as-lib')
implementation group: 'org.slf4j', name: 'slf4j-api', version: slf4jVersion
- implementation 'org.slf4j:jcl-over-slf4j:1.7.36'
- api group: 'org.apache.pdfbox', name: 'pdfbox', version: '2.0.35'
- api group: 'org.apache.pdfbox', name: 'pdfbox-tools', version: '2.0.35'
- api group: 'org.apache.pdfbox', name: 'preflight', version: '2.0.35'
- implementation group: 'commons-io', name: 'commons-io', version: '2.21.0'
- implementation group: 'ognl', name: 'ognl', version: '3.3.5'
+ implementation group: 'org.slf4j', name: 'jcl-over-slf4j', version: slf4jVersion
+ api group: 'org.apache.pdfbox', name: 'pdfbox', version: pdfbox2Version
+ api group: 'org.apache.pdfbox', name: 'pdfbox-tools', version: pdfbox2Version
+ api group: 'org.apache.pdfbox', name: 'preflight', version: pdfbox2Version
+ implementation group: 'commons-io', name: 'commons-io', version: commonsIoVersion
+ implementation group: 'ognl', name: 'ognl', version: ognlVersion
api group: 'com.github.jai-imageio', name: 'jai-imageio-jpeg2000', version: '1.4.0'
api group: 'com.github.jai-imageio', name: 'jai-imageio-core', version: '1.4.0'
api group: 'com.levigo.jbig2', name: 'levigo-jbig2-imageio', version: '2.0'
+ implementation group: 'jakarta.activation', name: 'jakarta.activation-api', version: jakartaActivationVersion
implementation group: 'javax.activation', name: 'activation', version: '1.1.1'
- testImplementation 'ch.qos.logback:logback-classic:1.2.13'
- testImplementation 'ch.qos.logback:logback-core:1.2.13'
+ testImplementation group: 'ch.qos.logback', name: 'logback-classic', version: logbackVersion
+ testImplementation group: 'ch.qos.logback', name: 'logback-core', version: logbackVersion
}
diff --git a/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/pdfbox2/PDFBOXObject.java b/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/pdfbox2/PDFBOXObject.java
index 53b87d86..e0947b46 100644
--- a/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/pdfbox2/PDFBOXObject.java
+++ b/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/pdfbox2/PDFBOXObject.java
@@ -2,7 +2,7 @@ package at.gv.egiz.pdfas.lib.impl.pdfbox2;
import java.io.IOException;
-import javax.activation.DataSource;
+import jakarta.activation.DataSource;
import org.apache.pdfbox.pdmodel.PDDocument;
@@ -28,21 +28,15 @@ public class PDFBOXObject extends PDFObject {
super(operationStatus);
}
- @Override
- protected void finalize() throws Throwable {
- super.finalize();
- if(doc != null) {
- doc.close();
- }
- }
+ // Note: finalize() method removed as it's deprecated in Java 9+
+ // Resource cleanup should be handled explicitly via close() method
public void close() {
if(doc != null) {
try {
doc.close();
- //System.gc();
} catch(Throwable e) {
- // ignore!
+ // Ignore Throwables during close
}
doc = null;
}
diff --git a/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/pdfbox2/configuration/ProfileValidator.java b/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/pdfbox2/configuration/ProfileValidator.java
index ee828705..97b6b66e 100644
--- a/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/pdfbox2/configuration/ProfileValidator.java
+++ b/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/pdfbox2/configuration/ProfileValidator.java
@@ -52,7 +52,7 @@ public class ProfileValidator implements ConfigurationValidator{
ArrayList<SignatureProfileSettings> profileSettings = new ArrayList<SignatureProfileSettings>();
- OperationStatus opState = new OperationStatus(settings, null, null);
+ OperationStatus opState = new OperationStatus(settings, null, null, null);
X509Certificate dummyCert = new X509Certificate();
dummyCert.setSerialNumber(new BigInteger("123"));
diff --git a/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/pdfbox2/placeholder/PDFBoxPlaceholderExtractor.java b/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/pdfbox2/placeholder/PDFBoxPlaceholderExtractor.java
index ad874bc0..414b8a31 100644
--- a/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/pdfbox2/placeholder/PDFBoxPlaceholderExtractor.java
+++ b/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/pdfbox2/placeholder/PDFBoxPlaceholderExtractor.java
@@ -1,6 +1,7 @@
package at.gv.egiz.pdfas.lib.impl.pdfbox2.placeholder;
import java.io.IOException;
+import java.lang.reflect.InvocationTargetException;
import at.gv.egiz.pdfas.common.exceptions.PDFIOException;
import at.gv.egiz.pdfas.common.exceptions.PdfAsException;
@@ -14,12 +15,12 @@ public class PDFBoxPlaceholderExtractor implements PlaceholderExtractor {
@Override
public SignaturePlaceholderData extract(PDFObject doc, String placeholderId, int matchMode) throws PdfAsException {
- if (doc instanceof PDFBOXObject) {
- PDFBOXObject object = (PDFBOXObject) doc;
- try {
+ if (doc instanceof PDFBOXObject object) {
+ try {
SignaturePlaceholderExtractor extractor = new SignaturePlaceholderExtractor();
return extractor.extract(object.getDocument(), placeholderId, matchMode);
- } catch (IOException | ClassNotFoundException | InstantiationException | IllegalAccessException e2) {
+ } catch (IOException | ClassNotFoundException | InstantiationException | IllegalAccessException | NoSuchMethodException |
+ InvocationTargetException e2) {
throw new PDFIOException("error.pdf.io.04", e2);
}
}
diff --git a/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/pdfbox2/placeholder/SignaturePlaceholderExtractor.java b/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/pdfbox2/placeholder/SignaturePlaceholderExtractor.java
index 0b148551..d90f02a1 100644
--- a/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/pdfbox2/placeholder/SignaturePlaceholderExtractor.java
+++ b/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/pdfbox2/placeholder/SignaturePlaceholderExtractor.java
@@ -50,16 +50,10 @@ import java.awt.geom.AffineTransform;
import java.awt.geom.NoninvertibleTransformException;
import java.awt.image.BufferedImage;
import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Collections;
+import java.lang.reflect.InvocationTargetException;
+import java.util.*;
import java.util.HashSet;
-import java.util.Hashtable;
-import java.util.List;
import java.util.Map.Entry;
-import java.util.Objects;
-import java.util.Properties;
-import java.util.Set;
-import java.util.Vector;
import java.util.stream.Collectors;
import org.apache.pdfbox.contentstream.PDFStreamEngine;
@@ -112,7 +106,7 @@ public class SignaturePlaceholderExtractor extends PDFStreamEngine implements Pl
private int currentPage = 0;
protected SignaturePlaceholderExtractor() throws IOException, ClassNotFoundException,
- InstantiationException, IllegalAccessException {
+ InstantiationException, IllegalAccessException, NoSuchMethodException, InvocationTargetException {
super();
final Properties properties = new Properties();
@@ -124,7 +118,7 @@ public class SignaturePlaceholderExtractor extends PDFStreamEngine implements Pl
final String processorClassName = (String) entry.getValue();
final Class<?> klass = Class.forName(processorClassName);
final org.apache.pdfbox.contentstream.operator.OperatorProcessor processor =
- (OperatorProcessor) klass.newInstance();
+ (OperatorProcessor) klass.getDeclaredConstructor().newInstance();
addOperator(processor);
@@ -198,17 +192,14 @@ public class SignaturePlaceholderExtractor extends PDFStreamEngine implements Pl
rotation.setToRotation(rotationInRadians);
final AffineTransform rotationInverse = rotation
.createInverse();
- final Matrix rotationInverseMatrix = new Matrix();
- rotationInverseMatrix
- .setFromAffineTransform(rotationInverse);
- final Matrix rotationMatrix = new Matrix();
- rotationMatrix.setFromAffineTransform(rotation);
+ final Matrix rotationInverseMatrix = new Matrix(rotationInverse);
+ final Matrix rotationMatrix = new Matrix(rotation);
final Matrix unrotatedCTM = ctm
.multiply(rotationInverseMatrix);
- float x = unrotatedCTM.getXPosition();
- final float yPos = unrotatedCTM.getYPosition();
+ float x = unrotatedCTM.getTranslateX();
+ final float yPos = unrotatedCTM.getTranslateY();
final float yScale = unrotatedCTM.getScaleY();
float y = yPos + yScale;
final float w = unrotatedCTM.getScaleX();
diff --git a/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/pdfbox2/positioning/Positioning.java b/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/pdfbox2/positioning/Positioning.java
index f9dc62fd..7b18d2f1 100644
--- a/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/pdfbox2/positioning/Positioning.java
+++ b/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/pdfbox2/positioning/Positioning.java
@@ -49,7 +49,7 @@ import lombok.extern.slf4j.Slf4j;
* change this template use File | Settings | File Templates.
*/
@Slf4j
-public class Positioning {
+public class Positioning {
/**
* The left/right margin.
diff --git a/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/pdfbox2/PADESPDFBOXSigner.java b/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/pdfbox2/PADESPDFBOXSigner.java
index d8a25a9a..db899ee8 100644
--- a/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/pdfbox2/PADESPDFBOXSigner.java
+++ b/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/pdfbox2/PADESPDFBOXSigner.java
@@ -29,6 +29,8 @@ import java.awt.image.BufferedImage;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
+import java.io.OutputStream;
+import java.security.Signature;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Collections;
@@ -36,7 +38,7 @@ import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
-import javax.activation.DataSource;
+import jakarta.activation.DataSource;
import org.apache.commons.io.IOUtils;
import org.apache.pdfbox.cos.COSArray;
@@ -110,29 +112,16 @@ import iaik.x509.X509Certificate;
import lombok.extern.slf4j.Slf4j;
@Slf4j
-public class PADESPDFBOXSigner implements IPdfSigner, IConfigurationConstants {
+public class PADESPDFBOXSigner implements IPdfSigner<PDFBOXObject, SignatureDataExtractor>, IConfigurationConstants {
@Override
- public void signPDF(PDFObject genericPdfObject, RequestedSignature requestedSignature,
- PDFASSignatureInterface genericSigner) throws PdfAsException {
+ public void signPDF(PDFBOXObject pdfObject, RequestedSignature requestedSignature,
+ SignatureDataExtractor signer) throws PdfAsException {
boolean isAdobeSigForm = false;
-
- if (!(genericPdfObject instanceof PDFBOXObject)) {
- throw new PdfAsException("PDF to signObject is of wrong type: " + genericPdfObject.getClass().getName());
-
- }
-
- if (!(genericSigner instanceof PDFASPDFBOXSignatureInterface)) {
- throw new PdfAsException("PDF signerObject is of wrong type:" + genericSigner.getClass().getName());
-
- }
-
- final PDFBOXObject pdfObject = (PDFBOXObject) genericPdfObject;
- final PDFASPDFBOXSignatureInterface signer = (PDFASPDFBOXSignatureInterface) genericSigner;
PDDocument doc = null;
SignatureOptions options = new SignatureOptions();
@@ -161,7 +150,7 @@ public class PADESPDFBOXSigner implements IPdfSigner, IConfigurationConstants {
// extract next QR-code placeholder, if exists
SignaturePlaceholderData nextPlaceholderData = PlaceholderFilter.checkPlaceholderSignatureLocation(
pdfObject.getStatus(), pdfObject.getStatus().getSettings(),
- pdfObject.getStatus().getSignParamter().getPlaceHolderId());
+ pdfObject.getStatus().getSignParameter().getPlaceHolderId());
if (nextPlaceholderData != null) {
log.info("Placeholder data found. Injection placeholderId ...");
@@ -214,7 +203,7 @@ public class PADESPDFBOXSigner implements IPdfSigner, IConfigurationConstants {
final SignatureProfileConfiguration signatureProfileConfiguration =
pdfObject.getStatus().getSignatureProfileConfiguration(requestedSignature.getSignatureProfileID());
final TablePos tablePos = prepareTablePosition(nextPlaceholderData, signatureProfileConfiguration,
- pdfObject.getStatus().getSignParamter().getSignaturePosition());
+ pdfObject.getStatus().getSignParameter().getSignaturePosition());
final Table main = TableFactory.createSigTable(signatureProfileSettings, MAIN, pdfObject.getStatus(),
requestedSignature);
@@ -456,13 +445,13 @@ public class PADESPDFBOXSigner implements IPdfSigner, IConfigurationConstants {
final COSDictionary objectDic = new COSDictionary();
objectDic.setName("Type", "OBJR");
- objectDic.setItem("Pg", signatureField.getWidget().getPage());
- objectDic.setItem("Obj", signatureField.getWidget());
+ objectDic.setItem("Pg", signatureField.getWidgets().get(0).getPage());
+ objectDic.setItem("Obj", signatureField.getWidgets().get(0));
final List<Object> l = new ArrayList<>();
l.add(objectDic);
sigBlock.setKids(l);
- sigBlock.setPage(signatureField.getWidget().getPage());
+ sigBlock.setPage(signatureField.getWidgets().get(0).getPage());
sigBlock.setTitle("Signature Table");
sigBlock.setParent(docElement);
@@ -530,13 +519,13 @@ public class PADESPDFBOXSigner implements IPdfSigner, IConfigurationConstants {
}
// set StructureParent for signature field annotation
- signatureField.getWidget().setStructParent(parentTreeNextKey);
+ signatureField.getWidgets().get(0).setStructParent(parentTreeNextKey);
// Increase the next Key value in the structure tree root
structureTreeRoot.setParentTreeNextKey(parentTreeNextKey + 1);
// add the Tabs /S Element for Tabbing through annots
- final PDPage p = signatureField.getWidget().getPage();
+ final PDPage p = signatureField.getWidgets().get(0).getPage();
p.getCOSObject().setName("Tabs", "S");
p.getCOSObject().setNeedToBeUpdated(true);
@@ -671,7 +660,12 @@ public class PADESPDFBOXSigner implements IPdfSigner, IConfigurationConstants {
PreflightDocument document = null;
ValidationResult result = null;
try {
- final PreflightParser parser = new PreflightParser(signedDocument);
+ final PreflightParser parser = new PreflightParser(new javax.activation.DataSource() {
+ @Override public InputStream getInputStream() throws IOException { return signedDocument.getInputStream(); }
+ @Override public OutputStream getOutputStream() throws IOException { return signedDocument.getOutputStream(); }
+ @Override public String getContentType() { return signedDocument.getContentType(); }
+ @Override public String getName() { return signedDocument.getName(); }
+ });
//
// parser.parse(Format.PDF_A1B);
parser.parse();
@@ -715,30 +709,18 @@ public class PADESPDFBOXSigner implements IPdfSigner, IConfigurationConstants {
}
@Override
- public PDFObject buildPDFObject(OperationStatus operationStatus) {
+ public PDFBOXObject buildPDFObject(OperationStatus operationStatus) {
return new PDFBOXObject(operationStatus);
}
@Override
- public PDFASSignatureInterface buildSignaturInterface(IPlainSigner signer, SignParameter parameters,
- RequestedSignature requestedSignature) {
- return new PdfboxSignerWrapper(signer, parameters, requestedSignature);
- }
-
- @Override
- public PDFASSignatureExtractor buildBlindSignaturInterface(X509Certificate certificate, String filter,
+ public SignatureDataExtractor buildBlindSignaturInterface(X509Certificate certificate, String filter,
String subfilter, Calendar date) {
return new SignatureDataExtractor(certificate, filter, subfilter, date);
}
@Override
- public void checkPDFPermissions(PDFObject genericPdfObject) throws PdfAsException {
- if (!(genericPdfObject instanceof PDFBOXObject)) {
- // tODO:
- throw new PdfAsException();
- }
-
- final PDFBOXObject pdfObject = (PDFBOXObject) genericPdfObject;
+ public void checkPDFPermissions(PDFBOXObject pdfObject) throws PdfAsException {
PdfBoxUtils.checkPDFPermissions(pdfObject.getDocument());
}
@@ -755,7 +737,7 @@ public class PADESPDFBOXSigner implements IPdfSigner, IConfigurationConstants {
int resolution, OperationStatus status, RequestedSignature requestedSignature) throws PDFASError {
try {
- final PDFBOXObject pdfObject = (PDFBOXObject) status.getPdfObject();
+ final PDFBOXObject pdfObject = (PDFBOXObject)(PDFBOXObject) status.getPdfObject();
final PDDocument origDoc = new PDDocument();
origDoc.addPage(new PDPage(PDRectangle.A4));
diff --git a/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/pdfbox2/PDFASPDFBOXExtractorInterface.java b/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/pdfbox2/PDFASPDFBOXExtractorInterface.java
deleted file mode 100644
index c99e7c59..00000000
--- a/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/pdfbox2/PDFASPDFBOXExtractorInterface.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package at.gv.egiz.pdfas.lib.impl.signing.pdfbox2;
-
-import at.gv.egiz.pdfas.lib.impl.signing.PDFASSignatureExtractor;
-
-public interface PDFASPDFBOXExtractorInterface extends PDFASSignatureExtractor, PDFASPDFBOXSignatureInterface {
-
-}
diff --git a/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/pdfbox2/PDFASPDFBOXSignatureInterface.java b/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/pdfbox2/PDFASPDFBOXSignatureInterface.java
deleted file mode 100644
index cc260ece..00000000
--- a/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/pdfbox2/PDFASPDFBOXSignatureInterface.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package at.gv.egiz.pdfas.lib.impl.signing.pdfbox2;
-
-import org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature;
-import org.apache.pdfbox.pdmodel.interactive.digitalsignature.SignatureInterface;
-
-import at.gv.egiz.pdfas.lib.impl.signing.PDFASSignatureInterface;
-
-public interface PDFASPDFBOXSignatureInterface extends PDFASSignatureInterface, SignatureInterface {
- public void setPDSignature(PDSignature signature);
-}
diff --git a/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/pdfbox2/PdfboxSignerWrapper.java b/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/pdfbox2/PdfboxSignerWrapper.java
deleted file mode 100644
index 7aaf1510..00000000
--- a/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/pdfbox2/PdfboxSignerWrapper.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- ******************************************************************************/
-package at.gv.egiz.pdfas.lib.impl.signing.pdfbox2;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.security.SignatureException;
-import java.util.Calendar;
-
-import org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import at.gv.egiz.pdfas.common.exceptions.PdfAsException;
-import at.gv.egiz.pdfas.common.exceptions.PdfAsWrappedIOException;
-import at.gv.egiz.pdfas.common.utils.PDFUtils;
-import at.gv.egiz.pdfas.common.utils.StreamUtils;
-import at.gv.egiz.pdfas.lib.api.sign.IPlainSigner;
-import at.gv.egiz.pdfas.lib.api.sign.SignParameter;
-import at.gv.egiz.pdfas.lib.impl.status.RequestedSignature;
-
-public class PdfboxSignerWrapper implements PDFASPDFBOXSignatureInterface {
-
- private static final Logger logger = LoggerFactory
- .getLogger(PdfboxSignerWrapper.class);
-
- private IPlainSigner signer;
- private PDSignature signature;
- private int[] byteRange;
- private Calendar date;
- private SignParameter parameters;
- private RequestedSignature requestedSignature;
-
- public PdfboxSignerWrapper(IPlainSigner signer, SignParameter parameters, RequestedSignature requestedSignature) {
- this.signer = signer;
- this.date = Calendar.getInstance();
- this.parameters = parameters;
- this.requestedSignature = requestedSignature;
- }
-
- public byte[] sign(InputStream inputStream) throws IOException {
- byte[] data = StreamUtils.inputStreamToByteArray(inputStream);
- byteRange = PDFUtils.extractSignatureByteRange(data);
- int[] byteRange2 = signature.getByteRange();
- logger.debug("Byte Range 2: " + byteRange2);
- try {
- logger.debug("Signing with Pdfbox Wrapper");
- byte[] signature = signer.sign(data, byteRange, this.parameters, this.requestedSignature);
-
- return signature;
- } catch (PdfAsException e) {
- throw new PdfAsWrappedIOException(e);
- }
- }
-
- public int[] getByteRange() {
- return byteRange;
- }
-
- public String getPDFSubFilter() {
- return this.signer.getPDFSubFilter();
- }
-
- public String getPDFFilter() {
- return this.signer.getPDFFilter();
- }
-
- public void setPDSignature(PDSignature signature) {
- this.signature = signature;
- }
-
- public Calendar getSigningDate() {
- return this.date;
- }
-}
diff --git a/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/pdfbox2/SignatureDataExtractor.java b/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/pdfbox2/SignatureDataExtractor.java
index 78e48e5e..41ff38aa 100644
--- a/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/pdfbox2/SignatureDataExtractor.java
+++ b/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/pdfbox2/SignatureDataExtractor.java
@@ -23,6 +23,8 @@
******************************************************************************/
package at.gv.egiz.pdfas.lib.impl.signing.pdfbox2;
+import at.gv.egiz.pdfas.lib.impl.signing.PDFASSignatureExtractor;
+import at.gv.egiz.pdfas.lib.impl.signing.PDFASSignatureInterface;
import iaik.x509.X509Certificate;
import java.io.IOException;
@@ -30,19 +32,23 @@ import java.io.InputStream;
import java.security.SignatureException;
import java.util.Calendar;
+import lombok.Getter;
import org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature;
import at.gv.egiz.pdfas.common.utils.StreamUtils;
+import org.apache.pdfbox.pdmodel.interactive.digitalsignature.SignatureInterface;
-public class SignatureDataExtractor implements PDFASPDFBOXExtractorInterface {
+public class SignatureDataExtractor implements PDFASSignatureExtractor, PDFASSignatureInterface, SignatureInterface {
- protected X509Certificate certificate;
- protected byte[] signatureData;
+ @Getter
+ protected X509Certificate certificate;
+ @Getter
+ protected byte[] signatureData;
protected String pdfSubFilter;
protected String pdfFilter;
- protected PDSignature signature;
- protected int[] byteRange;
+ @Getter
+ protected int[] byteRange;
protected Calendar date;
public SignatureDataExtractor(X509Certificate certificate,
@@ -52,41 +58,29 @@ public class SignatureDataExtractor implements PDFASPDFBOXExtractorInterface {
this.pdfSubFilter = subfilter;
this.date = date;
}
-
- public X509Certificate getCertificate() {
- return certificate;
- }
- public String getPDFSubFilter() {
+ public String getPDFSubFilter() {
return this.pdfSubFilter;
}
- public String getPDFFilter() {
+ public String getPDFFilter() {
return this.pdfFilter;
}
- public byte[] getSignatureData() {
- return this.signatureData;
- }
-
- public byte[] sign(InputStream content) throws IOException {
- signatureData = StreamUtils.inputStreamToByteArray(content);
- byteRange = this.signature.getByteRange();
- return new byte[] { 0 };
- }
-
- public void setPDSignature(PDSignature signature) {
- this.signature = signature;
- }
+ /** Called by PDFBox.
+ * We save the data to be signed and return an all-zeros signature (padded by pdfbox).
+ * We splice the actual signature in at a later point.
+ */
+ public byte[] sign(InputStream content) throws IOException {
+ this.signatureData = StreamUtils.inputStreamToByteArray(content);
+ return new byte[] { 0 };
+ }
- public int[] getByteRange() {
- return byteRange;
- }
+ public void setPDSignature(PDSignature signature) {
+ this.byteRange = signature.getByteRange();
+ }
- public Calendar getSigningDate() {
- return this.date;
- }
-
-
-
+ public Calendar getSigningDate() {
+ return this.date;
+ }
}
diff --git a/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/pdfbox2/PDFAsVisualSignatureBuilder.java b/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/pdfbox2/PDFAsVisualSignatureBuilder.java
index a148b3ec..5501eff8 100644
--- a/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/pdfbox2/PDFAsVisualSignatureBuilder.java
+++ b/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/pdfbox2/PDFAsVisualSignatureBuilder.java
@@ -29,6 +29,7 @@ import java.awt.image.BufferedImage;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
+import java.nio.charset.StandardCharsets;
import java.security.MessageDigest;
import java.util.ArrayList;
import java.util.HashMap;
@@ -377,9 +378,9 @@ public class PDFAsVisualSignatureBuilder extends PDVisibleSigBuilder implements
public void createSignature(PDSignatureField pdSignatureField, PDPage page,
String signatureName) throws IOException {
PDSignature pdSignature = new PDSignature();
- pdSignatureField.setSignature(pdSignature);
- pdSignatureField.getWidget().setPage(page);
- page.getAnnotations().add(pdSignatureField.getWidget());
+ pdSignatureField.setValue(pdSignature);
+ pdSignatureField.getWidgets().get(0).setPage(page);
+ page.getAnnotations().add(pdSignatureField.getWidgets().get(0));
pdSignature.setName(signatureName);
pdSignature.setByteRange(new int[] { 0, 0, 0, 0 });
pdSignature.setContents(new byte[4096]);
@@ -389,7 +390,6 @@ public class PDFAsVisualSignatureBuilder extends PDVisibleSigBuilder implements
public void createAcroFormDictionary(PDAcroForm acroForm,
PDSignatureField signatureField) throws IOException {
- @SuppressWarnings("unchecked")
List<PDField> acroFormFields = acroForm.getFields();
COSDictionary acroFormDict = acroForm.getCOSObject();
acroFormDict.setDirect(true);
@@ -481,7 +481,7 @@ public class PDFAsVisualSignatureBuilder extends PDVisibleSigBuilder implements
rect.setLowerLeftX((float) llDst.getX());
logger.debug("rectangle of signature has been created: {}",
rect.toString());
- signatureField.getWidget().setRectangle(rect);
+ signatureField.getWidgets().get(0).setRectangle(rect);
getStructure().setSignatureRectangle(rect);
logger.debug("rectangle of signature has been created");
}
@@ -553,13 +553,13 @@ public class PDFAsVisualSignatureBuilder extends PDVisibleSigBuilder implements
appearance.getCOSObject().setDirect(true);
PDAppearanceStream appearanceStream = new PDAppearanceStream(
- holderForml.getCOSStream());
+ holderForml.getCOSObject());
AffineTransform transform = new AffineTransform();
transform.setToIdentity();
transform.rotate(Math.toRadians(degrees));
appearanceStream.setMatrix(transform);
appearance.setNormalAppearance(appearanceStream);
- signatureField.getWidget().setAppearance(appearance);
+ signatureField.getWidgets().get(0).setAppearance(appearance);
getStructure().setAppearanceDictionary(appearance);
logger.debug("PDF appereance Dictionary has been created");
@@ -586,7 +586,7 @@ public class PDFAsVisualSignatureBuilder extends PDVisibleSigBuilder implements
PDResources holderFormResources) {
COSName name = holderFormResources.add(innerForm, "FRM");//TODO: pdfbox2 - is this right?
getStructure().setInnerFormName(name);
- logger.debug("Alerady inserted inner form inside holder form");
+ logger.debug("Already inserted inner form inside holder form");
}
public void createImageFormStream(PDDocument template) {
@@ -637,7 +637,7 @@ public class PDFAsVisualSignatureBuilder extends PDVisibleSigBuilder implements
public void appendRawCommands(OutputStream os, String commands)
throws IOException {
- os.write(commands.getBytes("UTF-8"));
+ os.write(commands.getBytes(StandardCharsets.UTF_8));
os.close();
}
@@ -678,8 +678,7 @@ public class PDFAsVisualSignatureBuilder extends PDVisibleSigBuilder implements
COSName fontName = cosNameIterator.next();
PDFont pdFont = page.getResources().getFont(fontName);
- if (pdFont instanceof PDType0Font) {
- PDType0Font typedFont = (PDType0Font) pdFont;
+ if (pdFont instanceof PDType0Font typedFont) {
if (typedFont.getDescendantFont() != null) {
if (typedFont.getDescendantFont().getFontDescriptor() != null) {
diff --git a/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/pdfbox2/PDFAsVisualSignatureDesigner.java b/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/pdfbox2/PDFAsVisualSignatureDesigner.java
index 33450b56..6e198bba 100644
--- a/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/pdfbox2/PDFAsVisualSignatureDesigner.java
+++ b/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/pdfbox2/PDFAsVisualSignatureDesigner.java
@@ -284,7 +284,7 @@ public class PDFAsVisualSignatureDesigner {
/**
*
- * @param imgageStream
+ * @param imageStream
* - stream of your visible signature image
* @return Visible Signature Configuration Object
* @throws IOException
diff --git a/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/pdfbox2/PDFBoxFont.java b/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/pdfbox2/PDFBoxFont.java
index 5607d582..58779f09 100644
--- a/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/pdfbox2/PDFBoxFont.java
+++ b/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/pdfbox2/PDFBoxFont.java
@@ -161,7 +161,7 @@ public class PDFBoxFont {
String fontName = fonttype.replaceFirst("TTF:", "");
String fontPath = this.settings.getWorkingDirectory() + File.separator + "fonts" + File.separator + fontName;
- logger.debug("Font from: \"" + fontPath + "\".");
+ logger.debug("Font from: \"{}\".", fontPath);
PDFAsFontCache fontCache = pdfObject.getSigBlockFontCache();
if(fontCache.contains(fontPath)){
logger.debug("Using cached font.");
@@ -189,8 +189,11 @@ public class PDFBoxFont {
boolean requirePDFA3 = signatureProfileSettings.isPDFA3();
*/
- PDType0Font font = PDType0Font.load(pdfObject.getDocument(), new FileInputStream(fontPath));
- fontCache.addFont(fontPath,font);
+ PDType0Font font;
+ try (FileInputStream fontStream = new FileInputStream(fontPath)) {
+ font = PDType0Font.load(pdfObject.getDocument(), fontStream);
+ }
+ fontCache.addFont(fontPath, font);
return font;
@@ -242,7 +245,7 @@ public class PDFBoxFont {
PDFBOXObject pdfObject) throws IOException {
this.settings = settings;
this.fontDesc = fontDesc;
- logger.debug("Creating Font: " + fontDesc);
+ logger.debug("Creating Font: {}", fontDesc);
this.setFont(fontDesc, pdfObject);
}
diff --git a/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/pdfbox2/PDFBoxTable.java b/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/pdfbox2/PDFBoxTable.java
index bc634dc5..4d8050b5 100644
--- a/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/pdfbox2/PDFBoxTable.java
+++ b/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/pdfbox2/PDFBoxTable.java
@@ -65,7 +65,6 @@ public class PDFBoxTable {
float tableHeight;
Color bgColor;
- boolean[] addPadding;
float[] rowHeights;
float[] colWidths;
@@ -215,7 +214,6 @@ public class PDFBoxTable {
PdfAsException {
int rows = this.table.getRows().size();
rowHeights = new float[rows];
- addPadding = new boolean[rows];
for (int i = 0; i < rows; i++) {
rowHeights[i] = 0;
@@ -521,16 +519,12 @@ public class PDFBoxTable {
try {
byte[] linebytes = StringUtils.applyWinAnsiEncoding(lines[i]);
for (int j = 0; j < linebytes.length; j++) {
- float he = c.getHeight(linebytes[j]) / 1000
+ float he = c.getBoundingBox().getHeight() / 1000
* fontSize;
if (he > maxLineHeight) {
maxLineHeight = he;
}
}
- } catch (UnsupportedEncodingException e) {
- logger.warn("failed to determine String height", e);
- maxLineHeight = c.getFontDescriptor().getCapHeight() / 1000
- * fontSize;
} catch (IOException e) {
logger.warn("failed to determine String height", e);
maxLineHeight = c.getFontDescriptor().getCapHeight() / 1000
diff --git a/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/pdfbox2/PdfBoxStamper.java b/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/pdfbox2/PdfBoxStamper.java
index f89d53c5..acb75560 100644
--- a/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/pdfbox2/PdfBoxStamper.java
+++ b/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/pdfbox2/PdfBoxStamper.java
@@ -35,7 +35,7 @@ import at.gv.egiz.pdfas.lib.impl.status.PDFObject;
import at.knowcenter.wag.egov.egiz.pdf.PositioningInstruction;
import at.knowcenter.wag.egov.egiz.table.Table;
-public class PdfBoxStamper implements IPDFStamper {
+public class PdfBoxStamper implements IPDFStamper<PDFBOXObject> {
// private static final Logger logger = LoggerFactory.getLogger(PdfBoxStamper.class);
@@ -45,23 +45,12 @@ public class PdfBoxStamper implements IPDFStamper {
// this.pdfBuilder = new PDVisibleSigBuilder();
}
- public IPDFVisualObject createVisualPDFObject(PDFObject pdf, Table table) throws IOException {
+ public IPDFVisualObject createVisualPDFObject(PDFBOXObject pdfboxObject, Table table) throws IOException {
try {
- PDFBOXObject pdfboxObject = (PDFBOXObject)pdf;
- return new PdfBoxVisualObject(table, pdf.getStatus().getSettings(), pdfboxObject);
+ return new PdfBoxVisualObject(table, pdfboxObject.getStatus().getSettings(), pdfboxObject);
} catch (PdfAsException e) {
throw new PdfAsWrappedIOException(e);
}
}
- public byte[] writeVisualObject(IPDFVisualObject visualObject,
- PositioningInstruction positioningInstruction, byte[] pdfData,
- String placeholderName) throws PdfAsException {
- return null;
- }
-
- public void setSettings(ISettings settings) {
- // not needed currently
- }
-
}
diff --git a/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/pdfbox2/StamperFactory.java b/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/pdfbox2/StamperFactory.java
index 90561740..88a21c36 100644
--- a/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/pdfbox2/StamperFactory.java
+++ b/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/pdfbox2/StamperFactory.java
@@ -2,6 +2,7 @@ package at.gv.egiz.pdfas.lib.impl.stamping.pdfbox2;
import at.gv.egiz.pdfas.common.exceptions.PdfAsException;
import at.gv.egiz.pdfas.common.settings.ISettings;
+import at.gv.egiz.pdfas.lib.impl.pdfbox2.PDFBOXObject;
import at.gv.egiz.pdfas.lib.impl.stamping.IPDFStamper;
public class StamperFactory {
@@ -9,14 +10,14 @@ public class StamperFactory {
//public static final String DEFAULT_STAMPER_CLASS = "at.gv.egiz.pdfas.stmp.itext.ITextStamper";
public static final String DEFAULT_STAMPER_CLASS = "at.gv.egiz.pdfas.lib.impl.stamping.pdfbox2.PdfBoxStamper";
- public static IPDFStamper createDefaultStamper(ISettings settings) throws PdfAsException {
+ public static IPDFStamper<PDFBOXObject> createDefaultStamper(ISettings settings) throws PdfAsException {
try {
Class<?> cls = Class.forName(DEFAULT_STAMPER_CLASS);
- Object st = cls.newInstance();
+ Object st = cls.getDeclaredConstructor().newInstance();
if (!(st instanceof IPDFStamper))
throw new ClassCastException();
- IPDFStamper stamper = (IPDFStamper) st;
- stamper.setSettings(settings);
+ @SuppressWarnings("unchecked")
+ IPDFStamper<PDFBOXObject> stamper = (IPDFStamper<PDFBOXObject>) st;
return stamper;
} catch (Throwable e) {
throw new PdfAsException("error.pdf.stamp.10", e);
diff --git a/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/pdfbox2/TableDrawUtils.java b/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/pdfbox2/TableDrawUtils.java
index d49a6518..8df2ca59 100644
--- a/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/pdfbox2/TableDrawUtils.java
+++ b/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/pdfbox2/TableDrawUtils.java
@@ -26,6 +26,7 @@ package at.gv.egiz.pdfas.lib.impl.stamping.pdfbox2;
import java.awt.Color;
import java.io.IOException;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Iterator;
import java.util.Map;
@@ -486,22 +487,18 @@ public class TableDrawUtils {
float[] colsSizes = new float[max_cols];
if (origcolsSizes == null) {
// set the column ratio for all columns to 1
- for (int cols_idx = 0; cols_idx < colsSizes.length; cols_idx++) {
- colsSizes[cols_idx] = 1;
- }
+ Arrays.fill(colsSizes, 1);
} else {
// set the column ratio for all columns to 1
- for (int cols_idx = 0; cols_idx < colsSizes.length; cols_idx++) {
- colsSizes[cols_idx] = origcolsSizes[cols_idx];
- }
+ System.arraycopy(origcolsSizes, 0, colsSizes, 0, colsSizes.length);
}
// adapt
float total = 0;
- for (int cols_idx = 0; cols_idx < colsSizes.length; cols_idx++) {
- total += colsSizes[cols_idx];
- }
+ for (float colsSize : colsSizes) {
+ total += colsSize;
+ }
for (int cols_idx = 0; cols_idx < colsSizes.length; cols_idx++) {
colsSizes[cols_idx] = (colsSizes[cols_idx] / total)
@@ -510,9 +507,9 @@ public class TableDrawUtils {
float sum = 0;
- for (int cols_idx = 0; cols_idx < colsSizes.length; cols_idx++) {
- sum += colsSizes[cols_idx];
- }
+ for (float colsSize : colsSizes) {
+ sum += colsSize;
+ }
logger.debug("Table Col Sizes SUM {} Table Width {}", sum,
abstractTable.getWidth());
@@ -521,6 +518,14 @@ public class TableDrawUtils {
return colsSizes;
}
+ private static void drawLine(PDPageContentStream stream, float startX, float startY, float endX, float endY)
+ throws IOException
+ {
+ stream.moveTo(startX, startY);
+ stream.lineTo(endX, endY);
+ stream.stroke();
+ }
+
public static void drawBorder(PDPage page,
PDPageContentStream contentStream, float x, float y, float width,
float height, PDFBoxTable abstractTable, PDDocument doc,
@@ -545,7 +550,7 @@ public class TableDrawUtils {
// draw first line
logger.debug("ROW LINE: {} {} {} {}", x_from, y_from, x_to,
y_from);
- contentStream.drawLine(x, y_from, x_to, y_from);
+ drawLine(contentStream, x, y_from, x_to, y_from);
// Draw all row borders
for (int i = 0; i < rows; i++) {
@@ -554,7 +559,7 @@ public class TableDrawUtils {
// Draw row border!
logger.debug("ROW LINE: {} {} {} {}", x_from, y_from, x_to,
y_from);
- contentStream.drawLine(x, y_from, x_to, y_from);
+ drawLine(contentStream, x, y_from, x_to, y_from);
}
@@ -573,7 +578,7 @@ public class TableDrawUtils {
logger.debug("COL LINE: {} {} {} {}", x_from, y_from,
x_from, y_to);
- contentStream.drawLine(x_from, y_from, x_from, y_to);
+ drawLine(contentStream, x_from, y_from, x_from, y_to);
for (int j = 0; j < row.size(); j++) {
Entry cell = (Entry) row.get(j);
@@ -585,7 +590,7 @@ public class TableDrawUtils {
}
logger.debug("COL LINE: {} {} {} {}", x_from, y_from,
x_from, y_to);
- contentStream.drawLine(x_from, y_from, x_from, y_to);
+ drawLine(contentStream, x_from, y_from, x_from, y_to);
}
if (i + 1 < rows) {
@@ -608,8 +613,9 @@ public class TableDrawUtils {
try {
if (abstractTable.getBGColor() != null) {
contentStream.setNonStrokingColor(abstractTable.getBGColor());
- contentStream.fillRect(x, y, abstractTable.getWidth(),
- abstractTable.getHeight());
+ contentStream
+ .addRect(x, y, abstractTable.getWidth(), abstractTable.getHeight());
+ contentStream.fill();
contentStream.setNonStrokingColor(Color.BLACK);
}
} catch (Throwable e) {
@@ -623,13 +629,13 @@ public class TableDrawUtils {
if ("true".equals(settings.getValue(TABLE_DEBUG))) {
try {
contentStream.setStrokingColor(Color.RED);
- contentStream.drawLine(x, y, x + width, y);
+ drawLine(contentStream, x, y, x + width, y);
contentStream.setStrokingColor(Color.BLUE);
- contentStream.drawLine(x, y, x, y - height);
+ drawLine(contentStream, x, y, x, y - height);
contentStream.setStrokingColor(Color.GREEN);
- contentStream.drawLine(x + width, y, x + width, y - height);
+ drawLine(contentStream, x + width, y, x + width, y - height);
contentStream.setStrokingColor(Color.ORANGE);
- contentStream.drawLine(x, y - height, x + width, y - height);
+ drawLine(contentStream, x, y - height, x + width, y - height);
contentStream.setStrokingColor(Color.BLACK);
} catch (Throwable e) {
@@ -643,15 +649,15 @@ public class TableDrawUtils {
if ("true".equals(settings.getValue(TABLE_DEBUG))) {
try {
contentStream.setStrokingColor(Color.RED);
- contentStream.drawLine(x, y, x + width, y);
+ drawLine(contentStream, x, y, x + width, y);
contentStream.setStrokingColor(Color.BLUE);
- contentStream.drawLine(x, y, x, y - height);
+ drawLine(contentStream, x, y, x, y - height);
contentStream.setStrokingColor(Color.GREEN);
- contentStream.drawLine(x + width, y, x + width, y - height);
+ drawLine(contentStream, x + width, y, x + width, y - height);
contentStream.setStrokingColor(Color.ORANGE);
- contentStream.drawLine(x, y - height, x + width, y - height);
+ drawLine(contentStream, x, y - height, x + width, y - height);
contentStream.setStrokingColor(Color.MAGENTA);
- contentStream.drawLine(x, y + (descent * (-1)) - height, x + width, y + (descent * (-1)) - height);
+ drawLine(contentStream, x, y + (descent * (-1)) - height, x + width, y + (descent * (-1)) - height);
contentStream.setStrokingColor(Color.BLACK);
} catch (Throwable e) {
@@ -666,12 +672,12 @@ public class TableDrawUtils {
if ("true".equals(settings.getValue(TABLE_DEBUG))) {
try {
contentStream.setStrokingColor(Color.RED);
- contentStream.drawLine(x, y, x + padding, y - padding);
- contentStream.drawLine(x + width, y, x + width - padding, y
+ drawLine(contentStream, x, y, x + padding, y - padding);
+ drawLine(contentStream, x + width, y, x + width - padding, y
- padding);
- contentStream.drawLine(x + width, y - height, x + width
+ drawLine(contentStream, x + width, y - height, x + width
- padding, y - height + padding);
- contentStream.drawLine(x, y - height, x + padding, y - height
+ drawLine(contentStream, x, y - height, x + padding, y - height
+ padding);
contentStream.setStrokingColor(Color.BLACK);
} catch (Throwable e) {
diff --git a/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/verify/pdfbox2/PDFBOXVerifier.java b/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/verify/pdfbox2/PDFBOXVerifier.java
index 1fab2793..0c943027 100644
--- a/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/verify/pdfbox2/PDFBOXVerifier.java
+++ b/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/verify/pdfbox2/PDFBOXVerifier.java
@@ -5,6 +5,7 @@ import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
+import at.gv.egiz.pdfas.lib.impl.verify.*;
import org.apache.commons.io.IOUtils;
import org.apache.pdfbox.cos.COSArray;
import org.apache.pdfbox.cos.COSBase;
@@ -21,10 +22,6 @@ import at.gv.egiz.pdfas.common.settings.ISettings;
import at.gv.egiz.pdfas.lib.api.verify.VerifyParameter;
import at.gv.egiz.pdfas.lib.api.verify.VerifyResult;
import at.gv.egiz.pdfas.lib.impl.ErrorExtractor;
-import at.gv.egiz.pdfas.lib.impl.verify.IVerifier;
-import at.gv.egiz.pdfas.lib.impl.verify.IVerifyFilter;
-import at.gv.egiz.pdfas.lib.impl.verify.VerifierDispatcher;
-import at.gv.egiz.pdfas.lib.impl.verify.VerifyBackend;
public class PDFBOXVerifier implements VerifyBackend {
@@ -148,27 +145,18 @@ public class PDFBOXVerifier implements VerifyBackend {
logger.debug("Filter: " + dict.getNameAsString("Filter"));
logger.debug("Modified: " + dict.getNameAsString("M"));
COSArray byteRange = (COSArray) dict.getDictionaryObject("ByteRange");
-
+
StringBuilder sb = new StringBuilder();
- int[] bytes = new int[byteRange.size()];
+ final int[] bytes = new int[byteRange.size()];
for (int j = 0; j < byteRange.size(); j++) {
bytes[j] = byteRange.getInt(j);
sb.append(" " + bytes[j]);
}
-
+
logger.debug("ByteRange" + sb.toString());
COSString content = (COSString) dict.getDictionaryObject("Contents");
- ByteArrayOutputStream contentData = new ByteArrayOutputStream();
- for (int j = 0; j < bytes.length; j = j + 2) {
- int offset = bytes[j];
- int length = bytes[j + 1];
-
- contentData.write(inputData, offset, length);
- }
- contentData.close();
-
IVerifyFilter verifyFilter = verifier.getVerifier(dict.getNameAsString("Filter"),
dict.getNameAsString("SubFilter"));
@@ -176,8 +164,8 @@ public class PDFBOXVerifier implements VerifyBackend {
synchronized (lvlVerifier) {
lvlVerifier.setConfiguration(parameter.getConfiguration());
if (verifyFilter != null) {
- List<VerifyResult> results = verifyFilter.verify(contentData.toByteArray(),
- content.getBytes(), parameter.getVerificationTime(), bytes, lvlVerifier);
+ List<VerifyResult> results = verifyFilter.verify(new SignatureInputData(inputData, bytes),
+ content.getBytes(), parameter.getVerificationTime(), lvlVerifier);
if (results != null && !results.isEmpty()) {
result.addAll(results);
}
diff --git a/pdf-as-pdfbox-2/src/main/java/at/knowcenter/wag/egov/egiz/pdfbox2/pdf/PDFPage.java b/pdf-as-pdfbox-2/src/main/java/at/knowcenter/wag/egov/egiz/pdfbox2/pdf/PDFPage.java
index a3e68c95..c49d99a5 100644
--- a/pdf-as-pdfbox-2/src/main/java/at/knowcenter/wag/egov/egiz/pdfbox2/pdf/PDFPage.java
+++ b/pdf-as-pdfbox-2/src/main/java/at/knowcenter/wag/egov/egiz/pdfbox2/pdf/PDFPage.java
@@ -55,6 +55,8 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import lombok.Getter;
+import lombok.Setter;
import org.apache.commons.lang3.math.NumberUtils;
import org.apache.pdfbox.contentstream.operator.Operator;
import org.apache.pdfbox.contentstream.operator.OperatorProcessor;
@@ -127,8 +129,21 @@ public class PDFPage extends PDFTextStripper{
/**
* The path currently being constructed.
- */
- private GeneralPath currentPath = new GeneralPath();
+ * -- SETTER --
+ * Sets the current path.
+ *
+ *
+ * -- GETTER --
+ * Returns the path currently being constructed.
+ *
+ @param currentPath
+ * The new current path.
+ * @return The path currently being constructed.
+
+ */
+ @Getter
+ @Setter
+ private GeneralPath currentPath = new GeneralPath();
private boolean legacy40;
@@ -155,8 +170,7 @@ public class PDFPage extends PDFTextStripper{
this.effectivePageHeight = effectivePageHeight;
OperatorProcessor newInvoke = new MyInvoke(this);
- newInvoke.setContext(this);
- this.registerOperatorProcessor("Do", newInvoke);
+ this.addOperator(newInvoke);
if (!legacy32) {
registerCustomPathOperators();
@@ -172,32 +186,26 @@ public class PDFPage extends PDFTextStripper{
private void registerCustomPathOperators() {
// *** path construction
- this.registerOperatorProcessor("m", new MoveTo(this));
- this.registerOperatorProcessor("l", new LineTo(this));
- this.registerOperatorProcessor("c", new CurveTo(this));
- this.registerOperatorProcessor("y",
- new CurveToReplicateFinalPoint(this));
- this.registerOperatorProcessor("v", new CurveToReplicateInitialPoint(
- this));
- this.registerOperatorProcessor("h", new ClosePath(this));
+ this.addOperator(new MoveTo(this));
+ this.addOperator(new LineTo(this));
+ this.addOperator(new CurveTo(this));
+ this.addOperator(new CurveToReplicateFinalPoint(this));
+ this.addOperator(new CurveToReplicateInitialPoint(this));
+ this.addOperator(new ClosePath(this));
// *** path painting
// "S": stroke path
- this.registerOperatorProcessor("S", new StrokePath(this));
- this.registerOperatorProcessor("s", new CloseAndStrokePath(this));
- this.registerOperatorProcessor("f",
- new FillPathNonZeroWindingNumberRule(this));
- this.registerOperatorProcessor("F",
- new FillPathNonZeroWindingNumberRule(this));
- this.registerOperatorProcessor("f*", new FillPathEvenOddRule(this));
- this.registerOperatorProcessor("b", new CloseFillNonZeroAndStrokePath(
- this));
- this.registerOperatorProcessor("B", new FillNonZeroAndStrokePath(this));
- this.registerOperatorProcessor("b*", new CloseFillEvenOddAndStrokePath(
- this));
- this.registerOperatorProcessor("B*", new FillEvenOddAndStrokePath(this));
- this.registerOperatorProcessor("n", new EndPath(this));
+ this.addOperator(new StrokePath(this));
+ this.addOperator(new CloseAndStrokePath(this));
+ this.addOperator(new FillPathNonZeroWindingNumberRule(this, true));
+ this.addOperator(new FillPathNonZeroWindingNumberRule(this, false));
+ this.addOperator(new FillPathEvenOddRule(this));
+ this.addOperator(new CloseFillNonZeroAndStrokePath(this));
+ this.addOperator(new FillNonZeroAndStrokePath(this));
+ this.addOperator(new CloseFillEvenOddAndStrokePath(this));
+ this.addOperator(new FillEvenOddAndStrokePath(this));
+ this.addOperator(new EndPath(this));
// Note: The graphic context
// (org.pdfbox.pdmodel.graphics.PDGraphicsState) of the underlying
@@ -209,26 +217,7 @@ public class PDFPage extends PDFTextStripper{
}
- /**
- * Returns the path currently being constructed.
- *
- * @return The path currently being constructed.
- */
- public GeneralPath getCurrentPath() {
- return currentPath;
- }
-
- /**
- * Sets the current path.
- *
- * @param currentPath
- * The new current path.
- */
- public void setCurrentPath(GeneralPath currentPath) {
- this.currentPath = currentPath;
- }
-
- /**
+ /**
* Registers a rectangle that bounds the path currently being drawn.
*
* @param bounds
@@ -448,8 +437,8 @@ public class PDFPage extends PDFTextStripper{
PDXObject xobject = context.getResources().getXObject(name);
- PDStream stream = xobject.getPDStream();
- COSStream cos_stream = stream.getStream();
+ PDStream stream = xobject.getStream();
+ COSStream cos_stream = stream.getCOSObject();
COSName subtype = (COSName) cos_stream
.getDictionaryObject(COSName.SUBTYPE);
@@ -550,8 +539,7 @@ public class PDFPage extends PDFTextStripper{
@Override
public String getName() {
- // TODO Auto-generated method stub
- return null;
+ return "Do";
}
}
diff --git a/pdf-as-pdfbox-2/src/main/java/at/knowcenter/wag/egov/egiz/pdfbox2/pdf/operator/path/construction/ClosePath.java b/pdf-as-pdfbox-2/src/main/java/at/knowcenter/wag/egov/egiz/pdfbox2/pdf/operator/path/construction/ClosePath.java
index 50b3b4d0..098ce8f6 100644
--- a/pdf-as-pdfbox-2/src/main/java/at/knowcenter/wag/egov/egiz/pdfbox2/pdf/operator/path/construction/ClosePath.java
+++ b/pdf-as-pdfbox-2/src/main/java/at/knowcenter/wag/egov/egiz/pdfbox2/pdf/operator/path/construction/ClosePath.java
@@ -91,8 +91,7 @@ public class ClosePath extends PathConstructionOperatorProcessor {
@Override
public String getName() {
- // TODO Auto-generated method stub
- return null;
+ return "h";
}
}
diff --git a/pdf-as-pdfbox-2/src/main/java/at/knowcenter/wag/egov/egiz/pdfbox2/pdf/operator/path/construction/CurveTo.java b/pdf-as-pdfbox-2/src/main/java/at/knowcenter/wag/egov/egiz/pdfbox2/pdf/operator/path/construction/CurveTo.java
index da1288d3..e6b76400 100644
--- a/pdf-as-pdfbox-2/src/main/java/at/knowcenter/wag/egov/egiz/pdfbox2/pdf/operator/path/construction/CurveTo.java
+++ b/pdf-as-pdfbox-2/src/main/java/at/knowcenter/wag/egov/egiz/pdfbox2/pdf/operator/path/construction/CurveTo.java
@@ -87,9 +87,9 @@ public class CurveTo extends PathConstructionOperatorProcessor {
COSNumber x3 = (COSNumber) operands.get(4);
COSNumber y3 = (COSNumber) operands.get(5);
- Point2D p1 = transform(x1.doubleValue(), y1.doubleValue());
- Point2D p2 = transform(x2.doubleValue(), y2.doubleValue());
- Point2D p3 = transform(x3.doubleValue(), y3.doubleValue());
+ Point2D p1 = transform(x1.floatValue(), y1.floatValue());
+ Point2D p2 = transform(x2.floatValue(), y2.floatValue());
+ Point2D p3 = transform(x3.floatValue(), y3.floatValue());
pdfPage.getCurrentPath().curveTo(
(float) p1.getX(), (float) p1.getY(),
@@ -108,8 +108,7 @@ public class CurveTo extends PathConstructionOperatorProcessor {
@Override
public String getName() {
- // TODO Auto-generated method stub
- return null;
+ return "c";
}
}
diff --git a/pdf-as-pdfbox-2/src/main/java/at/knowcenter/wag/egov/egiz/pdfbox2/pdf/operator/path/construction/CurveToReplicateFinalPoint.java b/pdf-as-pdfbox-2/src/main/java/at/knowcenter/wag/egov/egiz/pdfbox2/pdf/operator/path/construction/CurveToReplicateFinalPoint.java
index 458e8b3e..86c95c17 100644
--- a/pdf-as-pdfbox-2/src/main/java/at/knowcenter/wag/egov/egiz/pdfbox2/pdf/operator/path/construction/CurveToReplicateFinalPoint.java
+++ b/pdf-as-pdfbox-2/src/main/java/at/knowcenter/wag/egov/egiz/pdfbox2/pdf/operator/path/construction/CurveToReplicateFinalPoint.java
@@ -85,8 +85,8 @@ public class CurveToReplicateFinalPoint extends PathConstructionOperatorProcesso
COSNumber x3 = (COSNumber) operands.get(2);
COSNumber y3 = (COSNumber) operands.get(3);
- Point2D p1 = transform(x1.doubleValue(), y1.doubleValue());
- Point2D p3 = transform(x3.doubleValue(), y3.doubleValue());
+ Point2D p1 = transform(x1.floatValue(), y1.floatValue());
+ Point2D p3 = transform(x3.floatValue(), y3.floatValue());
pdfPage.getCurrentPath().curveTo(
(float) p1.getX(), (float) p1.getY(),
@@ -105,8 +105,7 @@ public class CurveToReplicateFinalPoint extends PathConstructionOperatorProcesso
@Override
public String getName() {
- // TODO Auto-generated method stub
- return null;
+ return "y";
}
}
diff --git a/pdf-as-pdfbox-2/src/main/java/at/knowcenter/wag/egov/egiz/pdfbox2/pdf/operator/path/construction/CurveToReplicateInitialPoint.java b/pdf-as-pdfbox-2/src/main/java/at/knowcenter/wag/egov/egiz/pdfbox2/pdf/operator/path/construction/CurveToReplicateInitialPoint.java
index d3a4e5e3..91c90589 100644
--- a/pdf-as-pdfbox-2/src/main/java/at/knowcenter/wag/egov/egiz/pdfbox2/pdf/operator/path/construction/CurveToReplicateInitialPoint.java
+++ b/pdf-as-pdfbox-2/src/main/java/at/knowcenter/wag/egov/egiz/pdfbox2/pdf/operator/path/construction/CurveToReplicateInitialPoint.java
@@ -86,8 +86,8 @@ public class CurveToReplicateInitialPoint extends PathConstructionOperatorProces
COSNumber y3 = (COSNumber) operands.get(3);
Point2D currentPoint = pdfPage.getCurrentPath().getCurrentPoint();
- Point2D p2 = transform(x2.doubleValue(), y2.doubleValue());
- Point2D p3 = transform(x3.doubleValue(), y3.doubleValue());
+ Point2D p2 = transform(x2.floatValue(), y2.floatValue());
+ Point2D p3 = transform(x3.floatValue(), y3.floatValue());
pdfPage.getCurrentPath().curveTo(
(float)currentPoint.getX(), (float)currentPoint.getY(),
@@ -107,8 +107,7 @@ public class CurveToReplicateInitialPoint extends PathConstructionOperatorProces
@Override
public String getName() {
- // TODO Auto-generated method stub
- return null;
+ return "v";
}
}
diff --git a/pdf-as-pdfbox-2/src/main/java/at/knowcenter/wag/egov/egiz/pdfbox2/pdf/operator/path/construction/LineTo.java b/pdf-as-pdfbox-2/src/main/java/at/knowcenter/wag/egov/egiz/pdfbox2/pdf/operator/path/construction/LineTo.java
index a3bee751..94fbbbb0 100644
--- a/pdf-as-pdfbox-2/src/main/java/at/knowcenter/wag/egov/egiz/pdfbox2/pdf/operator/path/construction/LineTo.java
+++ b/pdf-as-pdfbox-2/src/main/java/at/knowcenter/wag/egov/egiz/pdfbox2/pdf/operator/path/construction/LineTo.java
@@ -80,7 +80,7 @@ public class LineTo extends PathConstructionOperatorProcessor {
COSNumber x = (COSNumber) operands.get(0);
COSNumber y = (COSNumber) operands.get(1);
- Point2D p = transform(x.doubleValue(), y.doubleValue());
+ Point2D p = transform(x.floatValue(), y.floatValue());
pdfPage.getCurrentPath().lineTo((float) p.getX(), (float) p.getY());
@@ -94,8 +94,7 @@ public class LineTo extends PathConstructionOperatorProcessor {
@Override
public String getName() {
- // TODO Auto-generated method stub
- return null;
+ return "l";
}
}
diff --git a/pdf-as-pdfbox-2/src/main/java/at/knowcenter/wag/egov/egiz/pdfbox2/pdf/operator/path/construction/MoveTo.java b/pdf-as-pdfbox-2/src/main/java/at/knowcenter/wag/egov/egiz/pdfbox2/pdf/operator/path/construction/MoveTo.java
index 624405f8..3fe123ea 100644
--- a/pdf-as-pdfbox-2/src/main/java/at/knowcenter/wag/egov/egiz/pdfbox2/pdf/operator/path/construction/MoveTo.java
+++ b/pdf-as-pdfbox-2/src/main/java/at/knowcenter/wag/egov/egiz/pdfbox2/pdf/operator/path/construction/MoveTo.java
@@ -67,7 +67,7 @@ import at.knowcenter.wag.egov.egiz.pdfbox2.pdf.operator.path.PathConstructionOpe
* @see "PDF 1.7 specification, Section 8.5.2 'Path Construction Operators'"
* @author PdfBox, modified by Datentechnik Innovation GmbH
*/
-public class MoveTo extends PathConstructionOperatorProcessor{
+public class MoveTo extends PathConstructionOperatorProcessor{
public MoveTo(PDFPage context) {
super(context);
@@ -82,7 +82,7 @@ public class MoveTo extends PathConstructionOperatorProcessor{
COSNumber x = (COSNumber) operands.get(0);
COSNumber y = (COSNumber) operands.get(1);
- Point2D p = transform(x.doubleValue(), y.doubleValue());
+ Point2D p = transform(x.floatValue(), y.floatValue());
pdfPage.getCurrentPath().moveTo((float) p.getX(), (float) p.getY());
@@ -97,8 +97,7 @@ public class MoveTo extends PathConstructionOperatorProcessor{
@Override
public String getName() {
- // TODO Auto-generated method stub
- return null;
+ return "m";
}
}
diff --git a/pdf-as-pdfbox-2/src/main/java/at/knowcenter/wag/egov/egiz/pdfbox2/pdf/operator/path/painting/CloseAndStrokePath.java b/pdf-as-pdfbox-2/src/main/java/at/knowcenter/wag/egov/egiz/pdfbox2/pdf/operator/path/painting/CloseAndStrokePath.java
index 488819ac..37182ddc 100644
--- a/pdf-as-pdfbox-2/src/main/java/at/knowcenter/wag/egov/egiz/pdfbox2/pdf/operator/path/painting/CloseAndStrokePath.java
+++ b/pdf-as-pdfbox-2/src/main/java/at/knowcenter/wag/egov/egiz/pdfbox2/pdf/operator/path/painting/CloseAndStrokePath.java
@@ -82,8 +82,7 @@ public class CloseAndStrokePath extends PathPaintingOperatorProcessor {
@Override
public String getName() {
- // TODO Auto-generated method stub
- return null;
+ return "s";
}
}
diff --git a/pdf-as-pdfbox-2/src/main/java/at/knowcenter/wag/egov/egiz/pdfbox2/pdf/operator/path/painting/CloseFillEvenOddAndStrokePath.java b/pdf-as-pdfbox-2/src/main/java/at/knowcenter/wag/egov/egiz/pdfbox2/pdf/operator/path/painting/CloseFillEvenOddAndStrokePath.java
index 41078e40..597084e8 100644
--- a/pdf-as-pdfbox-2/src/main/java/at/knowcenter/wag/egov/egiz/pdfbox2/pdf/operator/path/painting/CloseFillEvenOddAndStrokePath.java
+++ b/pdf-as-pdfbox-2/src/main/java/at/knowcenter/wag/egov/egiz/pdfbox2/pdf/operator/path/painting/CloseFillEvenOddAndStrokePath.java
@@ -83,8 +83,7 @@ public class CloseFillEvenOddAndStrokePath extends PathPaintingOperatorProcessor
@Override
public String getName() {
- // TODO Auto-generated method stub
- return null;
+ return "b*";
}
}
diff --git a/pdf-as-pdfbox-2/src/main/java/at/knowcenter/wag/egov/egiz/pdfbox2/pdf/operator/path/painting/CloseFillNonZeroAndStrokePath.java b/pdf-as-pdfbox-2/src/main/java/at/knowcenter/wag/egov/egiz/pdfbox2/pdf/operator/path/painting/CloseFillNonZeroAndStrokePath.java
index ef297ca9..8ab72438 100644
--- a/pdf-as-pdfbox-2/src/main/java/at/knowcenter/wag/egov/egiz/pdfbox2/pdf/operator/path/painting/CloseFillNonZeroAndStrokePath.java
+++ b/pdf-as-pdfbox-2/src/main/java/at/knowcenter/wag/egov/egiz/pdfbox2/pdf/operator/path/painting/CloseFillNonZeroAndStrokePath.java
@@ -83,8 +83,7 @@ public class CloseFillNonZeroAndStrokePath extends PathPaintingOperatorProcessor
@Override
public String getName() {
- // TODO Auto-generated method stub
- return null;
+ return "b";
}
}
diff --git a/pdf-as-pdfbox-2/src/main/java/at/knowcenter/wag/egov/egiz/pdfbox2/pdf/operator/path/painting/EndPath.java b/pdf-as-pdfbox-2/src/main/java/at/knowcenter/wag/egov/egiz/pdfbox2/pdf/operator/path/painting/EndPath.java
index 0001d7e5..a43df0a2 100644
--- a/pdf-as-pdfbox-2/src/main/java/at/knowcenter/wag/egov/egiz/pdfbox2/pdf/operator/path/painting/EndPath.java
+++ b/pdf-as-pdfbox-2/src/main/java/at/knowcenter/wag/egov/egiz/pdfbox2/pdf/operator/path/painting/EndPath.java
@@ -91,8 +91,7 @@ public class EndPath extends PathPaintingOperatorProcessor {
@Override
public String getName() {
- // TODO Auto-generated method stub
- return null;
+ return "n";
}
}
diff --git a/pdf-as-pdfbox-2/src/main/java/at/knowcenter/wag/egov/egiz/pdfbox2/pdf/operator/path/painting/FillEvenOddAndStrokePath.java b/pdf-as-pdfbox-2/src/main/java/at/knowcenter/wag/egov/egiz/pdfbox2/pdf/operator/path/painting/FillEvenOddAndStrokePath.java
index 12a4b037..77e65666 100644
--- a/pdf-as-pdfbox-2/src/main/java/at/knowcenter/wag/egov/egiz/pdfbox2/pdf/operator/path/painting/FillEvenOddAndStrokePath.java
+++ b/pdf-as-pdfbox-2/src/main/java/at/knowcenter/wag/egov/egiz/pdfbox2/pdf/operator/path/painting/FillEvenOddAndStrokePath.java
@@ -95,8 +95,7 @@ public class FillEvenOddAndStrokePath extends PathPaintingOperatorProcessor {
@Override
public String getName() {
- // TODO Auto-generated method stub
- return null;
+ return "B*";
}
}
diff --git a/pdf-as-pdfbox-2/src/main/java/at/knowcenter/wag/egov/egiz/pdfbox2/pdf/operator/path/painting/FillNonZeroAndStrokePath.java b/pdf-as-pdfbox-2/src/main/java/at/knowcenter/wag/egov/egiz/pdfbox2/pdf/operator/path/painting/FillNonZeroAndStrokePath.java
index a6fca720..9a1f0b69 100644
--- a/pdf-as-pdfbox-2/src/main/java/at/knowcenter/wag/egov/egiz/pdfbox2/pdf/operator/path/painting/FillNonZeroAndStrokePath.java
+++ b/pdf-as-pdfbox-2/src/main/java/at/knowcenter/wag/egov/egiz/pdfbox2/pdf/operator/path/painting/FillNonZeroAndStrokePath.java
@@ -95,8 +95,7 @@ public class FillNonZeroAndStrokePath extends PathPaintingOperatorProcessor {
@Override
public String getName() {
- // TODO Auto-generated method stub
- return null;
+ return "B";
}
}
diff --git a/pdf-as-pdfbox-2/src/main/java/at/knowcenter/wag/egov/egiz/pdfbox2/pdf/operator/path/painting/FillPathEvenOddRule.java b/pdf-as-pdfbox-2/src/main/java/at/knowcenter/wag/egov/egiz/pdfbox2/pdf/operator/path/painting/FillPathEvenOddRule.java
index 10eeae03..092ba751 100644
--- a/pdf-as-pdfbox-2/src/main/java/at/knowcenter/wag/egov/egiz/pdfbox2/pdf/operator/path/painting/FillPathEvenOddRule.java
+++ b/pdf-as-pdfbox-2/src/main/java/at/knowcenter/wag/egov/egiz/pdfbox2/pdf/operator/path/painting/FillPathEvenOddRule.java
@@ -94,8 +94,7 @@ public class FillPathEvenOddRule extends PathPaintingOperatorProcessor {
@Override
public String getName() {
- // TODO Auto-generated method stub
- return null;
+ return "f*";
}
}
diff --git a/pdf-as-pdfbox-2/src/main/java/at/knowcenter/wag/egov/egiz/pdfbox2/pdf/operator/path/painting/FillPathNonZeroWindingNumberRule.java b/pdf-as-pdfbox-2/src/main/java/at/knowcenter/wag/egov/egiz/pdfbox2/pdf/operator/path/painting/FillPathNonZeroWindingNumberRule.java
index ca8922fc..3b8d13f9 100644
--- a/pdf-as-pdfbox-2/src/main/java/at/knowcenter/wag/egov/egiz/pdfbox2/pdf/operator/path/painting/FillPathNonZeroWindingNumberRule.java
+++ b/pdf-as-pdfbox-2/src/main/java/at/knowcenter/wag/egov/egiz/pdfbox2/pdf/operator/path/painting/FillPathNonZeroWindingNumberRule.java
@@ -68,9 +68,11 @@ import at.knowcenter.wag.egov.egiz.pdfbox2.pdf.operator.path.PathPaintingOperato
public class FillPathNonZeroWindingNumberRule extends PathPaintingOperatorProcessor {
private Log log = LogFactory.getLog(getClass());
+ private final boolean lowercase;
- public FillPathNonZeroWindingNumberRule(PDFPage context) {
+ public FillPathNonZeroWindingNumberRule(PDFPage context, boolean lowercase) {
super(context);
+ this.lowercase = lowercase;
}
@Override
@@ -95,8 +97,7 @@ public class FillPathNonZeroWindingNumberRule extends PathPaintingOperatorProces
@Override
public String getName() {
- // TODO Auto-generated method stub
- return null;
+ return lowercase ? "f" : "F";
}
}
diff --git a/pdf-as-pdfbox-2/src/main/java/at/knowcenter/wag/egov/egiz/pdfbox2/pdf/operator/path/painting/StrokePath.java b/pdf-as-pdfbox-2/src/main/java/at/knowcenter/wag/egov/egiz/pdfbox2/pdf/operator/path/painting/StrokePath.java
index 3dc0965e..ef9fc24b 100644
--- a/pdf-as-pdfbox-2/src/main/java/at/knowcenter/wag/egov/egiz/pdfbox2/pdf/operator/path/painting/StrokePath.java
+++ b/pdf-as-pdfbox-2/src/main/java/at/knowcenter/wag/egov/egiz/pdfbox2/pdf/operator/path/painting/StrokePath.java
@@ -93,8 +93,7 @@ public class StrokePath extends PathPaintingOperatorProcessor {
@Override
public String getName() {
- // TODO Auto-generated method stub
- return null;
+ return "S";
}
}
diff --git a/pdf-as-pdfbox-2/src/test/java/at/gv/egiz/pdfas/lib/testpdfbox/PDFBoxPlaceholderExtractorTest.java b/pdf-as-pdfbox-2/src/test/java/at/gv/egiz/pdfas/lib/testpdfbox/PDFBoxPlaceholderExtractorTest.java
index 8bd733c3..c110a8d4 100644
--- a/pdf-as-pdfbox-2/src/test/java/at/gv/egiz/pdfas/lib/testpdfbox/PDFBoxPlaceholderExtractorTest.java
+++ b/pdf-as-pdfbox-2/src/test/java/at/gv/egiz/pdfas/lib/testpdfbox/PDFBoxPlaceholderExtractorTest.java
@@ -1,8 +1,6 @@
package at.gv.egiz.pdfas.lib.testpdfbox;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.*;
import java.io.IOException;
import java.util.List;
@@ -30,7 +28,6 @@ public class PDFBoxPlaceholderExtractorTest {
List<String> listOfPlaceHolders = getPlaceHolders("/data/platzhalter_en_de_test.pdf");
assertNotNull(listOfPlaceHolders);
assertTrue(listOfPlaceHolders.isEmpty());
-
}
@Test
@@ -51,22 +48,19 @@ public class PDFBoxPlaceholderExtractorTest {
assertNotNull(listOfPlaceHolders);
}
-
- private static List<String> getPlaceHolders(String filePath) throws IOException {
- final PDDocument doc = PDDocument.load(PDFBoxPlaceholderExtractorTest.class.getResourceAsStream(
- filePath));
- final List<String> results = SignatureFieldsAndPlaceHolderExtractor.findEmptySignatureFields(doc);
- return results;
+ private static List<String> getPlaceHolders(String filePath) throws IOException {
+ try (final PDDocument doc = PDDocument.load(PDFBoxPlaceholderExtractorTest.class.getResourceAsStream(
+ filePath))) {
+ return SignatureFieldsAndPlaceHolderExtractor.findEmptySignatureFields(doc);
+ }
}
private static SignaturePlaceholderData getNextSignaturePlaceHolder(String filePath) throws IOException {
- final PDDocument doc = PDDocument.load(PDFBoxPlaceholderExtractorTest.class.getResourceAsStream(
- filePath));
- final SignaturePlaceholderData result =
- SignatureFieldsAndPlaceHolderExtractor.getNextUnusedSignaturePlaceHolder(doc);
- return result;
-
+ try (final PDDocument doc = PDDocument.load(PDFBoxPlaceholderExtractorTest.class.getResourceAsStream(
+ filePath))) {
+ return SignatureFieldsAndPlaceHolderExtractor.getNextUnusedSignaturePlaceHolder(doc);
+ }
}
}
diff --git a/pdf-as-pdfbox-2/src/test/java/at/gv/egiz/pdfas/lib/testpdfbox/TTFFontTest.java b/pdf-as-pdfbox-2/src/test/java/at/gv/egiz/pdfas/lib/testpdfbox/TTFFontTest.java
index ca45354b..78a89708 100644
--- a/pdf-as-pdfbox-2/src/test/java/at/gv/egiz/pdfas/lib/testpdfbox/TTFFontTest.java
+++ b/pdf-as-pdfbox-2/src/test/java/at/gv/egiz/pdfas/lib/testpdfbox/TTFFontTest.java
@@ -5,6 +5,7 @@ import java.util.Iterator;
import java.util.List;
import org.apache.pdfbox.cos.COSBase;
+import org.apache.pdfbox.cos.COSDictionary;
import org.apache.pdfbox.cos.COSName;
import org.apache.pdfbox.cos.COSObject;
import org.apache.pdfbox.pdmodel.PDDocument;
@@ -21,9 +22,9 @@ public class TTFFontTest {
while(cosObjectIt.hasNext()) {
COSObject cosObject = cosObjectIt.next();
- COSBase subType = cosObject.getItem(COSName.SUBTYPE);
- COSBase baseFont = cosObject.getItem(COSName.BASE_FONT);
- COSBase aTest = cosObject.getItem(COSName.A);
+ COSBase subType = ((COSDictionary)cosObject.getObject()).getItem(COSName.SUBTYPE);
+ COSBase baseFont = ((COSDictionary)cosObject.getObject()).getItem(COSName.BASE_FONT);
+ COSBase aTest = ((COSDictionary)cosObject.getObject()).getItem(COSName.A);
System.out.println(aTest);
diff --git a/pdf-as-pdfbox-3/build.gradle.kts b/pdf-as-pdfbox-3/build.gradle.kts
new file mode 100644
index 00000000..c1888ac9
--- /dev/null
+++ b/pdf-as-pdfbox-3/build.gradle.kts
@@ -0,0 +1,39 @@
+plugins {
+ kotlin("jvm") version "2.2.0"
+}
+
+tasks.jar {
+ manifest.attributes["Implementation-Title"] = "PDF-AS PDFBOX 3 Backend"
+}
+
+repositories {
+ mavenLocal()
+ mavenCentral()
+}
+
+dependencies {
+ implementation(project(":pdf-as-lib"))
+ val pdfboxVersion = project.ext["pdfboxVersion"] as String
+ api("org.apache.pdfbox", "pdfbox", pdfboxVersion)
+ implementation("org.apache.pdfbox", "pdfbox-tools", pdfboxVersion)
+ implementation("org.apache.pdfbox", "xmpbox", pdfboxVersion)
+ implementation("org.apache.pdfbox", "preflight", pdfboxVersion)
+
+ testImplementation("ch.qos.logback", "logback-classic", project.ext["logbackVersion"] as String)
+ testImplementation(project(":signature-standards:sigs-pades"))
+ testImplementation(project(":signature-standards:sigs-pkcs7detached"))
+ testImplementation(group = "org.zeroturnaround", name = "zt-zip", version = project.ext["ztZipVersion"] as String)
+}
+
+tasks.register("releases", Copy::class) {
+ dependsOn(tasks.jar, tasks.sourcesJar)
+ from(tasks.jar.map { it.outputs.files })
+ into(rootDir.resolve("releases/$version"))
+}
+
+tasks.test {
+ useJUnit()
+}
+kotlin {
+ jvmToolchain(17)
+} \ No newline at end of file
diff --git a/pdf-as-pdfbox-3/src/main/kotlin/at/gv/egiz/pdfas/lib/impl/pdfbox3/PDFBOXBackend.kt b/pdf-as-pdfbox-3/src/main/kotlin/at/gv/egiz/pdfas/lib/impl/pdfbox3/PDFBOXBackend.kt
new file mode 100644
index 00000000..f4159961
--- /dev/null
+++ b/pdf-as-pdfbox-3/src/main/kotlin/at/gv/egiz/pdfas/lib/impl/pdfbox3/PDFBOXBackend.kt
@@ -0,0 +1,25 @@
+package at.gv.egiz.pdfas.lib.impl.pdfbox3
+
+import at.gv.egiz.pdfas.lib.backend.PDFASBackend
+import at.gv.egiz.pdfas.lib.impl.signing.pdfbox3.PDFBOXSigner
+import at.gv.egiz.pdfas.lib.impl.verify.pdfbox3.PDFBOXVerifier
+import org.slf4j.LoggerFactory
+
+class PDFBOXBackend : PDFASBackend {
+ companion object {
+ const val NAME = "PDFBOX_3_BACKEND"
+ private val logger = LoggerFactory.getLogger(PDFBOXBackend::class.java)
+ init {
+ logger.info(" +++++++++++++++++++++++++++++++++++++++++++++++++++++")
+ logger.info(" + PDFBOX 3 Backend is ready to go")
+ logger.info(" + Using PDFBOX version {}", org.apache.pdfbox.util.Version.getVersion())
+ logger.info(" +++++++++++++++++++++++++++++++++++++++++++++++++++++")
+ }
+ }
+
+ override fun getName() = NAME
+ override fun usedAsDefault() = true
+ override fun getPdfSigner() = PDFBOXSigner
+ override fun getPlaceholderExtractor() = PDFBoxPlaceholderExtractor
+ override fun getVerifier() = PDFBOXVerifier
+} \ No newline at end of file
diff --git a/pdf-as-pdfbox-3/src/main/kotlin/at/gv/egiz/pdfas/lib/impl/pdfbox3/PDFBOXObject.kt b/pdf-as-pdfbox-3/src/main/kotlin/at/gv/egiz/pdfas/lib/impl/pdfbox3/PDFBOXObject.kt
new file mode 100644
index 00000000..4cb4086b
--- /dev/null
+++ b/pdf-as-pdfbox-3/src/main/kotlin/at/gv/egiz/pdfas/lib/impl/pdfbox3/PDFBOXObject.kt
@@ -0,0 +1,75 @@
+package at.gv.egiz.pdfas.lib.impl.pdfbox3
+
+import at.gv.egiz.pdfas.lib.impl.status.OperationStatus
+import at.gv.egiz.pdfas.lib.impl.status.PDFObject
+import org.apache.pdfbox.Loader
+import org.apache.pdfbox.pdmodel.PDDocument
+import org.apache.pdfbox.pdmodel.font.PDFont
+import org.apache.pdfbox.pdmodel.font.PDType0Font
+import org.apache.pdfbox.pdmodel.font.PDType1Font
+import org.apache.pdfbox.pdmodel.font.Standard14Fonts
+import org.slf4j.LoggerFactory
+import java.io.IOException
+import java.nio.file.Path
+import jakarta.activation.DataSource
+
+class PDFBOXObject(status: OperationStatus) : PDFObject(status) {
+ companion object { private val logger = LoggerFactory.getLogger(PDFBOXObject::class.java) }
+ public val settings get() = status.settings
+ public var document: PDDocument? = null; private set
+
+ override fun close() {
+ try {
+ document?.close()
+ } finally {
+ document = null
+ }
+ }
+
+ override fun setOriginalDocument(originalDocument: DataSource) {
+ this.originalDocument = originalDocument
+ close()
+ synchronized(PDDocument::class.java) {
+ // TODO: can we somehow make this leverage random access
+ document = Loader.loadPDF(originalDocument.inputStream.readAllBytes())
+ }
+ }
+
+ override fun getPDFVersion() =
+ document!!.document.version.toString()
+
+ fun generateFont(fontType: String, fontDerivative: String?) = when {
+ fontType.startsWith("TTF:") -> generateTTFFont(fontType)
+ else -> getCachedFont(fontType, fontDerivative)
+ }
+
+ private val ttfFontCache: MutableMap<Path, PDFont> = mutableMapOf()
+ private fun generateTTFFont(fontType: String): PDFont {
+ require(fontType.startsWith("TTF:"))
+ val fontPath = Path.of(settings.workingDirectory, "fonts", fontType.substring(4))
+ logger.debug("Font from: \"{}\".", fontPath)
+ return ttfFontCache.computeIfAbsent(fontPath) {
+ PDType0Font.load(document, it.toFile())
+ }
+ }
+
+ private fun getCachedFont(fontType: String, fontDerivative: String?): PDFont {
+ val fontDescriptor = "$fontType:${fontDerivative ?: "NORMAL"}"
+ return PDType1Font(DEFAULT_FONT_DESCRIPTORS[fontDescriptor] ?: run {
+ logger.error("Invalid font descriptor: \"$fontDescriptor\"")
+ logger.warn("Available fonts:")
+ DEFAULT_FONT_DESCRIPTORS.forEach { (descriptor, _) -> logger.warn(" - $descriptor") }
+ throw IOException("Invalid font descriptor: \"$fontDescriptor\"")
+ })
+ }
+}
+
+private val DEFAULT_FONT_DESCRIPTORS = mapOf(
+ "HELVETICA:NORMAL" to Standard14Fonts.FontName.HELVETICA,
+ "HELVETICA:BOLD" to Standard14Fonts.FontName.HELVETICA_BOLD,
+ "COURIER:NORMAL" to Standard14Fonts.FontName.COURIER,
+ "COURIER:BOLD" to Standard14Fonts.FontName.COURIER_BOLD,
+ "TIMES_ROMAN:NORMAL" to Standard14Fonts.FontName.TIMES_ROMAN,
+ "TIMES_ROMAN:BOLD" to Standard14Fonts.FontName.TIMES_BOLD,
+ "TIMES_ROMAN:ITALIC" to Standard14Fonts.FontName.TIMES_ITALIC,
+)
diff --git a/pdf-as-pdfbox-3/src/main/kotlin/at/gv/egiz/pdfas/lib/impl/pdfbox3/Placeholder.kt b/pdf-as-pdfbox-3/src/main/kotlin/at/gv/egiz/pdfas/lib/impl/pdfbox3/Placeholder.kt
new file mode 100644
index 00000000..b95407da
--- /dev/null
+++ b/pdf-as-pdfbox-3/src/main/kotlin/at/gv/egiz/pdfas/lib/impl/pdfbox3/Placeholder.kt
@@ -0,0 +1,321 @@
+package at.gv.egiz.pdfas.lib.impl.pdfbox3
+
+import at.gv.egiz.pdfas.common.exceptions.PDFIOException
+import at.gv.egiz.pdfas.common.exceptions.PdfAsException
+import at.gv.egiz.pdfas.common.exceptions.PlaceholderExtractionException
+import at.gv.egiz.pdfas.lib.impl.placeholder.PlaceholderExtractor
+import at.gv.egiz.pdfas.lib.impl.placeholder.PlaceholderExtractorConstants
+import at.gv.egiz.pdfas.lib.impl.placeholder.SignaturePlaceholderData
+import at.gv.egiz.pdfas.lib.impl.status.PDFObject
+import at.knowcenter.wag.egov.egiz.pdf.TablePos
+import com.google.zxing.BarcodeFormat
+import com.google.zxing.BinaryBitmap
+import com.google.zxing.DecodeHintType
+import com.google.zxing.MultiFormatReader
+import com.google.zxing.NotFoundException
+import com.google.zxing.ReaderException
+import com.google.zxing.client.j2se.BufferedImageLuminanceSource
+import com.google.zxing.common.HybridBinarizer
+import org.apache.pdfbox.contentstream.PDFStreamEngine
+import org.apache.pdfbox.contentstream.operator.OperatorProcessor
+import org.apache.pdfbox.cos.COSBase
+import org.apache.pdfbox.cos.COSName
+import org.apache.pdfbox.pdmodel.PDDocument
+import org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject
+import org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDPropBuild
+import org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDPropBuildDataDict
+import org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature
+import org.apache.pdfbox.pdmodel.interactive.form.PDSignatureField
+import org.apache.pdfbox.util.Matrix
+import org.slf4j.LoggerFactory
+import java.awt.geom.AffineTransform
+import java.io.IOException
+import java.lang.reflect.InvocationTargetException
+import java.util.Hashtable
+import java.util.Properties
+import java.util.Vector
+import kotlin.math.ceil
+import kotlin.math.floor
+
+
+object PDFBoxPlaceholderExtractor : PlaceholderExtractor {
+ override fun extract(
+ pdfObject: PDFObject,
+ placeholderID: String?,
+ matchMode: Int
+ ): SignaturePlaceholderData? {
+ if (pdfObject !is PDFBOXObject) throw PdfAsException("Invalid state")
+ try {
+ return Extractor().extract(pdfObject.document!!, placeholderID, matchMode)
+ } catch (e: Throwable) {
+ when (e) {
+ is IOException, is ClassNotFoundException, is InstantiationException,
+ is IllegalAccessException, is NoSuchMethodException, is InvocationTargetException
+ -> throw PDFIOException("error.pdf.io.04", e)
+ else
+ -> throw e
+ }
+ }
+ }
+
+ @JvmStatic
+ fun findEmptySignatureFields(doc: PDDocument) =
+ doc.documentCatalog.acroForm?.fields?.asSequence()
+ ?.filterIsInstance<PDSignatureField>()
+ ?.filter { it.signature == null }
+ ?.mapNotNull { it.partialName }
+ ?.toList()
+ ?: emptyList()
+
+ /**
+ * Returns the next unused signature placeholder
+ *
+ * @param doc The document to be searched for signature placeholders
+ * @return The next unused signature placeholder, or `null`
+ */
+ // needed for PDF-Over
+ @JvmStatic
+ fun getNextUnusedSignaturePlaceholder(doc: PDDocument) =
+ Extractor().extract(
+ doc, "1",
+ PlaceholderExtractorConstants.PLACEHOLDER_MATCH_MODE_SORTED)
+
+ class Extractor : PDFStreamEngine() {
+ companion object {
+ private val logger = LoggerFactory.getLogger(Extractor::class.java)
+ }
+ init {
+ Properties().apply {
+ load(PDFBoxPlaceholderExtractor::class.java.classLoader
+ .getResourceAsStream("placeholder/pdfbox-reader-2.properties"))
+ }.values.forEach {
+ val klass = Class.forName(it as String)
+ addOperator(klass.getDeclaredConstructor().newInstance() as OperatorProcessor)
+ }
+ }
+ var currentPageNumber: Int = 0
+ val placeholders = mutableListOf<SignaturePlaceholderData>()
+ val seenPlaceholderNames = mutableSetOf<String>()
+ lateinit var placeholderNamesOfExistingSignatures: Set<String>
+ fun extract(document: PDDocument, targetPlaceholderID: String?, matchMode: Int): SignaturePlaceholderData? {
+ placeholderNamesOfExistingSignatures =
+ document.signatureDictionaries.asSequence()
+ .map { it.signaturePlaceholderId }
+ .filterNotNull()
+ .toSet()
+
+ document.pages.forEachIndexed { i, page ->
+ try {
+ currentPageNumber = i+1
+ val placeholdersBeforePage = placeholders.size
+ if ((page.contents != null) && (page.resources != null) && (page.contentStreams != null)) {
+ // this causes page processing into processOperator
+ processPage(page)
+ }
+
+ logger.debug("Searching for requested placeholder {} (match mode {}) in page {} only...",
+ targetPlaceholderID, matchMode, currentPageNumber)
+
+ // process only placeholders that were found in the current page to see if we find an exact match
+ (placeholdersBeforePage..<placeholders.size).forEach { i ->
+ val placeholder = placeholders[i]
+ if (targetPlaceholderID != null) {
+ if (placeholder.id != null && matchPlaceholderId(targetPlaceholderID, placeholder.id)) {
+ return placeholder
+ }
+ } else {
+ if (matchMode != PlaceholderExtractorConstants.PLACEHOLDER_MATCH_MODE_SORTED && placeholder.id == null) {
+ return placeholder
+ }
+ }
+ }
+ } catch (e: Throwable) {
+ throw PDFIOException("error.pdf.io.04", e)
+ }
+ }
+
+ if (matchMode == PlaceholderExtractorConstants.PLACEHOLDER_MATCH_MODE_STRICT) {
+ throw PlaceholderExtractionException("error.pdf.stamp.09")
+ }
+
+ if (placeholders.isEmpty()) return null
+
+ logger.debug("Searching for requested placeholder {} (match mode {}) in entire document...",
+ targetPlaceholderID, matchMode)
+
+ if (matchMode == PlaceholderExtractorConstants.PLACEHOLDER_MATCH_MODE_SORTED) {
+ // get the placeholder with the lowest id
+ var currentPlaceholder: SignaturePlaceholderData? = null
+ placeholders.forEach { placeholder ->
+ if (placeholder.id == null) return@forEach
+ if (currentPlaceholder == null || placeholderIdLessThan(placeholder.id!!, currentPlaceholder.id!!)) {
+ currentPlaceholder = placeholder
+ }
+ }
+ if (currentPlaceholder != null) return currentPlaceholder
+ }
+
+ // get any placeholder with id null
+ placeholders.firstOrNull { it.id == null }?.let { return it }
+
+ // lenient mode: get any placeholder even if it has an id
+ if (matchMode == PlaceholderExtractorConstants.PLACEHOLDER_MATCH_MODE_LENIENT) return placeholders.first()
+
+ // give up
+ return null
+ }
+
+ private fun matchPlaceholderId(targetId: String, actualId: String): Boolean {
+ try {
+ val targetInt = Integer.parseInt(targetId)
+ val actualInt = Integer.parseInt(actualId)
+ return (targetInt == actualInt)
+ } catch (_: NumberFormatException) {
+ logger.trace("Cannot parse identifiers ({},{}) as numbers, comparing as strings", targetId, actualId)
+ return targetId.equals(actualId, ignoreCase = true)
+ }
+ }
+
+ private fun placeholderIdLessThan(left: String, right: String): Boolean {
+ try {
+ val leftInt = Integer.parseInt(left)
+ val rightInt = Integer.parseInt(right)
+ return (leftInt < rightInt)
+ } catch (_: NumberFormatException) {
+ logger.trace("placeholderIdLessThan: falling back to String compare")
+ return left.compareTo(right, true) < 0
+ }
+ }
+
+ private fun detectQRCodeFromImage(imageObj: PDImageXObject): SignaturePlaceholderData? {
+ val image = imageObj.image ?: run {
+ logger.info("Unable to extract image for QR code analysis. {} not supported. Add additional JAI Image filters to your classpath. Refer to https://jai.dev.java.net. Skipping image.",
+ imageObj.suffix?.let { "${it.uppercase()} images"} ?: "Image type")
+ return null
+ }
+ if (image.height < 10 || image.width < 10) {
+ logger.debug("Image too small for QR code. Skipping.")
+ return null
+ }
+
+ val bitmap = BinaryBitmap(HybridBinarizer(BufferedImageLuminanceSource(image)))
+ val result = try {
+ MultiFormatReader().decode(bitmap,
+ Hashtable<DecodeHintType, Any>().apply {
+ put(DecodeHintType.POSSIBLE_FORMATS, Vector<BarcodeFormat>().apply {
+ add(BarcodeFormat.QR_CODE)
+ })
+ }
+ ).text ?: return null
+ } catch (e: ReaderException) {
+ if (e !is NotFoundException) {
+ logger.info("Failed to decode image", e)
+ }
+ return null
+ } catch (e: ArrayIndexOutOfBoundsException) {
+ logger.info("Failed to decode image. Probably a zxing bug.", e)
+ return null
+ }
+
+ if (!result.startsWith(PlaceholderExtractorConstants.QR_PLACEHOLDER_IDENTIFIER)) {
+ logger.warn("QR-Code found but does not start with \"${PlaceholderExtractorConstants.QR_PLACEHOLDER_IDENTIFIER}\". Ignoring.")
+ return null
+ }
+
+ var profile: String? = null
+ var type: String? = null
+ var sigKey: String? = null
+ var id: String? = null
+ result.splitToSequence(';').drop(1).forEach {
+ val parts = it.split('=')
+ if (parts.size != 2) {
+ logger.debug("Invalid parameter in placeholder data: $it")
+ return@forEach
+ }
+ when (parts[0].lowercase()) {
+ SignaturePlaceholderData.ID_KEY -> id = parts[1]
+ SignaturePlaceholderData.PROFILE_KEY -> profile = parts[1]
+ SignaturePlaceholderData.SIG_KEY_KEY -> sigKey = parts[1]
+ SignaturePlaceholderData.TYPE_KEY -> type = parts[1]
+ }
+ }
+ return SignaturePlaceholderData(profile, type, sigKey, id)
+ }
+
+ private fun buildUniqueObjectName(objectName: COSName) =
+ sequence {
+ val baseName = objectName.name
+ yield(baseName)
+ yieldAll((1..Int.MAX_VALUE).asSequence().map { i -> "${baseName}_${i}"})
+ }.first { !seenPlaceholderNames.contains(it) }
+
+ override fun processOperator(operation: String, arguments: List<COSBase>) {
+ run {
+ if (operation != "Do") return@run
+ val objectName = arguments[0] as COSName
+ val xObject = resources.getXObject(objectName)
+ if (xObject !is PDImageXObject) return@run
+
+ val signaturePlaceholderData = detectQRCodeFromImage(xObject) ?: return@run
+
+ val placeholderName = buildUniqueObjectName(objectName)
+ seenPlaceholderNames.add(placeholderName)
+ if (placeholderNamesOfExistingSignatures.contains(placeholderName)) {
+ logger.debug("Not processing placeholder {}, there is already a corresponding signature", placeholderName)
+ return@run
+ }
+
+ val page = this.currentPage
+ val pageRotation = page.rotation % 360
+ val rotationInverseMatrix = Matrix(
+ AffineTransform().apply {
+ setToRotation(Math.toRadians(pageRotation.toDouble()))
+ invert()
+ }
+ )
+ val unrotatedTransformMatrix = this.graphicsState.currentTransformationMatrix.multiply(rotationInverseMatrix)
+
+ logger.debug("Page height: {}", page.cropBox.height)
+ logger.debug("Page width: {}", page.cropBox.width)
+
+ // TODO i've taken this from SignaturePlaceholderExtractor in the pdfbox 2 module, but this feels suspect
+ var x = unrotatedTransformMatrix.translateX
+ var y = unrotatedTransformMatrix.translateY + unrotatedTransformMatrix.scaleY
+
+ when (pageRotation) {
+ 90 -> {
+ y += page.cropBox.width
+ }
+ 180 -> {
+ x += page.cropBox.width
+ y += page.cropBox.height
+ }
+ 270 -> {
+ x += page.cropBox.height
+ }
+ }
+
+ val w = unrotatedTransformMatrix.scaleX
+
+ signaturePlaceholderData.tablePos =
+ TablePos("p:$currentPageNumber;x:${floor(x)};y:${ceil(y)};w:${ceil(w)}")
+ signaturePlaceholderData.placeholderName = placeholderName
+ logger.debug("Found placeholder: {}", signaturePlaceholderData)
+ placeholders.add(signaturePlaceholderData)
+ }
+ super.processOperator(operation, arguments)
+ }
+ }
+
+ const val SIGNATURE_PLACEHOLDER_PREFIX = "PDF-AS_"
+ /** The placeholderId stored in the PDSignature's signature dictionary (in the propBuild.app.name key) */
+ var PDSignature.signaturePlaceholderId: String?
+ get() = this.propBuild?.app?.name?.removePrefix(SIGNATURE_PLACEHOLDER_PREFIX) ?: this.location
+ set(value) {
+ val props = this.propBuild ?: PDPropBuild()
+ val appProps = props.app ?: PDPropBuildDataDict()
+ appProps.name = value?.let { SIGNATURE_PLACEHOLDER_PREFIX + it }
+ props.setPDPropBuildApp(appProps)
+ this.propBuild = props
+ }
+}
diff --git a/pdf-as-pdfbox-3/src/main/kotlin/at/gv/egiz/pdfas/lib/impl/pdfbox3/Positioning.kt b/pdf-as-pdfbox-3/src/main/kotlin/at/gv/egiz/pdfas/lib/impl/pdfbox3/Positioning.kt
new file mode 100644
index 00000000..4c75763c
--- /dev/null
+++ b/pdf-as-pdfbox-3/src/main/kotlin/at/gv/egiz/pdfas/lib/impl/pdfbox3/Positioning.kt
@@ -0,0 +1,201 @@
+package at.gv.egiz.pdfas.lib.impl.pdfbox3
+
+import at.gv.egiz.pdfas.common.exceptions.PdfAsException
+import at.gv.egiz.pdfas.common.settings.IProfileConstants
+import at.gv.egiz.pdfas.common.settings.ISettings
+import at.gv.egiz.pdfas.common.settings.SignatureProfileSettings
+import at.gv.egiz.pdfas.lib.api.IConfigurationConstants
+import at.gv.egiz.pdfas.lib.impl.signing.pdfbox3.PDFBOXSigner.checkPDFPermissions
+import at.gv.egiz.pdfas.lib.impl.stamping.pdfbox3.PDFBOXStamper
+import at.knowcenter.wag.egov.egiz.pdf.PositioningInstruction
+import at.knowcenter.wag.egov.egiz.pdf.TablePos
+import at.knowcenter.wag.egov.egiz.pdf.TablePos.PAGE_MODE
+import org.apache.pdfbox.pdmodel.PDDocument
+import org.apache.pdfbox.pdmodel.graphics.color.PDColor
+import org.apache.pdfbox.rendering.PDFRenderer
+import org.apache.pdfbox.rendering.PageDrawer
+import org.apache.pdfbox.rendering.PageDrawerParameters
+import org.apache.pdfbox.tools.imageio.ImageIOUtil
+import org.slf4j.LoggerFactory
+import java.awt.Color
+import java.awt.image.BufferedImage
+
+object Positioning {
+ private val logger = LoggerFactory.getLogger(Positioning::class.java)
+ /** The left/right margin */
+ const val SIGNATURE_MARGIN_HORIZONTAL = 50f
+ /** The top/bottom margin */
+ const val SIGNATURE_MARGIN_VERTICAL = 20f
+ fun determineTablePositioning(
+ pos: TablePos, pdfDataSource: PDDocument,
+ pdfTable: PDFBOXStamper.VisualObject, globalSettings: ISettings,
+ signatureProfileSettings: SignatureProfileSettings
+ ): PositioningInstruction {
+
+ pdfDataSource.checkPDFPermissions()
+
+ val hasExistingSignatures = runCatching {
+ pdfDataSource.signatureFields.any { it.signature != null }
+ }.getOrElse { e ->
+ logger.warn("Failed to extract existing signatures from PDF.", e)
+ false
+ }
+
+ var (pageNum, makeNewPage) = when (pos.pageMode) {
+ PAGE_MODE.EXACT ->
+ pos.page.takeIf { it <= pdfDataSource.numberOfPages }
+ ?.let { Pair(it, false) }
+ ?:
+ Pair(pdfDataSource.numberOfPages, true)
+ .also { logger.info("Document is shorter than requested page for signature block. Adding new page...") }
+ PAGE_MODE.NEW -> Pair(pdfDataSource.numberOfPages, true)
+ PAGE_MODE.LAST, PAGE_MODE.AUTO -> Pair(pdfDataSource.numberOfPages, false)
+ }
+
+ if (makeNewPage && hasExistingSignatures) {
+ makeNewPage = getNewPageFallback(signatureProfileSettings, globalSettings)
+ }
+
+ val (pageWidth, pageHeight) = pdfDataSource.getPage(pageNum-1).let { pdPage ->
+ val cropBox = pdPage.cropBox
+ when (val rotation = pdPage.rotation % 360) {
+ 0, 180 -> Pair(cropBox.width, cropBox.height)
+ 90, 270 -> Pair(cropBox.height, cropBox.width)
+ else -> throw IllegalStateException("Invalid page rotation $rotation")
+ }
+ }
+
+ val hasExplicitPosX = !pos.isXauto
+ val hasExplicitWidth = !pos.isWauto
+ val (posX, width) = when {
+ hasExplicitPosX && hasExplicitWidth -> Pair(pos.posX, pos.width)
+ !hasExplicitPosX && hasExplicitWidth -> Pair((pageWidth - pos.width)/2, pos.width)
+ hasExplicitPosX && !hasExplicitWidth -> Pair(pos.posX, pageWidth - 2*pos.posX)
+ /*!hasExplicitPosX && !hasExplicitWidth*/ else ->
+ Pair(SIGNATURE_MARGIN_HORIZONTAL, pageWidth - 2*SIGNATURE_MARGIN_HORIZONTAL)
+ }
+ pdfTable.width = width
+ pdfTable.fixWidth()
+
+ if (pos.pageMode == PAGE_MODE.LAST) {
+ return PositioningInstruction(
+ false, pageNum,
+ posX, if (pos.isYauto) pageHeight - SIGNATURE_MARGIN_VERTICAL else pos.posY,
+ pos.rotation)
+ }
+
+ // explicit y or invisible signature
+ if (!pos.isYauto || pdfTable.height == 0.0f) {
+ if (makeNewPage) pageNum = pdfDataSource.numberOfPages + 1
+ return PositioningInstruction(makeNewPage, pageNum, posX, pos.posY, pos.rotation)
+ }
+
+ if (makeNewPage) {
+ return PositioningInstruction(
+ true, pdfDataSource.numberOfPages + 1,
+ posX, pageHeight - SIGNATURE_MARGIN_VERTICAL, pos.rotation)
+ }
+
+ // ok, y-position is automatic, and we are not making a new page
+ // therefore, we need to go looking for the end of the page content
+ val pageContentHeight = calculatePageLength(pdfDataSource, pageNum-1, pos.footerLine.toInt(), globalSettings)
+ val candidateY = pageHeight - pageContentHeight - SIGNATURE_MARGIN_VERTICAL
+
+ if (candidateY - pos.footerLine <= pdfTable.height) {
+ if (pos.pageMode == PAGE_MODE.AUTO)
+ makeNewPage = true
+ else
+ pageNum = pdfDataSource.numberOfPages
+
+ if (makeNewPage && hasExistingSignatures) {
+ makeNewPage = getNewPageFallback(signatureProfileSettings, globalSettings)
+ }
+ if (makeNewPage) {
+ pageNum = pdfDataSource.numberOfPages + 1
+ }
+ return PositioningInstruction(
+ makeNewPage, pageNum,
+ posX, pageHeight - SIGNATURE_MARGIN_VERTICAL, pos.rotation
+ )
+ }
+ return PositioningInstruction(
+ false, pageNum,
+ posX, candidateY, pos.rotation
+ )
+ }
+
+ private fun getNewPageFallback(signatureProfileSettings: SignatureProfileSettings, globalSettings: ISettings): Boolean {
+ logger.debug("Signature block would need to be on a new page, but you cannot add a new page to a signed document")
+ if (signatureProfileSettings.getValue(IProfileConstants.SIG_NEWPAGE_FORCE).toBoolean()) {
+ logger.info("New pages are not allowed on signed document, but the profile configuration overrides this")
+ return true
+ } else if (globalSettings.getValue(IConfigurationConstants.SIG_BLOCK_LESS_SPACE_STOPPING_WITH_ERROR).toBoolean()) {
+ throw PdfAsException("error.pdf.stamp.12")
+ } else {
+ logger.info("Placing signature block on last page without free space checks")
+ return false
+ }
+ }
+
+ private val RENDERER_BACKGROUND_COLOR = Color(152, 254, 52)
+ private val RENDERER_FOREGROUND_COLOR = Color(234, 14, 184, 211)
+ private fun calculatePageLength(
+ pdfDataSource: PDDocument, pageNum: Int,
+ footerSize: Int, globalSettings: ISettings
+ ): Int {
+ try {
+ val (cropBox, rotation) = pdfDataSource.getPage(pageNum).let {
+ Pair(it.cropBox, it.rotation)
+ }
+ val isRotated = (rotation % 180 != 0)
+ val (imageWidth, imageHeight) = when (isRotated) {
+ true -> Pair(cropBox.height, cropBox.width)
+ false -> Pair(cropBox.width, cropBox.height)
+ }
+ val image = BufferedImage(
+ imageWidth.toInt(), imageHeight.toInt(),
+ BufferedImage.TYPE_INT_ARGB)
+ Renderer(pdfDataSource).renderPageToGraphics(
+ pageNum,
+ image.createGraphics().apply { background = RENDERER_BACKGROUND_COLOR})
+ globalSettings.getValue(IConfigurationConstants.SIG_PLACEMENT_DEBUG_OUTPUT)?.let {
+ ImageIOUtil.writeImage(image, it, 72)
+ }
+
+ val bgColor = when (globalSettings.getValue(IConfigurationConstants.BG_COLOR_DETECTION).toBoolean()) {
+ true -> {
+ /*
+ * Only used if background color should be determined automatically.
+ * That can be necessary of PDF contains page-size images.
+ */
+ val topLeft = image.getRGB(5,5)
+ val topRight = image.getRGB(image.width-5, 5)
+ val bottomLeft = image.getRGB(5, image.height-5)
+ val bottomRight = image.getRGB(image.width-5, image.height-5)
+ // pick most common color
+ sequenceOf(topLeft, topRight, bottomLeft, bottomRight)
+ .groupingBy { it }
+ .eachCount()
+ .maxBy { it.value }.key
+ }
+ false -> RENDERER_BACKGROUND_COLOR.rgb
+ }
+ return ((image.height - 1 - footerSize).downTo(1).firstOrNull { row ->
+ (0..<image.width).any { col -> (image.getRGB(col, row) != bgColor) }
+ } ?: 0)
+
+ } catch (e: Throwable) {
+ logger.warn("Could not determine page length, ignoring page content", e)
+ return 0
+ }
+ }
+
+ private class Renderer(pdf: PDDocument): PDFRenderer(pdf) {
+ class Drawer(parameters: PageDrawerParameters) : PageDrawer(parameters) {
+ override fun getPaint(color: PDColor) = RENDERER_FOREGROUND_COLOR
+ }
+ override fun createPageDrawer(parameters: PageDrawerParameters): PageDrawer {
+ return Drawer(parameters)
+ }
+ }
+} \ No newline at end of file
diff --git a/pdf-as-pdfbox-3/src/main/kotlin/at/gv/egiz/pdfas/lib/impl/pdfbox3/configuration/ProfileValidator.kt b/pdf-as-pdfbox-3/src/main/kotlin/at/gv/egiz/pdfas/lib/impl/pdfbox3/configuration/ProfileValidator.kt
new file mode 100644
index 00000000..94ddaa2b
--- /dev/null
+++ b/pdf-as-pdfbox-3/src/main/kotlin/at/gv/egiz/pdfas/lib/impl/pdfbox3/configuration/ProfileValidator.kt
@@ -0,0 +1,105 @@
+package at.gv.egiz.pdfas.lib.impl.pdfbox3.configuration
+
+import at.gv.egiz.pdfas.common.exceptions.PDFASError
+import at.gv.egiz.pdfas.common.exceptions.PdfAsSettingsValidationException
+import at.gv.egiz.pdfas.common.settings.ISettings
+import at.gv.egiz.pdfas.common.settings.SignatureProfileSettings
+import at.gv.egiz.pdfas.lib.api.ByteArrayDataSource
+import at.gv.egiz.pdfas.lib.configuration.ConfigurationValidator
+import at.gv.egiz.pdfas.lib.impl.pdfbox3.PDFBOXObject
+import at.gv.egiz.pdfas.lib.impl.status.ICertificateProvider
+import at.gv.egiz.pdfas.lib.impl.status.OperationStatus
+import iaik.asn1.ObjectID
+import iaik.asn1.structures.Name
+import iaik.x509.X509Certificate
+import org.apache.pdfbox.pdmodel.PDDocument
+import org.apache.pdfbox.pdmodel.PDPage
+import org.apache.pdfbox.pdmodel.common.PDRectangle
+import org.slf4j.Logger
+import org.slf4j.LoggerFactory
+import java.io.ByteArrayOutputStream
+import java.io.IOException
+import java.math.BigInteger
+
+class ProfileValidator : ConfigurationValidator {
+
+ companion object {
+ private const val NAME = "PDFBOX_3_PROFILE_VALIDATOR"
+ private val logger: Logger = LoggerFactory.getLogger(ProfileValidator::class.java)
+ }
+
+ @Throws(PdfAsSettingsValidationException::class)
+ override fun validate(settings: ISettings) {
+ val profileIds: MutableSet<String?> = HashSet<String?>()
+
+ for (key in settings.getFirstLevelKeys("sig_obj.types.")) {
+ val profile = key.substring("sig_obj.types.".length)
+
+ if (settings.getValue(key) == "on") {
+ profileIds.add(profile)
+ }
+ }
+ logger.debug("Validating {} Profiles.", profileIds.size)
+
+ val profileSettings = ArrayList<SignatureProfileSettings?>()
+
+ val opState = OperationStatus(settings, null, null, null)
+
+ val dummyCert = X509Certificate()
+ dummyCert.setSerialNumber(BigInteger("123"))
+ val n = Name()
+ n.addRDN(ObjectID.country, "AT")
+ n.addRDN(ObjectID.locality, "Graz")
+ n.addRDN(ObjectID.organization, "test")
+ n.addRDN(ObjectID.organizationalUnit, "test")
+ n.addRDN(ObjectID.commonName, "testca")
+ dummyCert.setIssuerDN(n)
+ dummyCert.setSubjectDN(n)
+
+ val certProvider: ICertificateProvider = DummyCertificateProvider(dummyCert)
+
+ val pdfBoxObject = PDFBOXObject(opState)
+ val origDoc = PDDocument()
+ origDoc.addPage(PDPage(PDRectangle.A4))
+ val baos = ByteArrayOutputStream()
+ try {
+ origDoc.save(baos)
+ baos.close()
+ origDoc.close()
+
+ pdfBoxObject.setOriginalDocument(ByteArrayDataSource(baos.toByteArray()))
+ } catch (e1: IOException) {
+ logger.info("Configuration validation failed!")
+ throw PdfAsSettingsValidationException("Configuration validation failed!", e1)
+ }
+
+
+ for (id in profileIds) {
+ try {
+ val profileSetting = SignatureProfileSettings(id, settings)
+ profileSettings.add(profileSetting)
+ if (profileSetting.getValue("isvisible") != null) {
+ if (profileSetting.getValue("isvisible") == "false") {
+ continue
+ }
+ }
+ } catch (e: PDFASError) {
+ logger.error("Find suspect signature-profile configuration. Ignore it", e)
+ }
+ }
+ }
+
+ override fun usedAsDefault(): Boolean {
+ return true
+ }
+
+ override fun getName(): String {
+ return NAME
+ }
+
+ private class DummyCertificateProvider(private val cert: X509Certificate?) : ICertificateProvider {
+ override fun getCertificate(): X509Certificate? {
+ return cert
+ }
+ }
+} \ No newline at end of file
diff --git a/pdf-as-pdfbox-3/src/main/kotlin/at/gv/egiz/pdfas/lib/impl/signing/pdfbox3/PDFBOXSigner.kt b/pdf-as-pdfbox-3/src/main/kotlin/at/gv/egiz/pdfas/lib/impl/signing/pdfbox3/PDFBOXSigner.kt
new file mode 100644
index 00000000..07d84eb6
--- /dev/null
+++ b/pdf-as-pdfbox-3/src/main/kotlin/at/gv/egiz/pdfas/lib/impl/signing/pdfbox3/PDFBOXSigner.kt
@@ -0,0 +1,620 @@
+package at.gv.egiz.pdfas.lib.impl.signing.pdfbox3
+
+import at.gv.egiz.pdfas.common.exceptions.PDFASError
+import at.gv.egiz.pdfas.common.exceptions.PdfAsException
+import at.gv.egiz.pdfas.common.exceptions.PdfAsValidationException
+import at.gv.egiz.pdfas.common.exceptions.PdfAsWrappedIOException
+import at.gv.egiz.pdfas.common.exceptions.SLPdfAsException
+import at.gv.egiz.pdfas.common.messages.MessageResolver
+import at.gv.egiz.pdfas.common.settings.SignatureProfileSettings
+import at.gv.egiz.pdfas.lib.api.ByteArrayDataSource
+import at.gv.egiz.pdfas.lib.api.IConfigurationConstants
+import at.gv.egiz.pdfas.lib.api.sign.SignParameter
+import at.gv.egiz.pdfas.lib.impl.ErrorExtractor
+import at.gv.egiz.pdfas.lib.impl.SignaturePositionImpl
+import at.gv.egiz.pdfas.lib.impl.configuration.SignatureProfileConfiguration
+import at.gv.egiz.pdfas.lib.impl.pdfbox3.PDFBOXObject
+import at.gv.egiz.pdfas.lib.impl.pdfbox3.PDFBoxPlaceholderExtractor.signaturePlaceholderId
+import at.gv.egiz.pdfas.lib.impl.pdfbox3.Positioning
+import at.gv.egiz.pdfas.lib.impl.placeholder.PlaceholderFilter
+import at.gv.egiz.pdfas.lib.impl.placeholder.SignaturePlaceholderData
+import at.gv.egiz.pdfas.lib.impl.signing.IPdfSigner
+import at.gv.egiz.pdfas.lib.impl.signing.PDFASSignatureExtractor
+import at.gv.egiz.pdfas.lib.impl.signing.PDFASSignatureInterface
+import at.gv.egiz.pdfas.lib.impl.stamping.IPDFVisualObject
+import at.gv.egiz.pdfas.lib.impl.stamping.TableFactory
+import at.gv.egiz.pdfas.lib.impl.stamping.ValueResolver
+import at.gv.egiz.pdfas.lib.impl.stamping.pdfbox3.PDFAsVisualSignature
+import at.gv.egiz.pdfas.lib.impl.stamping.pdfbox3.PDFBOXStamper
+import at.gv.egiz.pdfas.lib.impl.status.OperationStatus
+import at.gv.egiz.pdfas.lib.impl.status.RequestedSignature
+import at.knowcenter.wag.egov.egiz.pdf.PositioningInstruction
+import at.knowcenter.wag.egov.egiz.pdf.TablePos
+import iaik.x509.X509Certificate
+import org.apache.pdfbox.Loader
+import org.apache.pdfbox.cos.COSArray
+import org.apache.pdfbox.cos.COSDictionary
+import org.apache.pdfbox.cos.COSInteger
+import org.apache.pdfbox.cos.COSName
+import org.apache.pdfbox.cos.COSString
+import org.apache.pdfbox.io.RandomAccessReadBuffer
+import org.apache.pdfbox.pdmodel.PDDocument
+import org.apache.pdfbox.pdmodel.PDPage
+import org.apache.pdfbox.pdmodel.PDResources
+import org.apache.pdfbox.pdmodel.common.PDNumberTreeNode
+import org.apache.pdfbox.pdmodel.common.PDRectangle
+import org.apache.pdfbox.pdmodel.documentinterchange.logicalstructure.PDStructureElement
+import org.apache.pdfbox.pdmodel.graphics.color.PDOutputIntent
+import org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature
+import org.apache.pdfbox.pdmodel.interactive.digitalsignature.SignatureInterface
+import org.apache.pdfbox.pdmodel.interactive.digitalsignature.SignatureOptions
+import org.apache.pdfbox.pdmodel.interactive.form.PDSignatureField
+import org.apache.pdfbox.preflight.PreflightDocument
+import org.apache.pdfbox.preflight.exception.SyntaxValidationException
+import org.apache.pdfbox.preflight.exception.ValidationException
+import org.apache.pdfbox.preflight.parser.PreflightParser
+import org.apache.pdfbox.rendering.ImageType
+import org.apache.pdfbox.rendering.PDFRenderer
+import org.apache.xmpbox.XMPMetadata
+import org.apache.xmpbox.xml.DomXmpParser
+import org.slf4j.LoggerFactory
+import java.awt.Graphics2D
+import java.awt.Image
+import java.awt.image.BufferedImage
+import java.io.ByteArrayInputStream
+import java.io.ByteArrayOutputStream
+import java.io.IOException
+import java.io.InputStream
+import java.util.*
+
+private fun makeSignaturePositionImpl(i: PositioningInstruction, o: IPDFVisualObject) =
+ SignaturePositionImpl().also { position ->
+ position.x = i.x
+ position.y = i.y
+ position.page = i.page
+ position.height = o.height
+ position.width = o.width
+ }
+
+object PDFBOXSigner : IPdfSigner<PDFBOXObject, PDFBOXSigner.SignatureDataExtractor> {
+ private val logger = LoggerFactory.getLogger(PDFBOXSigner::class.java)
+
+ override fun rewritePlainSignature(plainSignature: ByteArray) =
+ COSString(plainSignature).toHexString().toByteArray()
+
+ override fun buildPDFObject(operationStatus: OperationStatus) =
+ PDFBOXObject(operationStatus)
+
+ @Throws(PdfAsValidationException::class)
+ override fun checkPDFPermissions(pdfObject: PDFBOXObject) {
+
+ pdfObject.document!!.checkPDFPermissions()
+ }
+
+ fun PDDocument.checkPDFPermissions() {
+ if (isEncrypted || !currentAccessPermission.isOwnerPermission) {
+ if (
+ (currentAccessPermission.canModify() && currentAccessPermission.canModifyAnnotations()) ||
+ currentAccessPermission.canFillInForm()) {
+
+ logger.debug("Document is protected, but signing is still allowed")
+ } else {
+ throw PdfAsValidationException("error.pdf.sig.12", null)
+ }
+ }
+ }
+
+ class SignatureDataExtractor(
+ val certificate: X509Certificate,
+ private val pdfFilter: String,
+ private val pdfSubFilter: String,
+ private val signingDate: Calendar)
+ : PDFASSignatureExtractor, PDFASSignatureInterface, SignatureInterface {
+
+ override fun getPDFFilter() = pdfFilter
+ override fun getPDFSubFilter() = pdfSubFilter
+ override fun getSigningDate() = signingDate
+
+ private lateinit var signatureData: ByteArray
+ override fun getSignatureData() = signatureData
+ lateinit var byteRange: IntArray private set
+
+ /** Called by PDFBox.
+ * We save the data to be signed and return an all-zeros signature (padded by pdfbox).
+ * We splice the actual signature in at a later point.
+ */
+ override fun sign(content: InputStream): ByteArray {
+ signatureData = content.readAllBytes()
+ return byteArrayOf(0)
+ }
+
+ fun setPDSignature(signature: PDSignature) {
+ byteRange = signature.byteRange
+ }
+
+
+ }
+ override fun buildBlindSignaturInterface(
+ certificate: X509Certificate,
+ filter: String,
+ subfilter: String,
+ date: Calendar
+ ) = SignatureDataExtractor(certificate, filter, subfilter, date)
+
+ private fun findExistingSignature(doc: PDDocument, sigFieldName: String?): PDSignature? =
+ doc.documentCatalog.acroForm
+ ?.let { it.getField(sigFieldName) as? PDSignatureField }
+ ?.let { field ->
+ if (field.signature != null) {
+ throw IllegalStateException("The signature field $sigFieldName is already signed.")
+ }
+ PDSignature().also { field.cosObject.setItem(COSName.V, it) }
+ }
+
+ private fun getSignatureFieldNameConfig(pdfObject: PDFBOXObject): String? =
+ pdfObject.status.settings.getValue(IConfigurationConstants.SIGNATURE_FIELD_NAME)
+
+ private fun getPDFAVersion(doc: PDDocument): String? = try {
+ doc.documentCatalog.metadata
+ ?.let { DomXmpParser().parse(it.exportXMPMetadata()) }
+ ?.let(XMPMetadata::getPDFAIdentificationSchema)
+ ?.let {
+ val pdfaVersion = it.part
+ val conformance = it.conformance
+ logger.info("Detected PDF/A version: {} - {}", pdfaVersion, conformance)
+ pdfaVersion.toString()
+ }
+ } catch (e: Throwable) {
+ logger.warn("Failed to determine PDF/A version", e)
+ null
+ }
+
+ private fun logPdfUpdateError(e: Throwable) {
+ if (e is SLPdfAsException && !e.isCriticalError)
+ logger.info("Could not save incremental update", e)
+ else
+ logger.error("Could not save incremental update", e)
+ }
+
+ private fun SignatureProfileSettings.calculateBlankAreaForSignature() : Int =
+ runCatching {
+ this.getValue(IConfigurationConstants.SIG_RESERVED_SIZE)?.toInt()
+ }.getOrElse {
+ logger.warn("Invalid configuration value for ${IConfigurationConstants.SIG_RESERVED_SIZE} (should be a number), using default")
+ null
+ } ?: 0x1000
+
+ private fun prepareTablePosition(nextPlaceholderData: SignaturePlaceholderData?, signatureProfileConfiguration: SignatureProfileConfiguration, signParameterPosParam: String?): TablePos {
+ nextPlaceholderData?.tablePos?.let { placeholderTablePos ->
+ val minWidth = signatureProfileConfiguration.minWidth
+ if ((minWidth > 0) && (placeholderTablePos.width < minWidth)) {
+ placeholderTablePos.width = minWidth
+ logger.debug("Correcting placeholder to minimum required width ({})", minWidth)
+ }
+ logger.debug("Placeholder position set to: {}", placeholderTablePos)
+ return placeholderTablePos
+ }
+
+ val defaultProfilePos = signatureProfileConfiguration.defaultPositioning?.let {
+ logger.debug("Using Signature positioning from profile: {}", it)
+ TablePos(it)
+ }
+
+ logger.debug("Signature positioning from sign parameter: {}", signParameterPosParam)
+ return when (signParameterPosParam) {
+ null -> defaultProfilePos ?: TablePos()
+ else -> TablePos(signParameterPosParam, defaultProfilePos)
+ }
+ }
+
+ private fun buildNextSignatureFieldName(doc: PDDocument, pdfObject: PDFBOXObject): String {
+ val baseName = getSignatureFieldNameConfig(pdfObject) ?: "PDF-AS Signatur"
+
+ val existingSignatureNames =
+ doc.document.trailer
+ .getCOSDictionary(COSName.ROOT)
+ .getCOSDictionary(COSName.ACRO_FORM)
+ .getCOSArray(COSName.FIELDS)
+ .asSequence()
+ .mapNotNull {
+ if (it !is COSDictionary) return@mapNotNull null
+ if (it.getNameAsString(COSName.FT) != "Sig") return@mapNotNull null
+ it.getString(COSName.T)?.takeIf { n -> n.startsWith(baseName) }
+ }
+ .toSet()
+
+ var i = 1
+ return generateSequence { "$baseName ${i++}" }
+ .first { !existingSignatureNames.contains(it) }
+ }
+
+ private fun injectPdfUaContent(doc: PDDocument, signatureField: PDSignatureField,
+ sigFieldName: String, signatureProfileSettings: SignatureProfileSettings) {
+ try {
+ logger.info("Adding PDF/UA content...")
+ val structureTreeRoot = doc.documentCatalog.structureTreeRoot
+ val docElement = (structureTreeRoot?.kids ?: run {
+ logger.info("No kid elements in structure tree root, maybe not PDF/UA document. Skipping PDF/UA injection...")
+ return@injectPdfUaContent
+ }).firstNotNullOf { it as? PDStructureElement }
+
+ val annotationObj = signatureField.widgets[0]
+ val annotationPage = annotationObj.page
+ val objectDic = COSDictionary().apply {
+ setName(COSName.TYPE, "OBJR")
+ setItem(COSName.PG, annotationPage)
+ setItem(COSName.OBJ, annotationObj)
+ }
+
+ val sigBlock = PDStructureElement("Form", docElement).apply {
+ kids = listOf(objectDic)
+ page = annotationPage
+
+ cosObject.apply {
+ setItem(COSName.A, COSDictionary().apply {
+ setName(COSName.O, "Layout")
+ setName("Placement", "Block")
+ })
+ isNeedToBeUpdated = true
+ }
+ }.also(docElement::appendKid)
+
+ val ntn = structureTreeRoot.parentTree ?: run {
+ logger.info("No number-tree-node found!")
+ PDNumberTreeNode(objectDic, null)
+ }
+
+ val (ntnKids, ntnNumbers) = ntn.cosObject.run {
+ Pair(getCOSArray(COSName.KIDS), getCOSArray(COSName.NUMS))
+ }
+
+ val parentTreeNextKey = structureTreeRoot.parentTreeNextKey.takeIf { it >= 0 } ?: run {
+ structureTreeRoot.parentTree.upperLimit?.plus(1) ?: 0
+ }
+ val parentTreeNextKeyCOS = COSInteger.get(parentTreeNextKey.toLong())
+
+ if ((ntnKids != null) && (ntnNumbers == null)) {
+ PDNumberTreeNode(COSDictionary().apply {
+ setItem(COSName.NUMS, COSArray().apply {
+ add(parentTreeNextKeyCOS)
+ add(sigBlock)
+ })
+ setItem(COSName.LIMITS, COSArray().apply {
+ add(parentTreeNextKeyCOS)
+ add(parentTreeNextKeyCOS)
+ })
+ }, PDNumberTreeNode::class.java).let {
+ ntnKids.add(it)
+ ntnKids.isNeedToBeUpdated = true
+ }
+ } else if ((ntnNumbers != null) && (ntnKids == null)) {
+ ntnNumbers.add(parentTreeNextKeyCOS)
+ ntnNumbers.add(sigBlock.cosObject)
+ ntnNumbers.isNeedToBeUpdated = true
+ structureTreeRoot.parentTree = ntn
+ } else {
+ logger.error(
+ "Document is not PDF/UA conformant before signature creation (ntnKids = {}, ntnNumbers = {})",
+ ntnKids, ntnNumbers)
+ throw PdfAsException("error.pdf.sig.pdfua.1")
+ }
+
+ annotationObj.structParent = parentTreeNextKey
+ structureTreeRoot.parentTreeNextKey = parentTreeNextKey + 1
+ annotationPage.cosObject.let {
+ it.setName("Tabs", "S")
+ it.isNeedToBeUpdated = true
+ }
+
+ if (signatureField.alternateFieldName.isEmpty())
+ signatureField.alternateFieldName = sigFieldName
+
+ ntn.cosObject.isNeedToBeUpdated = true
+ sigBlock.cosObject.isNeedToBeUpdated = true
+ structureTreeRoot.cosObject.isNeedToBeUpdated = true
+ objectDic.isNeedToBeUpdated = true
+ docElement.cosObject.isNeedToBeUpdated = true
+
+ } catch (e: Throwable) {
+ if (signatureProfileSettings.isPDFUA) {
+ logger.error("Could not create PDF/UA conformant document!", e)
+ throw PdfAsException("error.pdf.sig.pdfua.1", e)
+ } else {
+ if (logger.isDebugEnabled) {
+ logger.debug("Could not create PDF/UA conformant signature. Reason: {}", e.message, e)
+ } else {
+ logger.info("Could not create PDF/UA conformant signature. Reason: {}", e.message)
+ }
+ }
+ }
+ }
+
+ private fun validatePDFAPreflight(signedDocument: ByteArray) {
+ RandomAccessReadBuffer(signedDocument).use { buf ->
+ try {
+ val result =
+ (PreflightParser(buf).parse() as PreflightDocument).use(PreflightDocument::validate)
+
+ logger.info("PDF-A Validation Result: {}", result.isValid)
+ result.errorsList.takeIf { it.isNotEmpty() }?.let { errors ->
+ logger.error("The following validation errors occurred for PDF-A validation:")
+ errors.forEach {
+ logger.error("\t{}: {}", it.errorCode, it.details)
+ }
+ }
+ if (!result.isValid) {
+ logger.info("The file is not a valid PDF-A document")
+ }
+ } catch (e: SyntaxValidationException) {
+ logger.error("The file is syntactically invalid", e)
+ throw PdfAsException("Resulting PDF document is syntactically invalid.")
+ } catch (e: ValidationException) {
+ logger.error("The file is not a valid PDF-A document.", e)
+ } catch (e: IOException) {
+ logger.error("IOException (${e.message}) occurred while validating PDF-A conformance", e)
+ throw PdfAsException("Failed validating PDF Document.", e)
+ } catch (e: RuntimeException) {
+ logger.error("RuntimeException occurred while validating PDF-A conformance", e)
+ throw PdfAsException("Failed validating PDF Document.", e)
+ }
+ }
+ }
+
+ override fun signPDF(
+ pdfObject: PDFBOXObject,
+ requestedSignature: RequestedSignature,
+ signer: SignatureDataExtractor
+ ) {
+
+ val isAdobeSignatureForm: Boolean
+ try { SignatureOptions().use { options -> pdfObject.document!!.use { doc ->
+ val signature = findExistingSignature(doc, getSignatureFieldNameConfig(pdfObject))
+ .also { isAdobeSignatureForm = (it != null) }
+ ?: PDSignature()
+ signature.setFilter(COSName.getPDFName(signer.pdfFilter))
+ signature.setSubFilter(COSName.getPDFName(signer.pdfSubFilter))
+ signature.signDate = Calendar.getInstance()
+ logger.debug("Signing at {}", signature.signDate.time)
+
+ val nextPlaceholderData: SignaturePlaceholderData? = PlaceholderFilter.checkPlaceholderSignatureLocation(
+ pdfObject.status, pdfObject.status.settings,
+ pdfObject.status.signParameter.placeHolderId)
+ if (nextPlaceholderData != null) {
+ logger.info("Placeholder data found.")
+ signature.signaturePlaceholderId = nextPlaceholderData.placeholderName
+ nextPlaceholderData.profile?.let { profile ->
+ if (pdfObject.status.settings.isValue(IConfigurationConstants.PLACEHOLDER_PROFILE_OVERWRITE, true)) {
+ logger.debug("Placeholder profile override applied. Using profile {}...", profile)
+ requestedSignature.signatureProfileID = profile
+ } else {
+ logger.debug("Placeholder profile override is disabled. Using profile from request...")
+ }
+ }
+ }
+
+ val signatureProfileSettings =
+ TableFactory.createProfile(requestedSignature.signatureProfileID, pdfObject.status.settings)
+ val resolver = ValueResolver(requestedSignature, pdfObject.status)
+
+ signature.name = resolver.resolve("SIG_SUBJECT",
+ signatureProfileSettings.getValue("SIG_SUBJECT"), signatureProfileSettings)
+ signature.reason =
+ (signatureProfileSettings.signingReason ?: "PAdES Signature").also { logger.debug("Signing reason: $it") }
+
+ signer.setPDSignature(signature)
+
+ if (signatureProfileSettings.isPDFA() || signatureProfileSettings.isPDFA3) {
+ signatureProfileSettings.setPDFAVersion(getPDFAVersion(doc))
+ }
+
+ options.preferredSignatureSize = signatureProfileSettings.calculateBlankAreaForSignature()
+ .also { logger.debug("Reserving {} bytes for signature", it) }
+
+ var alternateCaption: String? = null
+ if (requestedSignature.isVisual) {
+ logger.info("Creating visual signature block")
+
+ val signatureProfileConfiguration =
+ pdfObject.status.getSignatureProfileConfiguration(requestedSignature.signatureProfileID)
+ val tablePos =
+ prepareTablePosition(nextPlaceholderData, signatureProfileConfiguration,
+ pdfObject.status.signParameter.signaturePosition)
+ val main = TableFactory.createSigTable(
+ signatureProfileSettings, IConfigurationConstants.MAIN,
+ pdfObject.status, requestedSignature)
+
+ val visualObject = PDFBOXStamper.createVisualPDFObject(pdfObject, main)
+
+ val positioningInstruction: PositioningInstruction = Positioning.determineTablePositioning(
+ tablePos, doc, visualObject, pdfObject.status.settings, signatureProfileSettings
+ )
+ logger.debug("Positioning: {}", positioningInstruction)
+
+ if (!isAdobeSignatureForm) {
+ if (positioningInstruction.isMakeNewPage) {
+ val last = doc.numberOfPages - 1
+ val root = doc.documentCatalog
+ val lastPage = root.pages[last]
+ root.pages.cosObject.isNeedToBeUpdated = true
+
+ doc.addPage(
+ PDPage(lastPage.mediaBox).apply {
+ setResources(PDResources())
+ rotation = lastPage.rotation
+ })
+ }
+
+ // TODO: this is a no-op, right?
+ val targetPage = doc.pages.get(positioningInstruction.page - 1)
+ val rot = targetPage.rotation
+ logger.debug("Page rotation: $rot")
+ logger.debug("Resulting sign rotation: ${positioningInstruction.rotation}")
+
+ requestedSignature.signaturePosition =
+ makeSignaturePositionImpl(positioningInstruction, visualObject)
+ }
+
+ if (signatureProfileSettings.isPDFA() || signatureProfileSettings.isPDFA3) {
+ val root = doc.documentCatalog
+
+ PDFBOXSigner.javaClass.getResourceAsStream("/icm/sRGB Color Space Profile.icm").use { colorProfile ->
+ root.outputIntents = listOf(PDOutputIntent(doc, colorProfile).apply {
+ info = "sRGB IEC61966-2.1"
+ outputCondition = "sRGB IEC61966-2.1"
+ outputConditionIdentifier = "sRGB IEC61966-2.1"
+ registryName = "http://www.color.org"
+ })
+ root.cosObject.isNeedToBeUpdated = true
+ }
+
+ }
+
+ options.page = positioningInstruction.page - 1
+
+ PDFAsVisualSignature.build(
+ pdfObject, visualObject, positioningInstruction, signatureProfileSettings, false
+ ).let { (signatureBlock, caption) ->
+ options.setVisualSignature(ByteArrayInputStream(signatureBlock))
+ alternateCaption = caption
+ }
+ }
+
+ doc.addSignature(signature, signer, options)
+
+ val sigFieldName = buildNextSignatureFieldName(doc, pdfObject)
+
+ if (!isAdobeSignatureForm) {
+ val signatureField =
+ doc.documentCatalog.acroForm?.fields?.asSequence()
+ ?.filterIsInstance<PDSignatureField>()
+ ?.firstOrNull { it.signature?.cosObject == signature.cosObject }
+ if (signatureField != null) {
+ signatureField.partialName = sigFieldName
+ signatureField.alternateFieldName = alternateCaption ?: sigFieldName
+ } else {
+ logger.warn("Failed to name Signature Field! [Cannot find AcroForm field list]")
+ }
+ }
+
+ val signatureField = doc.documentCatalog.acroForm?.getField(sigFieldName) as PDSignatureField
+ injectPdfUaContent(doc, signatureField, sigFieldName, signatureProfileSettings)
+ try {
+ synchronized(doc) {
+ pdfObject.signedDocument = ByteArrayOutputStream().also(doc::saveIncremental).toByteArray()
+ if (signatureProfileSettings.isPDFA) {
+ validatePDFAPreflight(pdfObject.signedDocument)
+ }
+ }
+ } catch (e: PdfAsWrappedIOException) {
+ throw e.decoratedException.also(::logPdfUpdateError)
+ } catch (e: Throwable) {
+ throw PdfAsException("error.pdf.sig.06", e.also(::logPdfUpdateError))
+ }
+ logger.debug("Signature done!")
+ }}} catch (e: IOException) {
+ logger.warn(MessageResolver.resolveMessage("error.pdf.sig.01"), e)
+ throw PdfAsException("error.pdf.sig.01", e)
+ } catch (e: PDFASError) {
+ logger.warn(e.info)
+ throw PdfAsException("error.pdf.sig.01", e)
+ } finally {
+ System.gc()
+ }
+ }
+
+ override fun generateVisibleSignaturePreview(
+ parameter: SignParameter,
+ cert: java.security.cert.X509Certificate,
+ resolution: Int,
+ status: OperationStatus,
+ requestedSignature: RequestedSignature
+ ): Image {
+ try {
+ val pdfObject = status.pdfObject as PDFBOXObject
+
+ val signatureProfileSettings: SignatureProfileSettings
+ val visualObject: PDFBOXStamper.VisualObject
+ val positioningInstruction: PositioningInstruction
+ PDDocument().use { previewDoc ->
+ previewDoc.addPage(PDPage(PDRectangle.A4))
+ pdfObject.originalDocument = ByteArrayDataSource(
+ ByteArrayOutputStream().use {
+ previewDoc.save(it)
+ it.toByteArray()
+ })
+
+ signatureProfileSettings = TableFactory.createProfile(
+ requestedSignature.signatureProfileID,
+ pdfObject.status.settings
+ )
+
+ visualObject =
+ PDFBOXStamper.createVisualPDFObject(
+ pdfObject,
+ TableFactory.createSigTable(
+ signatureProfileSettings, IConfigurationConstants.MAIN,
+ pdfObject.status, requestedSignature
+ )
+ )
+
+ positioningInstruction = when (
+ val signaturePosString = pdfObject.status
+ .getSignatureProfileConfiguration(requestedSignature.signatureProfileID)
+ .defaultPositioning
+ ) {
+ null -> TablePos()
+ else -> TablePos(signaturePosString)
+ }.let {
+ Positioning.determineTablePositioning(
+ it,
+ previewDoc,
+ visualObject,
+ pdfObject.status.settings,
+ signatureProfileSettings
+ )
+ }
+ }
+
+ val stdRes = 72.0
+ val targetRes = resolution.toFloat()
+ val factor = targetRes / stdRes
+
+ requestedSignature.signaturePosition = makeSignaturePositionImpl(positioningInstruction, visualObject)
+ val pageImage =
+ PDFAsVisualSignature.build(
+ pdfObject,
+ visualObject,
+ positioningInstruction,
+ signatureProfileSettings,
+ true
+ )
+ .let { (bytes, _) ->
+ synchronized(PDDocument::javaClass) { Loader.loadPDF(bytes) }
+ }
+ .use { visualDoc ->
+ PDFRenderer(visualDoc)
+ .renderImageWithDPI(0, targetRes, ImageType.ARGB)
+ }
+
+
+ return BufferedImage(
+ (requestedSignature.signaturePosition.width * factor).toInt(),
+ (requestedSignature.signaturePosition.height * factor).toInt(),
+ BufferedImage.TYPE_4BYTE_ABGR
+ ).also { cutOut ->
+ // TODO: these coordinates feel scuffed
+ (cutOut.graphics as Graphics2D).drawImage(
+ pageImage, 0, 0, cutOut.width, cutOut.height,
+ (0 * factor).toInt(),
+ (pageImage.height - (requestedSignature.signaturePosition.height + 1) * factor).toInt(),
+ ((requestedSignature.signaturePosition.width + 2) * factor).toInt(),
+ (pageImage.height).toInt(),
+ null
+ )
+ }
+ } catch (e: Throwable) {
+ logger.warn("Failed to generate signature preview", e)
+ throw ErrorExtractor.searchPdfAsError(e, status)
+ }
+ }
+} \ No newline at end of file
diff --git a/pdf-as-pdfbox-3/src/main/kotlin/at/gv/egiz/pdfas/lib/impl/stamping/pdfbox3/PDFAsVisualSignature.kt b/pdf-as-pdfbox-3/src/main/kotlin/at/gv/egiz/pdfas/lib/impl/stamping/pdfbox3/PDFAsVisualSignature.kt
new file mode 100644
index 00000000..bf8b448d
--- /dev/null
+++ b/pdf-as-pdfbox-3/src/main/kotlin/at/gv/egiz/pdfas/lib/impl/stamping/pdfbox3/PDFAsVisualSignature.kt
@@ -0,0 +1,560 @@
+package at.gv.egiz.pdfas.lib.impl.stamping.pdfbox3
+
+import at.gv.egiz.pdfas.common.exceptions.PdfAsException
+import at.gv.egiz.pdfas.common.settings.ISettings
+import at.gv.egiz.pdfas.common.settings.SignatureProfileSettings
+import at.gv.egiz.pdfas.common.utils.ImageUtils
+import at.gv.egiz.pdfas.lib.impl.pdfbox3.PDFBOXObject
+import at.knowcenter.wag.egov.egiz.pdf.PositioningInstruction
+import at.knowcenter.wag.egov.egiz.table.Entry
+import at.knowcenter.wag.egov.egiz.table.Style
+import org.apache.pdfbox.cos.COSArray
+import org.apache.pdfbox.cos.COSName
+import org.apache.pdfbox.pdmodel.PDDocument
+import org.apache.pdfbox.pdmodel.PDPage
+import org.apache.pdfbox.pdmodel.PDPageContentStream
+import org.apache.pdfbox.pdmodel.PDResources
+import org.apache.pdfbox.pdmodel.common.PDRectangle
+import org.apache.pdfbox.pdmodel.common.PDStream
+import org.apache.pdfbox.pdmodel.font.PDType0Font
+import org.apache.pdfbox.pdmodel.graphics.form.PDFormXObject
+import org.apache.pdfbox.pdmodel.graphics.image.LosslessFactory
+import org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject
+import org.apache.pdfbox.pdmodel.interactive.annotation.PDAppearanceDictionary
+import org.apache.pdfbox.pdmodel.interactive.annotation.PDAppearanceStream
+import org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature
+import org.apache.pdfbox.pdmodel.interactive.digitalsignature.visible.PDFTemplateStructure
+import org.apache.pdfbox.pdmodel.interactive.form.PDAcroForm
+import org.apache.pdfbox.pdmodel.interactive.form.PDSignatureField
+import org.slf4j.LoggerFactory
+import java.awt.Color
+import java.awt.geom.AffineTransform
+import java.awt.geom.Point2D
+import java.io.ByteArrayOutputStream
+import kotlin.properties.Delegates
+
+// This unifies the old PDFAsVisualSignatureProperties, PDFAsVisualSignatureDesigner, PDFAsVisualSignatureBuilder, and PDFAsTemplateCreator
+object PDFAsVisualSignature {
+ val logger = LoggerFactory.getLogger(PDFAsVisualSignature::class.java)
+ fun build(
+ pdfObject: PDFBOXObject, visualObject: PDFBOXStamper.VisualObject,
+ pos: PositioningInstruction, signatureProfileSettings: SignatureProfileSettings,
+ buildPreviewOnly: Boolean
+ ): Pair<ByteArray, String> {
+ try {
+ val main = visualObject.table
+ val rotationAngle = pos.rotation
+ val origDoc = pdfObject.document
+
+ if (pos.page < 1) {
+ throw IllegalArgumentException("PDF pages start at 1, expected page number >= 1, got ${pos.page}")
+ }
+
+ val (pageWidth, pageHeight, pageRotation) =
+ pdfObject.document!!.documentCatalog.pages.let { pages ->
+ when (pos.isMakeNewPage) {
+ true -> pages[pages.count-1]
+ false -> pages[pos.page-1]
+ }
+ }.let { page ->
+ val rotation = page.rotation % 360
+ val mediaBox = page.mediaBox
+ when (rotation % 180) {
+ 0 -> Triple(mediaBox.width, mediaBox.height, rotation)
+ 90 -> Triple(mediaBox.height, mediaBox.width, rotation)
+ else -> throw IllegalStateException("Invalid page rotation $rotation")
+ }
+ }
+
+ val page = when (pos.isMakeNewPage) {
+ true -> pdfObject.document!!.documentCatalog.pages.let { it[it.count-1] }
+ false -> pdfObject.document!!.documentCatalog.pages[pos.page-1]
+ }
+ val posx = pos.x
+ val posy = pageHeight - pos.y
+
+ // designer formater rectangle params: 0, 0, main.width + 1, main.height + 1
+ val pdfStructure = PDFTemplateStructure()
+ pdfStructure.procSet = COSArray().apply {
+ sequenceOf("PDF","Text","ImageC","ImageB","ImageI")
+ .map(COSName::getPDFName).forEach(this::add)
+ }
+ pdfStructure.page = PDPage().apply {
+ mediaBox = PDRectangle(pageWidth, pageHeight)
+ rotation = pageRotation
+ }
+ pdfStructure.template = PDDocument().apply {
+ addPage(pdfStructure.page)
+ }
+ pdfStructure.acroForm = PDAcroForm(pdfStructure.template).also {
+ pdfStructure.template.documentCatalog.acroForm = it
+ }
+ pdfStructure.signatureField = PDSignatureField(pdfStructure.acroForm)
+ pdfStructure.pdSignature = PDSignature().apply {
+ pdfStructure.signatureField.value = this
+ pdfStructure.signatureField.widgets[0].page = pdfStructure.page
+ pdfStructure.page.annotations.add(pdfStructure.signatureField.widgets[0])
+ name = "sig"
+ byteRange = intArrayOf(0,0,0,0)
+ contents = ByteArray(4096)
+ }
+ pdfStructure.acroFormFields = pdfStructure.acroForm.fields.apply {
+ add(pdfStructure.signatureField)
+ }
+ pdfStructure.acroFormDictionary = pdfStructure.acroForm.cosObject.apply {
+ isDirect = true
+ setInt(COSName.SIG_FLAGS, 3)
+ setString(COSName.DA, "/sylfaen 0 Tf 0 g")
+ }
+ pdfStructure.affineTransform = AffineTransform(floatArrayOf(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f))
+ pdfStructure.signatureRectangle = createSignatureRectangle(
+ pageWidth = pageWidth, pageHeight = pageHeight,
+ posx, posy,
+ main.width, main.height,
+ rotationAngle, pageRotation,
+ ).also {
+ pdfStructure.signatureField.widgets[0].rectangle = it
+ }
+ pdfStructure.formatterRectangle = FloatArray(4).also {
+ pdfStructure.affineTransform.transform(
+ floatArrayOf(0.0f, 0.0f, main.width + 1, main.height + 1), 0,
+ it, 0,
+ 2)
+ }.let {
+ PDRectangle().apply {
+ upperRightX = it[0]
+ upperRightY = it[1]
+ lowerLeftX = it[2]
+ lowerLeftY = it[3]
+ }
+ }
+
+ pdfStructure.holderFormStream = PDStream(pdfStructure.template)
+ pdfStructure.holderFormResources = PDResources()
+ pdfStructure.holderForm = PDFormXObject(pdfStructure.holderFormStream).apply {
+ resources = pdfStructure.holderFormResources
+ bBox = pdfStructure.formatterRectangle
+ formType = 1
+ }
+
+ pdfStructure.appearanceDictionary = PDAppearanceDictionary().apply {
+ cosObject.isDirect = true
+ setNormalAppearance(PDAppearanceStream(pdfStructure.holderForm.cosObject).apply {
+ setMatrix(AffineTransform().apply {
+ setToIdentity()
+ rotate(Math.toRadians(rotationAngle.toDouble() + pageRotation))
+ })
+ })
+ }.also { pdfStructure.signatureField.widgets[0].appearance = it }
+
+ val (alternativeTableCaption, innerFormResources) =
+ Table.draw(main,
+ pdfStructure.template, pdfStructure.page,
+ main.width, main.height,
+ signatureProfileSettings, pdfObject.settings)
+
+ pdfStructure.innerFormResources = innerFormResources
+
+ pdfStructure.setInnterFormStream(PDStream(pdfStructure.template, pdfStructure.page.contents))
+
+ pdfStructure.innerForm = PDFormXObject(pdfStructure.innerFormStream).apply {
+ resources = pdfStructure.innerFormResources
+ bBox = pdfStructure.formatterRectangle
+ formType = 1
+ }.also {
+ pdfStructure.innerFormName = pdfStructure.holderFormResources.add(it, "FRM")
+ }
+
+ pdfStructure.innerForm.resources.cosObject.setItem(COSName.PROC_SET, pdfStructure.procSet)
+ pdfStructure.page.cosObject.setItem(COSName.PROC_SET, pdfStructure.procSet)
+ pdfStructure.innerFormResources.cosObject.setItem(COSName.PROC_SET, pdfStructure.procSet)
+ pdfStructure.holderFormResources.cosObject.setItem(COSName.PROC_SET, pdfStructure.procSet)
+
+ if (!buildPreviewOnly) {
+ val holderFormComment = pdfStructure.affineTransform.run {
+ "q $scaleX $shearY $shearX $scaleY $translateX $translateY cm /${pdfStructure.innerFormName.name} Do Q"
+ }
+ logger.debug("Holder form stream: {}", holderFormComment)
+
+ val innerFormComment = pdfStructure.innerFormStream.toByteArray()
+
+ pdfStructure.holderFormStream.createOutputStream().use {
+ it.write(holderFormComment.trim().filterNot {c -> c == '\r' || c == '\n' }.toByteArray())
+ }
+ pdfStructure.innerFormStream.createOutputStream().use {
+ it.write(innerFormComment)
+ }
+ logger.debug("Injected appearance stream to PDF")
+ }
+
+ pdfStructure.visualSignature = pdfStructure.template.document
+
+ pdfStructure.widgetDictionary = pdfStructure.signatureField.widgets[0].cosObject.apply {
+ isNeedToBeUpdated = true
+ setItem(COSName.DR, pdfStructure.holderFormResources.cosObject)
+ }
+
+ if (signatureProfileSettings.isPDFA3) {
+ pdfStructure.template.pages.forEach { page ->
+ page.resources.fontNames.forEach { fontName ->
+ val pdFont = page.resources.getFont(fontName)
+ if (pdFont is PDType0Font) {
+ pdFont.descendantFont?.fontDescriptor?.cosObject?.removeItem(COSName.CID_SET)
+ }
+ }
+ }
+ }
+
+ return Pair(
+ ByteArrayOutputStream().also {
+ pdfStructure.template.save(it)
+ pdfStructure.template.close()
+ }.toByteArray(),
+ alternativeTableCaption)
+ } catch (e: Throwable) {
+ logger.warn("Failed to create visual signature block", e)
+ throw PdfAsException("Failed to create visual signature block", e)
+ }
+ }
+
+ fun createSignatureRectangle(
+ pageWidth: Float, pageHeight: Float,
+ /** from left edge of page */
+ signaturePosX: Float,
+ /** from top edge of page */
+ signaturePosY: Float,
+ signatureWidth: Float, signatureHeight: Float, rotationDegrees: Float, pageRotationDegrees: Int
+ ): PDRectangle {
+ val leftX = signaturePosX
+ /** from bottom edge of page */
+ val topY = pageHeight - signaturePosY
+ logger.debug("POS: ({}, {})", leftX, topY)
+ logger.debug("SIZE: {} by {}", signatureWidth, signatureHeight)
+ val upperRight = Point2D.Float(leftX + signatureWidth, topY)
+ val lowerLeft = Point2D.Float(leftX, topY - signatureHeight)
+ logger.debug("Corners: upper right {}, lower left {}", upperRight, lowerLeft)
+
+ ((rotationDegrees + pageRotationDegrees) % 360).takeIf { it != 0.0f }
+ ?.let { deg ->
+ AffineTransform().apply {
+ setToRotation(
+ Math.toRadians(deg.toDouble()),
+ lowerLeft.x.toDouble(),
+ lowerLeft.y.toDouble())
+ }.let {
+ it.transform(upperRight, upperRight)
+ it.transform(lowerLeft, lowerLeft)
+ }
+ }
+ logger.debug("Rotated corners: upper right {}, lower left {}", upperRight, lowerLeft)
+
+ when (pageRotationDegrees) {
+ 90 -> AffineTransform().apply {
+ setToTranslation(
+ (pageHeight - topY - leftX + signatureHeight).toDouble(),
+ (leftX + signatureHeight - topY).toDouble()
+ )
+ }
+ 180 -> AffineTransform().apply {
+ setToTranslation(
+ (pageWidth - 2 * leftX).toDouble(),
+ (pageHeight - 2 * (topY - signatureHeight)).toDouble()
+ )
+ }
+ 270 -> AffineTransform().apply {
+ setToTranslation(
+ (-signatureHeight + topY - leftX).toDouble(),
+ (pageWidth - (topY - signatureHeight) - leftX).toDouble()
+ )
+ }
+ else -> null
+ }?.let {
+ it.transform(upperRight, upperRight)
+ it.transform(lowerLeft, lowerLeft)
+ }
+ logger.debug("Adjusted for page rotation: upper right {}, lower left {}", upperRight, lowerLeft)
+
+ return PDRectangle().apply {
+ upperRightX = upperRight.x
+ upperRightY = upperRight.y
+ lowerLeftX = lowerLeft.x
+ lowerLeftY = lowerLeft.y
+ }.also { logger.debug("Signature rectangle: {}", it) }
+ }
+
+ data class ImageObject(val image: PDImageXObject, /** width/height */ val aspectRatio: Float)
+
+ object Table {
+ fun draw(
+ mainTable: PDFBOXStamper.Table,
+ document: PDDocument, page: PDPage,
+ width: Float, height: Float,
+ signatureProfileSettings: SignatureProfileSettings, globalSettings: ISettings
+ ): Pair<String, PDResources> {
+ val innerFormResources = PDResources()
+ page.resources = innerFormResources
+ PDPageContentStream(document, page).use { stream ->
+ val imageCache = mutableMapOf<String, ImageObject>()
+ val alternativeTableCaption = stream.drawTable(
+ mainTable, isSubtable = false,
+ 0.0f, 1.0f, width, height,
+ document, innerFormResources, imageCache, signatureProfileSettings, globalSettings
+ )
+ return Pair(alternativeTableCaption, innerFormResources)
+ }
+ }
+
+ private fun PDPageContentStream.drawTable(
+ table: PDFBOXStamper.Table, isSubtable: Boolean,
+ tableLeftX: Float, tableBottomY: Float, width: Float, height: Float,
+ document: PDDocument, innerFormResources: PDResources, imageCache: MutableMap<String, ImageObject>,
+ signatureProfileSettings: SignatureProfileSettings, globalSettings: ISettings
+ ): String {
+
+ logger.debug("Drawing table at ({},{}), size {} by {}\n{}", tableLeftX, tableBottomY, width, height, table.abstractTable)
+ table.abstractTable.width = width
+
+ // draw background
+ table.bgColor?.let { drawRect(tableLeftX, tableBottomY, table.width, table.height, it) }
+
+ val colSizes = (table.colRelativeWidths ?: FloatArray(table.colCount) { 1.0f }).let { sizes ->
+ val factor = width / sizes.sum()
+ FloatArray(sizes.size) { sizes[it]*factor }
+ }
+
+ val alternateTableCaption = StringBuilder()
+
+ (0..<table.rowCount).asSequence()
+ .map { it to table.getRow(it) }
+ .fold(tableBottomY + height)
+ { rowTopY, (rowIdx, row) ->
+ (rowTopY - table.rowHeights[rowIdx]).also { rowBottomY ->
+ // draw top line of row
+ drawLine(tableLeftX, rowTopY, tableLeftX + width, rowTopY, table.style.border, Color.BLACK)
+
+ var cellLeftX = tableLeftX
+ var colIdx = 0
+ while (true) {
+ // left border
+ drawLine(cellLeftX, rowTopY, cellLeftX, rowBottomY, table.style.border, Color.BLACK)
+
+ if (colIdx >= row.size) break
+
+ val cell = row[colIdx]
+ val nextColIdx = colIdx + cell.colSpan
+ val cellRightX = cellLeftX + (colIdx..<nextColIdx).asSequence().map(colSizes::get).sum()
+
+ // taken from pdfbox 2 code:
+ // "cell only contains default values so table style is the primary style"
+ cell.style = Style.doInherit(table.style, cell.style)
+
+ when (cell.type) {
+ Entry.TYPE_CAPTION -> {
+ val captionText = cell.value as String
+ alternateTableCaption.append(captionText).append(":\n")
+ drawString(
+ content = captionText,
+ leftX = cellLeftX, topY = rowTopY,
+ width = cellRightX - cellLeftX, height = rowTopY - rowBottomY,
+ hAlign = cell.style.hAlign, vAlign = cell.style.vAlign,
+ padding = table.padding, font = table.font, color = Color.BLACK,
+ settings = globalSettings
+ )
+ }
+ Entry.TYPE_VALUE -> {
+ val cellText = cell.value as String
+ alternateTableCaption.append(cellText).append('\n')
+ drawString(
+ content = cellText,
+ leftX = cellLeftX, topY = rowTopY,
+ width = cellRightX - cellLeftX, height = rowTopY - rowBottomY,
+ hAlign = cell.style.valueHAlign, vAlign = cell.style.valueVAlign,
+ padding = table.padding, font = table.valueFont, color = Color.BLACK,
+ settings = globalSettings
+ )
+ }
+ Entry.TYPE_IMAGE ->
+ drawImage(
+ imageIdentifier = cell.value as String,
+ leftX = cellLeftX, topY = rowTopY,
+ width = cellRightX - cellLeftX, height = rowTopY - rowBottomY,
+ padding = table.padding,
+ scaleToFit = table.style.imageScaleToFit,
+ hAlign = cell.style.imageHAlign, vAlign = cell.style.imageVAlign,
+ document = document, innerFormResources = innerFormResources,
+ imageCache = imageCache, globalSettings = globalSettings,
+ signatureProfileSettings = signatureProfileSettings
+ )
+ Entry.TYPE_TABLE -> {
+ val subTable = cell.value as PDFBOXStamper.Table
+ subTable.abstractTable.style = Style.doInherit(table.style, cell.style)
+ drawTable(
+ subTable, isSubtable = true,
+ tableLeftX = cellLeftX, tableBottomY = rowBottomY,
+ width = cellRightX - cellLeftX, height = rowTopY - rowBottomY,
+ document = document, innerFormResources = innerFormResources,
+ signatureProfileSettings = signatureProfileSettings,
+ imageCache = imageCache, globalSettings = globalSettings
+ ).also { alternateTableCaption.append(it) }
+ }
+ }
+
+ // setup next iteration
+ cellLeftX = cellRightX
+ colIdx = nextColIdx
+ }
+ }
+ }.also {
+ // draw bottom table border
+ drawLine(tableLeftX, it, tableLeftX + width, it, table.style.border, Color.BLACK)
+ }
+
+ return alternateTableCaption.toString()
+ }
+
+ private fun PDPageContentStream.drawRect(
+ leftX: Float, bottomY: Float, width: Float, height: Float,
+ color: Color
+ ) {
+ setNonStrokingColor(color)
+ addRect(leftX, bottomY, width, height)
+ fill()
+ }
+
+ private fun PDPageContentStream.drawLine(
+ startX: Float, startY: Float,
+ endX: Float, endY: Float,
+ width: Float, color: Color
+ ) {
+ if (width <= 0) return
+ setStrokingColor(color)
+ setLineWidth(width)
+ moveTo(startX, startY)
+ lineTo(endX, endY)
+ stroke()
+ }
+
+ private fun PDDocument.loadImage(
+ identifier: String,
+ signatureProfileSettings: SignatureProfileSettings, globalSettings: ISettings
+ ) : ImageObject {
+ var image = ImageUtils.getImage(identifier, globalSettings)
+ if (
+ signatureProfileSettings.isPDFA ||
+ /* not sure what this does -- copied from pdfbox 2 code */
+ ((image.alphaRaster == null) && image.colorModel.hasAlpha())
+ ) {
+ image = ImageUtils.removeAlphaChannel(image)
+ }
+ return ImageObject(
+ image = LosslessFactory.createFromImage(this@loadImage, image),
+ aspectRatio = image.width.toFloat() / image.height.toFloat()
+ )
+ }
+
+ private fun PDPageContentStream.drawImage(
+ imageIdentifier: String,
+ leftX: Float, topY: Float, width: Float, height: Float, padding: Float,
+ scaleToFit: Style.ImageScaleToFit?, hAlign: String?, vAlign: String?,
+ document: PDDocument, innerFormResources: PDResources, imageCache: MutableMap<String, ImageObject>,
+ signatureProfileSettings: SignatureProfileSettings, globalSettings: ISettings
+ ) {
+ val image = imageCache.computeIfAbsent(imageIdentifier) { identifier ->
+ document.loadImage(identifier, signatureProfileSettings, globalSettings).also {
+ innerFormResources.add(it.image, "Im")
+ }
+ }
+
+ val cellWidth = (width - 2*padding)
+ val cellHeight = (height - 2*padding)
+
+ val renderBoxWidth = scaleToFit?.width ?: cellWidth
+ val renderBoxHeight = scaleToFit?.height ?: cellHeight
+ val boxAspectRatio = renderBoxWidth/renderBoxHeight
+ val (imageWidth, imageHeight) = when {
+ boxAspectRatio > image.aspectRatio ->
+ /** box width is too wide, height is limiting factor */
+ Pair(renderBoxHeight * image.aspectRatio, renderBoxHeight)
+ boxAspectRatio < image.aspectRatio ->
+ /** box width is too low, width is limiting factor */
+ Pair(renderBoxWidth, renderBoxWidth / image.aspectRatio)
+ else ->
+ Pair(renderBoxWidth, renderBoxHeight)
+ }
+ assert(imageWidth <= renderBoxWidth)
+ assert(imageHeight <= renderBoxHeight)
+
+ val imageLeftX = leftX + padding + when (hAlign) {
+ Style.RIGHT -> (cellWidth - imageWidth)
+ Style.LEFT -> 0.0f
+ else -> (cellWidth - imageWidth)/2
+ }
+ val imageTopY = topY - padding - when (vAlign) {
+ Style.BOTTOM -> (cellHeight - imageHeight)
+ Style.MIDDLE -> (cellHeight - imageHeight)/2
+ else -> 0.0f
+ }
+ drawImage(image.image, imageLeftX, imageTopY - imageHeight, imageWidth, imageHeight)
+ }
+
+ private fun PDPageContentStream.drawString(
+ content: String,
+ leftX: Float, topY: Float, width: Float, height: Float, padding: Float, font: PDFBOXStamper.Table.Font,
+ hAlign: String?, vAlign: String?, color: Color, settings: ISettings
+ ) {
+
+ val lines = content.split('\n')
+ val actualHeight = height - 2*padding
+ val actualWidth = width - 2*padding
+
+ val textHeight = font.fontSize*lines.size
+ val actualY = (topY - padding) - when (vAlign) {
+ Style.BOTTOM -> (actualHeight - textHeight)
+ Style.MIDDLE -> (actualHeight - textHeight)/2
+ else -> 0.0f
+ }
+
+ setNonStrokingColor(color)
+ beginText()
+ if ((hAlign == Style.LINECENTER) && (lines.size > 1)) {
+ setFont(font.font, font.fontSize)
+ var previousBonusPadding by Delegates.notNull<Float>()
+ lines.forEachIndexed { i, line ->
+ val width = font.font.getStringWidth(line) / 1000.0f * font.fontSize
+ val bonusPadding = (actualWidth - width) / 2.0f
+ if (i == 0) {
+ newLineAtOffset(
+ leftX + padding + bonusPadding,
+ (actualY - (1 + font.font.fontDescriptor.descent / 1000.0f) * font.fontSize)
+ )
+ } else {
+ newLineAtOffset(bonusPadding - previousBonusPadding, -font.fontSize)
+ }
+ showText(line)
+ previousBonusPadding = bonusPadding
+ }
+ } else {
+ val textWidth by lazy { lines.maxOf { font.font.getStringWidth(it) } / 1000.0f * font.fontSize }
+ val actualX = (leftX + padding) + when (hAlign) {
+ Style.CENTER, Style.LINECENTER -> (actualWidth - textWidth)/2
+ Style.RIGHT -> (actualWidth - textWidth)
+ else -> 0.0f
+ }
+ setFont(font.font, font.fontSize)
+ lines.forEachIndexed { i, line ->
+ if (i == 0) {
+ newLineAtOffset(
+ actualX,
+ (actualY - (1 + font.font.fontDescriptor.descent / 1000.0f) * font.fontSize)
+ )
+ } else {
+ newLineAtOffset(0.0f, -font.fontSize)
+ }
+
+ showText(line)
+ }
+ }
+ endText()
+ }
+ }
+} \ No newline at end of file
diff --git a/pdf-as-pdfbox-3/src/main/kotlin/at/gv/egiz/pdfas/lib/impl/stamping/pdfbox3/PDFBOXStamper.kt b/pdf-as-pdfbox-3/src/main/kotlin/at/gv/egiz/pdfas/lib/impl/stamping/pdfbox3/PDFBOXStamper.kt
new file mode 100644
index 00000000..fe1f70b9
--- /dev/null
+++ b/pdf-as-pdfbox-3/src/main/kotlin/at/gv/egiz/pdfas/lib/impl/stamping/pdfbox3/PDFBOXStamper.kt
@@ -0,0 +1,332 @@
+package at.gv.egiz.pdfas.lib.impl.stamping.pdfbox3
+
+import at.gv.egiz.pdfas.common.exceptions.PdfAsException
+import at.gv.egiz.pdfas.common.settings.ISettings
+import at.gv.egiz.pdfas.common.utils.ImageUtils
+import at.gv.egiz.pdfas.common.utils.StringUtils
+import at.gv.egiz.pdfas.lib.impl.pdfbox3.PDFBOXObject
+import at.gv.egiz.pdfas.lib.impl.stamping.IPDFStamper
+import at.gv.egiz.pdfas.lib.impl.stamping.IPDFVisualObject
+import at.gv.egiz.pdfas.lib.impl.status.PDFObject
+import at.knowcenter.wag.egov.egiz.pdf.PositioningInstruction
+import at.knowcenter.wag.egov.egiz.table.Entry
+import at.knowcenter.wag.egov.egiz.table.Style
+import org.apache.pdfbox.pdmodel.font.PDFont
+import org.apache.pdfbox.pdmodel.font.PDType1Font
+import org.apache.pdfbox.pdmodel.font.Standard14Fonts
+import org.slf4j.LoggerFactory
+import java.io.IOException
+import java.io.UnsupportedEncodingException
+import kotlin.math.floor
+import kotlin.math.log
+import kotlin.properties.Delegates
+import at.knowcenter.wag.egov.egiz.table.Table as AbstractTable
+
+object PDFBOXStamper: IPDFStamper<PDFBOXObject> {
+ private val logger = LoggerFactory.getLogger(PDFBOXStamper::class.java)
+
+ override fun createVisualPDFObject(pdf: PDFBOXObject, table: AbstractTable) =
+ VisualObject(table, pdf)
+
+ class VisualObject(abstractTable: AbstractTable, val pdf: PDFBOXObject): IPDFVisualObject {
+ val settings get() = pdf.status.settings
+ var table = Table(abstractTable, null, pdf)
+ val abstractTable get() = table.abstractTable
+
+ // this is necessary to mirror the strange behavior of setWidth/getWidth
+ // setWidth needs to be followed by fixWidth to take effect
+ // getWidth always returns the current effective width
+ private var pendingWidth: Float? = null
+ override fun getWidth() = table.width
+ override fun setWidth(width: Float) { this.pendingWidth = width }
+ override fun fixWidth() {
+ val newWidth = pendingWidth ?: return
+ try {
+ table = Table(abstractTable, null, newWidth, pdf)
+ pendingWidth = null
+ } catch (e: Exception) {
+ logger.warn("Failed to fix width of Table", e)
+ }
+ }
+
+ override fun getHeight() = table.height
+
+ var x by Delegates.notNull<Float>()
+ override fun setXPos(x: Float) { this.x = x }
+
+ var y by Delegates.notNull<Float>()
+ override fun setYPos(y: Float) { this.y = y }
+
+ private var _page: Int? = null
+ override fun getPage() = _page!!
+ override fun setPage(page: Int) { this._page = page }
+
+ }
+
+ class Table private constructor(val abstractTable: AbstractTable, parent: Table?, val pdf: PDFBOXObject, dummy: Unit) {
+ constructor(abstractTable: AbstractTable, parent: Table?, pdf: PDFBOXObject) : this(abstractTable, parent, pdf, Unit) {
+ colWidths = FloatArray(abstractTable.maxCols) { 0.0f }
+ rowHeights = FloatArray(abstractTable.rows.size) { 0.0f }
+ abstractTable.rows.forEachIndexed { i, row ->
+ var j = 0
+ while (j < row.size) {
+ val cell = row[j]
+ colWidths[j] = maxOf(colWidths[j], getCellWidth(cell))
+ rowHeights[i] = maxOf(rowHeights[i], getCellHeight(cell))
+ j += cell.colSpan
+ }
+ }
+ width = colWidths.sum()
+ height = rowHeights.sum()
+ abstractTable.rows.forEachIndexed { i, row -> for (cell in row) {
+ if (cell.type != Entry.TYPE_TABLE) continue
+ (cell.value as Table).let {
+ if (rowHeights[i] != it.height) it.setHeight(rowHeights[i])
+ }
+ }}
+ }
+ constructor(abstractTable: AbstractTable, parent: Table?, fixSize: Float, pdf: PDFBOXObject) : this(abstractTable, parent, pdf, Unit) {
+ val relativeSizes = abstractTable.colsRelativeWith
+ if (relativeSizes != null) {
+ val factor = fixSize / relativeSizes.sum()
+ colWidths = FloatArray(relativeSizes.size) { relativeSizes[it] * factor }
+ } else {
+ val width = fixSize / abstractTable.maxCols
+ colWidths = FloatArray(abstractTable.maxCols) { width }
+ }
+
+ rowHeights = FloatArray(abstractTable.rows.size) { 0.0f }
+
+ abstractTable.rows.forEachIndexed { i, row ->
+ var j = 0
+ while (j < row.size) {
+ val cell = row[j]
+
+ val max = j + cell.colSpan
+ if (max > colWidths.size) {
+ throw IOException("Configuration error. Cannot determine column width! (Colspan ${cell.colSpan} at col $j is out of bounds for ${colWidths.size}.)")
+ }
+ val thisCellWidth = (j until max).asSequence().map(colWidths::get).sum()
+ rowHeights[i] = maxOf(rowHeights[i], getCellHeight(cell, thisCellWidth))
+ j = max
+ }
+ }
+
+ width = colWidths.sum()
+ height = rowHeights.sum()
+ abstractTable.rows.forEachIndexed { i, row -> for (cell in row) {
+ if (cell.type != Entry.TYPE_TABLE) continue
+ (cell.value as Table).let {
+ if (rowHeights[i] != it.height) it.setHeight(rowHeights[i])
+ }
+ }}
+ }
+ val settings get() = pdf.status.settings
+ val name get() = abstractTable.name
+ val style: Style = when (parent) {
+ null -> abstractTable.style
+ else -> Style.doInherit(abstractTable.style, parent.style)
+ } ?: throw IOException("Failed to determine Table style for ${abstractTable.name}")
+ val font: Font
+ val valueFont: Font
+ private fun fontFor(type: Int) = when (type) {
+ Entry.TYPE_CAPTION -> font
+ Entry.TYPE_VALUE -> valueFont
+ else -> throw IllegalArgumentException("type $type")
+ }
+ init {
+ val valueFontString = style.valueFont
+ if (parent != null && style == parent.style) {
+ font = parent.font
+ valueFont = parent.valueFont
+ } else {
+ font = Font(style.font ?: parent?.style?.font ?:
+ throw IOException("Failed to determine Table font style for $name"))
+ valueFont = Font(style.valueFont ?: parent?.style?.valueFont ?:
+ throw IOException("Failed to determine Table value font style for $name"))
+ }
+ }
+ val padding get() = style.padding
+ val bgColor get() = style.bgColor
+
+ init { /** normalizeContent */
+ try {
+ for (row in abstractTable.rows) for (cell in row) {
+ val font = when (cell.type) {
+ Entry.TYPE_CAPTION -> font
+ Entry.TYPE_VALUE -> valueFont
+ else -> continue
+ }.font
+ val value = cell.value as String
+ try {
+ font.getStringWidth(value)
+ } catch (e: Exception) {
+ when (e) {
+ is IOException, is IllegalArgumentException -> {
+ logger.warn("Font ${font.name} does not support every character in value '$value'")
+ cell.value = StringUtils.convertStringToPDFFormat(value)
+ }
+ else -> throw e
+ }
+ }
+ }
+ } catch (e: UnsupportedEncodingException) {
+ throw PdfAsException("Unsupported Encoding", e)
+ }
+ }
+
+ var width by Delegates.notNull<Float>()
+ var height: Float = 0.0f; private set
+ fun setHeight(newHeight: Float) {
+ val delta = newHeight - height
+ if (delta > 0) {
+ rowHeights[rowHeights.lastIndex] += delta
+ height = rowHeights.sum()
+ } else {
+ logger.warn("Table cannot be this small! (request to resize by $delta)")
+ }
+ }
+ val rowCount get() = abstractTable.rows.size
+ fun getRow(i: Int) = abstractTable.rows[i]
+ val colCount get() = abstractTable.maxCols
+ val colRelativeWidths: FloatArray? get() = abstractTable.colsRelativeWith
+ lateinit var colWidths: FloatArray private set
+ lateinit var rowHeights: FloatArray private set
+
+ companion object {
+ private const val NB_SPACE = '\u00A0'
+ private const val SPACE = ' '
+ private val DEFAULT_FONT by lazy { PDType1Font(Standard14Fonts.FontName.HELVETICA) }
+ private const val DEFAULT_FONT_SIZE = 8.0f
+ }
+
+ inner class Font(fontString: String) {
+ val font: PDFont
+ val fontSize: Float
+ init {
+ val fontArr = fontString.split(',')
+ when {
+ fontArr.size == 3 -> {
+ font = pdf.generateFont(fontArr[0], fontArr[2])
+ fontSize = fontArr[1].toFloat()
+ }
+ (fontArr.size == 2) && fontArr[0].startsWith("TTF:") -> {
+ font = pdf.generateFont(fontArr[0], null)
+ fontSize = fontArr[1].toFloat()
+ }
+ else -> {
+ logger.warn("Using default font because $fontString is not a valid font descriptor.")
+ font = DEFAULT_FONT
+ fontSize = DEFAULT_FONT_SIZE
+ }
+ }
+ }
+ }
+
+ private fun resolveTableCell(cell: Entry): Table = when (val v = cell.value) {
+ is AbstractTable -> Table(v, this, pdf).also { cell.value = it }
+ is Table -> v
+ else -> throw IOException("Failed to build PDFBox Table")
+ }
+ private fun resolveTableCell(cell: Entry, fixedWidth: Float): Table = when (val v = cell.value) {
+ is AbstractTable -> Table(v, this, fixedWidth, pdf).also { cell.value = it }
+ is Table -> if (v.width == fixedWidth) v else Table(v.abstractTable, this, fixedWidth, pdf).also { cell.value = it }
+ else -> throw IOException("Failed to build PDFBox Table")
+ }
+ private fun getCellWidth(cell: Entry): Float =
+ when (cell.type) {
+ Entry.TYPE_CAPTION, Entry.TYPE_VALUE -> {
+ val theFont = fontFor(cell.type)
+ if (cell.value == null) cell.value = ""
+ (cell.value as String).replace(NB_SPACE, SPACE).split("\n").maxOf {
+ theFont.font.getStringWidth(it) / 1000 * theFont.fontSize
+ }
+ }
+ Entry.TYPE_IMAGE -> style.imageScaleToFit?.width ?: 80.0f
+ Entry.TYPE_TABLE -> resolveTableCell(cell).width
+ else -> {
+ logger.warn("Invalid cell entry type ${cell.type} when calculating width")
+ 0.0f
+ }
+ }
+ private fun getCellHeight(cell: Entry): Float =
+ when (cell.type) {
+ Entry.TYPE_CAPTION, Entry.TYPE_VALUE -> {
+ val theFontSize = fontFor(cell.type).fontSize
+ (cell.value as String).splitToSequence('\n').count() * theFontSize + 2 * padding
+ }
+ Entry.TYPE_IMAGE -> {
+ 2*padding + (style.imageScaleToFit?.height
+ ?: minOf(
+ ImageUtils.getImageDimensions(cell.value as String, settings).height,
+ 80).toFloat())
+ }
+ Entry.TYPE_TABLE -> {
+ resolveTableCell(cell).height
+ }
+ else -> {
+ logger.warn("Invalid cell entry type ${cell.type} when calculating height")
+ 0.0f
+ }
+ }
+
+ private fun getCellHeight(cell: Entry, width: Float): Float =
+ when (cell.type) {
+ Entry.TYPE_CAPTION, Entry.TYPE_VALUE -> {
+ val theFont = fontFor(cell.type)
+ // string splitting dark magic
+ val lines = breakString(cell.value as String, theFont, width - 2*padding)
+ cell.value = lines.joinToString("\n")
+ 2*padding + lines.size*theFont.fontSize
+ }
+ Entry.TYPE_IMAGE -> {
+ 2*padding + (style.imageScaleToFit?.height
+ ?: ImageUtils.getImageDimensions(cell.value as String, settings).let {
+ floor(it.height * ((width - 2 * padding) / it.width))
+ })
+ }
+ Entry.TYPE_TABLE -> {
+ resolveTableCell(cell, width).height
+ }
+ else -> {
+ logger.warn("Invalid cell entry type ${cell.type} when calculating height")
+ 0.0f
+ }
+ }
+
+ private fun breakString(str: String, font: Font, boxWidth: Float) = buildList<String> {
+ str.splitToSequence('\n').forEach { line ->
+ /* null means there is nothing to put on this line (the line should not be added);
+ by contrast, empty string is "something" (will be added as a line) */
+ var currentLine: String? = null
+ line.splitToSequence(SPACE)
+ .map { it.replace(NB_SPACE, SPACE) }
+ .forEach { word ->
+ if (word.isEmpty()) {
+ // make sure the current line will get printed even if it is an empty line
+ if (currentLine == null) currentLine = ""
+ return@forEach
+ }
+ /* try to append the word to the current line... */
+ val maybeNewCurrentLine = when (currentLine) {
+ null, "" -> word
+ else -> "$currentLine $word"
+ }
+ /* ... and check if this would still fit in the box */
+ val newCurrentLineWidth = font.font.getStringWidth(maybeNewCurrentLine) / 1000.0f * font.fontSize
+ if (newCurrentLineWidth <= boxWidth) {
+ /* if it does, add the word to the current line and continue */
+ currentLine = maybeNewCurrentLine
+ } else {
+ /* if it does not, print the current line (if there is one) and start a new line */
+ /* note that if the word by itself is overly wide it will still be printed
+ (in a line by itself) on the next iteration */
+ currentLine?.let { add(it) }
+ currentLine = word
+ }
+ }
+ currentLine?.let { add(it) }
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/pdf-as-pdfbox-3/src/main/kotlin/at/gv/egiz/pdfas/lib/impl/verify/pdfbox3/PDFBOXVerifier.kt b/pdf-as-pdfbox-3/src/main/kotlin/at/gv/egiz/pdfas/lib/impl/verify/pdfbox3/PDFBOXVerifier.kt
new file mode 100644
index 00000000..7c442ac8
--- /dev/null
+++ b/pdf-as-pdfbox-3/src/main/kotlin/at/gv/egiz/pdfas/lib/impl/verify/pdfbox3/PDFBOXVerifier.kt
@@ -0,0 +1,66 @@
+package at.gv.egiz.pdfas.lib.impl.verify.pdfbox3
+
+import at.gv.egiz.pdfas.common.settings.ISettings
+import at.gv.egiz.pdfas.lib.api.verify.VerifyParameter
+import at.gv.egiz.pdfas.lib.api.verify.VerifyResult
+import at.gv.egiz.pdfas.lib.impl.verify.SignatureInputData
+import at.gv.egiz.pdfas.lib.impl.verify.VerifierDispatcher
+import at.gv.egiz.pdfas.lib.impl.verify.VerifyBackend
+import org.apache.pdfbox.Loader
+import org.apache.pdfbox.cos.COSDictionary
+import org.apache.pdfbox.cos.COSName
+import org.apache.pdfbox.cos.COSObject
+import org.apache.pdfbox.cos.COSString
+import org.apache.pdfbox.pdmodel.PDDocument
+
+object PDFBOXVerifier : VerifyBackend {
+ override fun verify(parameter: VerifyParameter): List<VerifyResult> {
+ val dispatcher = VerifierDispatcher(parameter.configuration as ISettings)
+ val pdfData = parameter.dataSource.inputStream.readAllBytes()
+ Loader.loadPDF(pdfData).use { document ->
+ val trailer = document.document.trailer ?: return emptyList()
+ val root = trailer.getCOSDictionary(COSName.ROOT) ?: return emptyList()
+ val acroForm = root.getCOSDictionary(COSName.ACRO_FORM) ?: return emptyList()
+ val fields = acroForm.getCOSArray(COSName.FIELDS) ?: return emptyList()
+
+ val signatureIndex = parameter.whichSignature
+ val onlyVerifyThisSignature = when {
+ signatureIndex >= 0 -> parameter.whichSignature
+ // TODO: document this magic value somewhere?
+ signatureIndex == -2 -> -2
+ else -> null
+ }
+ return fields.asSequence()
+ .filterIsInstance<COSObject>()
+ .mapNotNull { it.`object` as? COSDictionary }
+ .filter { it.getCOSName(COSName.FT) == COSName.SIG }
+ .let {
+ if (onlyVerifyThisSignature == -2) sequenceOf(it.last())
+ else it.filterIndexed { i, _ -> onlyVerifyThisSignature?.equals(i) ?: true }
+ }
+ .mapNotNull { it.getCOSDictionary(COSName.V) }
+ .flatMap { dispatcher.checkSignature(it, pdfData, parameter) }
+ .toList()
+ }
+ }
+
+ private fun VerifierDispatcher.checkSignature(
+ sigDict: COSDictionary, document: ByteArray, parameter: VerifyParameter
+ ): List<VerifyResult> {
+ val byteRanges = sigDict.getCOSArray(COSName.BYTERANGE).let {
+ IntArray(it.size(), it::getInt)
+ }
+ val filter = sigDict.getNameAsString(COSName.FILTER)
+ val subFilter = sigDict.getNameAsString(COSName.SUB_FILTER)
+ val content = sigDict.getDictionaryObject(COSName.CONTENTS) as COSString
+
+ val filterVerifier = getVerifier(filter, subFilter)
+ val levelVerifier = getVerifierByLevel(parameter.signatureVerificationLevel)
+ synchronized(levelVerifier) {
+ levelVerifier.setConfiguration(parameter.configuration)
+ return filterVerifier.verify(
+ SignatureInputData(document, byteRanges),
+ content.bytes, parameter.verificationTime, levelVerifier)
+ }
+ }
+} \ No newline at end of file
diff --git a/pdf-as-pdfbox-3/src/main/resources/META-INF/services/at.gv.egiz.pdfas.lib.backend.PDFASBackend b/pdf-as-pdfbox-3/src/main/resources/META-INF/services/at.gv.egiz.pdfas.lib.backend.PDFASBackend
new file mode 100644
index 00000000..356fda73
--- /dev/null
+++ b/pdf-as-pdfbox-3/src/main/resources/META-INF/services/at.gv.egiz.pdfas.lib.backend.PDFASBackend
@@ -0,0 +1 @@
+at.gv.egiz.pdfas.lib.impl.pdfbox3.PDFBOXBackend \ No newline at end of file
diff --git a/pdf-as-pdfbox-3/src/main/resources/META-INF/services/at.gv.egiz.pdfas.lib.configuration.ConfigurationValidator b/pdf-as-pdfbox-3/src/main/resources/META-INF/services/at.gv.egiz.pdfas.lib.configuration.ConfigurationValidator
new file mode 100644
index 00000000..25d5c14c
--- /dev/null
+++ b/pdf-as-pdfbox-3/src/main/resources/META-INF/services/at.gv.egiz.pdfas.lib.configuration.ConfigurationValidator
@@ -0,0 +1 @@
+at.gv.egiz.pdfas.lib.impl.pdfbox3.configuration.ProfileValidator \ No newline at end of file
diff --git a/pdf-as-pdfbox-3/src/test/kotlin/at/gv/egiz/pdfas/lib/impl/pdfbox3/SignVerifyTest.kt b/pdf-as-pdfbox-3/src/test/kotlin/at/gv/egiz/pdfas/lib/impl/pdfbox3/SignVerifyTest.kt
new file mode 100644
index 00000000..500b15ed
--- /dev/null
+++ b/pdf-as-pdfbox-3/src/test/kotlin/at/gv/egiz/pdfas/lib/impl/pdfbox3/SignVerifyTest.kt
@@ -0,0 +1,102 @@
+package at.gv.egiz.pdfas.lib.impl.pdfbox3
+
+import at.gv.egiz.pdfas.lib.api.ByteArrayDataSource
+import at.gv.egiz.pdfas.lib.api.PdfAs
+import at.gv.egiz.pdfas.lib.api.PdfAsFactory
+import at.gv.egiz.pdfas.lib.api.sign.IPlainSigner
+import at.gv.egiz.pdfas.lib.api.sign.SignParameter
+import at.gv.egiz.pdfas.lib.api.verify.VerifyParameter
+import at.gv.egiz.pdfas.sigs.pades.PAdESSignerKeystore
+import org.junit.Assert
+import org.junit.BeforeClass
+import org.junit.ClassRule
+import org.junit.Test
+import org.junit.rules.TemporaryFolder
+import org.junit.runner.RunWith
+import org.junit.runners.BlockJUnit4ClassRunner
+import org.zeroturnaround.zip.ZipUtil
+import java.io.ByteArrayOutputStream
+import java.security.KeyStore
+import jakarta.activation.DataSource
+
+@RunWith(BlockJUnit4ClassRunner::class)
+class SignVerifyTest {
+ companion object {
+ @JvmField
+ @field:ClassRule
+ public val tempFolder = TemporaryFolder()
+
+ lateinit var pdfAs: PdfAs
+ fun captureSign(param: SignParameter): ByteArray =
+ ByteArrayOutputStream().use {
+ param.outputStream = it
+ pdfAs.sign(param)
+ it.toByteArray()
+ }
+
+ fun captureSign(pdf: DataSource, signer: IPlainSigner) =
+ captureSign(
+ PdfAsFactory.createSignParameter(pdfAs.configuration, pdf, null)
+ .apply { plainSigner = signer }
+ )
+
+ @JvmStatic
+ @BeforeClass
+ fun setUp() {
+ // unzip default config to temp dir
+ val configDir = tempFolder.newFolder()
+ ZipUtil.unpack(
+ PdfAs::class.java.getResourceAsStream("/config/config.zip"),
+ configDir
+ )
+ pdfAs = PdfAsFactory.createPdfAs(configDir)
+ }
+
+ val getInputPdf = object : Function1<String, ByteArrayDataSource> {
+ private val _map = mutableMapOf<String, ByteArrayDataSource>()
+ private fun normalize(key: String) = when {
+ key.endsWith(".pdf") -> key
+ else -> "$key.pdf"
+ }
+
+ override operator fun invoke(key: String) = normalize(key).let { pdfName ->
+ _map.getOrPut(pdfName) {
+ SignVerifyTest::class.java.getResourceAsStream("/data/$pdfName").use {
+ ByteArrayDataSource(it!!.readAllBytes())
+ }
+ }
+ }
+ }
+
+ val getKeystoreSigner = object : Function1<String, PAdESSignerKeystore> {
+ private val _keyStore = KeyStore.getInstance("PKCS12").apply {
+ SignVerifyTest::class.java.getResourceAsStream("/test.p12").use {
+ load(it, "password".toCharArray())
+ }
+ }
+ private val _map = mutableMapOf<String, PAdESSignerKeystore>()
+ override operator fun invoke(alias: String) = _map.getOrPut(alias) {
+ PAdESSignerKeystore(_keyStore, alias, "password")
+ }
+ }
+ }
+
+ @Test
+ fun signVerify() {
+ val signedPdf = captureSign(getInputPdf("align.pdf"), getKeystoreSigner("test-key"))
+ val verificationResult =
+ PdfAsFactory.createVerifyParameter(
+ pdfAs.configuration,
+ ByteArrayDataSource(signedPdf)
+ )
+ .apply {
+ signatureVerificationLevel = VerifyParameter.SignatureVerificationLevel.INTEGRITY_ONLY_VERIFICATION
+ }
+ .let(pdfAs::verify)
+ Assert.assertEquals(verificationResult.size, 1)
+ verificationResult[0].let {
+ Assert.assertTrue(it.isVerificationDone)
+ Assert.assertEquals(it.signerCertificate, getKeystoreSigner("test-key").getCertificate(null))
+ }
+ }
+}
diff --git a/pdf-as-pdfbox-3/src/test/kotlin/at/gv/egiz/pdfas/lib/impl/sign/pdfbox3/PDFBoxPlaceholderExtractorTest.java b/pdf-as-pdfbox-3/src/test/kotlin/at/gv/egiz/pdfas/lib/impl/sign/pdfbox3/PDFBoxPlaceholderExtractorTest.java
new file mode 100644
index 00000000..e766c385
--- /dev/null
+++ b/pdf-as-pdfbox-3/src/test/kotlin/at/gv/egiz/pdfas/lib/impl/sign/pdfbox3/PDFBoxPlaceholderExtractorTest.java
@@ -0,0 +1,69 @@
+package at.gv.egiz.pdfas.lib.impl.sign.pdfbox3;
+
+import static org.junit.Assert.*;
+
+import java.io.IOException;
+import java.util.List;
+
+import org.apache.pdfbox.Loader;
+import org.apache.pdfbox.pdmodel.PDDocument;
+import org.junit.Ignore;
+import org.junit.Test;
+
+import at.gv.egiz.pdfas.lib.impl.pdfbox3.PDFBoxPlaceholderExtractor;
+import at.gv.egiz.pdfas.lib.impl.placeholder.SignaturePlaceholderData;
+import lombok.SneakyThrows;
+
+public class PDFBoxPlaceholderExtractorTest {
+
+ @Test
+ @SneakyThrows
+ public void nextPlaceholder() {
+ SignaturePlaceholderData result = getNextSignaturePlaceHolder("/data/platzhalter_en_de_test.pdf");
+ assertEquals("Im48", result.getPlaceholderName());
+ }
+
+ @Test
+ @SneakyThrows
+ public void allPlaceHolders() {
+ List<String> listOfPlaceHolders = getPlaceHolders("/data/platzhalter_en_de_test.pdf");
+ assertNotNull(listOfPlaceHolders);
+ assertTrue(listOfPlaceHolders.isEmpty());
+ }
+
+ @Test
+ @SneakyThrows
+ public void nextPlaceholderDuplicateElements() {
+ assertEquals("Im0_1", getNextSignaturePlaceHolder("/data/Testdoc_Signatur.pdf").getPlaceholderName());
+ assertEquals("Im0_2", getNextSignaturePlaceHolder("/data/own_Testdoc+Signatur-sign-sign.pdf").getPlaceholderName());
+ assertEquals("Im0_2", getNextSignaturePlaceHolder("/data/own_Testdoc+Signatur-sign-sign-4_sign.pdf").getPlaceholderName());
+ assertEquals("Im0", getNextSignaturePlaceHolder("/data/own_Testdoc+Signatur-sign-sign-4_sign-sign.pdf").getPlaceholderName());
+
+ }
+
+ @Test
+ @Ignore
+ @SneakyThrows
+ public void placeHolderInAnnotation() {
+ SignaturePlaceholderData listOfPlaceHolders = getNextSignaturePlaceHolder("/data/Test-sign.pdf");
+ assertNotNull(listOfPlaceHolders);
+
+ }
+
+ private static List<String> getPlaceHolders(String filePath) throws IOException {
+ try (final PDDocument doc = Loader.loadPDF(
+ PDFBoxPlaceholderExtractorTest.class.getResourceAsStream(filePath)
+ .readAllBytes())) {
+ return PDFBoxPlaceholderExtractor.findEmptySignatureFields(doc);
+ }
+ }
+
+ private static SignaturePlaceholderData getNextSignaturePlaceHolder(String filePath) throws IOException {
+ try (final PDDocument doc = Loader.loadPDF(
+ PDFBoxPlaceholderExtractorTest.class.getResourceAsStream(filePath)
+ .readAllBytes())) {
+ return PDFBoxPlaceholderExtractor.getNextUnusedSignaturePlaceholder(doc);
+ }
+ }
+
+}
diff --git a/pdf-as-pdfbox-3/src/test/kotlin/at/gv/egiz/pdfas/lib/impl/sign/pdfbox3/SignatureFieldsAndPlaceHolderExtractorTest.java b/pdf-as-pdfbox-3/src/test/kotlin/at/gv/egiz/pdfas/lib/impl/sign/pdfbox3/SignatureFieldsAndPlaceHolderExtractorTest.java
new file mode 100644
index 00000000..e1a7f09b
--- /dev/null
+++ b/pdf-as-pdfbox-3/src/test/kotlin/at/gv/egiz/pdfas/lib/impl/sign/pdfbox3/SignatureFieldsAndPlaceHolderExtractorTest.java
@@ -0,0 +1,182 @@
+package at.gv.egiz.pdfas.lib.impl.sign.pdfbox3;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+import org.apache.pdfbox.pdmodel.PDDocument;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
+
+import at.gv.egiz.pdfas.lib.impl.pdfbox2.placeholder.SignatureFieldsAndPlaceHolderExtractor;
+import at.gv.egiz.pdfas.lib.impl.placeholder.SignaturePlaceholderData;
+
+@RunWith(JUnit4.class)
+public class SignatureFieldsAndPlaceHolderExtractorTest {
+
+ public String getPath(String resourceName) {
+ ClassLoader classLoader = this.getClass().getClassLoader();
+ File file = new File(classLoader.getResource(resourceName).getFile());
+ String absolutePath = file.getAbsolutePath();
+
+ System.out.println(absolutePath);
+ return absolutePath;
+ }
+
+ @Test
+ public void notSigned(){
+ SignaturePlaceholderData result = getNextSignaturePlaceHolder(getPath("new_qr_2-2.pdf"));
+ Assert.assertEquals("Image5",result.getPlaceholderName());
+ }
+ @Test
+ public void signedOnce(){
+ SignaturePlaceholderData result = getNextSignaturePlaceHolder(getPath("new_qr_2_signed.pdf"));
+ Assert.assertEquals("Image8",result.getPlaceholderName());
+ }
+ @Test
+ public void signedTwice(){
+ SignaturePlaceholderData result = getNextSignaturePlaceHolder(getPath("new_qr_2_signed_signed.pdf"));
+ Assert.assertEquals(null,result);
+ }
+ @Test
+ public void signedThrice(){
+ SignaturePlaceholderData result = getNextSignaturePlaceHolder(getPath("new_qr_2_signed_signed_signed.pdf"));
+ Assert.assertEquals(null,result);
+ }
+
+ @Test
+ public void noPlaceHolder(){
+ SignaturePlaceholderData result = getNextSignaturePlaceHolder(getPath("manySignFields.pdf"));
+ Assert.assertEquals(null,result);
+ }
+
+ @Test
+ public void firstQrCodeOnUnsignedDoc() {
+ SignaturePlaceholderData result = getNextSignaturePlaceHolder(getPath("new_qr_2-2.pdf"));
+ Assert.assertEquals("Image5",result.getPlaceholderName());
+
+ }
+
+ @Test
+ public void subsequentCalls(){
+ SignaturePlaceholderData result = getNextSignaturePlaceHolder(getPath("new_qr_2_signed_signed_signed.pdf"));
+ Assert.assertEquals(null,result);
+
+ result = getNextSignaturePlaceHolder(getPath("new_qr_2_signed.pdf"));
+ Assert.assertEquals("Image8",result.getPlaceholderName());
+
+ result = getNextSignaturePlaceHolder(getPath("new_qr_2-2.pdf"));
+ Assert.assertEquals("Image5",result.getPlaceholderName());
+
+ result = getNextSignaturePlaceHolder(getPath("new_qr_2-2.pdf"));
+ Assert.assertEquals("Image5",result.getPlaceholderName());
+
+ result = getNextSignaturePlaceHolder(getPath("new_qr_2-2.pdf"));
+ Assert.assertEquals("Image5",result.getPlaceholderName());
+
+ result = getNextSignaturePlaceHolder(getPath("new_qr_2_signed.pdf"));
+ Assert.assertEquals("Image8",result.getPlaceholderName());
+
+ result = getNextSignaturePlaceHolder(getPath("new_qr_2_signed_signed_signed.pdf"));
+ Assert.assertEquals(null,result);
+
+ result = getNextSignaturePlaceHolder(getPath("new_qr_2-2.pdf"));
+ Assert.assertEquals("Image5",result.getPlaceholderName());
+
+ result = getNextSignaturePlaceHolder(getPath("new_qr_2_signed.pdf"));
+ Assert.assertEquals("Image8",result.getPlaceholderName());
+ }
+ @Test
+ public void notSignedAndNoFields(){
+ List<String> result = getPlaceHolders(getPath("new_qr_2-2.pdf"));
+
+ List<String> expectedResult = new ArrayList<>();
+ Assert.assertEquals(expectedResult,result);
+ }
+
+ @Test
+ public void notSignedFields(){
+ List<String> result = getPlaceHolders(getPath("manySignFields.pdf"));
+
+ List<String> expectedResult = Arrays.asList("Signature_0", "Signature_1", "Signature_2", "Signature_3",
+ "Signature_4", "Signature_5", "Signature_6", "Signature_7");
+ Assert.assertEquals(expectedResult,result);
+ }
+
+ @Test
+ public void signedOncePosition4FieldTest(){
+ List<String> result = getPlaceHolders(getPath("manySignFields_signed4.pdf"));
+
+ List<String> expectedResult = Arrays.asList("Signature_0", "Signature_1", "Signature_2", "Signature_3",
+ "Signature_5", "Signature_6", "Signature_7");
+ Assert.assertEquals(expectedResult,result);
+ }
+
+ @Test
+ public void multipleCallsFieldTest(){
+ List<String> result = getPlaceHolders(getPath("manySignFields_signed4.pdf"));
+ List<String> expectedResult = Arrays.asList("Signature_0", "Signature_1", "Signature_2", "Signature_3",
+ "Signature_5", "Signature_6", "Signature_7");
+ Assert.assertEquals(expectedResult,result);
+
+ result = getPlaceHolders(getPath("manySignFields_signed4.pdf"));
+ expectedResult = Arrays.asList("Signature_0", "Signature_1", "Signature_2", "Signature_3",
+ "Signature_5", "Signature_6", "Signature_7");
+ Assert.assertEquals(expectedResult,result);
+
+ result = getPlaceHolders(getPath("manySignFields.pdf"));
+ expectedResult = Arrays.asList("Signature_0", "Signature_1", "Signature_2", "Signature_3",
+ "Signature_4", "Signature_5", "Signature_6", "Signature_7");
+ Assert.assertEquals(expectedResult,result);
+
+ result = getPlaceHolders(getPath("manySignFields.pdf"));
+ expectedResult = Arrays.asList("Signature_0", "Signature_1", "Signature_2", "Signature_3",
+ "Signature_4", "Signature_5", "Signature_6", "Signature_7");
+ Assert.assertEquals(expectedResult,result);
+
+ result = getPlaceHolders(getPath("manySignFields_signed4.pdf"));
+ expectedResult = Arrays.asList("Signature_0", "Signature_1", "Signature_2", "Signature_3",
+ "Signature_5", "Signature_6", "Signature_7");
+ Assert.assertEquals(expectedResult,result);
+
+ result = getPlaceHolders(getPath("manySignFields_signed4.pdf"));
+ expectedResult = Arrays.asList("Signature_0", "Signature_1", "Signature_2", "Signature_3",
+ "Signature_5", "Signature_6", "Signature_7");
+ Assert.assertEquals(expectedResult,result);
+
+ result = getPlaceHolders(getPath("manySignFields.pdf"));
+ expectedResult = Arrays.asList("Signature_0", "Signature_1", "Signature_2", "Signature_3",
+ "Signature_4", "Signature_5", "Signature_6", "Signature_7");
+ Assert.assertEquals(expectedResult,result);
+
+ }
+
+ private static List<String> getPlaceHolders(String filePath) {
+ try {
+ PDDocument doc = PDDocument.load(new File(filePath));
+ List<String> results = SignatureFieldsAndPlaceHolderExtractor.findEmptySignatureFields(doc);
+// System.out.println(filePath + ": " + result);
+ return results;
+ } catch (Throwable e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+ public static SignaturePlaceholderData getNextSignaturePlaceHolder(String filePath) {
+ try {
+ PDDocument doc = PDDocument.load(new File(filePath));
+ SignaturePlaceholderData result =
+ SignatureFieldsAndPlaceHolderExtractor.getNextUnusedSignaturePlaceHolder(doc);
+// System.out.println(filePath + ": " + result);
+ return result;
+ } catch (Throwable e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+}
diff --git a/pdf-as-pdfbox-3/src/test/kotlin/at/gv/egiz/pdfas/lib/impl/sign/pdfbox3/TTFFontTest.java b/pdf-as-pdfbox-3/src/test/kotlin/at/gv/egiz/pdfas/lib/impl/sign/pdfbox3/TTFFontTest.java
new file mode 100644
index 00000000..ce395785
--- /dev/null
+++ b/pdf-as-pdfbox-3/src/test/kotlin/at/gv/egiz/pdfas/lib/impl/sign/pdfbox3/TTFFontTest.java
@@ -0,0 +1,46 @@
+package at.gv.egiz.pdfas.lib.impl.sign.pdfbox3;
+
+import java.io.File;
+import java.util.Iterator;
+import java.util.List;
+
+import org.apache.pdfbox.cos.COSBase;
+import org.apache.pdfbox.cos.COSDictionary;
+import org.apache.pdfbox.cos.COSName;
+import org.apache.pdfbox.cos.COSObject;
+import org.apache.pdfbox.pdmodel.PDDocument;
+
+public class TTFFontTest {
+
+ public static void main(String[] args) {
+ try {
+ PDDocument doc = PDDocument.load(new File("/home/afitzek/Downloads/pdf_groesse/willenserklaerung_signedByUser.pdf"));
+
+ List<COSObject> cosObjects = doc.getDocument().getObjectsByType(COSName.FONT);
+
+ Iterator<COSObject> cosObjectIt = cosObjects.iterator();
+
+ while(cosObjectIt.hasNext()) {
+ COSObject cosObject = cosObjectIt.next();
+ COSBase subType = ((COSDictionary)cosObject.getObject()).getItem(COSName.SUBTYPE);
+ COSBase baseFont = ((COSDictionary)cosObject.getObject()).getItem(COSName.BASE_FONT);
+ COSBase aTest = ((COSDictionary)cosObject.getObject()).getItem(COSName.A);
+
+ System.out.println(aTest);
+
+ if(subType.equals(COSName.TRUE_TYPE)) {
+ System.out.println("Object Number: " + cosObject.getObjectNumber() +
+ subType.toString());
+ System.out.println(" BaseFont: " + baseFont.toString());
+ }
+
+
+ }
+
+
+ } catch(Throwable e) {
+ e.printStackTrace();
+ }
+ }
+
+}
diff --git a/pdf-as-pdfbox-3/src/test/kotlin/at/gv/egiz/pdfas/lib/impl/verify/pdfbox3/PDFBox2To3Test.kt b/pdf-as-pdfbox-3/src/test/kotlin/at/gv/egiz/pdfas/lib/impl/verify/pdfbox3/PDFBox2To3Test.kt
new file mode 100644
index 00000000..847018c4
--- /dev/null
+++ b/pdf-as-pdfbox-3/src/test/kotlin/at/gv/egiz/pdfas/lib/impl/verify/pdfbox3/PDFBox2To3Test.kt
@@ -0,0 +1,93 @@
+package at.gv.egiz.pdfas.lib.impl.verify.pdfbox3
+
+import at.gv.egiz.pdfas.lib.api.ByteArrayDataSource
+import at.gv.egiz.pdfas.lib.api.PdfAs
+import at.gv.egiz.pdfas.lib.api.PdfAsFactory
+import at.gv.egiz.pdfas.lib.api.sign.SignParameter
+import at.gv.egiz.pdfas.lib.api.verify.VerifyParameter
+import at.gv.egiz.pdfas.sigs.pades.PAdESSignerKeystore
+import org.junit.Assert
+import org.junit.BeforeClass
+import org.junit.ClassRule
+import org.junit.Test
+import org.junit.rules.TemporaryFolder
+import org.junit.runner.RunWith
+import org.junit.runners.BlockJUnit4ClassRunner
+import org.zeroturnaround.zip.ZipUtil
+import java.io.ByteArrayOutputStream
+import java.security.KeyStore
+
+@RunWith(BlockJUnit4ClassRunner::class)
+class PDFBox2To3Test {
+
+ companion object {
+ @JvmField
+ @field:ClassRule
+ public val tempFolder = TemporaryFolder()
+
+ lateinit var pdfAs: PdfAs
+ fun captureSign(param: SignParameter): ByteArray =
+ ByteArrayOutputStream().use {
+ param.outputStream = it
+ pdfAs.sign(param)
+ it.toByteArray()
+ }
+
+ @JvmStatic
+ @BeforeClass
+ fun setUp() {
+ // unzip default config to temp dir
+ val configDir = tempFolder.newFolder()
+ ZipUtil.unpack(
+ PdfAs::class.java.getResourceAsStream("/config/config.zip"),
+ configDir
+ )
+ pdfAs = PdfAsFactory.createPdfAs(configDir)
+ }
+
+ val getInputPdf = object : Function1<String, ByteArrayDataSource> {
+ private val _map = mutableMapOf<String, ByteArrayDataSource>()
+ private fun normalize(key: String) = when {
+ key.endsWith(".pdf") -> key
+ else -> "$key.pdf"
+ }
+
+ override operator fun invoke(key: String) = normalize(key).let { pdfName ->
+ _map.getOrPut(pdfName) {
+ PDFBox2To3Test::class.java.getResourceAsStream("/data/$pdfName").use {
+ ByteArrayDataSource(it!!.readAllBytes())
+ }
+ }
+ }
+ }
+
+ val getKeystoreSigner = object : Function1<String, PAdESSignerKeystore> {
+ private val _keyStore = KeyStore.getInstance("PKCS12").apply {
+ PDFBox2To3Test::class.java.getResourceAsStream("/test.p12").use {
+ load(it, "password".toCharArray())
+ }
+ }
+ private val _map = mutableMapOf<String, PAdESSignerKeystore>()
+ override operator fun invoke(alias: String) = _map.getOrPut(alias) {
+ PAdESSignerKeystore(_keyStore, alias, "password")
+ }
+ }
+ }
+
+ @Test
+ fun pdfBox2To3Test() {
+ val verificationResult =
+ PdfAsFactory.createVerifyParameter(
+ pdfAs.configuration,
+ getInputPdf("align_signed.pdf"))
+ .apply {
+ signatureVerificationLevel = VerifyParameter.SignatureVerificationLevel.INTEGRITY_ONLY_VERIFICATION
+ }
+ .let(PDFBOXVerifier::verify)
+ Assert.assertEquals(verificationResult.size, 1)
+ verificationResult[0].let {
+ Assert.assertTrue(it.isVerificationDone)
+ Assert.assertEquals(it.signerCertificate, getKeystoreSigner("test-key").getCertificate(null))
+ }
+ }
+} \ No newline at end of file
diff --git a/pdf-as-pdfbox-3/src/test/resources/1Sign_manyQR.pdf b/pdf-as-pdfbox-3/src/test/resources/1Sign_manyQR.pdf
new file mode 100644
index 00000000..0784592a
--- /dev/null
+++ b/pdf-as-pdfbox-3/src/test/resources/1Sign_manyQR.pdf
Binary files differ
diff --git a/pdf-as-pdfbox-3/src/test/resources/data/Test-sign.pdf b/pdf-as-pdfbox-3/src/test/resources/data/Test-sign.pdf
new file mode 100644
index 00000000..7395663e
--- /dev/null
+++ b/pdf-as-pdfbox-3/src/test/resources/data/Test-sign.pdf
Binary files differ
diff --git a/pdf-as-pdfbox-3/src/test/resources/data/Testdoc_Signatur.pdf b/pdf-as-pdfbox-3/src/test/resources/data/Testdoc_Signatur.pdf
new file mode 100644
index 00000000..81af9006
--- /dev/null
+++ b/pdf-as-pdfbox-3/src/test/resources/data/Testdoc_Signatur.pdf
Binary files differ
diff --git a/pdf-as-pdfbox-3/src/test/resources/data/align.pdf b/pdf-as-pdfbox-3/src/test/resources/data/align.pdf
new file mode 100644
index 00000000..274d28d0
--- /dev/null
+++ b/pdf-as-pdfbox-3/src/test/resources/data/align.pdf
Binary files differ
diff --git a/pdf-as-pdfbox-3/src/test/resources/data/align_signed.pdf b/pdf-as-pdfbox-3/src/test/resources/data/align_signed.pdf
new file mode 100644
index 00000000..7860a66f
--- /dev/null
+++ b/pdf-as-pdfbox-3/src/test/resources/data/align_signed.pdf
Binary files differ
diff --git a/pdf-as-pdfbox-3/src/test/resources/data/own_Testdoc+Signatur-sign-sign-4_sign-sign.pdf b/pdf-as-pdfbox-3/src/test/resources/data/own_Testdoc+Signatur-sign-sign-4_sign-sign.pdf
new file mode 100644
index 00000000..d1623f5e
--- /dev/null
+++ b/pdf-as-pdfbox-3/src/test/resources/data/own_Testdoc+Signatur-sign-sign-4_sign-sign.pdf
Binary files differ
diff --git a/pdf-as-pdfbox-3/src/test/resources/data/own_Testdoc+Signatur-sign-sign-4_sign.pdf b/pdf-as-pdfbox-3/src/test/resources/data/own_Testdoc+Signatur-sign-sign-4_sign.pdf
new file mode 100644
index 00000000..72d6007f
--- /dev/null
+++ b/pdf-as-pdfbox-3/src/test/resources/data/own_Testdoc+Signatur-sign-sign-4_sign.pdf
Binary files differ
diff --git a/pdf-as-pdfbox-3/src/test/resources/data/own_Testdoc+Signatur-sign-sign.pdf b/pdf-as-pdfbox-3/src/test/resources/data/own_Testdoc+Signatur-sign-sign.pdf
new file mode 100644
index 00000000..5c472d46
--- /dev/null
+++ b/pdf-as-pdfbox-3/src/test/resources/data/own_Testdoc+Signatur-sign-sign.pdf
Binary files differ
diff --git a/pdf-as-pdfbox-3/src/test/resources/data/own_Testdoc+Signatur-sign.pdf b/pdf-as-pdfbox-3/src/test/resources/data/own_Testdoc+Signatur-sign.pdf
new file mode 100644
index 00000000..1bda36c6
--- /dev/null
+++ b/pdf-as-pdfbox-3/src/test/resources/data/own_Testdoc+Signatur-sign.pdf
Binary files differ
diff --git a/pdf-as-pdfbox-3/src/test/resources/data/platzhalter_en_de_test.pdf b/pdf-as-pdfbox-3/src/test/resources/data/platzhalter_en_de_test.pdf
new file mode 100644
index 00000000..06b9aa0e
--- /dev/null
+++ b/pdf-as-pdfbox-3/src/test/resources/data/platzhalter_en_de_test.pdf
Binary files differ
diff --git a/pdf-as-pdfbox-3/src/test/resources/manySignFields.pdf b/pdf-as-pdfbox-3/src/test/resources/manySignFields.pdf
new file mode 100644
index 00000000..970cd132
--- /dev/null
+++ b/pdf-as-pdfbox-3/src/test/resources/manySignFields.pdf
Binary files differ
diff --git a/pdf-as-pdfbox-3/src/test/resources/manySignFields_signed4.pdf b/pdf-as-pdfbox-3/src/test/resources/manySignFields_signed4.pdf
new file mode 100644
index 00000000..fb639c99
--- /dev/null
+++ b/pdf-as-pdfbox-3/src/test/resources/manySignFields_signed4.pdf
Binary files differ
diff --git a/pdf-as-pdfbox-3/src/test/resources/new_qr_2-2.pdf b/pdf-as-pdfbox-3/src/test/resources/new_qr_2-2.pdf
new file mode 100644
index 00000000..565ce8e6
--- /dev/null
+++ b/pdf-as-pdfbox-3/src/test/resources/new_qr_2-2.pdf
Binary files differ
diff --git a/pdf-as-pdfbox-3/src/test/resources/new_qr_2_signed.pdf b/pdf-as-pdfbox-3/src/test/resources/new_qr_2_signed.pdf
new file mode 100644
index 00000000..be6fdddb
--- /dev/null
+++ b/pdf-as-pdfbox-3/src/test/resources/new_qr_2_signed.pdf
Binary files differ
diff --git a/pdf-as-pdfbox-3/src/test/resources/new_qr_2_signed_signed.pdf b/pdf-as-pdfbox-3/src/test/resources/new_qr_2_signed_signed.pdf
new file mode 100644
index 00000000..ee0f140f
--- /dev/null
+++ b/pdf-as-pdfbox-3/src/test/resources/new_qr_2_signed_signed.pdf
Binary files differ
diff --git a/pdf-as-pdfbox-3/src/test/resources/new_qr_2_signed_signed_signed.pdf b/pdf-as-pdfbox-3/src/test/resources/new_qr_2_signed_signed_signed.pdf
new file mode 100644
index 00000000..34769dd0
--- /dev/null
+++ b/pdf-as-pdfbox-3/src/test/resources/new_qr_2_signed_signed_signed.pdf
Binary files differ
diff --git a/pdf-as-pdfbox-3/src/test/resources/test.p12 b/pdf-as-pdfbox-3/src/test/resources/test.p12
new file mode 100644
index 00000000..0096779d
--- /dev/null
+++ b/pdf-as-pdfbox-3/src/test/resources/test.p12
Binary files differ
diff --git a/pdf-as-tests/build.gradle b/pdf-as-tests/build.gradle
index 95b953d6..1cc793f7 100644
--- a/pdf-as-tests/build.gradle
+++ b/pdf-as-tests/build.gradle
@@ -8,7 +8,7 @@ jar {
}
repositories {
- maven { url "https://apps.egiz.gv.at/maven-internal/" }
+ maven { url = "https://apps.egiz.gv.at/maven-internal/" }
// mavenLocal()
// mavenCentral()
// maven { url "https://repository.jboss.org/maven2/" }
@@ -18,12 +18,16 @@ repositories {
configurations{
pdfBox2Compile
+ pdfBox3Compile
}
sourceSets{
pdfBox2{
compileClasspath = configurations.pdfBox2Compile
}
+ pdfBox3{
+ compileClasspath = configurations.pdfBox3Compile
+ }
}
dependencies {
@@ -33,10 +37,11 @@ dependencies {
implementation project (':signature-standards:sigs-pkcs7detached')
implementation project (':signature-standards:sigs-pades')
- implementation group: 'org.slf4j', name: 'slf4j-api', version: '1.7.36'
- implementation group: 'javax.activation', name: 'activation', version: '1.1.1'
+ implementation group: 'org.slf4j', name: 'slf4j-api', version: slf4jVersion
+ implementation group: 'jakarta.activation', name: 'jakarta.activation-api', version: jakartaActivationVersion
- implementation project (':pdf-as-pdfbox-2')
+ implementation project (':pdf-as-pdfbox-3')
+ implementation group: 'org.apache.pdfbox', name: 'preflight', version: pdfboxVersion
}
@@ -52,63 +57,68 @@ suiteDir.eachDir { File subDir ->
def dirname = subDir.name
logger.info("Test Suite " + subDir.name + " found in " + subDir.absolutePath)
- task "runTestSuite${dirname.capitalize()}"(type: Test) {
+ tasks.register("runTestSuite${dirname.capitalize()}", Test) { test ->
- description "runs tests from Test Suite: " + dirname
+ description = "runs tests from Test Suite: " + dirname
systemProperties 'test.dir': subDir.absolutePath
- if(dirname =="public_pdfbox2"){
+ testClassesDirs = testing.suites.test.sources.output.classesDirs
+ classpath = testing.suites.test.sources.runtimeClasspath
+
+ if (dirname =="public_pdfbox2"){
classpath += sourceSets.pdfBox2.compileClasspath
compileTestJava.classpath += sourceSets.pdfBox2.compileClasspath
+ } else if (dirname == "public_pdfbox3") {
+ classpath += sourceSets.pdfBox3.compileClasspath
+ compileTestJava.classpath += sourceSets.pdfBox3.compileClasspath
}
include '**/ParameterizedSignatureTestSuite.class'
beforeSuite { TestDescriptor descriptor ->
-
if(descriptor.getParent() == null) {
- logger.quiet("++++++++++++++++++++++++++++++++++++++++++++++++++++++++");
+ test.logger.quiet("++++++++++++++++++++++++++++++++++++++++++++++++++++++++");
}
if(descriptor.getClassName().equals("at.gv.egiz.param_tests.ParameterizedSignatureTestSuite")) {
- logger.quiet("Starting suite: " + dirname + " (" + descriptor.getName() + ")")
+ test.logger.quiet("Starting suite: " + dirname + " (" + descriptor.getName() + ")")
}
}
afterSuite { TestDescriptor descriptor, TestResult result ->
if(descriptor.getClassName().equals("at.gv.egiz.param_tests.ParameterizedSignatureTestSuite")) {
- logger.quiet("------------------");
- logger.quiet("Ending suite: " + dirname);
- logger.quiet("\tResult (SUCCESS/ERROR/SKIPPED/TOTAL): " +
+ test.logger.quiet("------------------");
+ test.logger.quiet("Ending suite: " + dirname);
+ test.logger.quiet("\tResult (SUCCESS/ERROR/SKIPPED/TOTAL): " +
result.getSuccessfulTestCount() + "/" +
result.getFailedTestCount() + "/" +
result.getSkippedTestCount() + "/" +
result.getTestCount());
float duration_ms = result.getEndTime() - result.getStartTime()
float duration_sec = duration_ms / 1000.0f
- logger.quiet("\tDuration: " + duration_sec + " s [" + duration_ms + " ms]")
- logger.quiet("\tReport @ file://" + subDir.absolutePath + "/index.html")
+ test.logger.quiet("\tDuration: " + duration_sec + " s [" + duration_ms + " ms]")
+ test.logger.quiet("\tReport @ file://" + subDir.absolutePath + "/index.html")
}
if(descriptor.getParent() == null) {
- logger.quiet("++++++++++++++++++++++++++++++++++++++++++++++++++++++++");
+ test.logger.quiet("++++++++++++++++++++++++++++++++++++++++++++++++++++++++");
}
}
beforeTest { TestDescriptor descriptor ->
- logger.quiet("------------------");
- logger.info("Running test: " + descriptor.getName())
+ test.logger.quiet("------------------");
+ test.logger.info("Running test: " + descriptor.getName())
}
afterTest { TestDescriptor descriptor, TestResult result ->
float duration_ms = result.getEndTime() - result.getStartTime()
float duration_sec = duration_ms / 1000.0f
- logger.quiet(result.getResultType().toString() + " => [" +
+ test.logger.quiet(result.getResultType().toString() + " => [" +
descriptor.getName() + "] took " + duration_sec + " s [" + duration_ms + " ms]")
if(TestResult.ResultType.FAILURE.equals(result.getResultType())) {
if(result.getException() != null) {
- logger.error("Failed test: " + result.getException().getMessage());
+ test.logger.error("Failed test: " + result.getException().getMessage());
result.getException().printStackTrace();
} else {
- logger.error("Failed test provided no exception");
+ test.logger.error("Failed test provided no exception");
}
}
}
@@ -121,13 +131,13 @@ suiteDir.eachDir { File subDir ->
- task "cleanTestSuite${dirname.capitalize()}"(type: Delete) {
+ tasks.register("cleanTestSuite${dirname.capitalize()}", Delete) {
outputs.upToDateWhen { false }
delete fileTree (dir: subDir.absolutePath, include: "index.html")
delete fileTree (dir: subDir.absolutePath, include: "**/test_result.html")
}
- task "cleanOutFolders${dirname.capitalize()}"() {
+ tasks.register("cleanOutFolders${dirname.capitalize()}") {
doLast {
subDir.eachDir { File tcDir ->
File outDir = new File(tcDir, "out");
@@ -148,6 +158,7 @@ suiteDir.eachDir { File subDir ->
tasks.getByPath(":pdf-as-lib:test").dependsOn test
test {
+ failOnNoDiscoveredTests = false
include '**/DummyTest.class'
beforeTest { TestDescriptor descriptor ->
diff --git a/pdf-as-tests/src/test/java/at/gv/egiz/param_tests/PDFASignatureTest.java b/pdf-as-tests/src/test/java/at/gv/egiz/param_tests/PDFASignatureTest.java
index 4c3e754b..e661bbc2 100644
--- a/pdf-as-tests/src/test/java/at/gv/egiz/param_tests/PDFASignatureTest.java
+++ b/pdf-as-tests/src/test/java/at/gv/egiz/param_tests/PDFASignatureTest.java
@@ -12,6 +12,7 @@ import java.util.Collection;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.tuple.ImmutablePair;
import org.apache.commons.lang3.tuple.Pair;
+import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.preflight.PreflightDocument;
import org.apache.pdfbox.preflight.ValidationResult;
import org.apache.pdfbox.preflight.exception.SyntaxValidationException;
@@ -134,15 +135,12 @@ public class PDFASignatureTest extends SignatureTest {
* null)
*/
private Pair<ValidationResult, Throwable> checkPDFAConformance(File fd) {
- PreflightDocument document = null;
ValidationResult result = null;
try {
PreflightParser parser = new PreflightParser(fd);
- parser.parse();
- document = parser.getPreflightDocument();
- document.validate();
- document.close();
- result = document.getResult();
+ try (PreflightDocument document = (PreflightDocument) parser.parse()){
+ result = document.validate();
+ }
return new ImmutablePair<ValidationResult, Throwable>(result, null);
} catch (SyntaxValidationException e) {
logger.debug("The file " + fd.getName()
@@ -158,10 +156,6 @@ public class PDFASignatureTest extends SignatureTest {
+ ") occurred, while validating the PDF-A conformance of "
+ fd.getName(), e);
return new ImmutablePair<ValidationResult, Throwable>(result, e);
- } finally {
- if (document != null) {
- IOUtils.closeQuietly((Closeable)document);
- }
}
}
diff --git a/pdf-as-tests/src/test/java/at/gv/egiz/param_tests/SignaturePositionTest.java b/pdf-as-tests/src/test/java/at/gv/egiz/param_tests/SignaturePositionTest.java
index 84d12cfb..5e40b4dd 100644
--- a/pdf-as-tests/src/test/java/at/gv/egiz/param_tests/SignaturePositionTest.java
+++ b/pdf-as-tests/src/test/java/at/gv/egiz/param_tests/SignaturePositionTest.java
@@ -19,6 +19,7 @@ import java.util.List;
import javax.imageio.ImageIO;
+import org.apache.pdfbox.Loader;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.rendering.PDFRenderer;
import org.junit.Assume;
@@ -323,10 +324,10 @@ public class SignaturePositionTest extends SignatureTest {
*/
private BufferedImage captureImage(String fileName, int pageNumber) throws InterruptedException {
try {
- PDDocument signedPdf = PDDocument.load(new File(fileName));
- PDFRenderer renderer = new PDFRenderer(signedPdf);
- return renderer.renderImage(pageNumber - 1, ZOOM);
-
+ try (PDDocument signedPdf = Loader.loadPDF(new File(fileName))) {
+ PDFRenderer renderer = new PDFRenderer(signedPdf);
+ return renderer.renderImage(pageNumber - 1, ZOOM);
+ }
} catch (IOException e) {
fail(String
.format("Not possible to capture page %d of file %s, because of %s.",
diff --git a/pdf-as-tests/src/test/java/at/gv/egiz/param_tests/SignatureTest.java b/pdf-as-tests/src/test/java/at/gv/egiz/param_tests/SignatureTest.java
index f0e47896..2de7d65e 100644
--- a/pdf-as-tests/src/test/java/at/gv/egiz/param_tests/SignatureTest.java
+++ b/pdf-as-tests/src/test/java/at/gv/egiz/param_tests/SignatureTest.java
@@ -11,7 +11,7 @@ import java.security.cert.CertificateException;
import java.util.Map;
import java.util.UUID;
-import javax.activation.DataSource;
+import jakarta.activation.DataSource;
import org.apache.commons.io.IOUtils;
import org.junit.Rule;
diff --git a/pdf-as-tests/src/test/java/at/gv/egiz/param_tests/provider/BaseSignatureDataProvider.java b/pdf-as-tests/src/test/java/at/gv/egiz/param_tests/provider/BaseSignatureDataProvider.java
index 1ce78e14..629c9d1a 100644
--- a/pdf-as-tests/src/test/java/at/gv/egiz/param_tests/provider/BaseSignatureDataProvider.java
+++ b/pdf-as-tests/src/test/java/at/gv/egiz/param_tests/provider/BaseSignatureDataProvider.java
@@ -148,8 +148,7 @@ public abstract class BaseSignatureDataProvider {
} else {
String[] wildcards = testFilter.split(";");
childFiles = testDirFile
- .listFiles((FilenameFilter) new WildcardFileFilter(
- wildcards));
+ .listFiles((FilenameFilter)WildcardFileFilter.builder().setWildcards(wildcards).get());
}
int idx = 0;
for (File child : childFiles) {
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_ABSOLUT_PAGE_LAST/example_ref.png b/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_ABSOLUT_PAGE_LAST/example_ref.png
deleted file mode 100644
index 063bf516..00000000
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_ABSOLUT_PAGE_LAST/example_ref.png
+++ /dev/null
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_ABSOLUT_PAGE_NUM_HIGH/example_ref.png b/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_ABSOLUT_PAGE_NUM_HIGH/example_ref.png
deleted file mode 100644
index 6f537317..00000000
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_ABSOLUT_PAGE_NUM_HIGH/example_ref.png
+++ /dev/null
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_AMTSSIGNATURBLOCK_DE/example_ref.png b/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_AMTSSIGNATURBLOCK_DE/example_ref.png
deleted file mode 100644
index 3802aae4..00000000
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_AMTSSIGNATURBLOCK_DE/example_ref.png
+++ /dev/null
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_AMTSSIGNATURBLOCK_DE_SMALL/example_ref.png b/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_AMTSSIGNATURBLOCK_DE_SMALL/example_ref.png
deleted file mode 100644
index 1eb82370..00000000
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_AMTSSIGNATURBLOCK_DE_SMALL/example_ref.png
+++ /dev/null
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_AMTSSIGNATURBLOCK_EN/example_ref.png b/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_AMTSSIGNATURBLOCK_EN/example_ref.png
deleted file mode 100644
index ab26c869..00000000
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_AMTSSIGNATURBLOCK_EN/example_ref.png
+++ /dev/null
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_AMTSSIGNATURBLOCK_EN_SMALL/example_ref.png b/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_AMTSSIGNATURBLOCK_EN_SMALL/example_ref.png
deleted file mode 100644
index 49f9b00e..00000000
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_AMTSSIGNATURBLOCK_EN_SMALL/example_ref.png
+++ /dev/null
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_AUTO_WITH_NEWPAGE/example_ref.png b/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_AUTO_WITH_NEWPAGE/example_ref.png
deleted file mode 100644
index 6f537317..00000000
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_AUTO_WITH_NEWPAGE/example_ref.png
+++ /dev/null
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_LAST/example_ref.png b/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_LAST/example_ref.png
deleted file mode 100644
index 063bf516..00000000
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_LAST/example_ref.png
+++ /dev/null
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_LAST_ALREADY_SIGNED/example_ref.png b/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_LAST_ALREADY_SIGNED/example_ref.png
deleted file mode 100644
index e4445336..00000000
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_LAST_ALREADY_SIGNED/example_ref.png
+++ /dev/null
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_LAST_ALREADY_SIGNED_FORCE_NEW/example_ref.png b/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_LAST_ALREADY_SIGNED_FORCE_NEW/example_ref.png
deleted file mode 100644
index 6f537317..00000000
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_LAST_ALREADY_SIGNED_FORCE_NEW/example_ref.png
+++ /dev/null
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_LAST_WITH_POS/example_ref.png b/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_LAST_WITH_POS/example_ref.png
deleted file mode 100644
index f43f91dc..00000000
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_LAST_WITH_POS/example_ref.png
+++ /dev/null
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_DE/example_ref.png b/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_DE/example_ref.png
deleted file mode 100644
index 75234dcc..00000000
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_DE/example_ref.png
+++ /dev/null
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_DE_MINIMAL/example_ref.png b/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_DE_MINIMAL/example_ref.png
deleted file mode 100644
index f01aaa6b..00000000
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_DE_MINIMAL/example_ref.png
+++ /dev/null
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_DE_NOTE/example_ref.png b/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_DE_NOTE/example_ref.png
deleted file mode 100644
index fc02f592..00000000
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_DE_NOTE/example_ref.png
+++ /dev/null
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_DE_PDFA/example_ref.png b/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_DE_PDFA/example_ref.png
deleted file mode 100644
index 4d8be34f..00000000
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_DE_PDFA/example_ref.png
+++ /dev/null
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_DE_PDFA_NOTE/example_ref.png b/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_DE_PDFA_NOTE/example_ref.png
deleted file mode 100644
index 126e877b..00000000
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_DE_PDFA_NOTE/example_ref.png
+++ /dev/null
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_DE_SMALL/example_ref.png b/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_DE_SMALL/example_ref.png
deleted file mode 100644
index 87e5e8f5..00000000
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_DE_SMALL/example_ref.png
+++ /dev/null
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_DE_SMALL_NOTE/example_ref.png b/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_DE_SMALL_NOTE/example_ref.png
deleted file mode 100644
index 8c9a6ff3..00000000
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_DE_SMALL_NOTE/example_ref.png
+++ /dev/null
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_EN/example_ref.png b/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_EN/example_ref.png
deleted file mode 100644
index b7b30433..00000000
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_EN/example_ref.png
+++ /dev/null
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_EN_MINIMAL/example_ref.png b/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_EN_MINIMAL/example_ref.png
deleted file mode 100644
index 5bb02e82..00000000
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_EN_MINIMAL/example_ref.png
+++ /dev/null
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_EN_NOTE/example_ref.png b/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_EN_NOTE/example_ref.png
deleted file mode 100644
index c0a3a7ee..00000000
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_EN_NOTE/example_ref.png
+++ /dev/null
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_EN_PDFA/example_ref.png b/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_EN_PDFA/example_ref.png
deleted file mode 100644
index fc20dcc7..00000000
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_EN_PDFA/example_ref.png
+++ /dev/null
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_EN_PDFA_NOTE/example_ref.png b/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_EN_PDFA_NOTE/example_ref.png
deleted file mode 100644
index 47684166..00000000
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_EN_PDFA_NOTE/example_ref.png
+++ /dev/null
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_EN_SMALL/example_ref.png b/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_EN_SMALL/example_ref.png
deleted file mode 100644
index 65915a67..00000000
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_EN_SMALL/example_ref.png
+++ /dev/null
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_EN_SMALL_NOTE/example_ref.png b/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_EN_SMALL_NOTE/example_ref.png
deleted file mode 100644
index 775504c2..00000000
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_EN_SMALL_NOTE/example_ref.png
+++ /dev/null
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/PDFA_SIGNATURBLOCK_DE/TestGhostscriptPdfA.pdf b/pdf-as-tests/src/test/test-suites/public_pdfbox3/PDFA_SIGNATURBLOCK_DE/TestGhostscriptPdfA.pdf
index 7357c46d..7357c46d 100644
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/PDFA_SIGNATURBLOCK_DE/TestGhostscriptPdfA.pdf
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/PDFA_SIGNATURBLOCK_DE/TestGhostscriptPdfA.pdf
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/PDFA_SIGNATURBLOCK_DE/config.properties b/pdf-as-tests/src/test/test-suites/public_pdfbox3/PDFA_SIGNATURBLOCK_DE/config.properties
index 59811375..59811375 100644
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/PDFA_SIGNATURBLOCK_DE/config.properties
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/PDFA_SIGNATURBLOCK_DE/config.properties
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/PDFA_SIGNATURBLOCK_DE_NOTE/TestGhostscriptPdfA.pdf b/pdf-as-tests/src/test/test-suites/public_pdfbox3/PDFA_SIGNATURBLOCK_DE_NOTE/TestGhostscriptPdfA.pdf
index 7357c46d..7357c46d 100644
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/PDFA_SIGNATURBLOCK_DE_NOTE/TestGhostscriptPdfA.pdf
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/PDFA_SIGNATURBLOCK_DE_NOTE/TestGhostscriptPdfA.pdf
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/PDFA_SIGNATURBLOCK_DE_NOTE/config.properties b/pdf-as-tests/src/test/test-suites/public_pdfbox3/PDFA_SIGNATURBLOCK_DE_NOTE/config.properties
index 33b9bef0..33b9bef0 100644
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/PDFA_SIGNATURBLOCK_DE_NOTE/config.properties
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/PDFA_SIGNATURBLOCK_DE_NOTE/config.properties
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/PDFA_SIGNATURBLOCK_EN/TestGhostscriptPdfA.pdf b/pdf-as-tests/src/test/test-suites/public_pdfbox3/PDFA_SIGNATURBLOCK_EN/TestGhostscriptPdfA.pdf
index 7357c46d..7357c46d 100644
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/PDFA_SIGNATURBLOCK_EN/TestGhostscriptPdfA.pdf
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/PDFA_SIGNATURBLOCK_EN/TestGhostscriptPdfA.pdf
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/PDFA_SIGNATURBLOCK_EN/config.properties b/pdf-as-tests/src/test/test-suites/public_pdfbox3/PDFA_SIGNATURBLOCK_EN/config.properties
index 2e2d3a37..2e2d3a37 100644
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/PDFA_SIGNATURBLOCK_EN/config.properties
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/PDFA_SIGNATURBLOCK_EN/config.properties
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/PDFA_SIGNATURBLOCK_EN_NOTE/TestGhostscriptPdfA.pdf b/pdf-as-tests/src/test/test-suites/public_pdfbox3/PDFA_SIGNATURBLOCK_EN_NOTE/TestGhostscriptPdfA.pdf
index 7357c46d..7357c46d 100644
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/PDFA_SIGNATURBLOCK_EN_NOTE/TestGhostscriptPdfA.pdf
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/PDFA_SIGNATURBLOCK_EN_NOTE/TestGhostscriptPdfA.pdf
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/PDFA_SIGNATURBLOCK_EN_NOTE/config.properties b/pdf-as-tests/src/test/test-suites/public_pdfbox3/PDFA_SIGNATURBLOCK_EN_NOTE/config.properties
index 88e7e2c1..88e7e2c1 100644
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/PDFA_SIGNATURBLOCK_EN_NOTE/config.properties
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/PDFA_SIGNATURBLOCK_EN_NOTE/config.properties
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_ABSOLUT_PAGE_LAST/config.properties b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_ABSOLUT_PAGE_LAST/config.properties
index 88ece194..88ece194 100644
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_ABSOLUT_PAGE_LAST/config.properties
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_ABSOLUT_PAGE_LAST/config.properties
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_ABSOLUT_PAGE_LAST/example.pdf b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_ABSOLUT_PAGE_LAST/example.pdf
index 488e5898..488e5898 100644
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_ABSOLUT_PAGE_LAST/example.pdf
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_ABSOLUT_PAGE_LAST/example.pdf
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_ABSOLUT_PAGE_LAST/example_ref.png b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_ABSOLUT_PAGE_LAST/example_ref.png
new file mode 100644
index 00000000..9ab692bd
--- /dev/null
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_ABSOLUT_PAGE_LAST/example_ref.png
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_ABSOLUT_PAGE_NUM_HIGH/config.properties b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_ABSOLUT_PAGE_NUM_HIGH/config.properties
index c2f8bc74..c2f8bc74 100644
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_ABSOLUT_PAGE_NUM_HIGH/config.properties
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_ABSOLUT_PAGE_NUM_HIGH/config.properties
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_ABSOLUT_PAGE_NUM_HIGH/example.pdf b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_ABSOLUT_PAGE_NUM_HIGH/example.pdf
index 488e5898..488e5898 100644
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_ABSOLUT_PAGE_NUM_HIGH/example.pdf
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_ABSOLUT_PAGE_NUM_HIGH/example.pdf
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_ABSOLUT_PAGE_NUM_HIGH/example_ref.png b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_ABSOLUT_PAGE_NUM_HIGH/example_ref.png
new file mode 100644
index 00000000..f6be95f4
--- /dev/null
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_ABSOLUT_PAGE_NUM_HIGH/example_ref.png
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_AMTSSIGNATURBLOCK_DE/config.properties b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_AMTSSIGNATURBLOCK_DE/config.properties
index 7409d0d8..7409d0d8 100644
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_AMTSSIGNATURBLOCK_DE/config.properties
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_AMTSSIGNATURBLOCK_DE/config.properties
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_AMTSSIGNATURBLOCK_DE/example.pdf b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_AMTSSIGNATURBLOCK_DE/example.pdf
index 867f68db..867f68db 100644
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_AMTSSIGNATURBLOCK_DE/example.pdf
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_AMTSSIGNATURBLOCK_DE/example.pdf
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_AMTSSIGNATURBLOCK_DE/example_ref.png b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_AMTSSIGNATURBLOCK_DE/example_ref.png
new file mode 100644
index 00000000..1c7eb899
--- /dev/null
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_AMTSSIGNATURBLOCK_DE/example_ref.png
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_AMTSSIGNATURBLOCK_DE_SMALL/config.properties b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_AMTSSIGNATURBLOCK_DE_SMALL/config.properties
index 186f5bdd..186f5bdd 100644
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_AMTSSIGNATURBLOCK_DE_SMALL/config.properties
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_AMTSSIGNATURBLOCK_DE_SMALL/config.properties
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_AMTSSIGNATURBLOCK_DE_SMALL/example.pdf b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_AMTSSIGNATURBLOCK_DE_SMALL/example.pdf
index 867f68db..867f68db 100644
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_AMTSSIGNATURBLOCK_DE_SMALL/example.pdf
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_AMTSSIGNATURBLOCK_DE_SMALL/example.pdf
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_AMTSSIGNATURBLOCK_DE_SMALL/example_ref.png b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_AMTSSIGNATURBLOCK_DE_SMALL/example_ref.png
new file mode 100644
index 00000000..88be9ef7
--- /dev/null
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_AMTSSIGNATURBLOCK_DE_SMALL/example_ref.png
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_AMTSSIGNATURBLOCK_EN/config.properties b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_AMTSSIGNATURBLOCK_EN/config.properties
index 4ddf33d0..4ddf33d0 100644
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_AMTSSIGNATURBLOCK_EN/config.properties
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_AMTSSIGNATURBLOCK_EN/config.properties
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_AMTSSIGNATURBLOCK_EN/example.pdf b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_AMTSSIGNATURBLOCK_EN/example.pdf
index 867f68db..867f68db 100644
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_AMTSSIGNATURBLOCK_EN/example.pdf
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_AMTSSIGNATURBLOCK_EN/example.pdf
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_AMTSSIGNATURBLOCK_EN/example_ref.png b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_AMTSSIGNATURBLOCK_EN/example_ref.png
new file mode 100644
index 00000000..d7551183
--- /dev/null
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_AMTSSIGNATURBLOCK_EN/example_ref.png
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_AMTSSIGNATURBLOCK_EN_SMALL/config.properties b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_AMTSSIGNATURBLOCK_EN_SMALL/config.properties
index 1110f058..1110f058 100644
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_AMTSSIGNATURBLOCK_EN_SMALL/config.properties
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_AMTSSIGNATURBLOCK_EN_SMALL/config.properties
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_AMTSSIGNATURBLOCK_EN_SMALL/example.pdf b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_AMTSSIGNATURBLOCK_EN_SMALL/example.pdf
index 867f68db..867f68db 100644
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_AMTSSIGNATURBLOCK_EN_SMALL/example.pdf
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_AMTSSIGNATURBLOCK_EN_SMALL/example.pdf
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_AMTSSIGNATURBLOCK_EN_SMALL/example_ref.png b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_AMTSSIGNATURBLOCK_EN_SMALL/example_ref.png
new file mode 100644
index 00000000..81afebe6
--- /dev/null
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_AMTSSIGNATURBLOCK_EN_SMALL/example_ref.png
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_AUTO/config.properties b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_AUTO/config.properties
index e8b47027..e8b47027 100644
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_AUTO/config.properties
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_AUTO/config.properties
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_AUTO/example.pdf b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_AUTO/example.pdf
index c760770a..c760770a 100644
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_AUTO/example.pdf
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_AUTO/example.pdf
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_AUTO/example_ref.png b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_AUTO/example_ref.png
index 8d679bbe..9f7c6e3f 100644
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_AUTO/example_ref.png
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_AUTO/example_ref.png
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_AUTO_WITH_NEWPAGE/config.properties b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_AUTO_WITH_NEWPAGE/config.properties
index 7013bc17..7013bc17 100644
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_AUTO_WITH_NEWPAGE/config.properties
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_AUTO_WITH_NEWPAGE/config.properties
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_AUTO_WITH_NEWPAGE/example.pdf b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_AUTO_WITH_NEWPAGE/example.pdf
index 488e5898..488e5898 100644
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_AUTO_WITH_NEWPAGE/example.pdf
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_AUTO_WITH_NEWPAGE/example.pdf
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_AUTO_WITH_NEWPAGE/example_ref.png b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_AUTO_WITH_NEWPAGE/example_ref.png
new file mode 100644
index 00000000..5f4d5488
--- /dev/null
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_AUTO_WITH_NEWPAGE/example_ref.png
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_LAST/config.properties b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_LAST/config.properties
index 94af6eec..94af6eec 100644
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_LAST/config.properties
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_LAST/config.properties
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_LAST/example.pdf b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_LAST/example.pdf
index 488e5898..488e5898 100644
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_LAST/example.pdf
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_LAST/example.pdf
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_LAST/example_ref.png b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_LAST/example_ref.png
new file mode 100644
index 00000000..ef35ea26
--- /dev/null
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_LAST/example_ref.png
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_LAST_ALREADY_SIGNED/config.properties b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_LAST_ALREADY_SIGNED/config.properties
index 572f9801..572f9801 100644
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_LAST_ALREADY_SIGNED/config.properties
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_LAST_ALREADY_SIGNED/config.properties
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_LAST_ALREADY_SIGNED/example.pdf b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_LAST_ALREADY_SIGNED/example.pdf
index 3ce5f831..3ce5f831 100644
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_LAST_ALREADY_SIGNED/example.pdf
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_LAST_ALREADY_SIGNED/example.pdf
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_LAST_ALREADY_SIGNED/example_ref.png b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_LAST_ALREADY_SIGNED/example_ref.png
new file mode 100644
index 00000000..6b2d343e
--- /dev/null
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_LAST_ALREADY_SIGNED/example_ref.png
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_LAST_ALREADY_SIGNED_FORCE_NEW/config.properties b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_LAST_ALREADY_SIGNED_FORCE_NEW/config.properties
index 28d4438f..28d4438f 100644
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_LAST_ALREADY_SIGNED_FORCE_NEW/config.properties
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_LAST_ALREADY_SIGNED_FORCE_NEW/config.properties
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_LAST_ALREADY_SIGNED_FORCE_NEW/example.pdf b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_LAST_ALREADY_SIGNED_FORCE_NEW/example.pdf
index 3ce5f831..3ce5f831 100644
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_LAST_ALREADY_SIGNED_FORCE_NEW/example.pdf
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_LAST_ALREADY_SIGNED_FORCE_NEW/example.pdf
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_LAST_ALREADY_SIGNED_FORCE_NEW/example_ref.png b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_LAST_ALREADY_SIGNED_FORCE_NEW/example_ref.png
new file mode 100644
index 00000000..213118fc
--- /dev/null
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_LAST_ALREADY_SIGNED_FORCE_NEW/example_ref.png
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_LAST_WITH_POS/config.properties b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_LAST_WITH_POS/config.properties
index def92788..def92788 100644
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_LAST_WITH_POS/config.properties
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_LAST_WITH_POS/config.properties
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_LAST_WITH_POS/example.pdf b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_LAST_WITH_POS/example.pdf
index 488e5898..488e5898 100644
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_LAST_WITH_POS/example.pdf
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_LAST_WITH_POS/example.pdf
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_LAST_WITH_POS/example_ref.png b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_LAST_WITH_POS/example_ref.png
new file mode 100644
index 00000000..d61d32e9
--- /dev/null
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_LAST_WITH_POS/example_ref.png
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_DE/config.properties b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_DE/config.properties
index c8ccefb0..c8ccefb0 100644
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_DE/config.properties
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_DE/config.properties
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_DE/example.pdf b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_DE/example.pdf
index 867f68db..867f68db 100644
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_DE/example.pdf
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_DE/example.pdf
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_DE/example_ref.png b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_DE/example_ref.png
new file mode 100644
index 00000000..b2feee46
--- /dev/null
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_DE/example_ref.png
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_DE_MINIMAL/config.properties b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_DE_MINIMAL/config.properties
index 6e617d9e..6e617d9e 100644
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_DE_MINIMAL/config.properties
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_DE_MINIMAL/config.properties
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_DE_MINIMAL/example.pdf b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_DE_MINIMAL/example.pdf
index 867f68db..867f68db 100644
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_DE_MINIMAL/example.pdf
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_DE_MINIMAL/example.pdf
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_DE_MINIMAL/example_ref.png b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_DE_MINIMAL/example_ref.png
new file mode 100644
index 00000000..681ae5c8
--- /dev/null
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_DE_MINIMAL/example_ref.png
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_DE_NOTE/config.properties b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_DE_NOTE/config.properties
index 9699a1b6..9699a1b6 100644
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_DE_NOTE/config.properties
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_DE_NOTE/config.properties
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_DE_NOTE/example.pdf b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_DE_NOTE/example.pdf
index 867f68db..867f68db 100644
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_DE_NOTE/example.pdf
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_DE_NOTE/example.pdf
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_DE_NOTE/example_ref.png b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_DE_NOTE/example_ref.png
new file mode 100644
index 00000000..dcfd416c
--- /dev/null
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_DE_NOTE/example_ref.png
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_DE_PDFA/config.properties b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_DE_PDFA/config.properties
index ab0108a6..ab0108a6 100644
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_DE_PDFA/config.properties
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_DE_PDFA/config.properties
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_DE_PDFA/example.pdf b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_DE_PDFA/example.pdf
index 867f68db..867f68db 100644
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_DE_PDFA/example.pdf
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_DE_PDFA/example.pdf
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_DE_PDFA/example_ref.png b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_DE_PDFA/example_ref.png
new file mode 100644
index 00000000..9084aba7
--- /dev/null
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_DE_PDFA/example_ref.png
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_DE_PDFA_NOTE/config.properties b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_DE_PDFA_NOTE/config.properties
index da997c01..da997c01 100644
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_DE_PDFA_NOTE/config.properties
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_DE_PDFA_NOTE/config.properties
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_DE_PDFA_NOTE/example.pdf b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_DE_PDFA_NOTE/example.pdf
index 867f68db..867f68db 100644
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_DE_PDFA_NOTE/example.pdf
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_DE_PDFA_NOTE/example.pdf
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_DE_PDFA_NOTE/example_ref.png b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_DE_PDFA_NOTE/example_ref.png
new file mode 100644
index 00000000..8406eda7
--- /dev/null
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_DE_PDFA_NOTE/example_ref.png
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_DE_SMALL/config.properties b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_DE_SMALL/config.properties
index 58f415c1..58f415c1 100644
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_DE_SMALL/config.properties
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_DE_SMALL/config.properties
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_DE_SMALL/example.pdf b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_DE_SMALL/example.pdf
index 867f68db..867f68db 100644
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_DE_SMALL/example.pdf
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_DE_SMALL/example.pdf
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_DE_SMALL/example_ref.png b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_DE_SMALL/example_ref.png
new file mode 100644
index 00000000..9577cb74
--- /dev/null
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_DE_SMALL/example_ref.png
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_DE_SMALL_NOTE/config.properties b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_DE_SMALL_NOTE/config.properties
index 6276ab18..6276ab18 100644
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_DE_SMALL_NOTE/config.properties
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_DE_SMALL_NOTE/config.properties
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_DE_SMALL_NOTE/example.pdf b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_DE_SMALL_NOTE/example.pdf
index 867f68db..867f68db 100644
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_DE_SMALL_NOTE/example.pdf
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_DE_SMALL_NOTE/example.pdf
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_DE_SMALL_NOTE/example_ref.png b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_DE_SMALL_NOTE/example_ref.png
new file mode 100644
index 00000000..92f7e995
--- /dev/null
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_DE_SMALL_NOTE/example_ref.png
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_EN/config.properties b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_EN/config.properties
index 3107a1e9..3107a1e9 100644
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_EN/config.properties
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_EN/config.properties
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_EN/example.pdf b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_EN/example.pdf
index 867f68db..867f68db 100644
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_EN/example.pdf
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_EN/example.pdf
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_EN/example_ref.png b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_EN/example_ref.png
new file mode 100644
index 00000000..e5f88c2b
--- /dev/null
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_EN/example_ref.png
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_EN_MINIMAL/config.properties b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_EN_MINIMAL/config.properties
index 03ca9a45..03ca9a45 100644
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_EN_MINIMAL/config.properties
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_EN_MINIMAL/config.properties
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_EN_MINIMAL/example.pdf b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_EN_MINIMAL/example.pdf
index 867f68db..867f68db 100644
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_EN_MINIMAL/example.pdf
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_EN_MINIMAL/example.pdf
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_EN_MINIMAL/example_ref.png b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_EN_MINIMAL/example_ref.png
new file mode 100644
index 00000000..97319af5
--- /dev/null
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_EN_MINIMAL/example_ref.png
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_EN_NOTE/config.properties b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_EN_NOTE/config.properties
index 5c3d8c30..5c3d8c30 100644
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_EN_NOTE/config.properties
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_EN_NOTE/config.properties
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_EN_NOTE/example.pdf b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_EN_NOTE/example.pdf
index 867f68db..867f68db 100644
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_EN_NOTE/example.pdf
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_EN_NOTE/example.pdf
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_EN_NOTE/example_ref.png b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_EN_NOTE/example_ref.png
new file mode 100644
index 00000000..66112265
--- /dev/null
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_EN_NOTE/example_ref.png
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_EN_PDFA/config.properties b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_EN_PDFA/config.properties
index d6f9cc5c..d6f9cc5c 100644
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_EN_PDFA/config.properties
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_EN_PDFA/config.properties
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_EN_PDFA/example.pdf b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_EN_PDFA/example.pdf
index 867f68db..867f68db 100644
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_EN_PDFA/example.pdf
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_EN_PDFA/example.pdf
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_EN_PDFA/example_ref.png b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_EN_PDFA/example_ref.png
new file mode 100644
index 00000000..4d493e47
--- /dev/null
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_EN_PDFA/example_ref.png
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_EN_PDFA_NOTE/config.properties b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_EN_PDFA_NOTE/config.properties
index e0b5f0c1..e0b5f0c1 100644
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_EN_PDFA_NOTE/config.properties
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_EN_PDFA_NOTE/config.properties
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_EN_PDFA_NOTE/example.pdf b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_EN_PDFA_NOTE/example.pdf
index 867f68db..867f68db 100644
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_EN_PDFA_NOTE/example.pdf
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_EN_PDFA_NOTE/example.pdf
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_EN_PDFA_NOTE/example_ref.png b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_EN_PDFA_NOTE/example_ref.png
new file mode 100644
index 00000000..7ba03d9e
--- /dev/null
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_EN_PDFA_NOTE/example_ref.png
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_EN_SMALL/config.properties b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_EN_SMALL/config.properties
index 7cdd8d64..7cdd8d64 100644
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_EN_SMALL/config.properties
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_EN_SMALL/config.properties
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_EN_SMALL/example.pdf b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_EN_SMALL/example.pdf
index 867f68db..867f68db 100644
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_EN_SMALL/example.pdf
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_EN_SMALL/example.pdf
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_EN_SMALL/example_ref.png b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_EN_SMALL/example_ref.png
new file mode 100644
index 00000000..f39f9ee6
--- /dev/null
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_EN_SMALL/example_ref.png
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_EN_SMALL_NOTE/config.properties b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_EN_SMALL_NOTE/config.properties
index 65c045cb..65c045cb 100644
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_EN_SMALL_NOTE/config.properties
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_EN_SMALL_NOTE/config.properties
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_EN_SMALL_NOTE/example.pdf b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_EN_SMALL_NOTE/example.pdf
index 867f68db..867f68db 100644
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/POS_SIGNATURBLOCK_EN_SMALL_NOTE/example.pdf
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_EN_SMALL_NOTE/example.pdf
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_EN_SMALL_NOTE/example_ref.png b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_EN_SMALL_NOTE/example_ref.png
new file mode 100644
index 00000000..a227307c
--- /dev/null
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/POS_SIGNATURBLOCK_EN_SMALL_NOTE/example_ref.png
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/auto_pos_example.properties b/pdf-as-tests/src/test/test-suites/public_pdfbox3/auto_pos_example.properties
index 15c779b1..15c779b1 100644
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/auto_pos_example.properties
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/auto_pos_example.properties
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/config.properties b/pdf-as-tests/src/test/test-suites/public_pdfbox3/config.properties
index c00ea2b4..dc60f9c1 100644
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/config.properties
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/config.properties
@@ -1,6 +1,6 @@
config.file=../pdf-as-lib/src/configuration/
connector=ks
-ks.filename=src/test/test-suites/public_pdfbox2/test.p12
+ks.filename=src/test/test-suites/public_pdfbox3/test.p12
ks.type=PKCS12
ks.pass=123456
ks.keypass=123456
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/css/bootstrap-theme.css b/pdf-as-tests/src/test/test-suites/public_pdfbox3/css/bootstrap-theme.css
index f860bbc0..f860bbc0 100644
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/css/bootstrap-theme.css
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/css/bootstrap-theme.css
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/css/bootstrap-theme.css.map b/pdf-as-tests/src/test/test-suites/public_pdfbox3/css/bootstrap-theme.css.map
index 4cc41ab0..4cc41ab0 100644
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/css/bootstrap-theme.css.map
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/css/bootstrap-theme.css.map
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/css/bootstrap-theme.min.css b/pdf-as-tests/src/test/test-suites/public_pdfbox3/css/bootstrap-theme.min.css
index 2e97597c..2e97597c 100644
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/css/bootstrap-theme.min.css
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/css/bootstrap-theme.min.css
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/css/bootstrap.css b/pdf-as-tests/src/test/test-suites/public_pdfbox3/css/bootstrap.css
index 037dd056..037dd056 100644
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/css/bootstrap.css
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/css/bootstrap.css
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/css/bootstrap.css.map b/pdf-as-tests/src/test/test-suites/public_pdfbox3/css/bootstrap.css.map
index bfb56168..bfb56168 100644
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/css/bootstrap.css.map
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/css/bootstrap.css.map
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/css/bootstrap.min.css b/pdf-as-tests/src/test/test-suites/public_pdfbox3/css/bootstrap.min.css
index a9f35cee..a9f35cee 100644
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/css/bootstrap.min.css
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/css/bootstrap.min.css
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/fonts/DejaVuSansCondensed-Bold.ttf b/pdf-as-tests/src/test/test-suites/public_pdfbox3/fonts/DejaVuSansCondensed-Bold.ttf
index 2364a473..2364a473 100644
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/fonts/DejaVuSansCondensed-Bold.ttf
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/fonts/DejaVuSansCondensed-Bold.ttf
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/fonts/DejaVuSansCondensed.ttf b/pdf-as-tests/src/test/test-suites/public_pdfbox3/fonts/DejaVuSansCondensed.ttf
index 94a9b01c..94a9b01c 100644
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/fonts/DejaVuSansCondensed.ttf
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/fonts/DejaVuSansCondensed.ttf
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/fonts/DejaVuSansMono.ttf b/pdf-as-tests/src/test/test-suites/public_pdfbox3/fonts/DejaVuSansMono.ttf
index a96ac6f4..a96ac6f4 100644
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/fonts/DejaVuSansMono.ttf
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/fonts/DejaVuSansMono.ttf
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/fonts/arial.ttf b/pdf-as-tests/src/test/test-suites/public_pdfbox3/fonts/arial.ttf
index 12cc15c8..12cc15c8 100644
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/fonts/arial.ttf
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/fonts/arial.ttf
Binary files differ
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/js/bootstrap.js b/pdf-as-tests/src/test/test-suites/public_pdfbox3/js/bootstrap.js
index 53da1c77..53da1c77 100644
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/js/bootstrap.js
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/js/bootstrap.js
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/js/bootstrap.min.js b/pdf-as-tests/src/test/test-suites/public_pdfbox3/js/bootstrap.min.js
index 7c1561a8..7c1561a8 100644
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/js/bootstrap.min.js
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/js/bootstrap.min.js
diff --git a/pdf-as-tests/src/test/test-suites/public_pdfbox2/test.p12 b/pdf-as-tests/src/test/test-suites/public_pdfbox3/test.p12
index 660bf7cc..660bf7cc 100644
--- a/pdf-as-tests/src/test/test-suites/public_pdfbox2/test.p12
+++ b/pdf-as-tests/src/test/test-suites/public_pdfbox3/test.p12
Binary files differ
diff --git a/pdf-as-web-client/build.gradle b/pdf-as-web-client/build.gradle
index 781ee45b..8d9628ad 100644
--- a/pdf-as-web-client/build.gradle
+++ b/pdf-as-web-client/build.gradle
@@ -13,11 +13,12 @@ repositories {
}
dependencies {
- implementation 'org.apache.commons:commons-collections4:4.5.0'
- implementation group: 'javax.xml.ws', name: 'jaxws-api', version: '2.3.1'
+ implementation group: 'org.apache.commons', name: 'commons-collections4', version: commonsCollectionsVersion
+ implementation group: 'jakarta.xml.ws', name: 'jakarta.xml.ws-api', version: jakartaXmlWsVersion
implementation project (':pdf-as-common')
}
test {
systemProperties 'property': 'value'
+ failOnNoDiscoveredTests = false
}
diff --git a/pdf-as-web-client/src/main/java/at/gv/egiz/pdfas/web/client/RemotePDFSigner.java b/pdf-as-web-client/src/main/java/at/gv/egiz/pdfas/web/client/RemotePDFSigner.java
index c8a89541..52f6b928 100644
--- a/pdf-as-web-client/src/main/java/at/gv/egiz/pdfas/web/client/RemotePDFSigner.java
+++ b/pdf-as-web-client/src/main/java/at/gv/egiz/pdfas/web/client/RemotePDFSigner.java
@@ -26,9 +26,9 @@ package at.gv.egiz.pdfas.web.client;
import java.net.URL;
import javax.xml.namespace.QName;
-import javax.xml.ws.BindingProvider;
-import javax.xml.ws.Service;
-import javax.xml.ws.soap.SOAPBinding;
+import jakarta.xml.ws.BindingProvider;
+import jakarta.xml.ws.Service;
+import jakarta.xml.ws.soap.SOAPBinding;
import at.gv.egiz.pdfas.api.ws.PDFASBulkSignRequest;
import at.gv.egiz.pdfas.api.ws.PDFASBulkSignResponse;
diff --git a/pdf-as-web-client/src/main/java/at/gv/egiz/pdfas/web/client/RemotePDFVerifier.java b/pdf-as-web-client/src/main/java/at/gv/egiz/pdfas/web/client/RemotePDFVerifier.java
index 25561577..2b305b35 100644
--- a/pdf-as-web-client/src/main/java/at/gv/egiz/pdfas/web/client/RemotePDFVerifier.java
+++ b/pdf-as-web-client/src/main/java/at/gv/egiz/pdfas/web/client/RemotePDFVerifier.java
@@ -3,9 +3,9 @@ package at.gv.egiz.pdfas.web.client;
import java.net.URL;
import javax.xml.namespace.QName;
-import javax.xml.ws.BindingProvider;
-import javax.xml.ws.Service;
-import javax.xml.ws.soap.SOAPBinding;
+import jakarta.xml.ws.BindingProvider;
+import jakarta.xml.ws.Service;
+import jakarta.xml.ws.soap.SOAPBinding;
import at.gv.egiz.pdfas.api.ws.PDFASVerification;
import at.gv.egiz.pdfas.api.ws.PDFASVerifyRequest;
diff --git a/pdf-as-web-db/build.gradle b/pdf-as-web-db/build.gradle
index c54b9dbb..78611668 100644
--- a/pdf-as-web-db/build.gradle
+++ b/pdf-as-web-db/build.gradle
@@ -1,6 +1,8 @@
-apply plugin: 'java'
-apply plugin: 'eclipse'
-apply plugin: 'java-library-distribution'
+plugins {
+ id 'java-library'
+ id 'eclipse'
+ id 'distribution'
+}
jar {
manifest {
@@ -17,9 +19,8 @@ dependencies {
implementation project (':pdf-as-web')
implementation project (':pdf-as-web-status')
implementation project (':pdf-as-web-statistic-api')
- api "org.hibernate:hibernate-core:5.6.15.Final"
- api "org.hibernate:hibernate-entitymanager:5.6.15.Final"
- implementation 'ch.qos.logback:logback-classic:1.2.13'
+ api "org.hibernate:hibernate-core:6.6.44.Final"
+ implementation group: 'ch.qos.logback', name: 'logback-classic', version: logbackVersion
implementation group: 'org.slf4j', name: 'slf4j-api', version: slf4jVersion
}
diff --git a/pdf-as-web-db/src/main/java/at/gv/egiz/pdfas/web/store/DBRequestStore.java b/pdf-as-web-db/src/main/java/at/gv/egiz/pdfas/web/store/DBRequestStore.java
index e5a789d2..b371026d 100644
--- a/pdf-as-web-db/src/main/java/at/gv/egiz/pdfas/web/store/DBRequestStore.java
+++ b/pdf-as-web-db/src/main/java/at/gv/egiz/pdfas/web/store/DBRequestStore.java
@@ -9,6 +9,7 @@ import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.hibernate.cfg.Configuration;
+import org.hibernate.query.MutationQuery;
import org.hibernate.query.Query;
import org.hibernate.service.ServiceRegistry;
import org.slf4j.Logger;
@@ -28,7 +29,6 @@ public class DBRequestStore implements IRequestStore {
.getLogger(DBRequestStore.class);
private final SessionFactory sessions;
- private final ServiceRegistry serviceRegistry;
public DBRequestStore() {
final Configuration cfg = new Configuration();
@@ -37,8 +37,8 @@ public class DBRequestStore implements IRequestStore {
cfg.addAnnotatedClass(StatisticRequest.class);
cfg.setProperties(WebConfiguration.getHibernateProps());
- serviceRegistry = new StandardServiceRegistryBuilder().applySettings(
- cfg.getProperties()).build();
+ ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().applySettings(
+ cfg.getProperties()).build();
sessions = cfg.buildSessionFactory(serviceRegistry);
}
@@ -50,24 +50,18 @@ public class DBRequestStore implements IRequestStore {
final Date date = calendar.getTime();
final SimpleDateFormat dt = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
logger.info("Clearing Entries before: " + dt.format(date));
- Session session = null;
- Transaction tx = null;
- try {
- session = sessions.openSession();
- tx = session.beginTransaction();
- final Query query = session.createQuery("delete from Request as req"
- + " where req.created < :date");
- query.setCalendar("date", calendar);
- query.executeUpdate();
- tx.commit();
- } catch (final Throwable e) {
- logger.error("Failed to save Request", e);
- tx.rollback();
- } finally {
- if (session != null) {
- session.close();
+ Transaction tx = null;
+ try (Session session = sessions.openSession()) {
+ tx = session.beginTransaction();
+ final MutationQuery query = session.createMutationQuery("delete from Request as req"
+ + " where req.created < :date");
+ query.setParameter("date", calendar.getTime());
+ query.executeUpdate();
+ tx.commit();
+ } catch (final Throwable e) {
+ logger.error("Failed to save Request", e);
+ if (tx != null) tx.rollback();
}
- }
}
public void cleanOldRequestException() {
@@ -77,29 +71,23 @@ public class DBRequestStore implements IRequestStore {
final Date date = calendar.getTime();
final SimpleDateFormat dt = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
logger.info("Clearing Entries before: " + dt.format(date));
- Session session = null;
- try {
- session = sessions.openSession();
- final Query query = session.createQuery("delete from Request as req"
- + " where req.created < :date");
- query.setCalendar("date", calendar);
- query.executeUpdate();
-
- final Query queryStat = session.createQuery("delete from StatisticRequest as req"
- + " where req.created < :date");
- queryStat.setCalendar("date", calendar);
- queryStat.executeUpdate();
-
- final Query queryResponse = session.createQuery("delete from Response as req"
- + " where req.created < :date");
- queryResponse.setCalendar("date", calendar);
- queryResponse.executeUpdate();
-
- } finally {
- if (session != null) {
- session.close();
+ try (Session session = sessions.openSession()) {
+ final MutationQuery query = session.createMutationQuery("delete from Request as req"
+ + " where req.created < :date");
+ query.setParameter("date", calendar.getTime());
+ query.executeUpdate();
+
+ final MutationQuery queryStat = session.createMutationQuery("delete from StatisticRequest as req"
+ + " where req.created < :date");
+ queryStat.setParameter("date", calendar.getTime());
+ queryStat.executeUpdate();
+
+ final MutationQuery queryResponse = session.createMutationQuery("delete from Response as req"
+ + " where req.created < :date");
+ queryResponse.setParameter("date", calendar.getTime());
+ queryResponse.executeUpdate();
+
}
- }
}
@Override
@@ -107,32 +95,26 @@ public class DBRequestStore implements IRequestStore {
StatisticEvent event) {
// Clean Old Requests
this.cleanOldRequests();
- Session session = null;
- Transaction tx = null;
- try {
- session = sessions.openSession();
- tx = session.beginTransaction();
- final Request dbRequest = new Request();
- dbRequest.setSignRequest(request);
- dbRequest.setCreated(Calendar.getInstance().getTime());
- session.save(dbRequest);
-
- final StatisticRequest statisticRequest = new StatisticRequest();
- statisticRequest.setStatisticEvent(event);
- statisticRequest.setCreated(Calendar.getInstance().getTime());
- session.save(statisticRequest);
-
- tx.commit();
- return dbRequest.getId();
- } catch (final Throwable e) {
- logger.error("Failed to save Request", e);
- tx.rollback();
- return null;
- } finally {
- if (session != null) {
- session.close();
+ Transaction tx = null;
+ try (Session session = sessions.openSession()) {
+ tx = session.beginTransaction();
+ final Request dbRequest = new Request();
+ dbRequest.setSignRequest(request);
+ dbRequest.setCreated(Calendar.getInstance().getTime());
+ session.persist(dbRequest);
+
+ final StatisticRequest statisticRequest = new StatisticRequest();
+ statisticRequest.setStatisticEvent(event);
+ statisticRequest.setCreated(Calendar.getInstance().getTime());
+ session.persist(statisticRequest);
+
+ tx.commit();
+ return dbRequest.getId();
+ } catch (final Throwable e) {
+ logger.error("Failed to save Request", e);
+ if (tx != null) tx.rollback();
+ return null;
}
- }
}
@Override
@@ -140,28 +122,22 @@ public class DBRequestStore implements IRequestStore {
// Clean Old Requests
this.cleanOldRequests();
- Session session = null;
- Transaction tx = null;
- try {
- session = sessions.openSession();
- tx = session.beginTransaction();
- final Request dbRequest = session.get(Request.class, id);
-
- final PdfasSignRequest request = dbRequest.getSignRequest();
-
- session.delete(dbRequest);
-
- tx.commit();
- return request;
- } catch (final Throwable e) {
- logger.error("Failed to fetch Request", e);
- tx.rollback();
- return null;
- } finally {
- if (session != null) {
- session.close();
+ Transaction tx = null;
+ try (Session session = sessions.openSession()) {
+ tx = session.beginTransaction();
+ final Request dbRequest = session.get(Request.class, id);
+
+ final PdfasSignRequest request = dbRequest.getSignRequest();
+
+ session.remove(dbRequest);
+
+ tx.commit();
+ return request;
+ } catch (final Throwable e) {
+ logger.error("Failed to fetch Request", e);
+ if (tx != null) tx.rollback();
+ return null;
}
- }
}
@@ -170,56 +146,44 @@ public class DBRequestStore implements IRequestStore {
// Clean Old Requests
this.cleanOldRequests();
- Session session = null;
- Transaction tx = null;
- try {
- session = sessions.openSession();
- tx = session.beginTransaction();
- final StatisticRequest dbRequest = session.get(
- StatisticRequest.class, id);
-
- final StatisticEvent request = dbRequest.getStatisticEvent();
-
- session.delete(dbRequest);
-
- tx.commit();
- return request;
- } catch (final Throwable e) {
- logger.error("Failed to fetch Request", e);
- tx.rollback();
- return null;
- } finally {
- if (session != null) {
- session.close();
+ Transaction tx = null;
+ try (Session session = sessions.openSession()) {
+ tx = session.beginTransaction();
+ final StatisticRequest dbRequest = session.get(
+ StatisticRequest.class, id);
+
+ final StatisticEvent request = dbRequest.getStatisticEvent();
+
+ session.remove(dbRequest);
+
+ tx.commit();
+ return request;
+ } catch (final Throwable e) {
+ logger.error("Failed to fetch Request", e);
+ if (tx != null) tx.rollback();
+ return null;
}
- }
}
@Override
public String createNewResponseEntry(PdfasSignResponse response) {
// Clean Old Requests
this.cleanOldRequests();
- Session session = null;
- Transaction tx = null;
- try {
- session = sessions.openSession();
- tx = session.beginTransaction();
- final Response dbRequest = new Response();
- dbRequest.setSignedResponse(response);
- dbRequest.setCreated(Calendar.getInstance().getTime());
- session.save(dbRequest);
-
- tx.commit();
- return dbRequest.getId();
- } catch (final Throwable e) {
- logger.error("Failed to save Request", e);
- tx.rollback();
- return null;
- } finally {
- if (session != null) {
- session.close();
+ Transaction tx = null;
+ try (Session session = sessions.openSession()) {
+ tx = session.beginTransaction();
+ final Response dbRequest = new Response();
+ dbRequest.setSignedResponse(response);
+ dbRequest.setCreated(Calendar.getInstance().getTime());
+ session.persist(dbRequest);
+
+ tx.commit();
+ return dbRequest.getId();
+ } catch (final Throwable e) {
+ logger.error("Failed to save Request", e);
+ if (tx != null) tx.rollback();
+ return null;
}
- }
}
@Override
@@ -227,27 +191,21 @@ public class DBRequestStore implements IRequestStore {
// Clean Old Requests
this.cleanOldRequests();
- Session session = null;
- Transaction tx = null;
- try {
- session = sessions.openSession();
- tx = session.beginTransaction();
- final Response dbResponse = session.get(Response.class, id);
-
- final PdfasSignResponse request = dbResponse.getSignedResponse();
-
- session.delete(dbResponse);
-
- tx.commit();
- return request;
- } catch (final Throwable e) {
- logger.error("Failed to fetch Response", e);
- tx.rollback();
- return null;
- } finally {
- if (session != null) {
- session.close();
+ Transaction tx = null;
+ try (Session session = sessions.openSession()) {
+ tx = session.beginTransaction();
+ final Response dbResponse = session.get(Response.class, id);
+
+ final PdfasSignResponse request = dbResponse.getSignedResponse();
+
+ session.remove(dbResponse);
+
+ tx.commit();
+ return request;
+ } catch (final Throwable e) {
+ logger.error("Failed to fetch Response", e);
+ if (tx != null) tx.rollback();
+ return null;
}
- }
}
}
diff --git a/pdf-as-web-db/src/main/java/at/gv/egiz/pdfas/web/store/db/Request.java b/pdf-as-web-db/src/main/java/at/gv/egiz/pdfas/web/store/db/Request.java
index f8a169c3..978601b1 100644
--- a/pdf-as-web-db/src/main/java/at/gv/egiz/pdfas/web/store/db/Request.java
+++ b/pdf-as-web-db/src/main/java/at/gv/egiz/pdfas/web/store/db/Request.java
@@ -2,11 +2,11 @@ package at.gv.egiz.pdfas.web.store.db;
import java.util.Date;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.Id;
-import javax.persistence.Table;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.Id;
+import jakarta.persistence.Table;
import org.hibernate.annotations.GenericGenerator;
diff --git a/pdf-as-web-db/src/main/java/at/gv/egiz/pdfas/web/store/db/Response.java b/pdf-as-web-db/src/main/java/at/gv/egiz/pdfas/web/store/db/Response.java
index a47f532c..2367dcf0 100644
--- a/pdf-as-web-db/src/main/java/at/gv/egiz/pdfas/web/store/db/Response.java
+++ b/pdf-as-web-db/src/main/java/at/gv/egiz/pdfas/web/store/db/Response.java
@@ -2,11 +2,11 @@ package at.gv.egiz.pdfas.web.store.db;
import java.util.Date;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.Id;
-import javax.persistence.Table;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.Id;
+import jakarta.persistence.Table;
import org.hibernate.annotations.GenericGenerator;
diff --git a/pdf-as-web-db/src/main/java/at/gv/egiz/pdfas/web/store/db/StatisticRequest.java b/pdf-as-web-db/src/main/java/at/gv/egiz/pdfas/web/store/db/StatisticRequest.java
index 23b2425b..276db6b0 100644
--- a/pdf-as-web-db/src/main/java/at/gv/egiz/pdfas/web/store/db/StatisticRequest.java
+++ b/pdf-as-web-db/src/main/java/at/gv/egiz/pdfas/web/store/db/StatisticRequest.java
@@ -2,11 +2,11 @@ package at.gv.egiz.pdfas.web.store.db;
import java.util.Date;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.Id;
-import javax.persistence.Table;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.Id;
+import jakarta.persistence.Table;
import org.hibernate.annotations.GenericGenerator;
diff --git a/pdf-as-web-statistic-api/build.gradle b/pdf-as-web-statistic-api/build.gradle
index 4b6b8c0a..82216460 100644
--- a/pdf-as-web-statistic-api/build.gradle
+++ b/pdf-as-web-statistic-api/build.gradle
@@ -1,7 +1,9 @@
-apply plugin: 'java-library'
-apply plugin: 'war'
-apply plugin: 'eclipse'
-apply plugin: 'java-library-distribution'
+plugins {
+ id 'java-library'
+ id 'war'
+ id 'eclipse'
+ id 'distribution'
+}
jar {
manifest {
@@ -22,8 +24,8 @@ sourceSets.test.runtimeClasspath += configurations.providedCompile
dependencies {
implementation group: 'org.slf4j', name: 'slf4j-api', version: slf4jVersion
- implementation 'org.apache.commons:commons-lang3:3.20.0'
- testImplementation group: 'junit', name: 'junit', version: '4.+'
+ implementation group: 'org.apache.commons', name: 'commons-lang3', version: commonsLang3Version
+ testImplementation group: 'junit', name: 'junit', version: junitVersion
}
task releases(type: Copy) {
diff --git a/pdf-as-web-status/build.gradle b/pdf-as-web-status/build.gradle
index 4f6c222c..ca227397 100644
--- a/pdf-as-web-status/build.gradle
+++ b/pdf-as-web-status/build.gradle
@@ -1,7 +1,9 @@
-apply plugin: 'java'
-apply plugin: 'war'
-apply plugin: 'eclipse'
-apply plugin: 'java-library-distribution'
+plugins {
+ id 'java-library'
+ id 'war'
+ id 'eclipse'
+ id 'distribution'
+}
jar {
manifest {
@@ -22,8 +24,8 @@ sourceSets.test.runtimeClasspath += configurations.providedCompile
dependencies {
implementation group: 'org.slf4j', name: 'slf4j-api', version: slf4jVersion
- implementation 'org.apache.commons:commons-lang3:3.20.0'
- compileOnly 'javax.servlet:javax.servlet-api:3.0.1'
+ implementation group: 'org.apache.commons', name: 'commons-text', version: commonsTextVersion
+ compileOnly group: 'jakarta.servlet', name: 'jakarta.servlet-api', version: jakartaServletVersion
}
task releases(type: Copy) {
diff --git a/pdf-as-web-status/src/main/java/at/gv/egiz/status/content/ContentGenerator.java b/pdf-as-web-status/src/main/java/at/gv/egiz/status/content/ContentGenerator.java
index 6ba85284..c15d58a6 100644
--- a/pdf-as-web-status/src/main/java/at/gv/egiz/status/content/ContentGenerator.java
+++ b/pdf-as-web-status/src/main/java/at/gv/egiz/status/content/ContentGenerator.java
@@ -3,8 +3,8 @@ package at.gv.egiz.status.content;
import java.io.IOException;
import java.util.Map;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import at.gv.egiz.status.TestResult;
diff --git a/pdf-as-web-status/src/main/java/at/gv/egiz/status/content/HtmlGenerator.java b/pdf-as-web-status/src/main/java/at/gv/egiz/status/content/HtmlGenerator.java
index c94cde22..8f80a91e 100644
--- a/pdf-as-web-status/src/main/java/at/gv/egiz/status/content/HtmlGenerator.java
+++ b/pdf-as-web-status/src/main/java/at/gv/egiz/status/content/HtmlGenerator.java
@@ -5,14 +5,13 @@ import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.apache.commons.lang3.StringEscapeUtils;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import at.gv.egiz.status.TestResult;
import at.gv.egiz.status.TestStatus;
import at.gv.egiz.status.impl.TestStatusString;
+import org.apache.commons.text.StringEscapeUtils;
public class HtmlGenerator implements ContentGenerator {
@@ -21,15 +20,13 @@ public class HtmlGenerator implements ContentGenerator {
HttpServletResponse response, Map<String, TestResult> results, boolean details) throws IOException {
boolean allOk = true;
-
- Iterator<TestResult> testIterator = results.values().iterator();
- while(testIterator.hasNext()) {
- TestResult result = testIterator.next();
- if(!result.getStatus().equals(TestStatus.OK)){
- allOk = false;
- break;
- }
- }
+
+ for (TestResult result : results.values()) {
+ if (!result.getStatus().equals(TestStatus.OK)) {
+ allOk = false;
+ break;
+ }
+ }
if(!allOk) {
response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
@@ -49,37 +46,32 @@ public class HtmlGenerator implements ContentGenerator {
}
sb.append("</tr></thead><tbody>");
-
- Iterator<Entry<String,TestResult>> testResultIterator = results.entrySet().iterator();
- while(testResultIterator.hasNext()) {
- Entry<String,TestResult> entry = testResultIterator.next();
- TestResult result = entry.getValue();
- String testName = entry.getKey();
-
- sb.append("<tr><td>");
- sb.append(StringEscapeUtils.escapeHtml4(testName));
- sb.append("</td><td>");
- sb.append(StringEscapeUtils.escapeHtml4(TestStatusString.getString(result.getStatus())));
-
-
- if(details) {
- sb.append("</td><td>");
-
- StringBuilder detail = new StringBuilder();
-
- Iterator<String> detailStringIt = result.getDetails().iterator();
-
- while(detailStringIt.hasNext()) {
- String detailString = detailStringIt.next();
- detail.append(StringEscapeUtils.escapeHtml4(detailString));
- detail.append("</br>");
- }
-
- sb.append(detail.toString());
- }
-
- sb.append("</td></tr>");
- }
+
+ for (Entry<String, TestResult> entry : results.entrySet()) {
+ TestResult result = entry.getValue();
+ String testName = entry.getKey();
+
+ sb.append("<tr><td>");
+ sb.append(StringEscapeUtils.escapeHtml4(testName));
+ sb.append("</td><td>");
+ sb.append(StringEscapeUtils.escapeHtml4(TestStatusString.getString(result.getStatus())));
+
+
+ if (details) {
+ sb.append("</td><td>");
+
+ StringBuilder detail = new StringBuilder();
+
+ for (String detailString : result.getDetails()) {
+ detail.append(StringEscapeUtils.escapeHtml4(detailString));
+ detail.append("</br>");
+ }
+
+ sb.append(detail);
+ }
+
+ sb.append("</td></tr>");
+ }
sb.append("</tbody></table>");
diff --git a/pdf-as-web-status/src/main/java/at/gv/egiz/status/content/JsonGenerator.java b/pdf-as-web-status/src/main/java/at/gv/egiz/status/content/JsonGenerator.java
index f26c0885..b3969131 100644
--- a/pdf-as-web-status/src/main/java/at/gv/egiz/status/content/JsonGenerator.java
+++ b/pdf-as-web-status/src/main/java/at/gv/egiz/status/content/JsonGenerator.java
@@ -1,14 +1,15 @@
package at.gv.egiz.status.content;
import java.io.IOException;
+import java.nio.charset.StandardCharsets;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
-import org.apache.commons.lang3.StringEscapeUtils;
+import org.apache.commons.text.StringEscapeUtils;
import at.gv.egiz.status.TestResult;
import at.gv.egiz.status.TestStatus;
@@ -21,15 +22,13 @@ public class JsonGenerator implements ContentGenerator {
HttpServletResponse response, Map<String, TestResult> results,
boolean details) throws IOException {
boolean allOk = true;
-
- Iterator<TestResult> testIterator = results.values().iterator();
- while(testIterator.hasNext()) {
- TestResult result = testIterator.next();
- if(!result.getStatus().equals(TestStatus.OK)){
- allOk = false;
- break;
- }
- }
+
+ for (TestResult result : results.values()) {
+ if (!result.getStatus().equals(TestStatus.OK)) {
+ allOk = false;
+ break;
+ }
+ }
if(!allOk) {
response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
@@ -59,16 +58,13 @@ public class JsonGenerator implements ContentGenerator {
sb.append(", \"Detail\": \"");
StringBuilder detail = new StringBuilder();
+
+ for (String detailString : result.getDetails()) {
+ detail.append(StringEscapeUtils.escapeJson(detailString));
+ detail.append(" ");
+ }
- Iterator<String> detailStringIt = result.getDetails().iterator();
-
- while(detailStringIt.hasNext()) {
- String detailString = detailStringIt.next();
- detail.append(StringEscapeUtils.escapeJson(detailString));
- detail.append(" ");
- }
-
- sb.append(detail.toString());
+ sb.append(detail);
sb.append("\"");
}
@@ -80,7 +76,7 @@ public class JsonGenerator implements ContentGenerator {
sb.append("}");
- response.getOutputStream().write(sb.toString().getBytes("UTF-8"));
+ response.getOutputStream().write(sb.toString().getBytes(StandardCharsets.UTF_8));
response.getOutputStream().close();
}
diff --git a/pdf-as-web-status/src/main/java/at/gv/egiz/status/content/ResponseBuilder.java b/pdf-as-web-status/src/main/java/at/gv/egiz/status/content/ResponseBuilder.java
index 1e248808..c71b8fef 100644
--- a/pdf-as-web-status/src/main/java/at/gv/egiz/status/content/ResponseBuilder.java
+++ b/pdf-as-web-status/src/main/java/at/gv/egiz/status/content/ResponseBuilder.java
@@ -4,8 +4,8 @@ import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import at.gv.egiz.status.TestResult;
diff --git a/pdf-as-web-status/src/main/java/at/gv/egiz/status/content/XMLGenerator.java b/pdf-as-web-status/src/main/java/at/gv/egiz/status/content/XMLGenerator.java
index 00b116bb..0cc4f6b9 100644
--- a/pdf-as-web-status/src/main/java/at/gv/egiz/status/content/XMLGenerator.java
+++ b/pdf-as-web-status/src/main/java/at/gv/egiz/status/content/XMLGenerator.java
@@ -1,14 +1,15 @@
package at.gv.egiz.status.content;
import java.io.IOException;
+import java.nio.charset.StandardCharsets;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
-import org.apache.commons.lang3.StringEscapeUtils;
+import org.apache.commons.text.StringEscapeUtils;
import at.gv.egiz.status.TestResult;
import at.gv.egiz.status.TestStatus;
@@ -21,15 +22,13 @@ public class XMLGenerator implements ContentGenerator {
HttpServletResponse response, Map<String, TestResult> results,
boolean details) throws IOException {
boolean allOk = true;
-
- Iterator<TestResult> testIterator = results.values().iterator();
- while(testIterator.hasNext()) {
- TestResult result = testIterator.next();
- if(!result.getStatus().equals(TestStatus.OK)){
- allOk = false;
- break;
- }
- }
+
+ for (TestResult result : results.values()) {
+ if (!result.getStatus().equals(TestStatus.OK)) {
+ allOk = false;
+ break;
+ }
+ }
if(!allOk) {
response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
@@ -44,42 +43,37 @@ public class XMLGenerator implements ContentGenerator {
sb.append("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>");
sb.append("<tests>");
-
- Iterator<Entry<String,TestResult>> testResultIterator = results.entrySet().iterator();
- while(testResultIterator.hasNext()) {
- Entry<String,TestResult> entry = testResultIterator.next();
- TestResult result = entry.getValue();
- String testName = entry.getKey();
-
- sb.append("<test><name>");
- sb.append(StringEscapeUtils.escapeXml10(testName));
- sb.append("</name><status>");
- sb.append(StringEscapeUtils.escapeXml10(TestStatusString.getString(result.getStatus())));
- sb.append("</status>");
-
- if(details) {
- sb.append("<detail>");
-
- StringBuilder detail = new StringBuilder();
-
- Iterator<String> detailStringIt = result.getDetails().iterator();
-
- while(detailStringIt.hasNext()) {
- String detailString = detailStringIt.next();
- detail.append(StringEscapeUtils.escapeXml10(detailString));
- detail.append(" ");
- }
-
- sb.append(detail.toString());
- sb.append("</detail>");
- }
-
- sb.append("</test>");
- }
+
+ for (Entry<String, TestResult> entry : results.entrySet()) {
+ TestResult result = entry.getValue();
+ String testName = entry.getKey();
+
+ sb.append("<test><name>");
+ sb.append(StringEscapeUtils.escapeXml10(testName));
+ sb.append("</name><status>");
+ sb.append(StringEscapeUtils.escapeXml10(TestStatusString.getString(result.getStatus())));
+ sb.append("</status>");
+
+ if (details) {
+ sb.append("<detail>");
+
+ StringBuilder detail = new StringBuilder();
+
+ for (String detailString : result.getDetails()) {
+ detail.append(StringEscapeUtils.escapeXml10(detailString));
+ detail.append(" ");
+ }
+
+ sb.append(detail.toString());
+ sb.append("</detail>");
+ }
+
+ sb.append("</test>");
+ }
sb.append("</tests>");
- response.getOutputStream().write(sb.toString().getBytes("UTF-8"));
+ response.getOutputStream().write(sb.toString().getBytes(StandardCharsets.UTF_8));
response.getOutputStream().close();
}
diff --git a/pdf-as-web-status/src/main/java/at/gv/egiz/status/servlet/StatusServlet.java b/pdf-as-web-status/src/main/java/at/gv/egiz/status/servlet/StatusServlet.java
index 6790fccc..07b77c38 100644
--- a/pdf-as-web-status/src/main/java/at/gv/egiz/status/servlet/StatusServlet.java
+++ b/pdf-as-web-status/src/main/java/at/gv/egiz/status/servlet/StatusServlet.java
@@ -4,12 +4,12 @@ import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletException;
-import javax.servlet.annotation.WebServlet;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletConfig;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/pdf-as-web/build.gradle b/pdf-as-web/build.gradle
index 319aa7f8..84b44fe8 100644
--- a/pdf-as-web/build.gradle
+++ b/pdf-as-web/build.gradle
@@ -2,49 +2,51 @@ apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'eclipse-wtp'
apply plugin: 'war'
-
-apply plugin: 'org.gretty'
+apply plugin: 'org.springframework.boot'
buildscript {
repositories {
gradlePluginPortal()
- // enable this to use snapshot versions of Gretty:
- // maven { url 'http://oss.jfrog.org/artifactory/oss-snapshot-local' }
maven {
- url "https://plugins.gradle.org/m2/"
+ url = "https://plugins.gradle.org/m2/"
}
}
dependencies {
- classpath 'org.gretty:gretty:3.0.7'
+ classpath group: 'org.springframework.boot', name: 'spring-boot-gradle-plugin', version: springBootVersion
}
}
-
-
-configurations { providedCompile
- pdfbox2
- }
+configurations {
+ tomcatDist
+ pdfbox2
+ pdfbox3
+}
+dependencies {
+ tomcatDist "org.apache.tomcat:tomcat:${tomcatVersion}@zip"
+}
jar {
+ enabled = true
manifest {
attributes 'Implementation-Title': 'PDF-AS-WEB'
}
-
}
+bootJar { enabled = false }
+war { enabled = false }
+bootWar { enabled = true }
+
repositories {
mavenLocal()
mavenCentral()
maven {
- url "https://repo.spring.io/milestone/"
+ url = "https://repo.spring.io/milestone/"
}
}
-sourceSets.main.compileClasspath += configurations.providedCompile
-sourceSets.test.compileClasspath += configurations.providedCompile
-sourceSets.test.runtimeClasspath += configurations.providedCompile
+// providedCompile configuration removed - using compileOnly instead
dependencies {
@@ -55,35 +57,40 @@ dependencies {
api project (':signature-standards:sigs-pades')
api project (':pdf-as-web-status')
api project (':pdf-as-web-statistic-api')
- api project (':pdf-as-pdfbox-2')
- api group: 'commons-fileupload', name: 'commons-fileupload', version: '1.5'
- api group: 'commons-io', name: 'commons-io', version: '2.21.0'
- api group: 'opensymphony', name: 'sitemesh', version: '2.4.2'
- api group: 'javax.xml.bind', name: 'jaxb-api', version: '2.3.1'
- api group: 'javax.xml.ws', name: 'jaxws-api', version: '2.3.1'
- api group: 'org.glassfish.jaxb', name: 'jaxb-runtime', version: '2.3.3'
- api "commons-codec:commons-codec:1.17.1"
- api 'org.apache.commons:commons-lang3:3.17.0'
- api group: 'org.apache.commons', name: 'commons-collections4', version: '4.4'
- api 'org.apache.cxf:cxf-rt-transports-http:3.5.11'
- api 'org.apache.cxf:cxf-rt-frontend-jaxws:3.5.11'
- api 'com.thetransactioncompany:cors-filter:2.10'
- api 'ch.qos.logback:logback-classic:1.2.13'
- api 'ch.qos.logback:logback-core:1.2.13'
- api 'org.json:json:20251224'
- api group: 'javax.jws', name: 'javax.jws-api', version: '1.1'
- compileOnly 'javax.servlet:javax.servlet-api:3.0.1'
- testImplementation 'org.springframework:spring-test:5.3.39'
- testImplementation 'org.springframework:spring-web:5.3.39'
-
-}
-
-gretty {
- // supported values:
- // 'jetty7', 'jetty8', 'jetty9', 'jetty9.3', 'jetty9.4', 'tomcat85', 'tomcat9'
- servletContainer = 'tomcat85'
-
- jvmArgs = [ '-Dpdf-as-web.conf=' + System.getProperty("user.home") + '/.pdfas/pdf-as-web.properties' ]
+ api project (':pdf-as-pdfbox-3')
+ api group: 'org.apache.commons', name: 'commons-fileupload2-jakarta-servlet6', version: '2.0.0-M5'
+ api group: 'commons-io', name: 'commons-io', version: commonsIoVersion
+ api group: 'org.sitemesh', name: 'sitemesh', version: '3.2.1'
+ api group: 'jakarta.xml.bind', name: 'jakarta.xml.bind-api', version: jaxbApiVersion
+ api group: 'org.glassfish.jaxb', name: 'jaxb-runtime', version: jaxbRuntimeVersion
+ api group: 'jakarta.xml.ws', name: 'jakarta.xml.ws-api', version: jakartaXmlWsVersion
+ api group: 'commons-codec', name: 'commons-codec', version: commonsCodecVersion
+ api group: 'org.apache.commons', name: 'commons-lang3', version: commonsLang3Version
+ api group: 'org.apache.commons', name: 'commons-text', version: commonsTextVersion
+ api group: 'org.apache.commons', name: 'commons-collections4', version: commonsCollectionsVersion
+ api group: 'org.apache.cxf', name: 'cxf-rt-transports-http', version: cxfVersion
+ api group: 'org.apache.cxf', name: 'cxf-rt-frontend-jaxws', version: cxfVersion
+ api 'com.thetransactioncompany:cors-filter:3.1'
+ api group: 'ch.qos.logback', name: 'logback-classic', version: logbackVersion
+ api group: 'ch.qos.logback', name: 'logback-core', version: logbackVersion
+ api group: 'org.json', name: 'json', version: jsonVersion
+ api group: 'jakarta.jws', name: 'jakarta.jws-api', version: jakartaJwsVersion
+ compileOnly group: 'jakarta.servlet', name: 'jakarta.servlet-api', version: jakartaServletVersion
+ implementation group: 'org.springframework.boot', name: 'spring-boot-starter', version: springBootVersion
+ implementation group: 'org.springframework.boot', name: 'spring-boot-starter-web', version: springBootVersion
+ implementation group: 'org.springframework.boot', name: 'spring-boot-starter-actuator', version: springBootVersion
+ implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.8.16'
+ implementation group: 'org.apache.tomcat.embed', name: 'tomcat-embed-jasper', version: tomcatVersion
+ implementation 'jakarta.servlet.jsp.jstl:jakarta.servlet.jsp.jstl-api:3.0.2'
+ implementation 'org.glassfish.web:jakarta.servlet.jsp.jstl:3.0.1'
+ testImplementation group: 'jakarta.servlet', name: 'jakarta.servlet-api', version: jakartaServletVersion
+ testImplementation 'org.springframework:spring-test'
+ testImplementation group: 'org.springframework.boot', name: 'spring-boot-starter-test', version: springBootVersion
+ testImplementation group: 'org.apache.cxf', name: 'cxf-rt-transports-http-jetty', version: cxfVersion
+}
+
+bootRun {
+ jvmArgs = [ '-Dpdf-as-web.conf=' + System.getProperty("user.home") + '/.pdfas/pdf-as-web.properties' ]
}
@@ -91,200 +98,76 @@ test {
systemProperties 'pdf-as-web.conf': System.getProperty("user.home") + '/.pdfas/pdf-as-web.properties'
}
-task downloadTomcat {
- doLast {
- if(!project.buildDir.exists()){
- project.buildDir.mkdirs()
- }
-
- String url = "https://repo1.maven.org/maven2/org/apache/tomcat/tomcat/##VERSION##/tomcat-##VERSION##.zip"
- String filename = project.buildDir.toString() + "/tomcat-##VERSION##.zip";
-
- url = url.replaceAll("##VERSION##", project.tomcatVersion);
- filename = filename.replaceAll("##VERSION##", project.tomcatVersion);
-
- println "Tomcat Version: " + url
-
- println "Tomcat file: " + filename
-
- def f = new File(filename)
- if (!f.exists()) {
- println "Downloading Tomcat ..."
- new URL(url).withInputStream{ i -> f.withOutputStream{ it << i }}
- }
- }
-}
+def tomcatVer = tomcatVersion
+def tomcatDir = layout.buildDirectory.dir("tomcat-bundling")
+def tomcatHome = tomcatDir.map { it.dir("apache-tomcat-${tomcatVer}") }
+def releasesDirectory = layout.projectDirectory.dir("releases/${project.version}")
-task extractTomcat(dependsOn: downloadTomcat, type: Copy) {
-
- String filename = project.buildDir.toString() + "/tomcat-##VERSION##.zip";
- filename = filename.replaceAll("##VERSION##", project.tomcatVersion);
-
- inputs.file filename
-
- String targetDir = project.buildDir.toString() + "/tomcat-##VERSION##";
- targetDir = targetDir.replaceAll("##VERSION##", project.tomcatVersion);
-
- def zipFile = file(filename)
- def outputDir = file(targetDir)
-
- from zipTree(zipFile)
- into outputDir
+tasks.register('extractTomcat', Sync) {
+ from({
+ zipTree(configurations.tomcatDist.singleFile)
+ })
+ into(tomcatDir)
}
-def deployVersions=['']
-
-task copyTomcat(dependsOn: extractTomcat) {
- doLast {
- deployVersions.each{
- String targetDir = project.buildDir.toString() + "/tomcat-##VERSION##"+it;
- targetDir = targetDir.replaceAll("##VERSION##", project.tomcatVersion);
- println "copiing to "+targetDir
- copy{
- with extractTomcat
- into targetDir
- }
- }
- }
+tasks.register('cleanWebAppsInTomcat', Delete) {
+ dependsOn('extractTomcat')
+ delete(tomcatHome.map { it.dir("webapps") })
}
-task cleanWebAppsInTomcat(dependsOn: copyTomcat) {
- doLast {
- deployVersions.each{
- String targetDir = project.buildDir.toString() + "/tomcat-##VERSION##"+it+"/apache-tomcat-##VERSION##/webapps/";
- targetDir = targetDir.replaceAll("##VERSION##", project.tomcatVersion);
-
- def webappDir = new File(targetDir);
- println "Removing: " + webappDir.toString()
- def result = webappDir.deleteDir() // Returns true if all goes well, false otherwise.
- println result.toString()
-
- assert result
-
- webappDir.mkdirs()
- }
- }
+tasks.register('putTemplateIntoTomcat', Copy) {
+ dependsOn('cleanWebAppsInTomcat')
+ from("src/main/assembly/tomcat")
+ into(tomcatHome)
}
-task putTemplateIntoTomcat(dependsOn: cleanWebAppsInTomcat) {
- doLast {
- deployVersions.each{
- String source = project.projectDir.toString() + "/";
-
- String targetDir = "build/tomcat-##VERSION##"+it+"/apache-tomcat-##VERSION##";
- targetDir = targetDir.replaceAll("##VERSION##", project.tomcatVersion);
- copy{
- from "src/main/assembly/tomcat"
- into targetDir
- }
- }
- }
+tasks.register('putConfigIntoTomcat', Copy) {
+ dependsOn(':pdf-as-lib:processResources', 'putTemplateIntoTomcat')
+ from(zipTree(project(':pdf-as-lib').layout.buildDirectory.file('resources/main/config/config.zip')))
+ into(tomcatHome.map { it.dir("conf/pdf-as") })
}
-task putConfigIntoTomcat(dependsOn: putTemplateIntoTomcat) {
- doLast {
- deployVersions.each{
- String source = "../pdf-as-lib/build/resources/main/config/config.zip";
-
- String targetDir = "build/tomcat-##VERSION##"+it+"/apache-tomcat-##VERSION##/conf/pdf-as";
- targetDir = targetDir.replaceAll("##VERSION##", project.tomcatVersion);
- copy{
- from zipTree(source)
- into targetDir
- }
- }
- }
+tasks.register('putWebConfigIntoTomcat', Copy) {
+ dependsOn('putConfigIntoTomcat')
+ from("src/main/configuration")
+ into(tomcatHome.map { it.dir("conf/pdf-as") })
}
-task putWebConfigIntoTomcat(dependsOn: putConfigIntoTomcat) {
- doLast {
- deployVersions.each{
- String targetDir = "build/tomcat-##VERSION##"+it+"/apache-tomcat-##VERSION##/conf/pdf-as";
- targetDir = targetDir.replaceAll("##VERSION##", project.tomcatVersion);
-
- copy{
- from 'src/main/configuration/'
- into targetDir
- }
- }
- }
+tasks.register('injectPdfAsWebApp', Copy) {
+ dependsOn('bootWar')
+ dependsOn('putWebConfigIntoTomcat')
+ from(tasks.named('bootWar').flatMap { it.archiveFile })
+ into(tomcatHome.map { it.dir("webapps") })
+ rename { "pdf-as-web.war" }
}
-task injectPdfAsWebApp(dependsOn: putWebConfigIntoTomcat, type: Copy) {
- //war.execute();
-
- String targetDir = project.buildDir.toString() + "/tomcat-##VERSION##/apache-tomcat-##VERSION##/webapps/";
- targetDir = targetDir.replaceAll("##VERSION##", project.tomcatVersion);
-
- from war.outputs
- into targetDir
- rename '.*.war', 'pdf-as-web.war'
+tasks.register('buildTomcatZip', Zip) {
+ dependsOn('injectPdfAsWebApp')
+ from(tomcatDir)
+ archiveFileName = "apache-tomcat-${tomcatVer}-pdf-as-web-${project.version}.zip"
+ destinationDirectory = layout.buildDirectory
}
-injectPdfAsWebApp.dependsOn war
-task buildTomcat(dependsOn: injectPdfAsWebApp, type: Zip) {
- String targetDir = project.buildDir.toString() + "/tomcat-##VERSION##/apache-tomcat-##VERSION##";
- targetDir = targetDir.replaceAll("##VERSION##", project.tomcatVersion);
-
- String archive = "apache-tomcat-##VERSION##-pdf-as-web-##PVERSION##.zip";
- archive = archive.replaceAll("##VERSION##", project.tomcatVersion);
- archive = archive.replaceAll("##PVERSION##", project.version);
-
- from targetDir
- archiveName archive
- destinationDir project.buildDir
+tasks.register('buildTomcatTar', Tar) {
+ dependsOn('injectPdfAsWebApp')
+ from(tomcatDir)
+ archiveFileName = "apache-tomcat-${tomcatVer}-pdf-as-web-${project.version}.tar"
+ destinationDirectory = layout.buildDirectory
+ compression = Compression.NONE
}
-task buildTomcatTar(dependsOn: injectPdfAsWebApp, type: Tar) {
-
- String targetDir = project.buildDir.toString() + "/tomcat-##VERSION##/apache-tomcat-##VERSION##";
- targetDir = targetDir.replaceAll("##VERSION##", project.tomcatVersion);
-
- String archive = "apache-tomcat-##VERSION##-pdf-as-web-##PVERSION##.tar";
- archive = archive.replaceAll("##VERSION##", project.tomcatVersion);
- archive = archive.replaceAll("##PVERSION##", project.version);
-
- from targetDir
- archiveName archive
- destinationDir project.buildDir
-}
-
-
-
-task releaseConfig(type: Copy) {
- from 'src/main/configuration/pdf-as-web.properties'
- into rootDir.toString() + "/releases/" + version + "/cfg"
+tasks.register('releaseConfig', Copy) {
+ from('src/main/configuration/pdf-as-web.properties')
+ into(releasesDirectory.dir("cfg"))
}
+tasks.register('releases', Copy) {
+ dependsOn('jar', 'sourcesJar', 'bootWar', 'releaseConfig', 'buildTomcatZip', 'buildTomcatTar')
-
-war{
- doFirst{
- sourceSets.main.compileClasspath += configurations.pdfbox2
- sourceSets.test.compileClasspath += configurations.pdfbox2
- classpath+=sourceSets.main.compileClasspath
- }
+ from(tasks.named('jar').flatMap { it.archiveFile })
+ from(tasks.named('sourcesJar').flatMap { it.archiveFile })
+ from(tasks.named('bootWar').flatMap { it.archiveFile })
+ from(tasks.named('buildTomcatZip').flatMap { it.archiveFile })
+ from(tasks.named('buildTomcatTar').flatMap { it.archiveFile })
+ into(releasesDirectory)
}
-
-task releases(dependsOn: buildTomcat, type: Copy) {
- String archive = project.buildDir.toString() + "/apache-tomcat-##VERSION##-pdf-as-web-##PVERSION##.zip";
- archive = archive.replaceAll("##VERSION##", project.tomcatVersion);
- archive = archive.replaceAll("##PVERSION##", project.version);
-
- String tararchive = project.buildDir.toString() + "/apache-tomcat-##VERSION##-pdf-as-web-##PVERSION##.tar";
- tararchive = tararchive.replaceAll("##VERSION##", project.tomcatVersion);
- tararchive = tararchive.replaceAll("##PVERSION##", project.version);
-
-
- from war
- from archive
- from tararchive
- into rootDir.toString() + "/releases/" + version
-}
-
-releases.dependsOn jar
-releases.dependsOn sourcesJar
-releases.dependsOn war
-releases.dependsOn releaseConfig
-releases.dependsOn buildTomcatTar
-
diff --git a/pdf-as-web/gradle.properties b/pdf-as-web/gradle.properties
index 887ae74e..06d755fd 100644
--- a/pdf-as-web/gradle.properties
+++ b/pdf-as-web/gradle.properties
@@ -1,3 +1,3 @@
jetty94Version = 9.4.44.v20210927
jetty93Version = 9.3.30.v20211001
-jetty9Version = 9.2.30.v20200428 \ No newline at end of file
+jetty9Version = 9.2.30.v20200428
diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/PdfAsWeb.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/PdfAsWeb.java
new file mode 100644
index 00000000..9d1cd7fe
--- /dev/null
+++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/PdfAsWeb.java
@@ -0,0 +1,11 @@
+package at.gv.egiz.pdfas.web;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@SpringBootApplication
+public class PdfAsWeb {
+ public static void main(String[] args) {
+ SpringApplication.run(PdfAsWeb.class, args);
+ }
+}
diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/config/WebConfiguration.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/config/WebConfiguration.java
index 7177541c..c7d36d9a 100644
--- a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/config/WebConfiguration.java
+++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/config/WebConfiguration.java
@@ -25,6 +25,7 @@ package at.gv.egiz.pdfas.web.config;
import java.io.File;
import java.io.FileInputStream;
+import java.io.InputStream;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
@@ -131,15 +132,23 @@ public class WebConfiguration implements IConfigurationConstants {
private static List<String> whiteListregEx = new ArrayList<String>();
private static List<String> overwritewhiteListregEx = new ArrayList<String>();
+
+ public static void configure(String configFile) {
+ try (InputStream is = new FileInputStream(configFile)) {
+ configure(is);
+ } catch (Exception e) {
+ logger.error("Failed to load configuration {}", configFile, e);
+ }
+ }
- public static void configure(String config) {
+ public static void configure(InputStream config) {
properties.clear();
whiteListregEx.clear();
overwritewhiteListregEx.clear();
try {
- properties.load(new FileInputStream(config));
+ properties.load(config);
} catch (Exception e) {
logger.error("Failed to load configuration: " + e.getMessage());
throw new RuntimeException(e);
diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/filter/ExceptionCatchFilter.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/filter/ExceptionCatchFilter.java
index 5d1abc15..15b8f61b 100644
--- a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/filter/ExceptionCatchFilter.java
+++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/filter/ExceptionCatchFilter.java
@@ -28,15 +28,15 @@ import java.util.Collections;
import java.util.Enumeration;
import java.util.List;
-import javax.servlet.Filter;
-import javax.servlet.FilterChain;
-import javax.servlet.FilterConfig;
-import javax.servlet.ServletException;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
+import jakarta.servlet.Filter;
+import jakarta.servlet.FilterChain;
+import jakarta.servlet.FilterConfig;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.ServletRequest;
+import jakarta.servlet.ServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpSession;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.MDC;
diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/filter/UserAgentFilter.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/filter/UserAgentFilter.java
index ef7d391d..15cadb48 100644
--- a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/filter/UserAgentFilter.java
+++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/filter/UserAgentFilter.java
@@ -2,13 +2,13 @@ package at.gv.egiz.pdfas.web.filter;
import java.io.IOException;
-import javax.servlet.Filter;
-import javax.servlet.FilterChain;
-import javax.servlet.FilterConfig;
-import javax.servlet.ServletException;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-import javax.servlet.http.HttpServletRequest;
+import jakarta.servlet.Filter;
+import jakarta.servlet.FilterChain;
+import jakarta.servlet.FilterConfig;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.ServletRequest;
+import jakarta.servlet.ServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
import lombok.extern.slf4j.Slf4j;
diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/PdfAsHelper.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/PdfAsHelper.java
index 9900dda4..841acca9 100644
--- a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/PdfAsHelper.java
+++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/PdfAsHelper.java
@@ -32,6 +32,7 @@ import java.io.StringWriter;
import java.io.UnsupportedEncodingException;
import java.net.URL;
import java.net.URLEncoder;
+import java.nio.charset.StandardCharsets;
import java.security.cert.CertificateException;
import java.util.ArrayList;
import java.util.Iterator;
@@ -40,20 +41,21 @@ import java.util.Map;
import java.util.UUID;
import javax.imageio.ImageIO;
-import javax.servlet.RequestDispatcher;
-import javax.servlet.ServletContext;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
-import javax.xml.bind.JAXBElement;
-import javax.xml.ws.WebServiceException;
-
+import jakarta.servlet.RequestDispatcher;
+import jakarta.servlet.ServletContext;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpSession;
+import jakarta.xml.bind.JAXBElement;
+import jakarta.xml.ws.WebServiceException;
+
+import lombok.val;
import org.apache.commons.codec.binary.Base64;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils;
-import org.apache.commons.lang3.StringEscapeUtils;
import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.text.StringEscapeUtils;
import org.apache.http.entity.ContentType;
import com.google.gson.JsonArray;
@@ -594,7 +596,7 @@ public class PdfAsHelper {
}
- private static StatusRequest initializeSigningContextForNewDocument(HttpServletRequest request, String connector, PdfasSignRequest pdfAsRequest)
+ private static StatusRequest.Stage1 initializeSigningContextForNewDocument(HttpServletRequest request, String connector, PdfasSignRequest pdfAsRequest)
throws PdfAsWebException, WriterException, IOException, PdfAsException, PDFASError {
HttpSession session = request.getSession();
@@ -619,7 +621,7 @@ public class PdfAsHelper {
}
- private static StatusRequest buildPdfasStatusRequestToSignSingleDocument(DocumentToSign pdfToSign, HttpSession session, IPlainSigner signer,
+ private static StatusRequest.Stage1 buildPdfasStatusRequestToSignSingleDocument(DocumentToSign pdfToSign, HttpSession session, IPlainSigner signer,
CoreSignParams coreSignParams, String qrCodeContent, Configuration config) throws WriterException, IOException, PdfAsException, PDFASError {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
session.setAttribute(PDF_OUTPUT, baos);
@@ -738,7 +740,7 @@ public class PdfAsHelper {
.getAttribute(PDF_STATUS);
if(statusObject != null && statusObject instanceof StatusRequest) {
StatusRequest statusRequest = (StatusRequest)statusObject;
- if(statusRequest.needCertificate() || statusRequest.needSignature()) {
+ if (statusRequest instanceof StatusRequest.Stage1 || statusRequest instanceof StatusRequest.Stage2) {
return true;
}
}
@@ -756,21 +758,19 @@ public class PdfAsHelper {
StatusRequest statusRequest = (StatusRequest) session
.getAttribute(PDF_STATUS);
- if (statusRequest == null) {
+ if (!(statusRequest instanceof StatusRequest.Stage1 statusRequest1)) {
throw new PdfAsWebException("No Signature running in session:"
+ session.getId());
}
-
- statusRequest.setCertificate(certificate);
- statusRequest = pdfAs.process(statusRequest);
- session.setAttribute(PDF_STATUS, statusRequest);
+ val statusRequest2 = statusRequest1.setCertificate(certificate);
+ session.setAttribute(PDF_STATUS, statusRequest2);
PdfAsHelper.process(request, response, context);
}
public static void injectSignature(HttpServletRequest request,
HttpServletResponse response,
- byte[] cmsSginature,
+ byte[] cmsSignature,
ServletContext context) throws Exception {
log.debug("Got CMS Signature Response");
@@ -779,14 +779,13 @@ public class PdfAsHelper {
StatusRequest statusRequest = (StatusRequest) session
.getAttribute(PDF_STATUS);
- if (statusRequest == null) {
+ if (!(statusRequest instanceof StatusRequest.Stage2 statusRequest2)) {
throw new PdfAsWebException("No Signature running in session:"
+ session.getId());
}
- statusRequest.setSigature(cmsSginature);
- statusRequest = pdfAs.process(statusRequest);
- session.setAttribute(PDF_STATUS, statusRequest);
+ val statusRequest3 = statusRequest2.setSignature(cmsSignature);
+ session.setAttribute(PDF_STATUS, statusRequest3);
PdfAsHelper.process(request, response, context);
}
@@ -807,7 +806,7 @@ public class PdfAsHelper {
BKUSLConnector bkuSLConnector = (BKUSLConnector) session
.getAttribute(PDF_SL_CONNECTOR);
- if (statusRequest.needCertificate()) {
+ if (statusRequest instanceof StatusRequest.Stage1) {
log.debug("Needing Certificate from BKU");
// build SL Request to read certificate
InfoboxReadRequestType readCertificateRequest = bkuSLConnector
@@ -833,7 +832,7 @@ public class PdfAsHelper {
throws Exception {
HttpSession session = request.getSession();
- StatusRequest statusRequest = (StatusRequest) session.getAttribute(PDF_STATUS);
+ StatusRequest statusRequestGeneric = (StatusRequest) session.getAttribute(PDF_STATUS);
PdfasSignRequest pdfAsRequest = (PdfasSignRequest) session.getAttribute(PDF_PROCESSING_REQUEST);
@@ -849,7 +848,7 @@ public class PdfAsHelper {
if (!joseTools.isInitialized())
joseTools = null;
- if (statusRequest.needCertificate()) {
+ if (statusRequestGeneric instanceof StatusRequest.Stage1 statusRequest) {
log.debug("Needing Certificate from BKU");
// build SL Request to read certificate
InfoboxReadRequestType readCertificateRequest = slConnector
@@ -888,11 +887,10 @@ public class PdfAsHelper {
response.setContentType("text/html");
response.getWriter().close();
- } else if (slConnector instanceof SL20Connector) {
- //generate request for getCertificate command
- SL20Connector sl20Connector = (SL20Connector)slConnector;
-
- //use 'SecureSigningKeypair' per default
+ } else if (slConnector instanceof SL20Connector sl20Connector) {
+ //generate request for getCertificate command
+
+ //use 'SecureSigningKeypair' per default
String keyId = SL20Connector.SecureSignatureKeypair;
java.security.cert.X509Certificate x5cEnc = null;
@@ -976,7 +974,7 @@ public class PdfAsHelper {
} else
throw new PdfAsWebException("Invalid connector: " + slConnector.getClass().getName());
- } else if (statusRequest.needSignature()) {
+ } else if (statusRequestGeneric instanceof StatusRequest.Stage2 statusRequest) {
log.debug("Needing Signature from BKU");
// build SL Request for cms signature
RequestPackage pack = slConnector.createCMSRequest(
@@ -1077,7 +1075,7 @@ public class PdfAsHelper {
log.trace("Write 'createCAdES' command to VDA: " + sl20CreateCAdES.toString());
StringWriter writer = new StringWriter();
writer.write(sl20CreateCAdES.toString());
- final byte[] content = writer.toString().getBytes("UTF-8");
+ final byte[] content = writer.toString().getBytes(StandardCharsets.UTF_8);
response.setStatus(HttpServletResponse.SC_OK);
response.setContentLength(content.length);
response.setContentType(ContentType.APPLICATION_JSON.toString());
@@ -1088,9 +1086,9 @@ public class PdfAsHelper {
}
- } else if (statusRequest.isReady()) {
+ } else if (statusRequestGeneric instanceof StatusRequest.Stage3 statusRequest) {
log.debug("Single document is ready. Perform post-processing ... ");
- SignResult result = pdfAs.finishSign(statusRequest);
+ SignResult result = statusRequest.finishSign();
ByteArrayOutputStream baos = (ByteArrayOutputStream) session.getAttribute(PDF_OUTPUT);
baos.close();
@@ -1112,7 +1110,7 @@ public class PdfAsHelper {
.getCode());
SignedDocument signPdfDoc = SignedDocument.builder()
- .signingTimestamp(Long.valueOf(System.currentTimeMillis()))
+ .signingTimestamp(System.currentTimeMillis())
.outputData(baos.toByteArray())
.fileName(PdfAsHelper.getPDFFileName(request))
.verificationResponse(verResponse)
@@ -1125,28 +1123,28 @@ public class PdfAsHelper {
// check if more files are available
if (pdfAsRequest.hasNext()) {
log.debug("Find additional file, restarting signing process again ... ");
- StatusRequestImpl nextStatusRequest = (StatusRequestImpl)initializeSigningContextForNewDocument(request, connector, pdfAsRequest);
- nextStatusRequest.setCertificate(((StatusRequestImpl)statusRequest).getCertificate().getEncoded());
- nextStatusRequest.setNeedCertificate(true);
-
- statusRequest = pdfAs.process(nextStatusRequest);
- session.setAttribute(PDF_STATUS, nextStatusRequest);
-
- PdfAsHelper.process(request, response, context);
- session.setAttribute(PDF_STATUS, nextStatusRequest);
+ StatusRequest.Stage1 nextStatusRequest1 = initializeSigningContextForNewDocument(request, connector, pdfAsRequest);
+ StatusRequest.Stage2 nextStatusRequest2 = nextStatusRequest1.setCertificate(
+ statusRequest.getRequestedSignature().getCertificate().getEncoded());
+
+ session.setAttribute(PDF_STATUS, nextStatusRequest2);
+
+ // recurse
+ PdfAsHelper.process(request, response, context);
} else {
- if (slConnector instanceof BKUSLConnector) {
- PdfAsHelper.gotoProvidePdf(context, request, response);
-
- } else if (slConnector instanceof SL20Connector) {
- //TODO: add code to send SL20 redirect command to redirect the user from DataURL connection to App Front-End connection
- String callUrl = generateProvideURL(request, response);
- String transactionId = (String) request.getAttribute(PdfAsHelper.PDF_SESSION_PREFIX + SL20Constants.SL20_TRANSACTIONID);
- buildSL20RedirectResponse(request, response, transactionId, callUrl);
-
- } else
- throw new PdfAsWebException("Invalid connector: " + slConnector.getClass().getName());
+ if (slConnector instanceof BKUSLConnector) {
+ PdfAsHelper.gotoProvidePdf(context, request, response);
+
+ } else if (slConnector instanceof SL20Connector) {
+ //TODO: add code to send SL20 redirect command to redirect the user from DataURL connection to App Front-End connection
+ String callUrl = generateProvideURL(request, response);
+ String transactionId = (String) request.getAttribute(PdfAsHelper.PDF_SESSION_PREFIX + SL20Constants.SL20_TRANSACTIONID);
+ buildSL20RedirectResponse(request, response, transactionId, callUrl);
+
+ } else {
+ throw new PdfAsWebException("Invalid connector: " + slConnector.getClass().getName());
+ }
}
@@ -1154,52 +1152,54 @@ public class PdfAsHelper {
throw new PdfAsWebException("Invalid state!");
}
- }
+ }
private static String getTemplateSL() throws IOException {
String xml = FileUtils.readFileToString(
- FileUtils.toFile(PdfAsHelper.class.getResource("/template_sl.html")));
+ FileUtils.toFile(PdfAsHelper.class.getResource("/template_sl.html")),
+ StandardCharsets.UTF_8);
return xml;
}
public static String getErrorRedirectTemplateSL() throws IOException {
- String xml = FileUtils.readFileToString(FileUtils
- .toFile(PdfAsHelper.class
- .getResource("/template_error_redirect.html")));
+ String xml = FileUtils.readFileToString(
+ FileUtils.toFile(PdfAsHelper.class.getResource("/template_error_redirect.html")),
+ StandardCharsets.UTF_8);
return xml;
}
public static String getProvideTemplate() throws IOException {
- String xml = FileUtils
- .readFileToString(FileUtils.toFile(PdfAsHelper.class
- .getResource("/template_provide.html")));
+ String xml = FileUtils.readFileToString(
+ FileUtils.toFile(PdfAsHelper.class.getResource("/template_provide.html")),
+ StandardCharsets.UTF_8);
return xml;
}
public static String getErrorTemplate() throws IOException {
- String xml = FileUtils.readFileToString(FileUtils
- .toFile(PdfAsHelper.class.getResource("/template_error.html")));
+ String xml = FileUtils.readFileToString(
+ FileUtils.toFile(PdfAsHelper.class.getResource("/template_error.html")),
+ StandardCharsets.UTF_8);
return xml;
}
public static String getGenericTemplate() throws IOException {
- String xml = FileUtils.readFileToString(FileUtils
- .toFile(PdfAsHelper.class
- .getResource("/template_generic_param.html")));
+ String xml = FileUtils.readFileToString(
+ FileUtils.toFile(PdfAsHelper.class.getResource("/template_generic_param.html")),
+ StandardCharsets.UTF_8);
return xml;
}
public static String getInvokeRedirectTemplateSL() throws IOException {
- String xml = FileUtils.readFileToString(FileUtils
- .toFile(PdfAsHelper.class
- .getResource("/template_invoke_redirect.html")));
+ String xml = FileUtils.readFileToString(
+ FileUtils.toFile(PdfAsHelper.class.getResource("/template_invoke_redirect.html")),
+ StandardCharsets.UTF_8);
return xml;
}
public static String getInvokeRedirectTemplateMoreFiles() throws IOException {
- String xml = FileUtils.readFileToString(FileUtils
- .toFile(PdfAsHelper.class
- .getResource("/template_invoke_redirect_more_files.html")));
+ String xml = FileUtils.readFileToString(
+ FileUtils.toFile(PdfAsHelper.class.getResource("/template_invoke_redirect_more_files.html")),
+ StandardCharsets.UTF_8);
return xml;
}
@@ -1602,7 +1602,7 @@ public class PdfAsHelper {
public static void setSignatureActive(HttpServletRequest request,
boolean value) {
HttpSession session = request.getSession();
- session.setAttribute(SIGNATURE_ACTIVE, new Boolean(value));
+ session.setAttribute(SIGNATURE_ACTIVE, Boolean.valueOf(value));
}
public static boolean isSignatureActive(HttpServletRequest request) {
diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/PdfAsParameterExtractor.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/PdfAsParameterExtractor.java
index 1ed85e98..0791e37e 100644
--- a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/PdfAsParameterExtractor.java
+++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/PdfAsParameterExtractor.java
@@ -28,7 +28,7 @@ import java.util.Enumeration;
import java.util.HashMap;
import java.util.Map;
-import javax.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletRequest;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/RemotePDFFetcher.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/RemotePDFFetcher.java
index 696a3dc1..d904030f 100644
--- a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/RemotePDFFetcher.java
+++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/RemotePDFFetcher.java
@@ -108,7 +108,7 @@ public class RemotePDFFetcher {
if(fetchInfos.length == 3) {
String userpass = fetchInfos[1] + ":" + fetchInfos[2];
- String basicAuth = "Basic " + javax.xml.bind.DatatypeConverter.printBase64Binary(userpass.getBytes("UTF-8"));
+ String basicAuth = "Basic " + jakarta.xml.bind.DatatypeConverter.printBase64Binary(userpass.getBytes("UTF-8"));
uc.setRequestProperty("Authorization", basicAuth);
}
diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/VerifyResultEncoder.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/VerifyResultEncoder.java
index 42a4068a..8b477c2e 100644
--- a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/VerifyResultEncoder.java
+++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/VerifyResultEncoder.java
@@ -3,8 +3,8 @@ package at.gv.egiz.pdfas.web.helper;
import java.io.IOException;
import java.util.List;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import at.gv.egiz.pdfas.lib.api.verify.VerifyResult;
diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/VerifyResultHTMLEncoder.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/VerifyResultHTMLEncoder.java
index 590e93a1..3db45370 100644
--- a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/VerifyResultHTMLEncoder.java
+++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/VerifyResultHTMLEncoder.java
@@ -6,8 +6,8 @@ import java.io.IOException;
import java.io.OutputStream;
import java.util.List;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import at.gv.egiz.pdfas.lib.api.verify.VerifyResult;
diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/VerifyResultJSONEncoder.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/VerifyResultJSONEncoder.java
index 43ad3581..b6eac5bc 100644
--- a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/VerifyResultJSONEncoder.java
+++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/VerifyResultJSONEncoder.java
@@ -7,8 +7,8 @@ import java.io.OutputStream;
import java.security.cert.CertificateEncodingException;
import java.util.List;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/json_api/ExceptionFormatter.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/json_api/ExceptionFormatter.java
new file mode 100644
index 00000000..8d5f1cea
--- /dev/null
+++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/json_api/ExceptionFormatter.java
@@ -0,0 +1,17 @@
+package at.gv.egiz.pdfas.web.json_api;
+
+import org.springframework.http.HttpStatus;
+import org.springframework.web.bind.annotation.ExceptionHandler;
+import org.springframework.web.bind.annotation.ResponseStatus;
+import org.springframework.web.bind.annotation.RestControllerAdvice;
+
+import java.util.Map;
+
+@RestControllerAdvice(basePackages = "at.gv.egiz.pdfas.web.json_api")
+public class ExceptionFormatter {
+ @ExceptionHandler(jakarta.xml.ws.WebServiceException.class)
+ @ResponseStatus(HttpStatus.BAD_REQUEST)
+ public Map<String, Object> mapError(jakarta.xml.ws.WebServiceException e) {
+ return Map.of("error", e.getMessage());
+ }
+}
diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/json_api/JacksonConfig.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/json_api/JacksonConfig.java
new file mode 100644
index 00000000..bd82f8ed
--- /dev/null
+++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/json_api/JacksonConfig.java
@@ -0,0 +1,19 @@
+package at.gv.egiz.pdfas.web.json_api;
+
+import com.fasterxml.jackson.databind.DeserializationFeature;
+import com.fasterxml.jackson.databind.SerializationFeature;
+import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+/** To match how SOAP serializes enum values */
+@Configuration
+public class JacksonConfig {
+ @Bean
+ public Jackson2ObjectMapperBuilderCustomizer enumsShouldUseToStringToMatchXML() {
+ return b -> b.featuresToEnable(
+ SerializationFeature.WRITE_ENUMS_USING_TO_STRING,
+ DeserializationFeature.READ_ENUMS_USING_TO_STRING
+ );
+ }
+}
diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/json_api/SignController.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/json_api/SignController.java
new file mode 100644
index 00000000..e20e7ad0
--- /dev/null
+++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/json_api/SignController.java
@@ -0,0 +1,37 @@
+package at.gv.egiz.pdfas.web.json_api;
+
+import at.gv.egiz.pdfas.api.ws.*;
+import at.gv.egiz.pdfas.web.ws.PDFASSigningImpl;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.AllArgsConstructor;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequestMapping("/api/v2/sign")
+@AllArgsConstructor
+public class SignController {
+ private final PDFASSigningImpl signingImpl;
+
+ @PostMapping(value = "/single", consumes = "application/json", produces = "application/json")
+ public PDFASSignResponse signSingle(@RequestBody PDFASSignRequest request) {
+ return signingImpl.signPDFDokument(request);
+ }
+
+ @PostMapping(value = "/bulk", consumes = "application/json", produces = "application/json")
+ public PDFASBulkSignResponse signBulk(@RequestBody PDFASBulkSignRequest request) {
+ return signingImpl.signPDFDokument(request);
+ }
+
+ @PostMapping(value = "/multiple", consumes = "application/json", produces = "application/json")
+ public PdfasSignMultipleResponse signMultiple(@RequestBody PdfasSignMultipleRequest request) {
+ return signingImpl.signPDFDokument(request);
+ }
+
+ @PostMapping(value = "/multiple/get-result", consumes = "application/json", produces = "application/json")
+ public PdfasSignMultipleResponse getMultiple(@RequestBody PdfasGetMultipleRequest request) {
+ return signingImpl.getSignedDokument(request);
+ }
+}
diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/json_api/SoapLogicBridgeBean.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/json_api/SoapLogicBridgeBean.java
new file mode 100644
index 00000000..b35abfd1
--- /dev/null
+++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/json_api/SoapLogicBridgeBean.java
@@ -0,0 +1,15 @@
+package at.gv.egiz.pdfas.web.json_api;
+
+import at.gv.egiz.pdfas.web.ws.PDFASSigningImpl;
+import at.gv.egiz.pdfas.web.ws.PDFASVerificationImpl;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+/** Exposes the SOAP service implementations as Spring beans to new code */
+@Configuration
+public class SoapLogicBridgeBean {
+ @Bean
+ public PDFASSigningImpl signingImplBridge() { return new PDFASSigningImpl(); }
+ @Bean
+ public PDFASVerificationImpl verificationImplBridge() { return new PDFASVerificationImpl(); }
+}
diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/json_api/VerifyController.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/json_api/VerifyController.java
new file mode 100644
index 00000000..83e287a9
--- /dev/null
+++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/json_api/VerifyController.java
@@ -0,0 +1,22 @@
+package at.gv.egiz.pdfas.web.json_api;
+
+import at.gv.egiz.pdfas.api.ws.PDFASVerifyRequest;
+import at.gv.egiz.pdfas.api.ws.PDFASVerifyResponse;
+import at.gv.egiz.pdfas.web.ws.PDFASVerificationImpl;
+import lombok.AllArgsConstructor;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequestMapping("/api/v2/verify")
+@AllArgsConstructor
+public class VerifyController {
+ private final PDFASVerificationImpl verifyImpl;
+
+ @PostMapping(consumes = "application/json", produces = "application/json")
+ public PDFASVerifyResponse verify(@RequestBody PDFASVerifyRequest request) {
+ return verifyImpl.verifyPDFDokument(request);
+ }
+}
diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/DataURLServlet.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/DataURLServlet.java
index 18e14c97..f98e5a7b 100644
--- a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/DataURLServlet.java
+++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/DataURLServlet.java
@@ -25,12 +25,12 @@ package at.gv.egiz.pdfas.web.servlets;
import java.io.IOException;
-import javax.servlet.ServletException;
-import javax.servlet.annotation.MultipartConfig;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.xml.bind.JAXBElement;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.annotation.MultipartConfig;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.xml.bind.JAXBElement;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/ErrorPage.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/ErrorPage.java
index 42236f5e..38d883fa 100644
--- a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/ErrorPage.java
+++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/ErrorPage.java
@@ -26,13 +26,14 @@ package at.gv.egiz.pdfas.web.servlets;
import java.io.IOException;
import java.net.URL;
import java.net.URLEncoder;
+import java.nio.charset.StandardCharsets;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
-import org.apache.commons.lang3.StringEscapeUtils;
+import org.apache.commons.text.StringEscapeUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -141,13 +142,13 @@ public class ErrorPage extends HttpServlet {
if (e != null && WebConfiguration.isShowErrorDetails()) {
template = template.replace("##CAUSE##",
- URLEncoder.encode(e.getMessage(), "UTF-8"));
+ URLEncoder.encode(e.getMessage(), StandardCharsets.UTF_8));
} else {
template = template.replace("##CAUSE##", "");
}
if (message != null) {
template = template.replace("##ERROR##",
- URLEncoder.encode(message, "UTF-8"));
+ URLEncoder.encode(message, StandardCharsets.UTF_8));
} else {
template = template.replace("##ERROR##",
"Unbekannter Fehler");
diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/ExternSignServlet.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/ExternSignServlet.java
index 957614b1..6359eccb 100644
--- a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/ExternSignServlet.java
+++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/ExternSignServlet.java
@@ -28,14 +28,14 @@ import java.io.IOException;
import java.util.List;
import java.util.Map;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
-import org.apache.commons.fileupload.FileItem;
-import org.apache.commons.fileupload.disk.DiskFileItemFactory;
-import org.apache.commons.fileupload.servlet.ServletFileUpload;
+import lombok.val;
+import org.apache.commons.fileupload2.core.DiskFileItem;
+import org.apache.commons.fileupload2.core.DiskFileItemFactory;
import at.gv.egiz.pdfas.api.processing.CoreSignParams;
import at.gv.egiz.pdfas.api.processing.DocumentToSign;
@@ -61,6 +61,8 @@ import at.gv.egiz.pdfas.web.stats.StatisticEvent.Source;
import at.gv.egiz.pdfas.web.stats.StatisticEvent.Status;
import at.gv.egiz.pdfas.web.stats.StatisticFrontend;
import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.fileupload2.jakarta.servlet6.JakartaServletDiskFileUpload;
+import org.apache.commons.fileupload2.jakarta.servlet6.JakartaServletFileUpload;
/**
* Servlet implementation class Sign
@@ -70,6 +72,7 @@ public class ExternSignServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
+ // TODO: get this from spring instead of -D
public static final String PDF_AS_WEB_CONF = "pdf-as-web.conf";
private static final String UPLOAD_PDF_DATA = "pdf-file";
@@ -176,7 +179,7 @@ public class ExternSignServlet extends HttpServlet {
byte[] filecontent = null;
// checks if the request actually contains upload file
- if (!ServletFileUpload.isMultipartContent(request)) {
+ if (!JakartaServletFileUpload.isMultipartContent(request)) {
// No Uploaded data!
if (PdfAsParameterExtractor.getPdfUrl(request) != null) {
doGet(request, response);
@@ -187,14 +190,14 @@ public class ExternSignServlet extends HttpServlet {
} else {
// configures upload settings
- DiskFileItemFactory factory = new DiskFileItemFactory();
- factory.setSizeThreshold(WebConfiguration.getFilesizeThreshold());
- factory.setRepository(new File(System
- .getProperty("java.io.tmpdir")));
+ DiskFileItemFactory factory = DiskFileItemFactory.builder()
+ .setThreshold(WebConfiguration.getFilesizeThreshold())
+ .setPath(new File(System.getProperty("java.io.tmpdir")).toPath())
+ .get();
- ServletFileUpload upload = new ServletFileUpload(factory);
- upload.setFileSizeMax(WebConfiguration.getMaxFilesize());
- upload.setSizeMax(WebConfiguration.getMaxRequestsize());
+ val upload = new JakartaServletDiskFileUpload(factory);
+ upload.setMaxFileSize(WebConfiguration.getMaxFilesize());
+ upload.setMaxSize(WebConfiguration.getMaxRequestsize());
// constructs the directory path to store upload file
String uploadPath = getServletContext().getRealPath("")
@@ -205,9 +208,9 @@ public class ExternSignServlet extends HttpServlet {
uploadDir.mkdir();
}
- List<?> formItems = upload.parseRequest(request);
+ List<DiskFileItem> formItems = upload.parseRequest(request);
log.debug(formItems.size() + " Items in form data");
- if (formItems.size() < 1) {
+ if (formItems.isEmpty()) {
// No Uploaded data!
// Try do get
// No Uploaded data!
@@ -219,41 +222,34 @@ public class ExternSignServlet extends HttpServlet {
"No Signature data defined!");
}
} else {
- for(int i = 0; i < formItems.size(); i++) {
- Object obj = formItems.get(i);
- if(obj instanceof FileItem) {
- FileItem item = (FileItem) obj;
- if(item.getFieldName().equals(UPLOAD_PDF_DATA)) {
- filecontent = item.get();
- try {
- File f = new File(item.getName());
- String name = f.getName();
- log.debug("Got upload: " + item.getName());
- if(name != null) {
- if(!(name.endsWith(".pdf") || name.endsWith(".PDF"))) {
- name += ".pdf";
- }
-
- log.debug("Setting Filename in session: " + name);
- PdfAsHelper.setPDFFileName(request, name);
- }
- }
- catch(Throwable e) {
- log.warn("In resolving filename", e);
- }
- if(filecontent.length < 10) {
- filecontent = null;
- } else {
- log.debug("Found pdf Data! Size: " + filecontent.length);
- }
- } else {
- request.setAttribute(item.getFieldName(), item.getString());
- log.debug("Setting " + item.getFieldName() + " = " + item.getString());
- }
- } else {
- log.debug(obj.getClass().getName() + " - " + obj.toString());
- }
- }
+ for (DiskFileItem item : formItems) {
+ if (item != null) {
+ if (item.getFieldName().equals(UPLOAD_PDF_DATA)) {
+ filecontent = item.getInputStream().readAllBytes();
+ try {
+ File f = new File(item.getName());
+ String name = f.getName();
+ log.debug("Got upload: " + item.getName());
+ if (!(name.endsWith(".pdf") || name.endsWith(".PDF"))) {
+ name += ".pdf";
+ }
+
+ log.debug("Setting Filename in session: " + name);
+ PdfAsHelper.setPDFFileName(request, name);
+ } catch (Throwable e) {
+ log.warn("In resolving filename", e);
+ }
+ if (filecontent.length < 10) {
+ filecontent = null;
+ } else {
+ log.debug("Found pdf Data! Size: " + filecontent.length);
+ }
+ } else {
+ request.setAttribute(item.getFieldName(), item.getString());
+ log.debug("Setting " + item.getFieldName() + " = " + item.getString());
+ }
+ }
+ }
}
}
diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/JSONAPIServlet.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/JSONAPIServlet.java
index d5ef2079..b60fae06 100644
--- a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/JSONAPIServlet.java
+++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/JSONAPIServlet.java
@@ -5,10 +5,10 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import org.apache.commons.codec.binary.Base64;
import org.apache.commons.io.IOUtils;
diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/PDFData.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/PDFData.java
index 96d02f16..e7556569 100644
--- a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/PDFData.java
+++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/PDFData.java
@@ -34,10 +34,10 @@ import java.util.zip.Deflater;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import at.gv.egiz.pdfas.api.processing.PdfasSignResponse;
import at.gv.egiz.pdfas.api.processing.SignedDocument;
diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/PDFSignatureCertificateData.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/PDFSignatureCertificateData.java
index e4465e77..869dfdf4 100644
--- a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/PDFSignatureCertificateData.java
+++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/PDFSignatureCertificateData.java
@@ -28,10 +28,10 @@ import java.io.OutputStream;
import java.security.cert.CertificateEncodingException;
import java.util.List;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/PDFSignatureData.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/PDFSignatureData.java
index e493f4ae..3d96784b 100644
--- a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/PDFSignatureData.java
+++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/PDFSignatureData.java
@@ -27,10 +27,10 @@ import java.io.IOException;
import java.io.OutputStream;
import java.util.List;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -95,7 +95,7 @@ public class PDFSignatureData extends HttpServlet {
"inline;filename=signed_data_" + id + ".pdf");
response.setContentType("application/pdf");
OutputStream os = response.getOutputStream();
- os.write(res.getSignatureData());
+ os.write(res.getSignatureData().getBaseData());
os.close();
} else {
logger.warn("Verification DATA not found! for id " + request.getParameter(SIGN_ID) + " in session " + request.getSession().getId());
diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/PDFURLData.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/PDFURLData.java
index d4112cad..63172175 100644
--- a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/PDFURLData.java
+++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/PDFURLData.java
@@ -6,11 +6,11 @@ import at.gv.egiz.pdfas.lib.api.StatusRequest;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpSession;
import java.io.IOException;
import java.io.OutputStream;
diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/PlaceholderGeneratorServlet.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/PlaceholderGeneratorServlet.java
index b07293b1..388c7e9d 100644
--- a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/PlaceholderGeneratorServlet.java
+++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/PlaceholderGeneratorServlet.java
@@ -10,10 +10,10 @@ import java.io.IOException;
import java.io.InputStream;
import javax.imageio.ImageIO;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import org.apache.http.HttpStatus;
import org.slf4j.Logger;
diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/ProvidePDFServlet.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/ProvidePDFServlet.java
index 47469eb2..f6c3e646 100644
--- a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/ProvidePDFServlet.java
+++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/ProvidePDFServlet.java
@@ -28,13 +28,13 @@ import java.net.URL;
import java.net.URLEncoder;
import java.util.List;
-import javax.servlet.RequestDispatcher;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.RequestDispatcher;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
-import org.apache.commons.lang3.StringEscapeUtils;
+import org.apache.commons.text.StringEscapeUtils;
import at.gv.egiz.pdfas.api.processing.SignedDocument;
import at.gv.egiz.pdfas.common.exceptions.PdfAsException;
diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/ReloadServlet.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/ReloadServlet.java
index 84e86634..c4db303f 100644
--- a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/ReloadServlet.java
+++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/ReloadServlet.java
@@ -3,10 +3,10 @@ package at.gv.egiz.pdfas.web.servlets;
import java.io.IOException;
import java.io.OutputStream;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/SLDataURLServlet.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/SLDataURLServlet.java
index 55946afb..d0c331e6 100644
--- a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/SLDataURLServlet.java
+++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/SLDataURLServlet.java
@@ -6,11 +6,11 @@ import java.util.ArrayList;
import java.util.Base64;
import java.util.List;
-import javax.servlet.ServletException;
-import javax.servlet.annotation.MultipartConfig;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.annotation.MultipartConfig;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import org.apache.commons.lang3.StringUtils;
import org.jose4j.base64url.Base64Url;
@@ -97,8 +97,7 @@ public class SLDataURLServlet extends HttpServlet {
//parse SL2.0 command/result into JSON
try {
- JsonParser jsonParser = new JsonParser();
- JsonElement sl20Req = jsonParser.parse(Base64Url.decodeToUtf8String(sl20Result));
+ JsonElement sl20Req = JsonParser.parseString(Base64Url.decodeToUtf8String(sl20Result));
sl20ReqObj = sl20Req.getAsJsonObject();
} catch (JsonSyntaxException e) {
diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/SoapServiceServlet.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/SoapServiceServlet.java
index ca005abe..f79e5640 100644
--- a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/SoapServiceServlet.java
+++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/SoapServiceServlet.java
@@ -1,7 +1,7 @@
package at.gv.egiz.pdfas.web.servlets;
-import javax.servlet.ServletConfig;
-import javax.xml.ws.Endpoint;
+import jakarta.servlet.ServletConfig;
+import jakarta.xml.ws.Endpoint;
import org.apache.cxf.Bus;
import org.apache.cxf.BusFactory;
diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/UIEntryPointServlet.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/UIEntryPointServlet.java
index d7a3d3c6..2842c7e2 100644
--- a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/UIEntryPointServlet.java
+++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/UIEntryPointServlet.java
@@ -25,10 +25,10 @@ package at.gv.egiz.pdfas.web.servlets;
import java.io.IOException;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import at.gv.egiz.pdfas.api.processing.PdfasSignRequest;
import at.gv.egiz.pdfas.api.ws.PDFASSignParameters.Connector;
diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/VerifyServlet.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/VerifyServlet.java
index 003a4a73..a71a13f4 100644
--- a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/VerifyServlet.java
+++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/VerifyServlet.java
@@ -27,14 +27,17 @@ import java.io.File;
import java.io.IOException;
import java.util.List;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
-import org.apache.commons.fileupload.FileItem;
-import org.apache.commons.fileupload.disk.DiskFileItemFactory;
-import org.apache.commons.fileupload.servlet.ServletFileUpload;
+import lombok.val;
+import org.apache.commons.fileupload2.core.DiskFileItem;
+import org.apache.commons.fileupload2.core.FileItem;
+import org.apache.commons.fileupload2.core.DiskFileItemFactory;
+import org.apache.commons.fileupload2.jakarta.servlet6.JakartaServletDiskFileUpload;
+import org.apache.commons.fileupload2.jakarta.servlet6.JakartaServletFileUpload;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -159,7 +162,7 @@ public class VerifyServlet extends HttpServlet {
byte[] filecontent = null;
// checks if the request actually contains upload file
- if (!ServletFileUpload.isMultipartContent(request)) {
+ if (!JakartaServletFileUpload.isMultipartContent(request)) {
// No Uploaded data!
if (PdfAsParameterExtractor.getPdfUrl(request) != null) {
doGet(request, response);
@@ -169,14 +172,14 @@ public class VerifyServlet extends HttpServlet {
}
} else {
// configures upload settings
- DiskFileItemFactory factory = new DiskFileItemFactory();
- factory.setSizeThreshold(THRESHOLD_SIZE);
- factory.setRepository(new File(System
- .getProperty("java.io.tmpdir")));
+ DiskFileItemFactory factory = DiskFileItemFactory.builder()
+ .setThreshold(THRESHOLD_SIZE)
+ .setPath(new File(System.getProperty("java.io.tmpdir")).toPath())
+ .get();
- ServletFileUpload upload = new ServletFileUpload(factory);
- upload.setFileSizeMax(MAX_FILE_SIZE);
- upload.setSizeMax(MAX_REQUEST_SIZE);
+ val upload = new JakartaServletDiskFileUpload(factory);
+ upload.setMaxFileSize(MAX_FILE_SIZE);
+ upload.setMaxSize(MAX_REQUEST_SIZE);
// constructs the directory path to store upload file
String uploadPath = getServletContext().getRealPath("")
@@ -187,9 +190,9 @@ public class VerifyServlet extends HttpServlet {
uploadDir.mkdir();
}
- List<?> formItems = upload.parseRequest(request);
+ List<DiskFileItem> formItems = upload.parseRequest(request);
logger.debug(formItems.size() + " Items in form data");
- if (formItems.size() < 1) {
+ if (formItems.isEmpty()) {
// No Uploaded data!
// Try do get
// No Uploaded data!
@@ -201,48 +204,41 @@ public class VerifyServlet extends HttpServlet {
"No Signature data defined!");
}
} else {
- for (int i = 0; i < formItems.size(); i++) {
- Object obj = formItems.get(i);
- if (obj instanceof FileItem) {
- FileItem item = (FileItem) obj;
- if (item.getFieldName().equals(UPLOAD_PDF_DATA)) {
- filecontent = item.get();
- try {
- File f = new File(item.getName());
- String name = f.getName();
- logger.debug("Got upload: "
- + item.getName());
- if (name != null) {
- if (!(name.endsWith(".pdf") || name
- .endsWith(".PDF"))) {
- name += ".pdf";
- }
+ for (DiskFileItem item : formItems) {
+ if (item != null) {
+ if (item.getFieldName().equals(UPLOAD_PDF_DATA)) {
+ filecontent = item.getInputStream().readAllBytes();
+ try {
+ File f = new File(item.getName());
+ String name = f.getName();
+ logger.debug("Got upload: "
+ + item.getName());
+ if (!(name.endsWith(".pdf") || name
+ .endsWith(".PDF"))) {
+ name += ".pdf";
+ }
- logger.debug("Setting Filename in session: "
- + name);
- PdfAsHelper.setPDFFileName(request,
- name);
- }
- } catch (Throwable e) {
- logger.warn("In resolving filename", e);
- }
- if (filecontent.length < 10) {
- filecontent = null;
- } else {
- logger.debug("Found pdf Data! Size: "
- + filecontent.length);
- }
- } else {
- request.setAttribute(item.getFieldName(),
- item.getString());
- logger.debug("Setting " + item.getFieldName()
- + " = " + item.getString());
- }
- } else {
- logger.debug(obj.getClass().getName() + " - "
- + obj.toString());
- }
- }
+ logger.debug("Setting Filename in session: "
+ + name);
+ PdfAsHelper.setPDFFileName(request,
+ name);
+ } catch (Throwable e) {
+ logger.warn("In resolving filename", e);
+ }
+ if (filecontent.length < 10) {
+ filecontent = null;
+ } else {
+ logger.debug("Found pdf Data! Size: "
+ + filecontent.length);
+ }
+ } else {
+ request.setAttribute(item.getFieldName(),
+ item.getString());
+ logger.debug("Setting " + item.getFieldName()
+ + " = " + item.getString());
+ }
+ }
+ }
}
}
diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/VisBlockServlet.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/VisBlockServlet.java
index b49264f7..d67a88c1 100644
--- a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/VisBlockServlet.java
+++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/VisBlockServlet.java
@@ -4,10 +4,10 @@ import java.io.IOException;
import java.io.OutputStream;
import java.security.cert.CertificateException;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/sl20/JsonSecurityUtils.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/sl20/JsonSecurityUtils.java
index bf37b290..7a4d24ae 100644
--- a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/sl20/JsonSecurityUtils.java
+++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/sl20/JsonSecurityUtils.java
@@ -181,10 +181,10 @@ public class JsonSecurityUtils implements IJOSETools{
jws.setCompactSerialization(serializedContent);
//set security constrains
- jws.setAlgorithmConstraints(new AlgorithmConstraints(ConstraintType.WHITELIST,
- SL20Constants.SL20_ALGORITHM_WHITELIST_SIGNING.toArray(new String[SL20Constants.SL20_ALGORITHM_WHITELIST_SIGNING.size()])));
+ jws.setAlgorithmConstraints(new AlgorithmConstraints(ConstraintType.PERMIT,
+ SL20Constants.SL20_ALGORITHM_WHITELIST_SIGNING.toArray(new String[0])));
- //load signinc certs
+ //load signing certs
Key selectedKey = null;
List<X509Certificate> x5cCerts = jws.getCertificateChainHeaderValue();
String x5t256 = jws.getX509CertSha256ThumbprintHeaderValue();
@@ -232,7 +232,7 @@ public class JsonSecurityUtils implements IJOSETools{
//load payLoad
logger.debug("SL2.0 commando signature validation sucessfull");
- JsonElement sl20Req = new JsonParser().parse(jws.getPayload());
+ JsonElement sl20Req = JsonParser.parseString(jws.getPayload());
return new VerificationResult(sl20Req.getAsJsonObject(), null, valid) ;
@@ -252,11 +252,11 @@ public class JsonSecurityUtils implements IJOSETools{
//set security constrains
receiverJwe.setAlgorithmConstraints(
- new AlgorithmConstraints(ConstraintType.WHITELIST,
- SL20Constants.SL20_ALGORITHM_WHITELIST_KEYENCRYPTION.toArray(new String[SL20Constants.SL20_ALGORITHM_WHITELIST_KEYENCRYPTION.size()])));
+ new AlgorithmConstraints(ConstraintType.PERMIT,
+ SL20Constants.SL20_ALGORITHM_WHITELIST_KEYENCRYPTION.toArray(new String[0])));
receiverJwe.setContentEncryptionAlgorithmConstraints(
- new AlgorithmConstraints(ConstraintType.WHITELIST,
- SL20Constants.SL20_ALGORITHM_WHITELIST_ENCRYPTION.toArray(new String[SL20Constants.SL20_ALGORITHM_WHITELIST_ENCRYPTION.size()])));
+ new AlgorithmConstraints(ConstraintType.PERMIT,
+ SL20Constants.SL20_ALGORITHM_WHITELIST_ENCRYPTION.toArray(new String[0])));
//set payload
receiverJwe.setCompactSerialization(compactSerialization);
@@ -295,7 +295,7 @@ public class JsonSecurityUtils implements IJOSETools{
//decrypt payload
- return new JsonParser().parse(receiverJwe.getPlaintextString());
+ return JsonParser.parseString(receiverJwe.getPlaintextString());
} catch (JoseException e) {
logger.warn("SL2.0 result decryption FAILED", e);
diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/sl20/SL20HttpBindingUtils.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/sl20/SL20HttpBindingUtils.java
index e43ebfcf..8d049030 100644
--- a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/sl20/SL20HttpBindingUtils.java
+++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/sl20/SL20HttpBindingUtils.java
@@ -4,8 +4,8 @@ import java.io.IOException;
import java.io.StringWriter;
import java.net.URISyntaxException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import org.apache.http.client.utils.URIBuilder;
import org.apache.http.entity.ContentType;
diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/stats/StatisticFrontend.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/stats/StatisticFrontend.java
index f006be54..e78e63ab 100644
--- a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/stats/StatisticFrontend.java
+++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/stats/StatisticFrontend.java
@@ -23,23 +23,16 @@ public class StatisticFrontend implements StatisticBackend {
private List<StatisticBackend> statisticBackends = new ArrayList<StatisticBackend>();
private StatisticFrontend() {
- Iterator<StatisticBackend> statisticIterator = backendLoader.iterator();
List<String> enabledBackends = WebConfiguration.getStatisticBackends();
if (enabledBackends == null) {
- logger.info("No statitistic backends configured using all available.");
+ logger.info("No statistic backends configured, using all available.");
} else {
- Iterator<String> enabledBackendsIterator = enabledBackends
- .iterator();
logger.info("Allowing the following statistic backends:");
- while (enabledBackendsIterator.hasNext()) {
- logger.info(" - {}", enabledBackendsIterator.next());
- }
+ enabledBackends.forEach(it -> logger.info(" - {}", it));
}
- while (statisticIterator.hasNext()) {
- StatisticBackend statisticBackend = statisticIterator.next();
-
+ for (StatisticBackend statisticBackend : backendLoader) {
if (enabledBackends == null
|| enabledBackends.contains(statisticBackend.getName())) {
logger.info("adding Statistic Logger {} [{}]", statisticBackend
@@ -54,22 +47,8 @@ public class StatisticFrontend implements StatisticBackend {
}
if (enabledBackends != null) {
- Iterator<String> enabledBackendsIterator = enabledBackends
- .iterator();
- while (enabledBackendsIterator.hasNext()) {
- String enabledBackend = enabledBackendsIterator.next();
- statisticIterator = statisticBackends.iterator();
- boolean found = false;
- while (statisticIterator.hasNext()) {
- StatisticBackend statisticBackend = statisticIterator
- .next();
- if (statisticBackend.getName().equals(enabledBackend)) {
- found = true;
- break;
- }
- }
-
- if (!found) {
+ for (String enabledBackend : enabledBackends) {
+ if (statisticBackends.stream().noneMatch(it -> it.getName().equals(enabledBackend))) {
logger.warn(
"Failed to load statistic backend {}. Not in classpath?",
enabledBackend);
@@ -103,13 +82,7 @@ public class StatisticFrontend implements StatisticBackend {
return;
}
- Iterator<StatisticBackend> statisticBackendIterator = statisticBackends
- .iterator();
-
- while (statisticBackendIterator.hasNext()) {
- StatisticBackend statisticBackend = statisticBackendIterator.next();
- statisticBackend.storeEvent(statisticEvent);
- }
+ statisticBackends.forEach(statisticBackend -> statisticBackend.storeEvent(statisticEvent));
}
}
diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/stats/impl/StatisticMicrometerBackend.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/stats/impl/StatisticMicrometerBackend.java
new file mode 100644
index 00000000..89127e6a
--- /dev/null
+++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/stats/impl/StatisticMicrometerBackend.java
@@ -0,0 +1,77 @@
+package at.gv.egiz.pdfas.web.stats.impl;
+
+import at.gv.egiz.pdfas.web.stats.StatisticBackend;
+import at.gv.egiz.pdfas.web.stats.StatisticEvent;
+import io.micrometer.core.instrument.Counter;
+import io.micrometer.core.instrument.MeterRegistry;
+import io.micrometer.core.instrument.Tags;
+import io.micrometer.core.instrument.Timer;
+import lombok.extern.slf4j.Slf4j;
+import org.jspecify.annotations.NonNull;
+import org.springframework.beans.BeansException;
+import org.springframework.context.ApplicationContext;
+import org.springframework.context.ApplicationContextAware;
+import org.springframework.stereotype.Component;
+
+import java.util.concurrent.TimeUnit;
+import java.util.function.Function;
+
+@Slf4j
+public class StatisticMicrometerBackend implements StatisticBackend {
+ /** bridge between ServiceLoader component and Boot's beans */
+ @Component
+ public static class SpringContextProxy implements ApplicationContextAware {
+ private static volatile ApplicationContext applicationContext;
+ @Override public void setApplicationContext(@NonNull ApplicationContext ctx) { applicationContext = ctx; }
+ public static <T> T getBean(Class<T> type) {
+ try {
+ return (applicationContext != null) ? applicationContext.getBean(type) : null;
+ } catch (BeansException ex) {
+ log.warn("Spring MeterRegistry not available, skipped micrometer metric logging", ex);
+ return null;
+ }
+ }
+ }
+ public static final String NAME = "StatisticMicrometerBackend";
+ @Override public String getName() { return NAME; }
+
+ @Override
+ public void storeEvent(StatisticEvent e) {
+ if (e == null) return;
+
+ MeterRegistry registry = SpringContextProxy.getBean(MeterRegistry.class);
+ if (registry == null) return;
+
+ Tags baseTags = Tags.of(
+ "operation", safeName(e.getOperation(), v -> v.getName()),
+ "status", safeName(e.getStatus(), v -> v.getName()),
+ "source", safeName(e.getSource(), v -> v.getName()),
+ "device", safeString(e.getDevice()),
+ "profile", safeString(e.getProfileId())
+ );
+
+ Timer.builder("pdfas_requests")
+ .description("Duration of PDF-AS operations")
+ .tags(baseTags)
+ .publishPercentileHistogram()
+ .register(registry)
+ .record(Math.max(0, e.getDuration()), TimeUnit.MILLISECONDS);
+
+ if (e.getStatus() == StatisticEvent.Status.ERROR) {
+ String whichException = safeName(e.getException(), it -> it.getClass().getSimpleName());
+ Counter.builder("pdfas_errors")
+ .description("Failed PDF-AS operations")
+ .tags(baseTags.and("exception", whichException))
+ .register(registry)
+ .increment();
+ }
+ }
+
+ private static @NonNull String safeString(String str) {
+ return ((str == null) || str.isBlank()) ? "unknown" : str;
+ }
+
+ private static <T> @NonNull String safeName(T v, @NonNull Function<T, String> op) {
+ return safeString((v != null) ? op.apply(v) : null);
+ }
+}
diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/store/RequestStore.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/store/RequestStore.java
index a5e961ef..5ed2bef0 100644
--- a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/store/RequestStore.java
+++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/store/RequestStore.java
@@ -42,15 +42,15 @@ public class RequestStore {
logger.info("Using Request Store: " + storeClass);
Class<?> clazz = Class.forName(storeClass);
- Object store = clazz.newInstance();
+ Object store = clazz.getDeclaredConstructor().newInstance();
if(store instanceof IRequestStore) {
instance = (IRequestStore)store;
} else {
- throw new PdfAsStoreException("Failed to instanciate Request Store from " + storeClass);
+ throw new PdfAsStoreException("Failed to instantiate Request Store from " + storeClass);
}
} catch (Throwable e) {
e.printStackTrace();
- throw new PdfAsStoreException("Failed to instanciate Request Store", e);
+ throw new PdfAsStoreException("Failed to instantiate Request Store", e);
}
}
return instance;
diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/web_xml_bridges/ContextXmlBridge.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/web_xml_bridges/ContextXmlBridge.java
new file mode 100644
index 00000000..17e86c94
--- /dev/null
+++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/web_xml_bridges/ContextXmlBridge.java
@@ -0,0 +1,20 @@
+package at.gv.egiz.pdfas.web.web_xml_bridges;
+
+import lombok.val;
+import org.apache.tomcat.util.http.Rfc6265CookieProcessor;
+import org.springframework.boot.web.embedded.tomcat.TomcatContextCustomizer;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+/** translates the tomcat context.xml file */
+@Configuration
+public class ContextXmlBridge {
+ @Bean
+ public TomcatContextCustomizer sameSiteNone() {
+ return ctx -> {
+ val processor = new Rfc6265CookieProcessor();
+ processor.setSameSiteCookies("none");
+ ctx.setCookieProcessor(processor);
+ };
+ }
+}
diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/web_xml_bridges/FilterBridge.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/web_xml_bridges/FilterBridge.java
new file mode 100644
index 00000000..2c4d8c8a
--- /dev/null
+++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/web_xml_bridges/FilterBridge.java
@@ -0,0 +1,50 @@
+package at.gv.egiz.pdfas.web.web_xml_bridges;
+
+import at.gv.egiz.pdfas.web.filter.ExceptionCatchFilter;
+import at.gv.egiz.pdfas.web.filter.UserAgentFilter;
+import com.thetransactioncompany.cors.CORSFilter;
+import jakarta.servlet.Filter;
+import lombok.val;
+import org.apache.catalina.filters.SetCharacterEncodingFilter;
+import org.springframework.boot.web.servlet.FilterRegistrationBean;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+/** Takes the old web.xml filter mappings and exposes them to Spring Boot */
+@Configuration
+public class FilterBridge {
+ @Bean
+ public FilterRegistrationBean<Filter> setCharacterEncodingFilter() {
+ val reg = new FilterRegistrationBean<Filter>(new SetCharacterEncodingFilter());
+ reg.addUrlPatterns("/*");
+ reg.addInitParameter("encoding", "UTF-8");
+ reg.setOrder(1);
+ return reg;
+ }
+
+ @Bean
+ public FilterRegistrationBean<Filter> exceptionCatchFilter() {
+ val reg = new FilterRegistrationBean<Filter>(new ExceptionCatchFilter());
+ reg.addUrlPatterns("/*");
+ reg.addInitParameter("statelessServlets", "/placeholder,/visblock");
+ reg.setOrder(2);
+ return reg;
+ }
+
+ @Bean
+ public FilterRegistrationBean<Filter> userAgentFilter() {
+ val reg = new FilterRegistrationBean<Filter>(new UserAgentFilter());
+ reg.addUrlPatterns("/*");
+ reg.setOrder(3);
+ return reg;
+ }
+
+ @Bean
+ public FilterRegistrationBean<Filter> cors() {
+ val reg = new FilterRegistrationBean<Filter>(new CORSFilter());
+ reg.addUrlPatterns("/*");
+ reg.addInitParameter("cors.allowOrigin", "*");
+ reg.setOrder(4);
+ return reg;
+ }
+}
diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/web_xml_bridges/ServletBridge.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/web_xml_bridges/ServletBridge.java
new file mode 100644
index 00000000..af59a7d6
--- /dev/null
+++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/web_xml_bridges/ServletBridge.java
@@ -0,0 +1,131 @@
+package at.gv.egiz.pdfas.web.web_xml_bridges;
+
+import at.gv.egiz.pdfas.web.servlets.*;
+import jakarta.servlet.Servlet;
+import org.springframework.boot.web.servlet.ServletRegistrationBean;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+/** Takes the old web.xml servlet mappings and exposes them to Spring Boot */
+@Configuration
+public class ServletBridge {
+ @Bean
+ public ServletRegistrationBean<Servlet> cxfServlet() {
+ return new ServletRegistrationBean<>(
+ /** from <servlet> */ new SoapServiceServlet(),
+ /** from <servlet-mapping> */ "/services/*"
+ );
+ }
+
+ @Bean
+ public ServletRegistrationBean<Servlet> signServlet() {
+ return new ServletRegistrationBean<>(
+ new ExternSignServlet(),
+ "/Sign"
+ );
+ }
+
+ @Bean
+ public ServletRegistrationBean<Servlet> visBlockServlet() {
+ return new ServletRegistrationBean<>(
+ new VisBlockServlet(),
+ "/visblock"
+ );
+ }
+
+ @Bean
+ public ServletRegistrationBean<Servlet> providePDF() {
+ return new ServletRegistrationBean<>(
+ new ProvidePDFServlet(),
+ "/ProvidePDF"
+ );
+ }
+
+ @Bean
+ public ServletRegistrationBean<Servlet> reloadServlet() {
+ return new ServletRegistrationBean<>(
+ new ReloadServlet(),
+ "/Reload"
+ );
+ }
+
+ @Bean
+ public ServletRegistrationBean<Servlet> dataURLServlet() {
+ return new ServletRegistrationBean<>(
+ new DataURLServlet(),
+ "/DataURL"
+ );
+ }
+
+ @Bean
+ public ServletRegistrationBean<Servlet> slDataURLServlet() {
+ return new ServletRegistrationBean<>(
+ new SLDataURLServlet(),
+ "/DataURLSL20"
+ );
+ }
+
+ @Bean
+ public ServletRegistrationBean<Servlet> verifyServlet() {
+ return new ServletRegistrationBean<>(
+ new VerifyServlet(),
+ "/Verify"
+ );
+ }
+
+ @Bean
+ public ServletRegistrationBean<Servlet> pdfData() {
+ return new ServletRegistrationBean<>(
+ new PDFData(),
+ "/PDFData"
+ );
+ }
+
+ @Bean
+ public ServletRegistrationBean<Servlet> errorPage() {
+ return new ServletRegistrationBean<>(
+ new ErrorPage(),
+ "/ErrorPage"
+ );
+ }
+
+ @Bean
+ public ServletRegistrationBean<Servlet> pdfVerifyData() {
+ return new ServletRegistrationBean<>(
+ new PDFSignatureData(),
+ "/signData"
+ );
+ }
+
+ @Bean
+ public ServletRegistrationBean<Servlet> pdfVerifyCert() {
+ return new ServletRegistrationBean<>(
+ new PDFSignatureCertificateData(),
+ "/signCert"
+ );
+ }
+
+ @Bean
+ public ServletRegistrationBean<Servlet> uiEntryPointServlet() {
+ return new ServletRegistrationBean<>(
+ new UIEntryPointServlet(),
+ "/userentry"
+ );
+ }
+
+ @Bean
+ public ServletRegistrationBean<Servlet> qrPlaceholderGenerator() {
+ return new ServletRegistrationBean<>(
+ new PlaceholderGeneratorServlet(),
+ "/placeholder"
+ );
+ }
+
+ @Bean
+ public ServletRegistrationBean<Servlet> jsonAPIServlet() {
+ return new ServletRegistrationBean<>(
+ new JSONAPIServlet(),
+ "/api/v1/sign"
+ );
+ }
+}
diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/web_xml_bridges/WelcomeFileBridge.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/web_xml_bridges/WelcomeFileBridge.java
new file mode 100644
index 00000000..6fcf47fa
--- /dev/null
+++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/web_xml_bridges/WelcomeFileBridge.java
@@ -0,0 +1,12 @@
+package at.gv.egiz.pdfas.web.web_xml_bridges;
+
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.GetMapping;
+
+@Controller
+public class WelcomeFileBridge {
+ @GetMapping("/")
+ public String welcomeFile() {
+ return "forward:/index.jsp";
+ }
+}
diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/ws/PDFASSigningImpl.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/ws/PDFASSigningImpl.java
index dce3e34c..667816e5 100644
--- a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/ws/PDFASSigningImpl.java
+++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/ws/PDFASSigningImpl.java
@@ -28,10 +28,12 @@ import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
-import javax.jws.WebService;
-import javax.xml.ws.WebServiceException;
-import javax.xml.ws.soap.MTOM;
+import at.gv.egiz.pdfas.lib.impl.ErrorExtractor;
+import jakarta.jws.WebService;
+import jakarta.xml.ws.WebServiceException;
+import jakarta.xml.ws.soap.MTOM;
+import lombok.val;
import org.apache.commons.lang3.StringUtils;
import at.gv.egiz.pdfas.api.processing.CoreSignParams;
@@ -142,20 +144,20 @@ public class PDFASSigningImpl implements PDFASSigning {
}
} catch (final Throwable e) {
+ val pdfAsError = ErrorExtractor.searchPdfAsError(e, null);
+
statisticEvent.setStatus(Status.ERROR);
statisticEvent.setException(e);
- if (e instanceof PDFASError) {
- statisticEvent.setErrorCode(((PDFASError) e).getCode());
- }
+ statisticEvent.setErrorCode(pdfAsError.getCode());
statisticEvent.setEndNow();
statisticEvent.setTimestampNow();
StatisticFrontend.getInstance().storeEvent(statisticEvent);
statisticEvent.setLogged(true);
log.warn("Error in Soap Service", e);
+ response.setErrorCode(pdfAsError.getCode());
if (e.getCause() != null) {
response.setError(e.getCause().getMessage());
-
} else {
response.setError(e.getMessage());
diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/ws/PDFASVerificationImpl.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/ws/PDFASVerificationImpl.java
index b1bca4ba..68c5d227 100644
--- a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/ws/PDFASVerificationImpl.java
+++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/ws/PDFASVerificationImpl.java
@@ -16,9 +16,9 @@ import iaik.x509.X509Certificate;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import javax.jws.WebService;
-import javax.xml.ws.WebServiceException;
-import javax.xml.ws.soap.MTOM;
+import jakarta.jws.WebService;
+import jakarta.xml.ws.WebServiceException;
+import jakarta.xml.ws.soap.MTOM;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
diff --git a/pdf-as-web/src/main/resources/META-INF/context.xml b/pdf-as-web/src/main/resources/META-INF/context.xml
deleted file mode 100644
index 716b2233..00000000
--- a/pdf-as-web/src/main/resources/META-INF/context.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-<Context>
- <CookieProcessor sameSiteCookies="none" />
-</Context> \ No newline at end of file
diff --git a/pdf-as-web/src/main/resources/META-INF/services/at.gv.egiz.pdfas.web.stats.StatisticBackend b/pdf-as-web/src/main/resources/META-INF/services/at.gv.egiz.pdfas.web.stats.StatisticBackend
index d77e0d54..60966482 100644
--- a/pdf-as-web/src/main/resources/META-INF/services/at.gv.egiz.pdfas.web.stats.StatisticBackend
+++ b/pdf-as-web/src/main/resources/META-INF/services/at.gv.egiz.pdfas.web.stats.StatisticBackend
@@ -1 +1,2 @@
-at.gv.egiz.pdfas.web.stats.impl.StatisticFileBackend \ No newline at end of file
+at.gv.egiz.pdfas.web.stats.impl.StatisticFileBackend
+at.gv.egiz.pdfas.web.stats.impl.StatisticMicrometerBackend \ No newline at end of file
diff --git a/pdf-as-web/src/main/resources/application.yml b/pdf-as-web/src/main/resources/application.yml
new file mode 100644
index 00000000..0b843081
--- /dev/null
+++ b/pdf-as-web/src/main/resources/application.yml
@@ -0,0 +1,4 @@
+server:
+ servlet:
+ session:
+ timeout: 30m
diff --git a/pdf-as-web/src/main/webapp/WEB-INF/web.xml b/pdf-as-web/src/main/webapp/WEB-INF/web.xml
deleted file mode 100644
index 46ae8272..00000000
--- a/pdf-as-web/src/main/webapp/WEB-INF/web.xml
+++ /dev/null
@@ -1,263 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-
-<web-app>
- <!-- General description of your web application -->
-
- <display-name>PDF-AS-WEB</display-name>
- <description>
- PDF-AS-WEB Application
- </description>
- <filter>
- <filter-name>ExceptionCatchFilter</filter-name>
- <display-name>ExceptionCatchFilter</display-name>
- <description></description>
- <filter-class>at.gv.egiz.pdfas.web.filter.ExceptionCatchFilter</filter-class>
- <init-param>
- <param-name>statelessServlets</param-name>
- <param-value>/placeholder,/visblock</param-value>
- </init-param>
- </filter>
- <filter>
- <filter-name>UserAgentFilter</filter-name>
- <display-name>UserAgentFilter</display-name>
- <description></description>
- <filter-class>at.gv.egiz.pdfas.web.filter.UserAgentFilter</filter-class>
- </filter>
- <filter>
- <filter-name>sitemesh</filter-name>
- <filter-class>com.opensymphony.sitemesh.webapp.SiteMeshFilter</filter-class>
- </filter>
- <filter>
- <filter-name>CORS</filter-name>
- <filter-class>com.thetransactioncompany.cors.CORSFilter</filter-class>
- <init-param>
- <param-name>cors.allowOrigin</param-name>
- <param-value>*</param-value>
- </init-param>
- </filter>
- <!-- A filter that sets character encoding that is used to decode -->
- <!-- parameters in a POST request -->
- <filter>
- <filter-name>setCharacterEncodingFilter</filter-name>
- <filter-class>org.apache.catalina.filters.SetCharacterEncodingFilter</filter-class>
- <init-param>
- <param-name>encoding</param-name>
- <param-value>UTF-8</param-value>
- </init-param>
- </filter>
-
- <!-- The mapping for the Set Character Encoding Filter -->
- <filter-mapping>
- <filter-name>setCharacterEncodingFilter</filter-name>
- <url-pattern>/*</url-pattern>
- </filter-mapping>
-
- <!-- filter-mapping>
- <filter-name>sitemesh</filter-name>
- <url-pattern>/*</url-pattern>
- </filter-mapping-->
-
- <filter-mapping>
- <filter-name>ExceptionCatchFilter</filter-name>
- <url-pattern>/*</url-pattern>
- </filter-mapping>
- <filter-mapping>
- <filter-name>UserAgentFilter</filter-name>
- <url-pattern>/*</url-pattern>
- </filter-mapping>
- <filter-mapping>
- <filter-name>CORS</filter-name>
- <url-pattern>/*</url-pattern>
- </filter-mapping>
- <!-- listener>
- <listener-class>com.sun.xml.ws.transport.http.servlet.WSServletContextListener</listener-class>
- </listener-->
-
-
- <!-- servlet>
- <servlet-name>SOAPSign</servlet-name>
- <servlet-class>com.sun.xml.ws.transport.http.servlet.WSServlet</servlet-class>
- </servlet-->
- <servlet>
- <servlet-name>SignServlet</servlet-name>
- <description>
- The Sign Servlet allows Users to Sign PDF Documents ...
- </description>
- <servlet-class>at.gv.egiz.pdfas.web.servlets.ExternSignServlet</servlet-class>
- <load-on-startup>0</load-on-startup>
- </servlet>
- <servlet>
- <servlet-name>CXFServlet</servlet-name>
- <display-name>CXFServlet</display-name>
- <description></description>
- <servlet-class>at.gv.egiz.pdfas.web.servlets.SoapServiceServlet</servlet-class>
- </servlet>
- <servlet>
- <servlet-name>ProvidePDF</servlet-name>
- <display-name>ProvidePDF</display-name>
- <description></description>
- <servlet-class>at.gv.egiz.pdfas.web.servlets.ProvidePDFServlet</servlet-class>
- </servlet>
- <servlet>
- <servlet-name>DataURLServlet</servlet-name>
- <display-name>DataURLServlet</display-name>
- <description></description>
- <servlet-class>at.gv.egiz.pdfas.web.servlets.DataURLServlet</servlet-class>
- </servlet>
- <servlet>
- <servlet-name>SLDataURLServlet</servlet-name>
- <display-name>SLDataURLServlet</display-name>
- <description></description>
- <servlet-class>at.gv.egiz.pdfas.web.servlets.SLDataURLServlet</servlet-class>
- </servlet>
- <servlet>
- <servlet-name>VisBlockServlet</servlet-name>
- <display-name>VisBlockServlet</display-name>
- <description></description>
- <servlet-class>at.gv.egiz.pdfas.web.servlets.VisBlockServlet</servlet-class>
- </servlet>
- <servlet>
- <servlet-name>VerifyServlet</servlet-name>
- <display-name>VerifyServlet</display-name>
- <description></description>
- <servlet-class>at.gv.egiz.pdfas.web.servlets.VerifyServlet</servlet-class>
- </servlet>
- <servlet>
- <servlet-name>PDFData</servlet-name>
- <display-name>PDFData</display-name>
- <description></description>
- <servlet-class>at.gv.egiz.pdfas.web.servlets.PDFData</servlet-class>
- </servlet>
- <servlet>
- <servlet-name>ErrorPage</servlet-name>
- <display-name>ErrorPage</display-name>
- <description></description>
- <servlet-class>at.gv.egiz.pdfas.web.servlets.ErrorPage</servlet-class>
- </servlet>
- <servlet>
- <servlet-name>PDFVerifyData</servlet-name>
- <display-name>PDFVerifyData</display-name>
- <description></description>
- <servlet-class>at.gv.egiz.pdfas.web.servlets.PDFSignatureData</servlet-class>
- </servlet>
- <servlet>
- <servlet-name>PDFVerifyCert</servlet-name>
- <display-name>PDFVerifyCert</display-name>
- <description></description>
- <servlet-class>at.gv.egiz.pdfas.web.servlets.PDFSignatureCertificateData</servlet-class>
- </servlet>
- <servlet>
- <servlet-name>ReloadServlet</servlet-name>
- <display-name>ReloadServlet</display-name>
- <description></description>
- <servlet-class>at.gv.egiz.pdfas.web.servlets.ReloadServlet</servlet-class>
- </servlet>
- <servlet>
- <servlet-name>UIEntryPointServlet</servlet-name>
- <display-name>UIEntryPointServlet</display-name>
- <description></description>
- <servlet-class>at.gv.egiz.pdfas.web.servlets.UIEntryPointServlet</servlet-class>
- </servlet>
- <servlet>
- <servlet-name>QRPlaceholderGenerator</servlet-name>
- <display-name>QRPlaceholderGenerator</display-name>
- <description></description>
- <servlet-class>at.gv.egiz.pdfas.web.servlets.PlaceholderGeneratorServlet</servlet-class>
- </servlet>
- <servlet>
- <servlet-name>JSONAPIServlet</servlet-name>
- <display-name>JSONAPIServlet</display-name>
- <description></description>
- <servlet-class>at.gv.egiz.pdfas.web.servlets.JSONAPIServlet</servlet-class>
- </servlet>
-
-
- <!-- Define mappings that are used by the servlet container to translate
- a particular request URI (context-relative) to a particular servlet. The
- examples below correspond to the servlet descriptions above. Thus, a request
- URI like: http://localhost:8080/{contextpath}/graph will be mapped to the
- "graph" servlet, while a request like: http://localhost:8080/{contextpath}/saveCustomer.do
- will be mapped to the "controller" servlet. You may define any number of
- servlet mappings, including zero. It is also legal to define more than one
- mapping for the same servlet, if you wish to. -->
-
- <!-- servlet-mapping>
- <servlet-name>SOAPSign</servlet-name>
- <url-pattern>/wssign</url-pattern>
- </servlet-mapping -->
- <servlet-mapping>
- <servlet-name>CXFServlet</servlet-name>
- <url-pattern>/services/*</url-pattern>
- </servlet-mapping>
- <servlet-mapping>
- <servlet-name>SignServlet</servlet-name>
- <url-pattern>/Sign</url-pattern>
- </servlet-mapping>
- <servlet-mapping>
- <servlet-name>VisBlockServlet</servlet-name>
- <url-pattern>/visblock</url-pattern>
- </servlet-mapping>
- <servlet-mapping>
- <servlet-name>ProvidePDF</servlet-name>
- <url-pattern>/ProvidePDF</url-pattern>
- </servlet-mapping>
- <servlet-mapping>
- <servlet-name>ReloadServlet</servlet-name>
- <url-pattern>/Reload</url-pattern>
- </servlet-mapping>
- <servlet-mapping>
- <servlet-name>DataURLServlet</servlet-name>
- <url-pattern>/DataURL</url-pattern>
- </servlet-mapping>
- <servlet-mapping>
- <servlet-name>SLDataURLServlet</servlet-name>
- <url-pattern>/DataURLSL20</url-pattern>
- </servlet-mapping>
- <servlet-mapping>
- <servlet-name>VerifyServlet</servlet-name>
- <url-pattern>/Verify</url-pattern>
- </servlet-mapping>
- <servlet-mapping>
- <servlet-name>PDFData</servlet-name>
- <url-pattern>/PDFData</url-pattern>
- </servlet-mapping>
- <servlet-mapping>
- <servlet-name>ErrorPage</servlet-name>
- <url-pattern>/ErrorPage</url-pattern>
- </servlet-mapping>
- <servlet-mapping>
- <servlet-name>PDFVerifyData</servlet-name>
- <url-pattern>/signData</url-pattern>
- </servlet-mapping>
- <servlet-mapping>
- <servlet-name>PDFVerifyCert</servlet-name>
- <url-pattern>/signCert</url-pattern>
- </servlet-mapping>
- <servlet-mapping>
- <servlet-name>UIEntryPointServlet</servlet-name>
- <url-pattern>/userentry</url-pattern>
- </servlet-mapping>
- <servlet-mapping>
- <servlet-name>QRPlaceholderGenerator</servlet-name>
- <url-pattern>/placeholder</url-pattern>
- </servlet-mapping>
-
- <servlet-mapping>
- <servlet-name>JSONAPIServlet</servlet-name>
- <url-pattern>/api/v1/sign</url-pattern>
- </servlet-mapping>
-
-
- <!-- Define the default session timeout for your application, in minutes.
- From a servlet or JSP page, you can modify the timeout for a particular session
- dynamically by using HttpSession.getMaxInactiveInterval(). -->
-
- <session-config>
- <session-timeout>30</session-timeout> <!-- 30 minutes -->
- </session-config>
-
- <welcome-file-list>
- <welcome-file>index.jsp</welcome-file>
- </welcome-file-list>
-
-</web-app> \ No newline at end of file
diff --git a/pdf-as-web/src/test/java/at/gv/egiz/pdfas/web/test/JsonApiTest.java b/pdf-as-web/src/test/java/at/gv/egiz/pdfas/web/test/JsonApiTest.java
new file mode 100644
index 00000000..71761e1d
--- /dev/null
+++ b/pdf-as-web/src/test/java/at/gv/egiz/pdfas/web/test/JsonApiTest.java
@@ -0,0 +1,130 @@
+package at.gv.egiz.pdfas.web.test;
+
+import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
+import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
+import static org.junit.Assert.*;
+import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;
+
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.jayway.jsonpath.JsonPath;
+import lombok.Lombok;
+import lombok.SneakyThrows;
+import lombok.val;
+import org.apache.commons.io.IOUtils;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.http.MediaType;
+import org.springframework.test.context.junit4.SpringRunner;
+import org.springframework.test.web.servlet.MockMvc;
+
+import java.io.File;
+import java.util.Arrays;
+import java.util.Base64;
+import java.util.Map;
+import java.util.UUID;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(properties = {
+ "management.endpoint.metrics.enabled=true",
+ "management.endpoints.web.exposure.include=metrics"
+})
+@AutoConfigureMockMvc
+public class JsonApiTest {
+ @Autowired MockMvc mvc;
+ @Autowired ObjectMapper om;
+
+ static {
+ try {
+ System.setProperty("pdf-as-web.conf",
+ (new File(".").getCanonicalPath()) + "/src/test/resources/config/pdfas/pdf-as-web.properties");
+ } catch (Throwable t) {
+ throw Lombok.sneakyThrow(t);
+ }
+ }
+
+ @Test
+ @SneakyThrows
+ public void sign_single_jks() {
+ try (val watcher = TestUtils.OperationCountWatcher(mvc, "operation:sign", "status:ok")) {
+ final String pdf = Base64.getEncoder().encodeToString(
+ IOUtils.toByteArray(JsonApiTest.class.getResourceAsStream("/data/enc_own.pdf")));
+
+ final String signRequestID = UUID.randomUUID().toString();
+ final String signRequest = om.writeValueAsString(
+ Map.of(
+ "requestID", signRequestID,
+ "inputData", pdf,
+ "parameters", Map.of(
+ "connector", "jks",
+ "transactionId", UUID.randomUUID().toString()
+ )
+ )
+ );
+
+ final String signResponse = mvc.perform(
+ post("/api/v2/sign/single")
+ .contentType(MediaType.APPLICATION_JSON)
+ .accept(MediaType.APPLICATION_JSON)
+ .content(signRequest)
+ )
+ .andExpect(status().isOk())
+ .andExpect(content().contentTypeCompatibleWith(MediaType.APPLICATION_JSON))
+ .andExpect(jsonPath("$.requestID").value(signRequestID))
+ .andExpect(jsonPath("$.signedPDF").isNotEmpty())
+ .andExpect(jsonPath("$.verificationResponse").exists())
+ .andReturn().getResponse().getContentAsString();
+
+ final byte[] signedPDF = Base64.getDecoder().decode(JsonPath.<String>read(signResponse, "$.signedPDF"));
+ assertArrayEquals("Signed data looks PDF-ish (%PDF- header)",
+ new byte[]{'%', 'P', 'D', 'F', '-'}, Arrays.copyOfRange(signedPDF, 0, 5));
+ }
+ }
+
+ @Test
+ @SneakyThrows
+ public void verify_single() {
+ try (val watcher = TestUtils.OperationCountWatcher(mvc, "operation:verify", "status:ok")) {
+ final String pdf = Base64.getEncoder().encodeToString(
+ IOUtils.toByteArray(JsonApiTest.class.getResourceAsStream("/data/dummy-pdf-signed.pdf")));
+
+ final String verifyRequestID = UUID.randomUUID().toString();
+ final String verifyRequest = om.writeValueAsString(
+ Map.of(
+ "requestID", verifyRequestID,
+ "inputData", pdf,
+ "verificationLevel", "intOnly"
+ )
+ );
+
+ mvc.perform(
+ post("/api/v2/verify")
+ .contentType(MediaType.APPLICATION_JSON)
+ .accept(MediaType.APPLICATION_JSON)
+ .content(verifyRequest)
+ )
+ .andExpect(status().isOk())
+ .andExpect(content().contentTypeCompatibleWith(MediaType.APPLICATION_JSON))
+ .andExpect(jsonPath("$.verifyResults").isArray())
+ .andExpect(jsonPath("$.verifyResults.length()").value(1))
+ .andExpect(jsonPath("$.verifyResults[0].requestID").value(verifyRequestID))
+ .andExpect(jsonPath("$.verifyResults[0].error").isEmpty())
+ .andExpect(jsonPath("$.verifyResults[0].signatureIndex").value(0))
+ .andExpect(jsonPath("$.verifyResults[0].signedBy").value("CN=MOA-ID IDP (Test-Version),O=EGIZ,L=Graz,C=AT"));
+ }
+ }
+
+ @Test
+ @SneakyThrows
+ public void openapi_docs_test() {
+ mvc.perform(get("/v3/api-docs"))
+ .andExpect(status().isOk())
+ .andExpect(jsonPath("$.paths['/api/v2/sign/single']").exists())
+ .andExpect(jsonPath("$.paths['/api/v2/sign/bulk']").exists())
+ .andExpect(jsonPath("$.paths['/api/v2/sign/multiple']").exists())
+ .andExpect(jsonPath("$.paths['/api/v2/sign/multiple/get-result']").exists())
+ .andExpect(jsonPath("$.paths['/api/v2/verify']").exists());
+ }
+}
diff --git a/pdf-as-web/src/test/java/at/gv/egiz/pdfas/web/test/MockMoaSigningTest.java b/pdf-as-web/src/test/java/at/gv/egiz/pdfas/web/test/MockMoaSigningTest.java
new file mode 100644
index 00000000..466cfcca
--- /dev/null
+++ b/pdf-as-web/src/test/java/at/gv/egiz/pdfas/web/test/MockMoaSigningTest.java
@@ -0,0 +1,267 @@
+package at.gv.egiz.pdfas.web.test;
+
+import at.gv.e_government.reference.namespace.moa._20020822_.*;
+import at.gv.egiz.pdfas.common.exceptions.PdfAsException;
+import at.gv.egiz.pdfas.lib.api.Configuration;
+import at.gv.egiz.pdfas.lib.api.IConfigurationConstants;
+import at.gv.egiz.pdfas.lib.api.sign.IPlainSigner;
+import at.gv.egiz.pdfas.lib.impl.configuration.ConfigurationImpl;
+import at.gv.egiz.pdfas.moa.MOAConnector;
+import at.gv.egiz.pdfas.sigs.pades.PAdESSignerKeystore;
+import at.gv.egiz.pdfas.sigs.pkcs7detached.PKCS7DetachedSigner;
+import at.gv.egiz.pdfas.web.config.WebConfiguration;
+import at.gv.egiz.pdfas.web.helper.PdfAsHelper;
+import at.gv.egiz.pdfas.web.servlets.ExternSignServlet;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.jayway.jsonpath.JsonPath;
+import iaik.x509.X509Certificate;
+import jakarta.jws.WebService;
+import jakarta.xml.ws.Endpoint;
+import lombok.Lombok;
+import lombok.SneakyThrows;
+import lombok.val;
+import org.apache.commons.io.IOUtils;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.parallel.Execution;
+import org.junit.jupiter.api.parallel.ExecutionMode;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.http.MediaType;
+import org.springframework.test.context.event.annotation.BeforeTestClass;
+import org.springframework.test.context.junit4.SpringRunner;
+import org.springframework.test.web.servlet.MockMvc;
+
+import java.io.*;
+import java.net.ServerSocket;
+import java.security.KeyStore;
+import java.security.PrivateKey;
+import java.util.*;
+
+import static org.junit.Assert.assertArrayEquals;
+import static org.junit.Assert.assertEquals;
+import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
+import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
+import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;
+import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(properties = {
+ "management.endpoint.metrics.enabled=true",
+ "management.endpoints.web.exposure.include=metrics"
+})
+@AutoConfigureMockMvc
+public class MockMoaSigningTest {
+ @Autowired MockMvc mvc;
+ @Autowired ObjectMapper om;
+
+ static {
+ try {
+ System.setProperty("pdf-as-web.conf",
+ (new File(".").getCanonicalPath()) + "/src/test/resources/config/pdfas/pdf-as-web.properties");
+ } catch (Throwable t) {
+ throw Lombok.sneakyThrow(t);
+ }
+ }
+
+ @BeforeClass
+ public static void jceWorkaround() {
+ System.setProperty("javax.net.ssl.trustStoreType", "JKS");
+ }
+
+ @WebService(
+ serviceName = "SignatureCreationService",
+ portName = "SignatureCreationPort",
+ targetNamespace = "http://reference.e-government.gv.at/namespace/moa/20020822#",
+ endpointInterface =
+ "at.gv.e_government.reference.namespace.moa._20020822_.SignatureCreationPortType")
+ static class MockMoa implements AutoCloseable, SignatureCreationPortType {
+ @SneakyThrows
+ private static int freePort() {
+ try (ServerSocket socket = new ServerSocket(0)) {
+ return socket.getLocalPort();
+ }
+ }
+ private static String azstring(int length) {
+ return
+ new Random().ints(97,123).limit(length)
+ .collect(StringBuilder::new, StringBuilder::appendCodePoint, StringBuilder::append)
+ .toString();
+ }
+ public final int port = freePort();
+ public final String endpointURL = "http://127.0.0.1:"+port+"/moa-spss/services/SignatureCreation";
+ public final Endpoint endpoint =
+ Endpoint.publish(endpointURL, this);
+ public final String keyIdentifier = azstring(16);
+
+ public final IPlainSigner signer;
+
+ @SneakyThrows
+ private static Properties getBaseProperties() {
+ try (InputStream in = new FileInputStream(System.getProperty(ExternSignServlet.PDF_AS_WEB_CONF))) {
+ val props = new Properties();
+ props.load(in);
+ return props;
+ }
+ }
+
+ @SneakyThrows
+ private static void injectProperties(Map<String, String> overlay) {
+ val props = getBaseProperties();
+ if (overlay != null) overlay.forEach(props::setProperty);
+ try (val out = new ByteArrayOutputStream()) {
+ props.store(out, "test config");
+ try (val in = new ByteArrayInputStream(out.toByteArray())) {
+ WebConfiguration.configure(in);
+ PdfAsHelper.reloadConfig();
+ PdfAsHelper.init();
+ }
+ }
+ }
+
+ @SneakyThrows
+ public MockMoa() {
+ try {
+ KeyStore ks = KeyStore.getInstance("PKCS12");
+ try (InputStream is = MockMoaSigningTest.class.getResourceAsStream("/config/pdfas/test.p12")) {
+ ks.load(is, "123456".toCharArray());
+ }
+ val alias = ks.aliases().nextElement();
+ val privateKey = (PrivateKey) ks.getKey(alias, "123456".toCharArray());
+ val certificate = new X509Certificate(ks.getCertificate(alias).getEncoded());
+ signer = new PAdESSignerKeystore(privateKey, certificate);
+ } catch (Exception e) {
+ throw Lombok.sneakyThrow(e);
+ }
+
+ // inject ourselves into the configuration
+ injectProperties(Map.of(
+ "moal."+keyIdentifier+".enabled", "true",
+ "moal."+keyIdentifier+".url", endpointURL,
+ "moal."+keyIdentifier+".KeyIdentifier", "KG_TEST",
+ "moal."+keyIdentifier+".Certificate",
+ "base64:"+Base64.getEncoder().encodeToString(signer.getCertificate(null).getEncoded())
+ ));
+ }
+
+ @Override
+ public CreateCMSSignatureResponseType createCMSSignature(CreateCMSSignatureRequest body) throws MOAFault {
+ val signatureInfoList = body.getSingleSignatureInfo();
+ Assertions.assertEquals(1, signatureInfoList.size());
+ val signatureInfo = signatureInfoList.get(0);
+ val dataObjectInfo = signatureInfo.getDataObjectInfo();
+ Assertions.assertEquals("detached", dataObjectInfo.getStructure());
+ val dataObject = dataObjectInfo.getDataObject();
+ Assertions.assertEquals("application/pdf", dataObject.getMetaInfo().getMimeType());
+ val content = dataObject.getContent().getBase64Content();
+ Assertions.assertNotEquals(0, content.length);
+ Assertions.assertEquals("KG_TEST", body.getKeyIdentifier());
+ try {
+ val cms = signer.sign(content, null, null, null);
+ val response = new CreateCMSSignatureResponseType();
+ response.getCMSSignatureOrErrorResponse().add(cms);
+ return response;
+ } catch (PdfAsException e) {
+ throw new MOAFault("Failed to create detached CMS in fake MOA", e);
+ }
+ }
+
+ @Override
+ public CreateXMLSignatureResponseType createXMLSignature(CreateXMLSignatureRequest body) throws MOAFault {
+ throw new IllegalStateException("We do not create XML signatures in this house.");
+ }
+
+ public void close() {
+ endpoint.stop();
+ // remove the injected overlay
+ injectProperties(null);
+ }
+ }
+
+ @Test
+ @SneakyThrows
+ public void signWithMockMOA() {
+ try (val watcher = TestUtils.OperationCountWatcher(mvc, "operation:sign", "status:ok")) {
+ try (MockMoa moa = new MockMoa()) {
+
+ final String pdf = Base64.getEncoder().encodeToString(
+ IOUtils.toByteArray(JsonApiTest.class.getResourceAsStream("/data/enc_own.pdf")));
+
+ final String signRequestID = UUID.randomUUID().toString();
+ final String signRequest = om.writeValueAsString(
+ Map.of(
+ "requestID", signRequestID,
+ "inputData", pdf,
+ "parameters", Map.of(
+ "connector", "moa",
+ "keyIdentifier", moa.keyIdentifier,
+ "transactionId", UUID.randomUUID().toString()
+ )
+ )
+ );
+
+ final String signResponse = mvc.perform(
+ post("/api/v2/sign/single")
+ .contentType(MediaType.APPLICATION_JSON)
+ .accept(MediaType.APPLICATION_JSON)
+ .content(signRequest)
+ )
+ .andExpect(status().isOk())
+ .andExpect(content().contentTypeCompatibleWith(MediaType.APPLICATION_JSON))
+ .andExpect(jsonPath("$.requestID").value(signRequestID))
+ .andExpect(jsonPath("$.signedPDF").isNotEmpty())
+ .andExpect(jsonPath("$.verificationResponse").exists())
+ .andReturn().getResponse().getContentAsString();
+
+ final byte[] signedPDF = Base64.getDecoder().decode(JsonPath.<String>read(signResponse, "$.signedPDF"));
+ assertArrayEquals("Signed data looks PDF-ish (%PDF- header)",
+ new byte[]{'%', 'P', 'D', 'F', '-'}, Arrays.copyOfRange(signedPDF, 0, 5));
+ }
+ }
+ }
+
+ @Test
+ @SneakyThrows
+ public void moaTimeout() {
+ try (MockMoa moa = new MockMoa() {
+ @Override
+ @SneakyThrows
+ public CreateCMSSignatureResponseType createCMSSignature(CreateCMSSignatureRequest body) throws MOAFault {
+ // this will cause a timeout
+ Thread.sleep(300 * 1000);
+ throw new RuntimeException("unreachable");
+ }
+ }) {
+ final String pdf = Base64.getEncoder().encodeToString(
+ IOUtils.toByteArray(JsonApiTest.class.getResourceAsStream("/data/enc_own.pdf")));
+
+ final String signRequestID = UUID.randomUUID().toString();
+ final String signRequest = om.writeValueAsString(
+ Map.of(
+ "requestID", signRequestID,
+ "inputData", pdf,
+ "parameters", Map.of(
+ "connector", "moa",
+ "keyIdentifier", moa.keyIdentifier,
+ "transactionId", UUID.randomUUID().toString()
+ )
+ )
+ );
+
+ mvc.perform(
+ post("/api/v2/sign/single")
+ .contentType(MediaType.APPLICATION_JSON)
+ .accept(MediaType.APPLICATION_JSON)
+ .content(signRequest)
+ )
+ .andExpect(status().isOk())
+ .andExpect(content().contentTypeCompatibleWith(MediaType.APPLICATION_JSON))
+ .andExpect(jsonPath("$.requestID").value(signRequestID))
+ .andExpect(jsonPath("$.signedPDF").isEmpty())
+ .andExpect(jsonPath("$.errorCode").value(11022));
+ }
+ }
+}
diff --git a/pdf-as-web/src/test/java/at/gv/egiz/pdfas/web/test/SimpleSignServletTest.java b/pdf-as-web/src/test/java/at/gv/egiz/pdfas/web/test/SimpleSignServletTest.java
index 7c020b17..8ab9cfaf 100644
--- a/pdf-as-web/src/test/java/at/gv/egiz/pdfas/web/test/SimpleSignServletTest.java
+++ b/pdf-as-web/src/test/java/at/gv/egiz/pdfas/web/test/SimpleSignServletTest.java
@@ -6,11 +6,11 @@ import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.Enumeration;
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletContext;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletConfig;
+import jakarta.servlet.ServletContext;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import org.apache.commons.io.IOUtils;
import org.junit.BeforeClass;
import org.junit.Ignore;
diff --git a/pdf-as-web/src/test/java/at/gv/egiz/pdfas/web/test/SimpleVerifyServletTest.java b/pdf-as-web/src/test/java/at/gv/egiz/pdfas/web/test/SimpleVerifyServletTest.java
index 046a1203..e0075940 100644
--- a/pdf-as-web/src/test/java/at/gv/egiz/pdfas/web/test/SimpleVerifyServletTest.java
+++ b/pdf-as-web/src/test/java/at/gv/egiz/pdfas/web/test/SimpleVerifyServletTest.java
@@ -9,11 +9,11 @@ import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.Enumeration;
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletContext;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletConfig;
+import jakarta.servlet.ServletContext;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.StringUtils;
diff --git a/pdf-as-web/src/test/java/at/gv/egiz/pdfas/web/test/TestUtils.java b/pdf-as-web/src/test/java/at/gv/egiz/pdfas/web/test/TestUtils.java
new file mode 100644
index 00000000..4ee606bb
--- /dev/null
+++ b/pdf-as-web/src/test/java/at/gv/egiz/pdfas/web/test/TestUtils.java
@@ -0,0 +1,30 @@
+package at.gv.egiz.pdfas.web.test;
+
+import com.jayway.jsonpath.JsonPath;
+import lombok.val;
+import org.junit.Assert;
+import org.springframework.test.web.servlet.MockMvc;
+import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
+
+import java.util.Arrays;
+import java.util.List;
+
+public class TestUtils {
+ public static double getOperationCount(MockMvc mvc, String... tags) throws Exception {
+ val builder = MockMvcRequestBuilders.get("/actuator/metrics/pdfas_requests");
+ Arrays.stream(tags).forEach(tag -> builder.param("tag", tag));
+ val result =
+ mvc.perform(builder).andReturn().getResponse();
+ if (result.getStatus() == 404) return 0.0;
+ Assert.assertEquals(200, result.getStatus());
+ return JsonPath.<List<Double>>read(
+ result.getContentAsString(),
+ "$.measurements[?(@.statistic == 'COUNT')].value")
+ .get(0);
+ }
+
+ public static AutoCloseable OperationCountWatcher(MockMvc mvc, String... tags) throws Exception {
+ val initialCount = TestUtils.getOperationCount(mvc, tags);
+ return () -> Assert.assertEquals(initialCount+1.0, TestUtils.getOperationCount(mvc, tags), 0.0001);
+ }
+}
diff --git a/settings.gradle b/settings.gradle
index e82f1166..25b51cdd 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -1,2 +1 @@
-
-include "pdf-as-common", "signature-standards:sigs-pkcs7detached", "signature-standards:sigs-pades", "pdf-as-lib", "pdf-as-pdfbox-2", "pdf-as-moa", "pdf-as-cli", "pdf-as-legacy", "pdf-as-web-status", "pdf-as-web-statistic-api", "pdf-as-web", "pdf-as-web-db", "pdf-as-web-client", "pdf-as-tests" \ No newline at end of file
+include "pdf-as-common", "signature-standards:sigs-pkcs7detached", "signature-standards:sigs-pades", "pdf-as-lib", "pdf-as-pdfbox-2", "pdf-as-pdfbox-3", "pdf-as-moa", "pdf-as-cli", "pdf-as-web-status", "pdf-as-web-statistic-api", "pdf-as-web", "pdf-as-web-db", "pdf-as-web-client", "pdf-as-tests" \ No newline at end of file
diff --git a/signature-standards/sigs-pades/build.gradle b/signature-standards/sigs-pades/build.gradle
index be7777c0..9bef553c 100644
--- a/signature-standards/sigs-pades/build.gradle
+++ b/signature-standards/sigs-pades/build.gradle
@@ -1,5 +1,7 @@
-apply plugin: 'java-library'
-apply plugin: 'eclipse'
+plugins {
+ id 'java-library'
+ id 'eclipse'
+}
jar {
manifest {
@@ -8,23 +10,24 @@ jar {
}
repositories {
- mavenLocal()
+ mavenLocal()
mavenCentral()
}
task releases(type: Copy) {
- from jar.outputs
- into rootDir.toString() + "/releases/" + version
+ from jar.outputs
+ into rootDir.toString() + "/releases/" + version
}
releases.dependsOn jar
releases.dependsOn sourcesJar
dependencies {
- implementation project (':pdf-as-lib')
- implementation project (':pdf-as-common')
- implementation 'org.apache.commons:commons-collections4:4.5.0'
- testImplementation group: 'junit', name: 'junit', version: '4.+'
+ implementation project(':pdf-as-lib')
+ implementation project(':pdf-as-common')
+ implementation group: 'org.apache.commons', name: 'commons-collections4', version: commonsCollectionsVersion
+ implementation group: 'org.slf4j', name: 'slf4j-api', version: slf4jVersion
+ testImplementation group: 'junit', name: 'junit', version: junitVersion
}
test {
diff --git a/signature-standards/sigs-pades/src/main/java/at/gv/egiz/pdfas/sigs/pades/PAdESSignerKeystore.java b/signature-standards/sigs-pades/src/main/java/at/gv/egiz/pdfas/sigs/pades/PAdESSignerKeystore.java
index 4914833e..f12cee90 100644
--- a/signature-standards/sigs-pades/src/main/java/at/gv/egiz/pdfas/sigs/pades/PAdESSignerKeystore.java
+++ b/signature-standards/sigs-pades/src/main/java/at/gv/egiz/pdfas/sigs/pades/PAdESSignerKeystore.java
@@ -39,6 +39,7 @@ import java.util.ArrayList;
import java.util.Date;
import java.util.List;
+import iaik.cms.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -62,10 +63,6 @@ import iaik.asn1.UTF8String;
import iaik.asn1.structures.AlgorithmID;
import iaik.asn1.structures.Attribute;
import iaik.asn1.structures.ChoiceOfTime;
-import iaik.cms.ContentInfo;
-import iaik.cms.IssuerAndSerialNumber;
-import iaik.cms.SignedData;
-import iaik.cms.SignerInfo;
import iaik.smime.ess.ESSCertID;
import iaik.smime.ess.ESSCertIDv2;
import iaik.x509.X509Certificate;
@@ -127,8 +124,6 @@ public class PAdESSignerKeystore implements IPlainSigner, PAdESConstants {
} else {
try {
this.cert = new X509Certificate(cert.getEncoded());
- } catch (CertificateEncodingException e) {
- throw new PDFASError(PDFASError.ERROR_INVALID_CERTIFICATE, e);
} catch (CertificateException e) {
throw new PDFASError(PDFASError.ERROR_INVALID_CERTIFICATE, e);
}
@@ -146,10 +141,12 @@ public class PAdESSignerKeystore implements IPlainSigner, PAdESConstants {
try {
logger.info("Creating PAdES signature.");
- requestedSignature.getStatus().getMetaInformations()
- .put(ErrorConstants.STATUS_INFO_SIGDEVICE, SIGNATURE_DEVICE);
- requestedSignature.getStatus().getMetaInformations()
- .put(ErrorConstants.STATUS_INFO_SIGDEVICEVERSION, PdfAsFactory.getVersion());
+ if (requestedSignature != null) {
+ requestedSignature.getStatus().getMetaInformations()
+ .put(ErrorConstants.STATUS_INFO_SIGDEVICE, SIGNATURE_DEVICE);
+ requestedSignature.getStatus().getMetaInformations()
+ .put(ErrorConstants.STATUS_INFO_SIGDEVICEVERSION, PdfAsFactory.getVersion());
+ }
IssuerAndSerialNumber issuer = new IssuerAndSerialNumber(cert);
@@ -163,7 +160,7 @@ public class PAdESSignerKeystore implements IPlainSigner, PAdESConstants {
//Check PAdES Flag
- if (parameter.getConfiguration().hasValue(IConfigurationConstants.SIG_PADES_FORCE_FLAG))
+ if (parameter != null && parameter.getConfiguration().hasValue(IConfigurationConstants.SIG_PADES_FORCE_FLAG))
{
if (IConfigurationConstants.TRUE.equalsIgnoreCase(parameter.getConfiguration().getValue(IConfigurationConstants.SIG_PADES_FORCE_FLAG)))
{
@@ -193,20 +190,11 @@ public class PAdESSignerKeystore implements IPlainSigner, PAdESConstants {
signature, input);
return signature;
- } catch (NoSuchAlgorithmException e) {
- throw new PdfAsSignatureException("error.pdf.sig.01", e);
- } catch (iaik.cms.CMSException e) {
- throw new PdfAsSignatureException("error.pdf.sig.01", e);
- } catch (IOException e) {
- throw new PdfAsSignatureException("error.pdf.sig.01", e);
- } catch (CertificateException e) {
- throw new PdfAsSignatureException("error.pdf.sig.01", e);
- } catch (CodingException e) {
- throw new PdfAsSignatureException("error.pdf.sig.01", e);
- } catch (PDFASError e) {
+ } catch (NoSuchAlgorithmException | CMSException | IOException | PDFASError | CodingException |
+ CertificateException e) {
throw new PdfAsSignatureException("error.pdf.sig.01", e);
}
- }
+ }
public String getPDFSubFilter() {
return SUBFILTER_ETSI_CADES_DETACHED;
diff --git a/signature-standards/sigs-pades/src/main/java/at/gv/egiz/pdfas/sigs/pades/PAdESVerifier.java b/signature-standards/sigs-pades/src/main/java/at/gv/egiz/pdfas/sigs/pades/PAdESVerifier.java
index 6332153f..5def3019 100644
--- a/signature-standards/sigs-pades/src/main/java/at/gv/egiz/pdfas/sigs/pades/PAdESVerifier.java
+++ b/signature-standards/sigs-pades/src/main/java/at/gv/egiz/pdfas/sigs/pades/PAdESVerifier.java
@@ -27,6 +27,7 @@ import java.util.ArrayList;
import java.util.Date;
import java.util.List;
+import at.gv.egiz.pdfas.lib.impl.verify.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -34,10 +35,6 @@ import at.gv.egiz.pdfas.common.exceptions.PdfAsException;
import at.gv.egiz.pdfas.common.utils.PDFUtils;
import at.gv.egiz.pdfas.lib.api.Configuration;
import at.gv.egiz.pdfas.lib.api.verify.VerifyResult;
-import at.gv.egiz.pdfas.lib.impl.verify.FilterEntry;
-import at.gv.egiz.pdfas.lib.impl.verify.IVerifier;
-import at.gv.egiz.pdfas.lib.impl.verify.IVerifyFilter;
-import at.gv.egiz.pdfas.lib.impl.verify.VerifyResultImpl;
public class PAdESVerifier implements IVerifyFilter, PAdESConstants {
@@ -48,17 +45,15 @@ public class PAdESVerifier implements IVerifyFilter, PAdESConstants {
public PAdESVerifier() {
}
- public List<VerifyResult> verify(byte[] contentData,
- byte[] signatureContent, Date verificationTime, int[] byteRange, IVerifier verifier)
+ @Override
+ public List<VerifyResult> verify(SignatureInputData signedData, byte[] signature,
+ Date verificationTime, IVerifier verifier)
throws PdfAsException {
-
- byte[] data = contentData;
- byte[] signature = signatureContent;
- List<VerifyResult> verifieResults = verifier.verify(signature, data, verificationTime);
+ List<VerifyResult> verifieResults = verifier.verify(signature, signedData, verificationTime);
for(int i =0; i < verifieResults.size();i++) {
VerifyResultImpl result = (VerifyResultImpl)verifieResults.get(i);
- result.setSignatureData(PDFUtils.blackOutSignature(data, byteRange));
+ result.setSignatureData(signedData);
}
return verifieResults;
@@ -71,8 +66,4 @@ public class PAdESVerifier implements IVerifyFilter, PAdESConstants {
return result;
}
- public void setConfiguration(Configuration config) {
- // NOP
- }
-
}
diff --git a/signature-standards/sigs-pkcs7detached/build.gradle b/signature-standards/sigs-pkcs7detached/build.gradle
index 3107252f..d60397a4 100644
--- a/signature-standards/sigs-pkcs7detached/build.gradle
+++ b/signature-standards/sigs-pkcs7detached/build.gradle
@@ -1,5 +1,7 @@
-apply plugin: 'java-library'
-apply plugin: 'eclipse'
+plugins {
+ id 'java-library'
+ id 'eclipse'
+}
jar {
manifest {
@@ -8,23 +10,24 @@ jar {
}
repositories {
- mavenLocal()
+ mavenLocal()
mavenCentral()
}
task releases(type: Copy) {
- from jar.outputs
- into rootDir.toString() + "/releases/" + version
+ from jar.outputs
+ into rootDir.toString() + "/releases/" + version
}
releases.dependsOn jar
releases.dependsOn sourcesJar
dependencies {
- implementation project (':pdf-as-lib')
- implementation project (':pdf-as-common')
- implementation 'org.apache.commons:commons-collections4:4.5.0'
- testImplementation group: 'junit', name: 'junit', version: '4.+'
+ implementation project(':pdf-as-lib')
+ implementation project(':pdf-as-common')
+ implementation group: 'org.apache.commons', name: 'commons-collections4', version: commonsCollectionsVersion
+ implementation group: 'org.slf4j', name: 'slf4j-api', version: slf4jVersion
+ testImplementation group: 'junit', name: 'junit', version: junitVersion
}
test {
diff --git a/signature-standards/sigs-pkcs7detached/src/main/java/at/gv/egiz/pdfas/sigs/pkcs7detached/PKCS7DetachedSigner.java b/signature-standards/sigs-pkcs7detached/src/main/java/at/gv/egiz/pdfas/sigs/pkcs7detached/PKCS7DetachedSigner.java
index 61d4a5ec..8e69a203 100644
--- a/signature-standards/sigs-pkcs7detached/src/main/java/at/gv/egiz/pdfas/sigs/pkcs7detached/PKCS7DetachedSigner.java
+++ b/signature-standards/sigs-pkcs7detached/src/main/java/at/gv/egiz/pdfas/sigs/pkcs7detached/PKCS7DetachedSigner.java
@@ -76,6 +76,11 @@ public class PKCS7DetachedSigner implements IPlainSigner, PKCS7DetachedConstants
}
}
+ public PKCS7DetachedSigner(PrivateKey key, X509Certificate cert) {
+ this.privKey = key;
+ this.cert = cert;
+ }
+
public X509Certificate getCertificate(SignParameter parameter) {
return cert;
}
diff --git a/signature-standards/sigs-pkcs7detached/src/main/java/at/gv/egiz/pdfas/sigs/pkcs7detached/PKCS7DetachedVerifier.java b/signature-standards/sigs-pkcs7detached/src/main/java/at/gv/egiz/pdfas/sigs/pkcs7detached/PKCS7DetachedVerifier.java
index be919046..76919c52 100644
--- a/signature-standards/sigs-pkcs7detached/src/main/java/at/gv/egiz/pdfas/sigs/pkcs7detached/PKCS7DetachedVerifier.java
+++ b/signature-standards/sigs-pkcs7detached/src/main/java/at/gv/egiz/pdfas/sigs/pkcs7detached/PKCS7DetachedVerifier.java
@@ -27,6 +27,7 @@ import java.util.ArrayList;
import java.util.Date;
import java.util.List;
+import at.gv.egiz.pdfas.lib.impl.verify.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -34,10 +35,6 @@ import at.gv.egiz.pdfas.common.exceptions.PdfAsException;
import at.gv.egiz.pdfas.common.utils.PDFUtils;
import at.gv.egiz.pdfas.lib.api.Configuration;
import at.gv.egiz.pdfas.lib.api.verify.VerifyResult;
-import at.gv.egiz.pdfas.lib.impl.verify.FilterEntry;
-import at.gv.egiz.pdfas.lib.impl.verify.IVerifier;
-import at.gv.egiz.pdfas.lib.impl.verify.IVerifyFilter;
-import at.gv.egiz.pdfas.lib.impl.verify.VerifyResultImpl;
public class PKCS7DetachedVerifier implements IVerifyFilter, PKCS7DetachedConstants {
@@ -45,18 +42,16 @@ public class PKCS7DetachedVerifier implements IVerifyFilter, PKCS7DetachedConsta
public PKCS7DetachedVerifier() {
}
-
- public List<VerifyResult> verify(byte[] contentData, byte[] signatureContent,
- Date verificationTime, int[] byteRange, IVerifier verifier)
+
+ @Override
+ public List<VerifyResult> verify(SignatureInputData signedData, byte[] signature,
+ Date verificationTime, IVerifier verifier)
throws PdfAsException {
- byte[] data = contentData;
- byte[] signature = signatureContent;
-
- List<VerifyResult> verifieResults = verifier.verify(signature, data, verificationTime);
+ List<VerifyResult> verifieResults = verifier.verify(signature, signedData, verificationTime);
for(int i =0; i < verifieResults.size();i++) {
VerifyResultImpl result = (VerifyResultImpl)verifieResults.get(i);
- result.setSignatureData(PDFUtils.blackOutSignature(data, byteRange));
+ result.setSignatureData(signedData);
}
return verifieResults;
@@ -70,8 +65,4 @@ public class PKCS7DetachedVerifier implements IVerifyFilter, PKCS7DetachedConsta
return result;
}
- public void setConfiguration(Configuration config) {
- // not needed
- }
-
}