diff options
| author | Thomas Lenz <thomas.lenz@egiz.gv.at> | 2025-08-06 08:02:33 +0200 |
|---|---|---|
| committer | Thomas Lenz <thomas.lenz@egiz.gv.at> | 2025-08-06 08:02:33 +0200 |
| commit | 773535ab90950460f468d2edfc5be396f2776d25 (patch) | |
| tree | f1e1c9841d5094d420d3a9b15a9fb6cdd684f986 | |
| parent | 98967fdd5649dafabc4b225a0496cab4ec034d96 (diff) | |
| download | moa-sig-773535ab90950460f468d2edfc5be396f2776d25.tar.gz moa-sig-773535ab90950460f468d2edfc5be396f2776d25.tar.bz2 moa-sig-773535ab90950460f468d2edfc5be396f2776d25.zip | |
chore(core): refactor to Java 17 and Servlet-API 6.0
25 files changed, 207 insertions, 84 deletions
diff --git a/moaSig/build.gradle b/moaSig/build.gradle index 3dc1893..ddfa15f 100644 --- a/moaSig/build.gradle +++ b/moaSig/build.gradle @@ -25,12 +25,17 @@ allprojects { } } +configurations.all { + exclude group: 'xml-apis', module: 'xml-apis' +} + subprojects { apply plugin: 'java-library' apply plugin: 'eclipse' apply plugin: 'maven-publish' dependencies { + implementation("org.projectlombok:lombok:1.18.38") testImplementation 'junit:junit:4.13.2' } diff --git a/moaSig/common/build.gradle b/moaSig/common/build.gradle index 6054eff..79f1b02 100644 --- a/moaSig/common/build.gradle +++ b/moaSig/common/build.gradle @@ -5,14 +5,25 @@ plugins { dependencies { implementation files('../libs/iaik_jce_full_signed-6.1_moa.jar') - api 'org.slf4j:slf4j-api:1.7.36' - api 'xerces:xercesImpl:2.12.2' - api 'xalan:xalan:2.7.1' - api 'xalan:serializer:2.7.1' - api 'joda-time:joda-time:2.12.7' - api 'jaxen:jaxen:1.2.0' + api 'org.slf4j:slf4j-api:2.0.17' + + api(group: 'xerces', name: 'xercesImpl', version: '2.12.2') { + exclude group: 'xml-apis', module: 'xml-apis' + } + + api(group: 'xalan', name: 'xalan', version: '2.7.1') { + exclude group: 'xml-apis', module: 'xml-apis' + } + + api(group: 'xalan', name: 'serializer', version: '2.7.1') { + exclude group: 'xml-apis', module: 'xml-apis' + } + + api 'joda-time:joda-time:2.14.0' + api 'jaxen:jaxen:2.0.0' } + java { sourceCompatibility = JavaVersion.VERSION_17 targetCompatibility = JavaVersion.VERSION_17 diff --git a/moaSig/common/src/main/java/at/gv/egovernment/moaspss/util/Base64Utils.java b/moaSig/common/src/main/java/at/gv/egovernment/moaspss/util/Base64Utils.java index 2c9b4c0..a95ee5b 100644 --- a/moaSig/common/src/main/java/at/gv/egovernment/moaspss/util/Base64Utils.java +++ b/moaSig/common/src/main/java/at/gv/egovernment/moaspss/util/Base64Utils.java @@ -46,6 +46,7 @@ public class Base64Utils { * @param base64String The <code>String</code> containing the Base64 * encoded bytes. * @param ignoreInvalidChars Whether to ignore invalid Base64 characters. + * @param encoding Char encoding that should be used * @return byte[] The raw bytes contained in the <code>base64String</code>. * @throws IOException Failed to read the Base64 data. */ diff --git a/moaSig/moa-asic/build.gradle b/moaSig/moa-asic/build.gradle index b2b7299..a132b05 100644 --- a/moaSig/moa-asic/build.gradle +++ b/moaSig/moa-asic/build.gradle @@ -19,15 +19,15 @@ configurations { } dependencies { - jaxb 'com.sun.xml.bind:jaxb-xjc:3.0.2' - jaxb 'org.glassfish.jaxb:jaxb-runtime:3.0.2' + jaxb 'com.sun.xml.bind:jaxb-xjc:4.0.5' + jaxb 'org.glassfish.jaxb:jaxb-runtime:4.0.5' implementation project(':common') implementation project(':moa-sig-lib') - api 'jakarta.xml.bind:jakarta.xml.bind-api:3.0.1' - api 'jakarta.xml.ws:jakarta.xml.ws-api:3.0.1' - implementation 'org.slf4j:log4j-over-slf4j:1.7.36' + api 'jakarta.xml.bind:jakarta.xml.bind-api:4.0.2' + api 'jakarta.xml.ws:jakarta.xml.ws-api:4.0.2' + implementation 'org.slf4j:slf4j-api:2.0.17' } sourceSets { diff --git a/moaSig/moa-sig-lib/build.gradle b/moaSig/moa-sig-lib/build.gradle index ee46ed9..dd3a191 100644 --- a/moaSig/moa-sig-lib/build.gradle +++ b/moaSig/moa-sig-lib/build.gradle @@ -17,36 +17,37 @@ distributions { dependencies { implementation project(':common') - testImplementation project(path: ':common', configuration: 'testArtifacts') api fileTree(dir: '../libs', include: ['*.jar']) // api fileTree(dir: '../libs_debug', include: ['*.jar']) api 'at.gv.egovernment.moa.sig:tsl-lib:2.2.0-SNAPSHOT' - api 'commons-logging:commons-logging:1.2' - api 'commons-io:commons-io:2.16.1' - api 'commons-codec:commons-codec:1.16.0' + api 'commons-logging:commons-logging:1.3.5' + api 'commons-io:commons-io:2.20.0' + api 'commons-codec:commons-codec:1.19.0' api 'org.apache.axis:axis-jaxrpc:1.4' - api 'org.xerial:sqlite-jdbc:3.46.1.0' - api 'javax.activation:activation:1.1.1' - api 'jakarta.xml.bind:jakarta.xml.bind-api:3.0.1' - api 'com.sun.xml.bind:jaxb-core:3.0.2' - api 'com.sun.xml.bind:jaxb-impl:3.0.2' - api 'org.postgresql:postgresql:42.7.1' - - api 'org.apache.pdfbox:pdfbox:2.0.32' - api 'org.apache.pdfbox:pdfbox-tools:2.0.32' - api 'org.apache.pdfbox:pdfbox-app:2.0.32' - api 'org.apache.pdfbox:preflight:2.0.32' - api 'org.apache.pdfbox:preflight-app:2.0.32' - api 'org.apache.commons:commons-lang3:3.16.0' - api 'org.apache.httpcomponents:httpclient-cache:4.5.14' - api 'org.slf4j:jcl-over-slf4j:1.7.36' - - testImplementation 'org.junit.jupiter:junit-jupiter-migrationsupport:5.10.1' - testImplementation 'org.junit.platform:junit-platform-engine:1.10.1' - testImplementation 'org.junit.jupiter:junit-jupiter-engine:5.10.1' - testImplementation 'ch.qos.logback:logback-classic:1.2.13' + api 'org.xerial:sqlite-jdbc:3.50.3.0' + api 'jakarta.activation:jakarta.activation-api:2.1.3' + api 'jakarta.xml.bind:jakarta.xml.bind-api:4.0.2' + //api 'com.sun.xml.bind:jaxb-core:4.0.5' + api 'com.sun.xml.bind:jaxb-impl:4.0.5' + api 'org.postgresql:postgresql:42.7.7' + + api 'org.apache.pdfbox:pdfbox:2.0.34' + api 'org.apache.pdfbox:pdfbox-tools:2.0.34' + api 'org.apache.pdfbox:pdfbox-app:2.0.34' + api 'org.apache.pdfbox:preflight:2.0.34' + api 'org.apache.pdfbox:preflight-app:2.0.34' + api 'org.apache.commons:commons-lang3:3.18.0' + api 'org.apache.httpcomponents.client5:httpclient5-cache:5.4.4' + api 'org.slf4j:jcl-over-slf4j:2.0.17' + + + testImplementation project(path: ':common', configuration: 'testArtifacts') + testImplementation 'org.junit.jupiter:junit-jupiter-migrationsupport:5.13.4' + //testImplementation 'org.junit.platform:junit-platform-engine:1.13.4' + testImplementation 'org.junit.jupiter:junit-jupiter-engine:5.13.4' + testImplementation 'ch.qos.logback:logback-classic:1.5.18' } tasks.register('releases', Copy) { diff --git a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/transaction/DeleteableDataSource.java b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/transaction/DeleteableDataSource.java index 335bf68..a60590d 100644 --- a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/transaction/DeleteableDataSource.java +++ b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/transaction/DeleteableDataSource.java @@ -1,6 +1,6 @@ package at.gv.egovernment.moa.spss.server.transaction; -import javax.activation.DataSource; +import jakarta.activation.DataSource; public interface DeleteableDataSource extends DataSource { void delete(); diff --git a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/transaction/TransactionContext.java b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/transaction/TransactionContext.java index 5746657..06326a0 100644 --- a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/transaction/TransactionContext.java +++ b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/transaction/TransactionContext.java @@ -33,14 +33,13 @@ import java.util.Iterator; import java.util.Map.Entry; import java.util.Vector; -import javax.activation.DataSource; - import org.w3c.dom.Element; import at.gv.egovernment.moa.spss.MOAApplicationException; import at.gv.egovernment.moa.spss.server.config.ConfigurationProvider; import at.gv.egovernment.moaspss.logging.Logger; import iaik.xml.crypto.utils.URI; +import jakarta.activation.DataSource; /** * Contains information about the current request. @@ -310,7 +309,7 @@ public class TransactionContext { } // not available in Axis 1.0 to 1.1 // File f = mmds.getDiskCacheFile(); -// if (f!=null) f.delete(); +// if (f!=null) f.delete(); if (mmds instanceof DeleteableDataSource) { ((DeleteableDataSource) mmds).delete(); } diff --git a/moaSig/moa-sig/build.gradle b/moaSig/moa-sig/build.gradle index eba2e76..edd6aa0 100644 --- a/moaSig/moa-sig/build.gradle +++ b/moaSig/moa-sig/build.gradle @@ -17,24 +17,34 @@ configurations { } dependencies { - jaxb 'com.sun.xml.bind:jaxb-xjc:3.0.2' - jaxb 'org.glassfish.jaxb:jaxb-runtime:3.0.2' + jaxb 'com.sun.xml.bind:jaxb-xjc:4.0.5' + jaxb 'org.glassfish.jaxb:jaxb-runtime:4.0.5' - implementation project(':common') + implementation project(':common') implementation project(':moa-sig-lib') implementation project(':moa-asic') implementation fileTree(dir: 'libs', include: ['*.jar']) - compileOnly 'javax.servlet:javax.servlet-api:3.1.0' + compileOnly 'jakarta.servlet:jakarta.servlet-api:6.0.0' implementation 'commons-discovery:commons-discovery:0.5' - implementation 'org.apache.logging.log4j:log4j-1.2-api:2.22.1' - implementation 'org.slf4j:log4j-over-slf4j:1.7.36' - implementation 'javax.jws:javax.jws-api:1.1' - implementation 'ch.qos.logback:logback-classic:1.2.13' + implementation 'org.apache.logging.log4j:log4j-1.2-api:2.25.1' + implementation 'org.slf4j:log4j-over-slf4j:2.0.17' + implementation 'jakarta.jws:jakarta.jws-api:3.0.0' + implementation 'jakarta.xml.bind:jakarta.xml.bind-api:4.0.2' + implementation 'ch.qos.logback:logback-classic:1.5.18' - testImplementation 'org.junit.jupiter:junit-jupiter-migrationsupport:5.10.1' - testImplementation 'org.junit.platform:junit-platform-engine:1.10.1' - testImplementation 'org.junit.jupiter:junit-jupiter-engine:5.10.1' - testImplementation 'ch.qos.logback:logback-classic:1.2.13' + implementation("javax.activation:activation:1.1.1") + implementation("org.eclipse.angus:angus-mail:2.0.4") + + testImplementation 'org.junit.jupiter:junit-jupiter-migrationsupport:5.13.4' + //testImplementation 'org.junit.platform:junit-platform-engine:1.13.4' + testImplementation 'org.junit.jupiter:junit-jupiter-engine:5.13.4' + testImplementation 'ch.qos.logback:logback-classic:1.5.18' + + testImplementation project(':common') + testImplementation project(path: ':common', configuration: 'testArtifacts') + testImplementation project(':moa-sig-lib') + testImplementation project(':moa-asic') + } sourceSets { diff --git a/moaSig/moa-sig/libs/activation-1.1.jar b/moaSig/moa-sig/libs/activation-1.1.jar Binary files differdeleted file mode 100644 index 53f82a1..0000000 --- a/moaSig/moa-sig/libs/activation-1.1.jar +++ /dev/null diff --git a/moaSig/moa-sig/libs/axis-1.0_IAIK_1.3.jar b/moaSig/moa-sig/libs/axis-1.0_IAIK_1.3.jar Binary files differdeleted file mode 100644 index 81103be..0000000 --- a/moaSig/moa-sig/libs/axis-1.0_IAIK_1.3.jar +++ /dev/null diff --git a/moaSig/moa-sig/libs/axis-1.0_IAIK_1.4.jar b/moaSig/moa-sig/libs/axis-1.0_IAIK_1.4.jar Binary files differnew file mode 100644 index 0000000..0935d37 --- /dev/null +++ b/moaSig/moa-sig/libs/axis-1.0_IAIK_1.4.jar diff --git a/moaSig/moa-sig/libs/jakarta.activation-api-2.1.3.jar b/moaSig/moa-sig/libs/jakarta.activation-api-2.1.3.jar Binary files differnew file mode 100644 index 0000000..0d015d5 --- /dev/null +++ b/moaSig/moa-sig/libs/jakarta.activation-api-2.1.3.jar diff --git a/moaSig/moa-sig/libs/jakarta.mail-api-2.1.3.jar b/moaSig/moa-sig/libs/jakarta.mail-api-2.1.3.jar Binary files differnew file mode 100644 index 0000000..6b36779 --- /dev/null +++ b/moaSig/moa-sig/libs/jakarta.mail-api-2.1.3.jar diff --git a/moaSig/moa-sig/libs/mail-1.4.jar b/moaSig/moa-sig/libs/mail-1.4.jar Binary files differdeleted file mode 100644 index 3b28b6e..0000000 --- a/moaSig/moa-sig/libs/mail-1.4.jar +++ /dev/null diff --git a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/service/AxisHandler.java b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/service/AxisHandler.java index 8c220ee..f206167 100644 --- a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/service/AxisHandler.java +++ b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/service/AxisHandler.java @@ -33,8 +33,6 @@ import java.security.cert.X509Certificate; import java.util.Enumeration; import java.util.Iterator; -import javax.servlet.http.HttpServletRequest; - import org.apache.axis.AxisFault; import org.apache.axis.Message; import org.apache.axis.MessageContext; @@ -53,12 +51,15 @@ import at.gv.egovernment.moa.spss.server.config.ConfigurationProvider; import at.gv.egovernment.moa.spss.server.transaction.TransactionContext; import at.gv.egovernment.moa.spss.server.transaction.TransactionContextManager; import at.gv.egovernment.moa.spss.server.transaction.TransactionIDGenerator; +import at.gv.egovernment.moa.spss.server.utils.DataHandlerConverter; import at.gv.egovernment.moa.spss.util.MessageProvider; import at.gv.egovernment.moaspss.logging.LogMsg; import at.gv.egovernment.moaspss.logging.Logger; import at.gv.egovernment.moaspss.logging.LoggingContext; import at.gv.egovernment.moaspss.logging.LoggingContextManager; import at.gv.egovernment.moaspss.util.DOMUtils; +import jakarta.activation.DataHandler; +import jakarta.servlet.http.HttpServletRequest; /** * An handler that is invoked on each web service request and performs some @@ -202,7 +203,11 @@ public class AxisHandler extends BasicHandler { // content with Object content = // attachment.getContent();) InputStream is = null; - final javax.activation.DataHandler datahandler = attachment.getDataHandler(); + + Object dataHandlerObj = attachment.getDataHandler(); + final DataHandler datahandler = dataHandlerObj instanceof DataHandler + ? (DataHandler) dataHandlerObj + : DataHandlerConverter.convert((javax.activation.DataHandler) dataHandlerObj); final int TYPE = 2; switch (TYPE) { diff --git a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/service/CertificateProviderServlet.java b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/service/CertificateProviderServlet.java index bc2c3b6..dee5d90 100644 --- a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/service/CertificateProviderServlet.java +++ b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/service/CertificateProviderServlet.java @@ -11,11 +11,6 @@ import java.util.Iterator; import java.util.List; import java.util.Set; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - import at.gv.egovernment.moa.spss.server.config.ConfigurationException; import at.gv.egovernment.moa.spss.server.config.ConfigurationProvider; import at.gv.egovernment.moa.spss.server.config.KeyGroupEntry; @@ -25,6 +20,10 @@ import at.gv.egovernment.moaspss.logging.Logger; import iaik.server.modules.keys.KeyEntryID; import iaik.server.modules.keys.KeyModule; import iaik.server.modules.keys.KeyModuleFactory; +import jakarta.servlet.ServletException; +import jakarta.servlet.http.HttpServlet; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; /** * @@ -34,7 +33,7 @@ import iaik.server.modules.keys.KeyModuleFactory; public class CertificateProviderServlet extends HttpServlet { /** - * + * */ private static final long serialVersionUID = -6907582473072190122L; @@ -46,7 +45,7 @@ public class CertificateProviderServlet extends HttpServlet { /** * Build the set of <code>KeyEntryID</code>s available to the given * <code>keyGroupID</code>. - * + * * @param keyGroupID The keygroup ID for which the available keys should be * returned. * @return The <code>Set</code> of <code>KeyEntryID</code>s identifying the diff --git a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/service/ConfigurationServlet.java b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/service/ConfigurationServlet.java index 135d652..6127305 100644 --- a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/service/ConfigurationServlet.java +++ b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/service/ConfigurationServlet.java @@ -29,11 +29,6 @@ import java.util.ArrayList; import java.util.Iterator; import java.util.List; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - import at.gv.egovernment.moa.spss.server.config.ConfigurationProvider; import at.gv.egovernment.moa.spss.server.iaik.config.IaikConfigurator; import at.gv.egovernment.moa.spss.server.init.SystemInitializer; @@ -42,6 +37,10 @@ import at.gv.egovernment.moaspss.logging.LogMsg; import at.gv.egovernment.moaspss.logging.Logger; import at.gv.egovernment.moaspss.logging.LoggingContext; import at.gv.egovernment.moaspss.logging.LoggingContextManager; +import jakarta.servlet.ServletException; +import jakarta.servlet.http.HttpServlet; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; /** * A servlet to initialize and update the MOA configuration. @@ -52,7 +51,7 @@ import at.gv.egovernment.moaspss.logging.LoggingContextManager; */ public class ConfigurationServlet extends HttpServlet { /** - * + * */ private static final long serialVersionUID = 8372961105222028696L; /** The document type of the HTML to generate. */ diff --git a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/service/SignatureCreationService.java b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/service/SignatureCreationService.java index 4030883..7973e44 100644 --- a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/service/SignatureCreationService.java +++ b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/service/SignatureCreationService.java @@ -63,7 +63,7 @@ public class SignatureCreationService { /** * Handle a <code>CreatePDFSignatureRequest</code>. - * + * * @param request The <code>CreatePDFSignatureRequest</code> to work on * (contained in the 0th element of the array). * @return A <code>CreatePDFSignatureResponse</code> as the only element of the @@ -152,7 +152,7 @@ public class SignatureCreationService { /** * Handle a <code>CreateXMLSignatureRequest</code>. - * + * * @param request The <code>CreateXMLSignatureRequest</code> to work on * (contained in the 0th element of the array). * @return A <code>CreateXMLSignatureResponse</code> as the only element of the diff --git a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/service/TSLClientStatusServlet.java b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/service/TSLClientStatusServlet.java index 3bf9a37..abdf121 100644 --- a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/service/TSLClientStatusServlet.java +++ b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/service/TSLClientStatusServlet.java @@ -5,18 +5,17 @@ import java.io.PrintWriter; import java.text.MessageFormat; import java.util.List; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - import at.gv.egovernment.moa.sig.tsl.engine.data.TSLProcessingResultElement; import at.gv.egovernment.moa.spss.server.monitoring.ServiceStatusContainer; +import jakarta.servlet.ServletException; +import jakarta.servlet.http.HttpServlet; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; public class TSLClientStatusServlet extends HttpServlet { /** - * + * */ private static final long serialVersionUID = 1L; diff --git a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/utils/DataHandlerConverter.java b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/utils/DataHandlerConverter.java new file mode 100644 index 0000000..fd11789 --- /dev/null +++ b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/utils/DataHandlerConverter.java @@ -0,0 +1,49 @@ +package at.gv.egovernment.moa.spss.server.utils; + +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; + +import lombok.experimental.UtilityClass; + +/** + * Utility to convert javax.activation.DataHandler to jakarta.activation.DataHandler. + */ +@UtilityClass +public class DataHandlerConverter { + + /** + * Converts javax.activation.DataHandler to jakarta.activation.DataHandler + */ + public static jakarta.activation.DataHandler convert(javax.activation.DataHandler oldHandler) { + if (oldHandler == null) return null; + + javax.activation.DataSource oldSource = oldHandler.getDataSource(); + + // Wrap the old javax.activation.DataSource in a jakarta.activation.DataSource + jakarta.activation.DataSource newSource = new jakarta.activation.DataSource() { + @Override + public InputStream getInputStream() throws IOException { + return oldSource.getInputStream(); + } + + @Override + public OutputStream getOutputStream() throws IOException { + return oldSource.getOutputStream(); + } + + @Override + public String getContentType() { + return oldSource.getContentType(); + } + + @Override + public String getName() { + return oldSource.getName(); + } + }; + + return new jakarta.activation.DataHandler(newSource); + } +} + diff --git a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/utils/LoggerUtils.java b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/utils/LoggerUtils.java new file mode 100644 index 0000000..78d5039 --- /dev/null +++ b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/utils/LoggerUtils.java @@ -0,0 +1,41 @@ +package at.gv.egovernment.moa.spss.server.utils; + +import java.util.Properties; + +import iaik.logging.LogConfigurationException; +import iaik.logging.LogFactory; +import iaik.logging.LoggerConfig; +import lombok.experimental.UtilityClass; + +/** + * Logging helper. + */ +@UtilityClass +public class LoggerUtils { + + /** + * Fix {@link iaik.logging.impl.LogSlf4jFactoryImpl}, because it uses + * <code>org.slf4j.impl.StaticLoggerBinder</code> which was removed since v + * 1.5.x. + */ + public static void fixLoggerFactory() { + LogFactory.configure(new LoggerConfig() { + + @Override + public Properties getProperties() throws LogConfigurationException { + return null; + } + + @Override + public String getNodeId() { + return null; + } + + @Override + public String getFactory() { + return "iaik.logging.impl.OwnLogSlf4jFactoryImpl"; + } + }); + } + +} diff --git a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/SignatureCreationService.java b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/SignatureCreationService.java index bf06ff6..4b91ec1 100644 --- a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/SignatureCreationService.java +++ b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/SignatureCreationService.java @@ -1,8 +1,8 @@ package at.gv.egovernment.moa.spss.server.webservice; -import javax.jws.WebMethod; -import javax.jws.WebParam; -import javax.jws.WebService; +import jakarta.jws.WebMethod; +import jakarta.jws.WebParam; +import jakarta.jws.WebService; @WebService(name = "SignatureCreationService", targetNamespace = "http://reference.e-government.gv.at/namespace/moa/20151109#") @@ -24,7 +24,7 @@ public interface SignatureCreationService { * @WebMethod(action = "PDFSignatureCreate", operationName = * "PDFSignatureCreate") public at.gv.egiz.moasig.CreatePDFSignatureResponseType * createPDFSignature( - * + * * @WebParam(name = "CreatePDFSignatureRequest") * at.gv.egiz.moasig.CreatePDFSignatureRequest createPDFSignatureRequest) throws * Exception; diff --git a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/SignatureVerificationService.java b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/SignatureVerificationService.java index ca30650..d8aa9b6 100644 --- a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/SignatureVerificationService.java +++ b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/SignatureVerificationService.java @@ -1,8 +1,8 @@ package at.gv.egovernment.moa.spss.server.webservice; -import javax.jws.WebMethod; -import javax.jws.WebParam; -import javax.jws.WebService; +import jakarta.jws.WebMethod; +import jakarta.jws.WebParam; +import jakarta.jws.WebService; @WebService(name = "SignatureVerificationService", targetNamespace = "http://reference.e-government.gv.at/namespace/moa/20151109#") diff --git a/moaSig/moa-sig/src/main/resources/logback.xml b/moaSig/moa-sig/src/main/resources/logback.xml index 0012e81..0afb5cc 100644 --- a/moaSig/moa-sig/src/main/resources/logback.xml +++ b/moaSig/moa-sig/src/main/resources/logback.xml @@ -12,7 +12,7 @@ <!--See also http://logback.qos.ch/manual/appenders.html#RollingFileAppender--> <File>${catalina.base}/logs/moa-spss.log</File> <encoder> - <pattern>logback | %5p | %d{dd HH:mm:ss,SSS} | %C{1} | %20c | %10t | %m%n</pattern> + <pattern>%5p | %d{dd HH:mm:ss.SSS} | %C{1} | %20c | %10t | %m%n</pattern> </encoder> <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> <maxIndex>10</maxIndex> @@ -24,7 +24,7 @@ </appender> <appender name="stdout" class="ch.qos.logback.core.ConsoleAppender"> <encoder> - <pattern>logback | %5p | %d{dd HH:mm:ss,SSS} | %C{1} | %20c | %10t | %m%n</pattern> + <pattern>%5p | %d{dd HH:mm:ss.SSS} | %C{1} | %20c | %10t | %m%n</pattern> </encoder> </appender> <logger name="moa.spss.server" level="info"> diff --git a/moaSig/moa-sig/src/test/java/at/gv/egovernment/moa/spss/test/integration/CadesIntegrationTest.java b/moaSig/moa-sig/src/test/java/at/gv/egovernment/moa/spss/test/integration/CadesIntegrationTest.java index 191bed9..a88873a 100644 --- a/moaSig/moa-sig/src/test/java/at/gv/egovernment/moa/spss/test/integration/CadesIntegrationTest.java +++ b/moaSig/moa-sig/src/test/java/at/gv/egovernment/moa/spss/test/integration/CadesIntegrationTest.java @@ -38,6 +38,7 @@ import at.gv.egovernment.moa.spss.server.config.ConfigurationProvider; import at.gv.egovernment.moa.spss.server.init.SystemInitializer; import at.gv.egovernment.moa.spss.server.invoke.CMSSignatureCreationInvoker; import at.gv.egovernment.moa.spss.server.invoke.CMSSignatureVerificationInvoker; +import at.gv.egovernment.moa.spss.server.utils.LoggerUtils; import at.gv.egovernment.moa.spss.tsl.TSLServiceFactory; import at.gv.egovernment.moaspss.util.DOMUtils; import iaik.pki.Configurator; @@ -52,6 +53,9 @@ public class CadesIntegrationTest extends AbstractIntegrationTest { @BeforeClass public static void classInitializer() throws IOException, ConfigurationException, NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException { + + LoggerUtils.fixLoggerFactory(); + jvmStateReset(); final String current = new java.io.File(".").getCanonicalPath(); |
