From 5bbd8afaac585f127c45e979db68be0fc85b276b Mon Sep 17 00:00:00 2001 From: Adam Retter Date: Thu, 30 Oct 2025 13:42:01 +0100 Subject: [PATCH 1/2] [bugfix] Update dependency and plugin versions --- elemental-parent/pom.xml | 22 +++++++-------- exist-core/pom.xml | 10 +++---- exist-distribution/pom.xml | 2 +- exist-parent/pom.xml | 22 +++++++-------- extensions/contentextraction/pom.xml | 2 +- extensions/indexes/spatial/pom.xml | 39 --------------------------- extensions/modules/mail/pom.xml | 2 +- extensions/modules/sql-oracle/pom.xml | 4 +-- 8 files changed, 32 insertions(+), 71 deletions(-) diff --git a/elemental-parent/pom.xml b/elemental-parent/pom.xml index 0dea922d7b..6ad8bc62d6 100644 --- a/elemental-parent/pom.xml +++ b/elemental-parent/pom.xml @@ -95,8 +95,8 @@ ${project.groupId}:${project.artifactId} - 1.13.3 - 5.13.3 + 1.14.0 + 5.14.0 3.4 3.0.1 3.0.2 @@ -127,7 +127,7 @@ org.apache.maven.plugins maven-compiler-plugin - 3.14.0 + 3.14.1 ${project.build.source} ${project.build.target} @@ -190,7 +190,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.11.2 + 3.12.0 ${project.build.source} @@ -292,7 +292,7 @@ org.apache.maven.plugins maven-dependency-plugin - 3.8.1 + 3.9.0 org.apache.maven.plugins @@ -330,13 +330,13 @@ org.sonatype.central central-publishing-maven-plugin - 0.8.0 + 0.9.0 true org.apache.maven.plugins maven-scm-plugin - 2.1.0 + 2.2.1 true @@ -349,7 +349,7 @@ org.jacoco jacoco-maven-plugin - 0.8.13 + 0.8.14 jacocoArgLine @@ -367,7 +367,7 @@ org.codehaus.mojo versions-maven-plugin - 2.18.0 + 2.19.1 org.apache.maven.plugins @@ -422,12 +422,12 @@ org.apache.maven.plugins maven-surefire-report-plugin - 3.5.3 + 3.5.4 org.apache.maven.plugins maven-failsafe-plugin - 3.5.3 + 3.5.4 **/*IT.java diff --git a/exist-core/pom.xml b/exist-core/pom.xml index c22524cb6b..ff33bb5e4a 100644 --- a/exist-core/pom.xml +++ b/exist-core/pom.xml @@ -92,7 +92,7 @@ com.fasterxml.jackson.core jackson-core - 2.19.1 + 2.20.0 @@ -186,7 +186,7 @@ org.bouncycastle bcprov-jdk18on - 1.81 + 1.82 @@ -209,7 +209,7 @@ com.fasterxml.uuid java-uuid-generator - 5.1.0 + 5.1.1 @@ -482,7 +482,7 @@ org.quartz-scheduler quartz - 2.4.0 + 2.4.1 @@ -615,7 +615,7 @@ commons-fileupload commons-fileupload - 1.5 + 1.6.0 - @@ -112,46 +110,11 @@ - org.geotools gt2-referencing ${geotools.version} - com.vividsolutions jts @@ -296,8 +259,6 @@ java3d:vecmath:jar:1.3.1 javax.media:jai_core:jar:1.1.3 org.junit.vintage:junit-vintage-engine:jar - - diff --git a/extensions/modules/mail/pom.xml b/extensions/modules/mail/pom.xml index 21a694049d..6ebd5523e0 100644 --- a/extensions/modules/mail/pom.xml +++ b/extensions/modules/mail/pom.xml @@ -71,7 +71,7 @@ 2.0.1 - 2.0.1 + 2.0.2 2.0.1 diff --git a/extensions/modules/sql-oracle/pom.xml b/extensions/modules/sql-oracle/pom.xml index 682feebaa5..1737047df9 100644 --- a/extensions/modules/sql-oracle/pom.xml +++ b/extensions/modules/sql-oracle/pom.xml @@ -133,9 +133,9 @@ - com.oracle.jdbc + com.oracle.database.jdbc ojdbc8 - 23.8.0.25.04 + 23.26.0.0.0 From 3efe7482fdd9649c3f02034abf7cbcd5795f3864 Mon Sep 17 00:00:00 2001 From: Adam Retter Date: Thu, 30 Oct 2025 13:45:38 +0100 Subject: [PATCH 2/2] [bugfix] Make sure to correctly configure the Transformer --- .../org/exist/xquery/functions/validation/Jaxp.java | 3 ++- .../xquery/modules/mail/SendEmailFunction.java | 13 ++++++++----- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/exist-core/src/main/java/org/exist/xquery/functions/validation/Jaxp.java b/exist-core/src/main/java/org/exist/xquery/functions/validation/Jaxp.java index 3cc8551cad..933e840eca 100644 --- a/exist-core/src/main/java/org/exist/xquery/functions/validation/Jaxp.java +++ b/exist-core/src/main/java/org/exist/xquery/functions/validation/Jaxp.java @@ -106,6 +106,7 @@ import org.exist.xquery.value.Type; import org.exist.xquery.value.ValueSequence; +import org.exist.xslt.TransformerFactoryAllocator; import org.xml.sax.ContentHandler; import org.xml.sax.InputSource; import org.xml.sax.SAXException; @@ -460,7 +461,7 @@ private Path preparseDTD(StreamSource instance, String systemId) final StreamResult result = new StreamResult(tmp.toFile()); - final TransformerFactory tf = TransformerFactory.newInstance(); + final TransformerFactory tf = TransformerFactoryAllocator.getTransformerFactory(context.getBroker().getBrokerPool()); final Transformer transformer = tf.newTransformer(); diff --git a/extensions/modules/mail/src/main/java/org/exist/xquery/modules/mail/SendEmailFunction.java b/extensions/modules/mail/src/main/java/org/exist/xquery/modules/mail/SendEmailFunction.java index 4fe2131f1e..f2337770ef 100644 --- a/extensions/modules/mail/src/main/java/org/exist/xquery/modules/mail/SendEmailFunction.java +++ b/extensions/modules/mail/src/main/java/org/exist/xquery/modules/mail/SendEmailFunction.java @@ -54,6 +54,7 @@ import org.exist.util.MimeTable; import org.exist.xquery.*; import org.exist.xquery.value.*; +import org.exist.xslt.TransformerFactoryAllocator; import org.w3c.dom.Element; import org.w3c.dom.Node; @@ -65,8 +66,8 @@ import javax.annotation.Nullable; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerException; -import javax.xml.transform.TransformerFactory; import javax.xml.transform.dom.DOMSource; +import javax.xml.transform.sax.SAXTransformerFactory; import javax.xml.transform.stream.StreamResult; import java.io.*; import java.net.InetAddress; @@ -90,7 +91,6 @@ public class SendEmailFunction extends BasicFunction { private static final Logger LOGGER = LogManager.getLogger(SendEmailFunction.class); - private static final TransformerFactory TRANSFORMER_FACTORY = TransformerFactory.newInstance(); private final static int MIME_BASE64_MAX_LINE_LENGTH = 76; //RFC 2045, page 24 @@ -700,7 +700,8 @@ private Mail[] parseMailElement(final Element[] mailElements) throws Transformer mail.setText(bodyPart.getFirstChild().getNodeValue()); } else if ("xhtml".equals(bodyPart.getLocalName())) { //Convert everything inside to text - final Transformer transformer = TRANSFORMER_FACTORY.newTransformer(); + final SAXTransformerFactory factory = TransformerFactoryAllocator.getTransformerFactory(context.getBroker().getBrokerPool()); + final Transformer transformer = factory.newTransformer(); final DOMSource source = new DOMSource(bodyPart.getFirstChild()); try (final StringBuilderWriter strWriter = new StringBuilderWriter()) { final StreamResult result = new StreamResult(strWriter); @@ -839,7 +840,8 @@ private Message[] parseMessageElement(final Session session, final Element[] mai break; case "xhtml": //Convert everything inside to text - final Transformer transformer = TRANSFORMER_FACTORY.newTransformer(); + final SAXTransformerFactory factory = TransformerFactoryAllocator.getTransformerFactory(context.getBroker().getBrokerPool()); + final Transformer transformer = factory.newTransformer(); final DOMSource source = new DOMSource(bodyPart.getFirstChild()); try (final StringBuilderWriter strWriter = new StringBuilderWriter()) { final StreamResult result = new StreamResult(strWriter); @@ -906,7 +908,8 @@ private Message[] parseMessageElement(final Session session, final Element[] mai Node attachChild = attachment.getFirstChild(); while (attachChild != null) { if (Node.ELEMENT_NODE == attachChild.getNodeType()) { - final Transformer transformer = TRANSFORMER_FACTORY.newTransformer(); + final SAXTransformerFactory factory = TransformerFactoryAllocator.getTransformerFactory(context.getBroker().getBrokerPool()); + final Transformer transformer = factory.newTransformer(); final DOMSource source = new DOMSource(attachChild); try (final StringBuilderWriter strWriter = new StringBuilderWriter()) { final StreamResult result = new StreamResult(strWriter);