You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2022/10/05 11:31:32 UTC

[camel] branch camel-3.18.x updated: CAMEL-18346 Remove use of xalan (#8478)

This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch camel-3.18.x
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/camel-3.18.x by this push:
     new 3ad357f19a2 CAMEL-18346 Remove use of xalan (#8478)
3ad357f19a2 is described below

commit 3ad357f19a2755766799d22494e285d3f833705b
Author: Tom Cunningham <tc...@redhat.com>
AuthorDate: Wed Oct 5 07:31:25 2022 -0400

    CAMEL-18346 Remove use of xalan (#8478)
    
    * CAMEL-18346 Remove xalan-specific code / references (#8254)
    
    * CAMEL-18346 Remove use of xalan : remove profiles, remove from camel-eip-documentation-enricher-maven-plugin, remove from camel-xmlsecurity (#8247)
---
 .../src/main/resources/notice-supplements.xml      | 17 --------------
 camel-dependencies/pom.xml                         |  1 -
 .../component/cxf/converter/CachedCxfPayload.java  |  5 ----
 components/camel-fop/pom.xml                       | 11 ---------
 .../spring/ws/SpringWebserviceHelper.java          |  5 ----
 components/camel-xmlsecurity/pom.xml               |  4 ----
 core/camel-core-engine/pom.xml                     | 11 ---------
 .../org/apache/camel/builder/xml/XPathTest.java    | 27 ----------------------
 core/camel-management-api/pom.xml                  | 11 ---------
 core/camel-management/pom.xml                      | 11 ---------
 .../apache/camel/converter/jaxp/XmlConverter.java  |  6 -----
 parent/pom.xml                                     |  6 -----
 .../pom.xml                                        |  5 ----
 .../integration/EIPDocumentationMojoTest.java      |  5 ++--
 14 files changed, 3 insertions(+), 122 deletions(-)

diff --git a/buildingtools/src/main/resources/notice-supplements.xml b/buildingtools/src/main/resources/notice-supplements.xml
index 4ee9c872a8b..0ca92261649 100644
--- a/buildingtools/src/main/resources/notice-supplements.xml
+++ b/buildingtools/src/main/resources/notice-supplements.xml
@@ -137,23 +137,6 @@
       </licenses>
     </project>
   </supplement>
-  <supplement>
-    <project>
-      <groupId>xalan</groupId>
-      <artifactId>xalan</artifactId>
-      <name>Apache Xalan-Java</name>
-      <organization>
-        <name>The Apache Software Foundation</name>
-        <url>http://www.apache.org</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>The Apache Software License, Version 2.0</name>
-          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
   <supplement>
     <project>
       <groupId>net.java.dev.stax-utils</groupId>
diff --git a/camel-dependencies/pom.xml b/camel-dependencies/pom.xml
index 85f1476ac04..fd347bb3c1c 100644
--- a/camel-dependencies/pom.xml
+++ b/camel-dependencies/pom.xml
@@ -546,7 +546,6 @@
     <wiremock-version>2.32.0</wiremock-version>
     <woodstox-core-version>6.1.1</woodstox-core-version>
     <woodstox-version>4.4.1</woodstox-version>
-    <xalan-version>2.7.2</xalan-version>
     <xbean-asm5-shaded-version>4.5</xbean-asm5-shaded-version>
     <xbean-spring-version>4.21</xbean-spring-version>
     <xchange-guava-version>29.0-jre</xchange-guava-version>
diff --git a/components/camel-cxf/camel-cxf-common/src/main/java/org/apache/camel/component/cxf/converter/CachedCxfPayload.java b/components/camel-cxf/camel-cxf-common/src/main/java/org/apache/camel/component/cxf/converter/CachedCxfPayload.java
index 18e4fac91f1..e40d134ef8d 100644
--- a/components/camel-cxf/camel-cxf-common/src/main/java/org/apache/camel/component/cxf/converter/CachedCxfPayload.java
+++ b/components/camel-cxf/camel-cxf-common/src/main/java/org/apache/camel/component/cxf/converter/CachedCxfPayload.java
@@ -129,11 +129,6 @@ public class CachedCxfPayload<T> extends CxfPayload<T> implements StreamCache {
                 outputProperties.put("omit-xml-declaration", "yes");
 
                 transformer.setOutputProperties(outputProperties);
-                if (factory.getClass().getName().equals("org.apache.xalan.processor.TransformerFactoryImpl")
-                        && source instanceof StAXSource) {
-                    source = new StAX2SAXSource(((StAXSource) source).getXMLStreamReader());
-                }
-
                 transformer.transform(source, result);
             }
         }
diff --git a/components/camel-fop/pom.xml b/components/camel-fop/pom.xml
index 179fae8f7fe..f1cc67b4579 100644
--- a/components/camel-fop/pom.xml
+++ b/components/camel-fop/pom.xml
@@ -81,17 +81,6 @@
             <scope>test</scope>
         </dependency>
 
-        <!-- Xalan Serializer dependencies are not  -->
-        <!-- correctly imported from batik for tests  -->
-        <!-- and as such they will fail. Must add to  -->
-        <!-- the test scope. -->
-        <dependency>
-            <groupId>xalan</groupId>
-            <artifactId>serializer</artifactId>
-            <version>${xalan-version}</version>
-            <scope>test</scope>
-        </dependency>
-
         <dependency>
             <groupId>org.apache.logging.log4j</groupId>
             <artifactId>log4j-slf4j-impl</artifactId>
diff --git a/components/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceHelper.java b/components/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceHelper.java
index 9cbf54d7e8e..97bce2080a1 100644
--- a/components/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceHelper.java
+++ b/components/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceHelper.java
@@ -49,11 +49,6 @@ public final class SpringWebserviceHelper {
                 outputProperties.put("omit-xml-declaration", "yes");
 
                 transformer.setOutputProperties(outputProperties);
-                if (factory.getClass().getName().equals("org.apache.xalan.processor.TransformerFactoryImpl")
-                        && source instanceof StAXSource) {
-                    source = new StAX2SAXSource(((StAXSource) source).getXMLStreamReader());
-                }
-
                 transformer.transform(source, result);
             }
         }
diff --git a/components/camel-xmlsecurity/pom.xml b/components/camel-xmlsecurity/pom.xml
index c65231c1eff..839b460bf32 100644
--- a/components/camel-xmlsecurity/pom.xml
+++ b/components/camel-xmlsecurity/pom.xml
@@ -57,10 +57,6 @@
             <artifactId>xmlsec</artifactId>
             <version>${xmlsec-version}</version>
         </dependency>
-        <dependency>
-            <groupId>xalan</groupId>
-            <artifactId>xalan</artifactId>
-        </dependency>
 
         <!-- test dependencies -->
         <dependency>
diff --git a/core/camel-core-engine/pom.xml b/core/camel-core-engine/pom.xml
index 8a8acc30acc..aa73e95b4c7 100644
--- a/core/camel-core-engine/pom.xml
+++ b/core/camel-core-engine/pom.xml
@@ -321,17 +321,6 @@
             </build>
         </profile>
 
-        <profile>
-            <id>xalan</id>
-            <dependencies>
-                <!-- enable the Xalan processor -->
-                <dependency>
-                    <groupId>xalan</groupId>
-                    <artifactId>xalan</artifactId>
-                    <version>${xalan-version}</version>
-                </dependency>
-            </dependencies>
-        </profile>
         <profile>
             <id>xerces</id>
             <dependencies>
diff --git a/core/camel-core/src/test/java/org/apache/camel/builder/xml/XPathTest.java b/core/camel-core/src/test/java/org/apache/camel/builder/xml/XPathTest.java
index 88c52fc751b..47eecd83b51 100644
--- a/core/camel-core/src/test/java/org/apache/camel/builder/xml/XPathTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/builder/xml/XPathTest.java
@@ -306,33 +306,6 @@ public class XPathTest extends ContextTestSupport {
         assertTrue(result.toString().contains("James"));
     }
 
-    @Test
-    public void testUsingJavaExtensions() throws Exception {
-        Object instance = null;
-
-        // we may not have Xalan on the classpath
-        try {
-            instance = Class.forName("org.apache.xalan.extensions.XPathFunctionResolverImpl").getDeclaredConstructor()
-                    .newInstance();
-        } catch (Throwable e) {
-
-            log.debug("Could not find Xalan on the classpath so ignoring this test case: " + e);
-        }
-        if (instance instanceof XPathFunctionResolver) {
-            XPathFunctionResolver functionResolver = (XPathFunctionResolver) instance;
-
-            XPathBuilder builder = xpath("java:" + getClass().getName() + ".func(string(/header/value))")
-                    .namespace("java", "http://xml.apache.org/xalan/java")
-                    .functionResolver(functionResolver).stringResult();
-
-            String xml = "<header><value>12</value></header>";
-            // it can throw the exception if we put the xalan into the test
-            // class path
-            assertExpression(builder, xml, "modified12");
-        }
-
-    }
-
     public static String func(String message) {
         return "modified" + message;
     }
diff --git a/core/camel-management-api/pom.xml b/core/camel-management-api/pom.xml
index 48aaeab5393..62eee68e329 100644
--- a/core/camel-management-api/pom.xml
+++ b/core/camel-management-api/pom.xml
@@ -218,17 +218,6 @@
             </build>
         </profile>
         
-        <profile>
-            <id>xalan</id>
-            <dependencies>
-                <!-- enable the Xalan processor -->
-                <dependency>
-                    <groupId>xalan</groupId>
-                    <artifactId>xalan</artifactId>
-                    <version>${xalan-version}</version>
-                </dependency>
-            </dependencies>
-        </profile>
         <profile>
             <id>xerces</id>
             <dependencies>
diff --git a/core/camel-management/pom.xml b/core/camel-management/pom.xml
index 46caf9e1a9b..061826a952b 100644
--- a/core/camel-management/pom.xml
+++ b/core/camel-management/pom.xml
@@ -282,17 +282,6 @@
             </build>
         </profile>
 
-        <profile>
-            <id>xalan</id>
-            <dependencies>
-                <!-- enable the Xalan processor -->
-                <dependency>
-                    <groupId>xalan</groupId>
-                    <artifactId>xalan</artifactId>
-                    <version>${xalan-version}</version>
-                </dependency>
-            </dependencies>
-        </profile>
         <profile>
             <id>xerces</id>
             <dependencies>
diff --git a/core/camel-xml-jaxp/src/main/java/org/apache/camel/converter/jaxp/XmlConverter.java b/core/camel-xml-jaxp/src/main/java/org/apache/camel/converter/jaxp/XmlConverter.java
index 80f022d46c4..1f2e7a77412 100644
--- a/core/camel-xml-jaxp/src/main/java/org/apache/camel/converter/jaxp/XmlConverter.java
+++ b/core/camel-xml-jaxp/src/main/java/org/apache/camel/converter/jaxp/XmlConverter.java
@@ -93,7 +93,6 @@ public class XmlConverter {
 
     private static final String JDK_FALLBACK_TRANSFORMER_FACTORY
             = "com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl";
-    private static final String XALAN_TRANSFORMER_FACTORY = "org.apache.xalan.processor.TransformerFactoryImpl";
     private static final Logger LOG = LoggerFactory.getLogger(XmlConverter.class);
     private static final ErrorHandler DOCUMENT_BUILDER_LOGGING_ERROR_HANDLER = new DocumentBuilderLoggingErrorHandler();
 
@@ -138,11 +137,6 @@ public class XmlConverter {
             throw new TransformerException("Could not create a transformer - JAXP is misconfigured!");
         }
         transformer.setOutputProperties(outputProperties);
-        if (this.transformerFactory.getClass().getName().equals(XALAN_TRANSFORMER_FACTORY)
-                && source instanceof StAXSource) {
-            //external xalan can't handle StAXSource, so convert StAXSource to SAXSource.
-            source = new StAX2SAXSource(((StAXSource) source).getXMLStreamReader());
-        }
         transformer.transform(source, result);
     }
 
diff --git a/parent/pom.xml b/parent/pom.xml
index d49157e1593..ee02ec7658f 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -533,7 +533,6 @@
         <wiremock-version>2.32.0</wiremock-version>
         <woodstox-version>4.4.1</woodstox-version>
         <woodstox-core-version>6.1.1</woodstox-core-version>
-        <xalan-version>2.7.2</xalan-version>
         <xbean-spring-version>4.21</xbean-spring-version>
         <xbean-asm5-shaded-version>4.5</xbean-asm5-shaded-version>
         <xchange-version>5.0.13</xchange-version>
@@ -3873,11 +3872,6 @@
                 <artifactId>commons-io</artifactId>
                 <version>${commons-io-version}</version>
             </dependency>
-            <dependency>
-                <groupId>xalan</groupId>
-                <artifactId>xalan</artifactId>
-                <version>${xalan-version}</version>
-            </dependency>
             <dependency>
                 <groupId>xerces</groupId>
                 <artifactId>xercesImpl</artifactId>
diff --git a/tooling/maven/camel-eip-documentation-enricher-maven-plugin/pom.xml b/tooling/maven/camel-eip-documentation-enricher-maven-plugin/pom.xml
index f2e1f5e1206..4defea80ef3 100644
--- a/tooling/maven/camel-eip-documentation-enricher-maven-plugin/pom.xml
+++ b/tooling/maven/camel-eip-documentation-enricher-maven-plugin/pom.xml
@@ -70,11 +70,6 @@
             <artifactId>plexus-build-api</artifactId>
         </dependency>
 
-        <dependency>
-            <groupId>xalan</groupId>
-            <artifactId>xalan</artifactId>
-        </dependency>
-
         <dependency>
             <groupId>org.apache.maven.plugin-tools</groupId>
             <artifactId>maven-plugin-annotations</artifactId>
diff --git a/tooling/maven/camel-eip-documentation-enricher-maven-plugin/src/test/java/org/apache/camel/maven/integration/EIPDocumentationMojoTest.java b/tooling/maven/camel-eip-documentation-enricher-maven-plugin/src/test/java/org/apache/camel/maven/integration/EIPDocumentationMojoTest.java
index 466cd181e08..d7160ab6c13 100644
--- a/tooling/maven/camel-eip-documentation-enricher-maven-plugin/src/test/java/org/apache/camel/maven/integration/EIPDocumentationMojoTest.java
+++ b/tooling/maven/camel-eip-documentation-enricher-maven-plugin/src/test/java/org/apache/camel/maven/integration/EIPDocumentationMojoTest.java
@@ -67,6 +67,7 @@ public class EIPDocumentationMojoTest {
         eipDocumentationEnricherMojo.execute();
         DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
         documentBuilderFactory.setNamespaceAware(true);
+        documentBuilderFactory.setCoalescing(true);
         DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
         Document doc = documentBuilder.parse(tempFile);
         validateElement(doc);
@@ -109,8 +110,8 @@ public class EIPDocumentationMojoTest {
 
         Node cdata = documentation.getFirstChild();
         assertThat(cdata, instanceOf(CharacterData.class));
-
-        assertThat(cdata.getTextContent(), containsString(expectedText));
+        CharacterData cd = (CharacterData) cdata;
+        assertThat(cd.getData(), containsString(expectedText));
     }
 
     private Element getFirsElement(NodeList nodeList) {