You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ni...@apache.org on 2012/12/18 09:57:12 UTC

svn commit: r1423350 - in /camel/branches/camel-2.9.x: ./ components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpEntityConverter.java

Author: ningjiang
Date: Tue Dec 18 08:57:11 2012
New Revision: 1423350

URL: http://svn.apache.org/viewvc?rev=1423350&view=rev
Log:
 CAMEL-5890 Fix the same NPE issue in HttpEntityConverter
Merged revisions 1423317 via svnmerge from 
https://svn.apache.org/repos/asf/camel/branches/camel-2.10.x

................
  r1423317 | ningjiang | 2012-12-18 16:27:46 +0800 (Tue, 18 Dec 2012) | 10 lines
  
  Merged revisions 1423301 via svnmerge from 
  https://svn.apache.org/repos/asf/camel/trunk
  
  ........
    r1423301 | ningjiang | 2012-12-18 15:11:19 +0800 (Tue, 18 Dec 2012) | 1 line
    
    CAMEL-5890 Fix the same NPE issue in HttpEntityConverter
  ........
................

Modified:
    camel/branches/camel-2.9.x/   (props changed)
    camel/branches/camel-2.9.x/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpEntityConverter.java

Propchange: camel/branches/camel-2.9.x/
------------------------------------------------------------------------------
  Merged /camel/trunk:r1423301
  Merged /camel/branches/camel-2.10.x:r1423317

Propchange: camel/branches/camel-2.9.x/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.

Modified: camel/branches/camel-2.9.x/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpEntityConverter.java
URL: http://svn.apache.org/viewvc/camel/branches/camel-2.9.x/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpEntityConverter.java?rev=1423350&r1=1423349&r2=1423350&view=diff
==============================================================================
--- camel/branches/camel-2.9.x/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpEntityConverter.java (original)
+++ camel/branches/camel-2.9.x/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpEntityConverter.java Tue Dec 18 08:57:11 2012
@@ -48,7 +48,7 @@ public final class HttpEntityConverter {
 
     @Converter
     public static HttpEntity toHttpEntity(String str, Exchange exchange) throws Exception {
-        if (GZIPHelper.isGzip(exchange.getIn())) {
+        if (exchange != null && GZIPHelper.isGzip(exchange.getIn())) {
             byte[] data = exchange.getContext().getTypeConverter().convertTo(byte[].class, str);
             return asHttpEntity(data, exchange);
         } else {
@@ -58,33 +58,36 @@ public final class HttpEntityConverter {
     }
 
     private static HttpEntity asHttpEntity(InputStream in, Exchange exchange) throws IOException {
-        String contentEncoding = exchange.getIn().getHeader(Exchange.CONTENT_ENCODING, String.class);
-        String contentType = ExchangeHelper.getContentType(exchange);
-
         InputStreamEntity entity;
         if (!exchange.getProperty(Exchange.SKIP_GZIP_ENCODING, Boolean.FALSE, Boolean.class)) {
+            String contentEncoding = exchange.getIn().getHeader(Exchange.CONTENT_ENCODING, String.class);
             entity = new InputStreamEntity(GZIPHelper.compressGzip(contentEncoding, in), -1);        
         } else {
             entity = new InputStreamEntity(in, -1);
         }
-        entity.setContentEncoding(contentEncoding);
-        entity.setContentType(contentType);
+        if (exchange != null) {
+            String contentEncoding = exchange.getIn().getHeader(Exchange.CONTENT_ENCODING, String.class);
+            String contentType = ExchangeHelper.getContentType(exchange);
+            entity.setContentEncoding(contentEncoding);
+            entity.setContentType(contentType);
+        }
         return entity;
     }
 
     private static HttpEntity asHttpEntity(byte[] data, Exchange exchange) throws Exception {
-        String contentEncoding = exchange.getIn().getHeader(Exchange.CONTENT_ENCODING, String.class);
-        String contentType = ExchangeHelper.getContentType(exchange);
-
         InputStreamEntity entity;
-        if (!exchange.getProperty(Exchange.SKIP_GZIP_ENCODING, Boolean.FALSE, Boolean.class)) {
+        if (exchange != null && !exchange.getProperty(Exchange.SKIP_GZIP_ENCODING, Boolean.FALSE, Boolean.class)) {
+            String contentEncoding = exchange.getIn().getHeader(Exchange.CONTENT_ENCODING, String.class);
             entity = new InputStreamEntity(GZIPHelper.compressGzip(contentEncoding, data), -1);
         } else {
             entity = new InputStreamEntity(new ByteArrayInputStream(data), -1);
         }
-        entity.setContentEncoding(contentEncoding);
-        entity.setContentType(contentType);
-
+        if (exchange != null) {
+            String contentEncoding = exchange.getIn().getHeader(Exchange.CONTENT_ENCODING, String.class);
+            String contentType = ExchangeHelper.getContentType(exchange);
+            entity.setContentEncoding(contentEncoding);
+            entity.setContentType(contentType);
+        }
         return entity;
     }
 }
\ No newline at end of file