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 2019/06/18 08:13:30 UTC

[camel] branch master updated (9ab7795 -> 7a3d591)

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

davsclaus pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git.


    from 9ab7795  CAMEL-13653: Upgraded to consul:1.5.1 image for remaining projects
     new 2893d2b  [fix] Close the FileInputStream on StaxProcessor
     new cc771b7  CAMEL-13373: camel-stax - FileInputStream not closed. Thanks to https://github.com/asirbu2002 for the PR.
     new 7a3d591  CAMEL-13373: Fixed CS

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 components/camel-stax/pom.xml                      |  7 +++-
 .../apache/camel/component/stax/StAXProcessor.java | 48 +++++++++++++---------
 parent/pom.xml                                     |  2 +
 .../karaf/features/src/main/resources/features.xml |  2 +
 4 files changed, 39 insertions(+), 20 deletions(-)


[camel] 01/03: [fix] Close the FileInputStream on StaxProcessor

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 2893d2bc96a7bdb0fb388607d05edb0081900154
Author: SIRBU Alexandru <al...@enedis.fr>
AuthorDate: Wed Mar 27 18:26:22 2019 +0100

    [fix] Close the FileInputStream on StaxProcessor
---
 components/camel-stax/pom.xml                      |  6 ++-
 .../apache/camel/component/stax/StAXProcessor.java | 47 +++++++++++++---------
 2 files changed, 34 insertions(+), 19 deletions(-)

diff --git a/components/camel-stax/pom.xml b/components/camel-stax/pom.xml
index 4c8f199..6fd1b60 100644
--- a/components/camel-stax/pom.xml
+++ b/components/camel-stax/pom.xml
@@ -40,8 +40,12 @@
         <dependency>
             <groupId>org.apache.camel</groupId>
             <artifactId>camel-support</artifactId>
+        </dependency>		
+        <dependency>
+            <groupId>com.fasterxml.woodstox</groupId>
+            <artifactId>woodstox-core</artifactId>
+            <version>5.1.0</version>
         </dependency>
-
         <!-- test dependencies -->
         <dependency>
             <groupId>org.apache.camel</groupId>
diff --git a/components/camel-stax/src/main/java/org/apache/camel/component/stax/StAXProcessor.java b/components/camel-stax/src/main/java/org/apache/camel/component/stax/StAXProcessor.java
index 641a873..f401bd6 100644
--- a/components/camel-stax/src/main/java/org/apache/camel/component/stax/StAXProcessor.java
+++ b/components/camel-stax/src/main/java/org/apache/camel/component/stax/StAXProcessor.java
@@ -26,6 +26,8 @@ import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.support.ExchangeHelper;
 
+import com.ctc.wstx.sr.ValidatingStreamReader;
+
 /**
  * It uses SAX content handler to handle events.
  * <p/>
@@ -49,25 +51,34 @@ public class StAXProcessor implements Processor {
 
     @Override
     public void process(Exchange exchange) throws Exception {
-        InputSource is = exchange.getIn().getMandatoryBody(InputSource.class);
-        XMLStreamReader stream = exchange.getIn().getMandatoryBody(XMLStreamReader.class);
-        XMLReader reader = new StaxStreamXMLReader(stream);
-
-        ContentHandler handler;
-        if (contentHandlerClass != null) {
-            handler = contentHandlerClass.newInstance();
-        } else {
-            handler = contentHandler;
-        }
-        reader.setContentHandler(handler);
-        reader.parse(is);
+        XMLStreamReader stream = null;
+        try {
+            stream = exchange.getIn().getMandatoryBody(XMLStreamReader.class);
+            StaxStreamXMLReader reader = new StaxStreamXMLReader(stream);
+            ContentHandler handler;
+            if (this.contentHandlerClass != null) {
+                handler = (ContentHandler) this.contentHandlerClass.newInstance();
+            } else {
+                handler = this.contentHandler;
+            }
 
-        if (ExchangeHelper.isOutCapable(exchange)) {
-            // preserve headers
-            exchange.getOut().setHeaders(exchange.getIn().getHeaders());
-            exchange.getOut().setBody(handler);
-        } else {
-            exchange.getIn().setBody(handler);
+            reader.setContentHandler(handler);
+            // InputSource is ignored anyway
+            reader.parse((InputSource) null);
+            if (ExchangeHelper.isOutCapable(exchange)) {
+                exchange.getOut().setHeaders(exchange.getIn().getHeaders());
+                exchange.getOut().setBody(handler);
+            } else {
+                exchange.getIn().setBody(handler);
+            }
+        } finally {
+            if (stream != null) {
+                stream.close();
+                if (stream instanceof ValidatingStreamReader) {
+                    // didn't find any method without using the woodstox package
+                    ((ValidatingStreamReader) stream).closeCompletely();
+                }
+            }
         }
     }
 


[camel] 02/03: CAMEL-13373: camel-stax - FileInputStream not closed. Thanks to https://github.com/asirbu2002 for the PR.

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit cc771b74cd7349bf71feba1aa320de7c31e9a7e6
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Tue Jun 18 10:09:21 2019 +0200

    CAMEL-13373: camel-stax - FileInputStream not closed. Thanks to https://github.com/asirbu2002 for the PR.
---
 components/camel-stax/pom.xml                            | 3 ++-
 parent/pom.xml                                           | 2 ++
 platforms/karaf/features/src/main/resources/features.xml | 2 ++
 3 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/components/camel-stax/pom.xml b/components/camel-stax/pom.xml
index 6fd1b60..7fdb17b 100644
--- a/components/camel-stax/pom.xml
+++ b/components/camel-stax/pom.xml
@@ -44,8 +44,9 @@
         <dependency>
             <groupId>com.fasterxml.woodstox</groupId>
             <artifactId>woodstox-core</artifactId>
-            <version>5.1.0</version>
+            <version>${woodstox-core-version}</version>
         </dependency>
+        
         <!-- test dependencies -->
         <dependency>
             <groupId>org.apache.camel</groupId>
diff --git a/parent/pom.xml b/parent/pom.xml
index 73c61f9..fdd758a 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -663,6 +663,7 @@
         <swagger-ui-version>2.2.10</swagger-ui-version>
         <stax-api-version>1.0.1</stax-api-version>
         <stax2-api-bundle-version>3.1.4</stax2-api-bundle-version>
+        <stax2v4-api-bundle-version>4.2</stax2v4-api-bundle-version>
         <stringtemplate-bundle-version>4.0.8_1</stringtemplate-bundle-version>
         <stringtemplate-version>4.0.8</stringtemplate-version>
         <tagsoup-bundle-version>1.2.1_1</tagsoup-bundle-version>
@@ -693,6 +694,7 @@
         <werken-xpath-bundle-version>0.9.4_5</werken-xpath-bundle-version>
         <wiremock-version>2.23.2</wiremock-version>
         <woodstox-version>4.4.1</woodstox-version>
+        <woodstox-core-version>5.2.1</woodstox-core-version>
         <ws-commons-util-bundle-version>1.0.2_2</ws-commons-util-bundle-version>
         <wsdl4j-bundle-version>1.6.3_1</wsdl4j-bundle-version>
         <wsdl4j-version>1.6.3</wsdl4j-version>
diff --git a/platforms/karaf/features/src/main/resources/features.xml b/platforms/karaf/features/src/main/resources/features.xml
index ea98587..a7b1ea2 100644
--- a/platforms/karaf/features/src/main/resources/features.xml
+++ b/platforms/karaf/features/src/main/resources/features.xml
@@ -2422,6 +2422,8 @@
   </feature>
   <feature name='camel-stax' version='${project.version}' start-level='50'>
     <feature version='${project.version}'>camel-core</feature>
+    <bundle dependency='true'>mvn:com.fasterxml.woodstox/woodstox-core/${woodstox-core-version}</bundle>
+    <bundle>mvn:org.codehaus.woodstox/stax2-api/${stax2v4-api-bundle-version}</bundle>
     <bundle>mvn:org.apache.camel/camel-stax/${project.version}</bundle>
   </feature>
   <feature name='camel-stream' version='${project.version}' start-level='50'>


[camel] 03/03: CAMEL-13373: Fixed CS

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 7a3d5913bb1af40f8730d27a7e3a7ac59bbf3e05
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Tue Jun 18 10:13:15 2019 +0200

    CAMEL-13373: Fixed CS
---
 .../main/java/org/apache/camel/component/stax/StAXProcessor.java   | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/components/camel-stax/src/main/java/org/apache/camel/component/stax/StAXProcessor.java b/components/camel-stax/src/main/java/org/apache/camel/component/stax/StAXProcessor.java
index f401bd6..3034a13 100644
--- a/components/camel-stax/src/main/java/org/apache/camel/component/stax/StAXProcessor.java
+++ b/components/camel-stax/src/main/java/org/apache/camel/component/stax/StAXProcessor.java
@@ -20,14 +20,13 @@ import javax.xml.stream.XMLStreamReader;
 
 import org.xml.sax.ContentHandler;
 import org.xml.sax.InputSource;
-import org.xml.sax.XMLReader;
+
+import com.ctc.wstx.sr.ValidatingStreamReader;
 
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.support.ExchangeHelper;
 
-import com.ctc.wstx.sr.ValidatingStreamReader;
-
 /**
  * It uses SAX content handler to handle events.
  * <p/>
@@ -57,7 +56,7 @@ public class StAXProcessor implements Processor {
             StaxStreamXMLReader reader = new StaxStreamXMLReader(stream);
             ContentHandler handler;
             if (this.contentHandlerClass != null) {
-                handler = (ContentHandler) this.contentHandlerClass.newInstance();
+                handler = this.contentHandlerClass.newInstance();
             } else {
                 handler = this.contentHandler;
             }