Author: ningjiang
Date: Fri Aug 29 04:12:18 2008
New Revision: 690184
URL: http://svn.apache.org/viewvc?rev=690184&view=rev
Log:
CAMEL-520 CAMEL-782 CAMEL-858 clean up codes
Modified:
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/log/LogFormatter.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/converter/stream/StreamCache.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/converter/stream/StreamCacheConverter.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/DeadLetterChannel.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/interceptor/TraceFormatter.java
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/issues/CacheInputStreamInDeadLetterIssue520Test.java
Modified:
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/log/LogFormatter.java
URL:
http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/log/LogFormatter.java?rev=690184&r1=690183&r2=690184&view=diff
==============================================================================
---
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/log/LogFormatter.java
(original)
+++
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/log/LogFormatter.java
Fri Aug 29 04:12:18 2008
@@ -21,7 +21,6 @@
import org.apache.camel.Exchange;
import org.apache.camel.Message;
import org.apache.camel.converter.stream.StreamCache;
-import org.apache.camel.converter.stream.StreamCacheConverter.InputStreamCache;
import org.apache.camel.processor.interceptor.ExchangeFormatter;
import org.apache.camel.util.ObjectHelper;
@@ -177,22 +176,18 @@
// Implementation methods
//-------------------------------------------------------------------------
protected Object getBodyAsString(Message message) {
- Object newBody = null;
- InputStreamCache cache = null;
- if (message.getBody() instanceof InputStream) {
- newBody = message.getBody(StreamCache.class);
- if (newBody != null) {
- cache = (InputStreamCache) newBody;
- message.setBody(cache);
- }
+
+ StreamCache newBody = message.getBody(StreamCache.class);
+ if (newBody != null) {
+ message.setBody(newBody);
}
Object answer = message.getBody(String.class);
if (answer == null) {
answer = message.getBody();
}
- if (cache != null) {
- // Reset the inputStreamCache
- cache.reset();
+ if (newBody != null) {
+ // Reset the StreamCache
+ newBody.reset();
}
return answer;
}
Modified:
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/converter/stream/StreamCache.java
URL:
http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/converter/stream/StreamCache.java?rev=690184&r1=690183&r2=690184&view=diff
==============================================================================
---
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/converter/stream/StreamCache.java
(original)
+++
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/converter/stream/StreamCache.java
Fri Aug 29 04:12:18 2008
@@ -32,6 +32,6 @@
/**
* Resets the StreamCache for a new stream consumption.
*/
- void reset() throws IOException;
+ void reset();
}
Modified:
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/converter/stream/StreamCacheConverter.java
URL:
http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/converter/stream/StreamCacheConverter.java?rev=690184&r1=690183&r2=690184&view=diff
==============================================================================
---
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/converter/stream/StreamCacheConverter.java
(original)
+++
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/converter/stream/StreamCacheConverter.java
Fri Aug 29 04:12:18 2008
@@ -30,6 +30,9 @@
import org.apache.camel.converter.IOConverter;
import org.apache.camel.converter.jaxp.StringSource;
import org.apache.camel.converter.jaxp.XmlConverter;
+import org.apache.camel.processor.interceptor.Debugger;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
/**
* A set of [EMAIL PROTECTED] Converter} methods for wrapping stream-based
messages in a [EMAIL PROTECTED] StreamCache}
@@ -37,6 +40,7 @@
*/
@Converter
public class StreamCacheConverter {
+ private static final transient Log LOG =
LogFactory.getLog(StreamCacheConverter.class);
private XmlConverter converter = new XmlConverter();
@@ -55,7 +59,7 @@
return new ReaderCache(IOConverter.toString(reader));
}
- public class StreamSourceCache extends StringSource implements StreamCache
{
+ private class StreamSourceCache extends StringSource implements
StreamCache {
private static final long serialVersionUID = 4147248494104812945L;
@@ -69,7 +73,7 @@
}
- public class InputStreamCache extends ByteArrayInputStream implements
StreamCache {
+ private class InputStreamCache extends ByteArrayInputStream implements
StreamCache {
public InputStreamCache(byte[] data) {
super(data);
@@ -77,12 +81,20 @@
}
- public class ReaderCache extends StringReader implements StreamCache {
+ private class ReaderCache extends StringReader implements StreamCache {
public ReaderCache(String s) {
super(s);
}
+ public void reset() {
+ try {
+ super.reset();
+ } catch (IOException e) {
+ LOG.warn("Exception is thrown when resets the ReaderCache", e);
+ }
+ }
+
public void close() {
// Do not release the string for caching
}
Modified:
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/DeadLetterChannel.java
URL:
http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/DeadLetterChannel.java?rev=690184&r1=690183&r2=690184&view=diff
==============================================================================
---
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/DeadLetterChannel.java
(original)
+++
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/DeadLetterChannel.java
Fri Aug 29 04:12:18 2008
@@ -29,7 +29,6 @@
import org.apache.camel.Message;
import org.apache.camel.Processor;
import org.apache.camel.converter.stream.StreamCache;
-import org.apache.camel.converter.stream.StreamCacheConverter.InputStreamCache;
import org.apache.camel.impl.converter.AsyncProcessorTypeConverter;
import org.apache.camel.model.ExceptionType;
import org.apache.camel.processor.exceptionpolicy.ExceptionPolicyStrategy;
Modified:
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/interceptor/TraceFormatter.java
URL:
http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/interceptor/TraceFormatter.java?rev=690184&r1=690183&r2=690184&view=diff
==============================================================================
---
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/interceptor/TraceFormatter.java
(original)
+++
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/interceptor/TraceFormatter.java
Fri Aug 29 04:12:18 2008
@@ -22,7 +22,6 @@
import org.apache.camel.Message;
import org.apache.camel.converter.stream.StreamCache;
import org.apache.camel.converter.stream.StreamCacheConverter;
-import org.apache.camel.converter.stream.StreamCacheConverter.InputStreamCache;
import org.apache.camel.spi.UnitOfWork;
import org.apache.camel.util.ObjectHelper;
@@ -117,22 +116,18 @@
}
protected Object getBodyAsString(Message in) {
- Object newBody = null;
- InputStreamCache cache = null;
- if (in.getBody() instanceof InputStream) {
- newBody = in.getBody(StreamCache.class);
- if (newBody != null) {
- cache = (InputStreamCache) newBody;
- in.setBody(cache);
- }
+
+ StreamCache newBody = in.getBody(StreamCache.class);
+ if (newBody != null) {
+ in.setBody(newBody);
}
Object answer = in.getBody(String.class);
if (answer == null) {
answer = in.getBody();
}
- if (cache != null) {
+ if (newBody != null) {
// Reset the InputStreamCache
- cache.reset();
+ newBody.reset();
}
return answer;
}
Modified:
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/issues/CacheInputStreamInDeadLetterIssue520Test.java
URL:
http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/issues/CacheInputStreamInDeadLetterIssue520Test.java?rev=690184&r1=690183&r2=690184&view=diff
==============================================================================
---
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/issues/CacheInputStreamInDeadLetterIssue520Test.java
(original)
+++
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/issues/CacheInputStreamInDeadLetterIssue520Test.java
Fri Aug 29 04:12:18 2008
@@ -18,6 +18,7 @@
package org.apache.camel.issues;
import java.io.ByteArrayInputStream;
+import java.io.InputStream;
import java.io.StringReader;
import javax.xml.transform.stream.StreamSource;
@@ -32,32 +33,31 @@
private int count;
public void testSendingInputStream() throws Exception {
- count = 0;
- MockEndpoint mock = getMockEndpoint("mock:error");
- mock.expectedMessageCount(1);
- template.sendBody("direct:start", new
ByteArrayInputStream("<hello>Willem</hello>".getBytes()));
- assertEquals("The message should be delivered 4 times", count, 4);
- mock.assertIsSatisfied();
+ InputStream message = new
ByteArrayInputStream("<hello>Willem</hello>".getBytes());
+
+ sendingMessage(message);
}
public void testSendingReader() throws Exception {
- count = 0;
- MockEndpoint mock = getMockEndpoint("mock:error");
- mock.expectedMessageCount(1);
- template.sendBody("direct:start", new
StringReader("<hello>Willem</hello>"));
- assertEquals("The message should be delivered 4 times", count, 4);
- mock.assertIsSatisfied();
+ StringReader message = new StringReader("<hello>Willem</hello>");
+ sendingMessage(message);
}
public void testSendingSource() throws Exception {
+
+ StreamSource message = new StreamSource(new
StringReader("<hello>Willem</hello>"));
+
+ sendingMessage(message);
+ }
+
+ private void sendingMessage(Object message) throws InterruptedException {
count = 0;
MockEndpoint mock = getMockEndpoint("mock:error");
mock.expectedMessageCount(1);
- StreamSource message = new StreamSource(new
StringReader("<hello>Willem</hello>"));
template.sendBody("direct:start", message);
assertEquals("The message should be delivered 4 times", count, 4);