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
