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 2012/04/23 06:46:34 UTC
svn commit: r1329061 - in /camel/branches/camel-2.9.x: ./
camel-core/src/main/java/org/apache/camel/converter/
camel-core/src/main/java/org/apache/camel/converter/jaxp/
camel-core/src/main/java/org/apache/camel/converter/stream/
camel-core/src/test/jav...
Author: davsclaus
Date: Mon Apr 23 04:46:33 2012
New Revision: 1329061
URL: http://svn.apache.org/viewvc?rev=1329061&view=rev
Log:
CAMEL-5171: Favor static methods for type converters
Modified:
camel/branches/camel-2.9.x/ (props changed)
camel/branches/camel-2.9.x/camel-core/src/main/java/org/apache/camel/converter/CamelConverter.java
camel/branches/camel-2.9.x/camel-core/src/main/java/org/apache/camel/converter/DateTimeConverter.java
camel/branches/camel-2.9.x/camel-core/src/main/java/org/apache/camel/converter/jaxp/DomConverter.java
camel/branches/camel-2.9.x/camel-core/src/main/java/org/apache/camel/converter/jaxp/StaxConverter.java
camel/branches/camel-2.9.x/camel-core/src/main/java/org/apache/camel/converter/jaxp/StreamSourceConverter.java
camel/branches/camel-2.9.x/camel-core/src/main/java/org/apache/camel/converter/stream/StreamCacheConverter.java
camel/branches/camel-2.9.x/camel-core/src/test/java/org/apache/camel/converter/CamelConverterTest.java
camel/branches/camel-2.9.x/camel-core/src/test/java/org/apache/camel/converter/stream/StreamCacheConverterTest.java
Propchange: camel/branches/camel-2.9.x/
------------------------------------------------------------------------------
Merged /camel/trunk:r1328854
Propchange: camel/branches/camel-2.9.x/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.
Modified: camel/branches/camel-2.9.x/camel-core/src/main/java/org/apache/camel/converter/CamelConverter.java
URL: http://svn.apache.org/viewvc/camel/branches/camel-2.9.x/camel-core/src/main/java/org/apache/camel/converter/CamelConverter.java?rev=1329061&r1=1329060&r2=1329061&view=diff
==============================================================================
--- camel/branches/camel-2.9.x/camel-core/src/main/java/org/apache/camel/converter/CamelConverter.java (original)
+++ camel/branches/camel-2.9.x/camel-core/src/main/java/org/apache/camel/converter/CamelConverter.java Mon Apr 23 04:46:33 2012
@@ -30,10 +30,16 @@ import org.apache.camel.Processor;
* @version
*/
@Converter
-public class CamelConverter {
+public final class CamelConverter {
+
+ /**
+ * Utility classes should not have a public constructor.
+ */
+ private CamelConverter() {
+ }
@Converter
- public Processor toProcessor(final Predicate predicate) {
+ public static Processor toProcessor(final Predicate predicate) {
return new Processor() {
public void process(Exchange exchange) throws Exception {
boolean answer = predicate.matches(exchange);
@@ -46,7 +52,7 @@ public class CamelConverter {
}
@Converter
- public Processor toProcessor(final Expression expresion) {
+ public static Processor toProcessor(final Expression expresion) {
return new Processor() {
public void process(Exchange exchange) throws Exception {
Object answer = expresion.evaluate(exchange, Object.class);
Modified: camel/branches/camel-2.9.x/camel-core/src/main/java/org/apache/camel/converter/DateTimeConverter.java
URL: http://svn.apache.org/viewvc/camel/branches/camel-2.9.x/camel-core/src/main/java/org/apache/camel/converter/DateTimeConverter.java?rev=1329061&r1=1329060&r2=1329061&view=diff
==============================================================================
--- camel/branches/camel-2.9.x/camel-core/src/main/java/org/apache/camel/converter/DateTimeConverter.java (original)
+++ camel/branches/camel-2.9.x/camel-core/src/main/java/org/apache/camel/converter/DateTimeConverter.java Mon Apr 23 04:46:33 2012
@@ -26,6 +26,9 @@ import org.apache.camel.Converter;
@Converter
public final class DateTimeConverter {
+ /**
+ * Utility classes should not have a public constructor.
+ */
private DateTimeConverter() {
}
Modified: camel/branches/camel-2.9.x/camel-core/src/main/java/org/apache/camel/converter/jaxp/DomConverter.java
URL: http://svn.apache.org/viewvc/camel/branches/camel-2.9.x/camel-core/src/main/java/org/apache/camel/converter/jaxp/DomConverter.java?rev=1329061&r1=1329060&r2=1329061&view=diff
==============================================================================
--- camel/branches/camel-2.9.x/camel-core/src/main/java/org/apache/camel/converter/jaxp/DomConverter.java (original)
+++ camel/branches/camel-2.9.x/camel-core/src/main/java/org/apache/camel/converter/jaxp/DomConverter.java Mon Apr 23 04:46:33 2012
@@ -34,8 +34,6 @@ import org.apache.camel.Converter;
import org.apache.camel.Exchange;
import org.apache.camel.util.ObjectHelper;
-
-
/**
* Converts from some DOM types to Java types
*
@@ -89,7 +87,7 @@ public final class DomConverter {
}
@Converter
- public Integer toInteger(NodeList nodeList) {
+ public static Integer toInteger(NodeList nodeList) {
StringBuilder buffer = new StringBuilder();
append(buffer, nodeList);
String s = buffer.toString();
@@ -97,7 +95,7 @@ public final class DomConverter {
}
@Converter
- public Long toLong(NodeList nodeList) {
+ public static Long toLong(NodeList nodeList) {
StringBuilder buffer = new StringBuilder();
append(buffer, nodeList);
String s = buffer.toString();
Modified: camel/branches/camel-2.9.x/camel-core/src/main/java/org/apache/camel/converter/jaxp/StaxConverter.java
URL: http://svn.apache.org/viewvc/camel/branches/camel-2.9.x/camel-core/src/main/java/org/apache/camel/converter/jaxp/StaxConverter.java?rev=1329061&r1=1329060&r2=1329061&view=diff
==============================================================================
--- camel/branches/camel-2.9.x/camel-core/src/main/java/org/apache/camel/converter/jaxp/StaxConverter.java (original)
+++ camel/branches/camel-2.9.x/camel-core/src/main/java/org/apache/camel/converter/jaxp/StaxConverter.java Mon Apr 23 04:46:33 2012
@@ -50,6 +50,8 @@ import org.slf4j.LoggerFactory;
public class StaxConverter {
private static final transient Logger LOG = LoggerFactory.getLogger(XmlErrorListener.class);
+ // TODO: do not use a cxf system property
+ // TODO: make higher default pool size as 20 is not much in high end systems
private static final BlockingQueue<XMLInputFactory> INPUT_FACTORY_POOL;
private static final BlockingQueue<XMLOutputFactory> OUTPUT_FACTORY_POOL;
static {
@@ -285,8 +287,6 @@ public class StaxConverter {
}
}
-
-
private boolean isWoodstox(Object factory) {
return factory.getClass().getPackage().getName().startsWith("com.ctc.wstx");
}
@@ -345,12 +345,14 @@ public class StaxConverter {
// Properties
//-------------------------------------------------------------------------
+
public XMLInputFactory getInputFactory() {
if (inputFactory == null) {
return getXMLInputFactory();
}
return inputFactory;
}
+
public XMLOutputFactory getOutputFactory() {
if (outputFactory == null) {
return getXMLOutputFactory();
@@ -361,9 +363,9 @@ public class StaxConverter {
public void setInputFactory(XMLInputFactory inputFactory) {
this.inputFactory = inputFactory;
}
+
public void setOutputFactory(XMLOutputFactory outputFactory) {
this.outputFactory = outputFactory;
}
-
}
Modified: camel/branches/camel-2.9.x/camel-core/src/main/java/org/apache/camel/converter/jaxp/StreamSourceConverter.java
URL: http://svn.apache.org/viewvc/camel/branches/camel-2.9.x/camel-core/src/main/java/org/apache/camel/converter/jaxp/StreamSourceConverter.java?rev=1329061&r1=1329060&r2=1329061&view=diff
==============================================================================
--- camel/branches/camel-2.9.x/camel-core/src/main/java/org/apache/camel/converter/jaxp/StreamSourceConverter.java (original)
+++ camel/branches/camel-2.9.x/camel-core/src/main/java/org/apache/camel/converter/jaxp/StreamSourceConverter.java Mon Apr 23 04:46:33 2012
@@ -30,6 +30,9 @@ import org.apache.camel.Converter;
@Converter
public final class StreamSourceConverter {
+ /**
+ * Utility classes should not have a public constructor.
+ */
private StreamSourceConverter() {
}
Modified: camel/branches/camel-2.9.x/camel-core/src/main/java/org/apache/camel/converter/stream/StreamCacheConverter.java
URL: http://svn.apache.org/viewvc/camel/branches/camel-2.9.x/camel-core/src/main/java/org/apache/camel/converter/stream/StreamCacheConverter.java?rev=1329061&r1=1329060&r2=1329061&view=diff
==============================================================================
--- camel/branches/camel-2.9.x/camel-core/src/main/java/org/apache/camel/converter/stream/StreamCacheConverter.java (original)
+++ camel/branches/camel-2.9.x/camel-core/src/main/java/org/apache/camel/converter/stream/StreamCacheConverter.java Mon Apr 23 04:46:33 2012
@@ -37,52 +37,58 @@ import org.apache.camel.util.IOHelper;
* implementation to ensure message re-readability (eg multicasting, retrying)
*/
@Converter
-public class StreamCacheConverter {
+public final class StreamCacheConverter {
+
+ /**
+ * Utility classes should not have a public constructor.
+ */
+ private StreamCacheConverter() {
+ }
@Converter
- public StreamCache convertToStreamCache(StreamSource source, Exchange exchange) throws IOException {
+ public static StreamCache convertToStreamCache(StreamSource source, Exchange exchange) throws IOException {
return new StreamSourceCache(source, exchange);
}
@Converter
- public StreamCache convertToStreamCache(StringSource source) {
+ public static StreamCache convertToStreamCache(StringSource source) {
//no need to do stream caching for a StringSource
return null;
}
@Converter
- public StreamCache convertToStreamCache(BytesSource source) {
+ public static StreamCache convertToStreamCache(BytesSource source) {
//no need to do stream caching for a BytesSource
return null;
}
@Converter
- public StreamCache convertToStreamCache(SAXSource source, Exchange exchange) throws TransformerException {
+ public static StreamCache convertToStreamCache(SAXSource source, Exchange exchange) throws TransformerException {
String data = exchange.getContext().getTypeConverter().convertTo(String.class, source);
return new SourceCache(data);
}
@Converter
- public StreamCache convertToStreamCache(InputStream stream, Exchange exchange) throws IOException {
+ public static StreamCache convertToStreamCache(InputStream stream, Exchange exchange) throws IOException {
CachedOutputStream cos = new CachedOutputStream(exchange);
IOHelper.copyAndCloseInput(stream, cos);
return cos.getStreamCache();
}
@Converter
- public StreamCache convertToStreamCache(Reader reader, Exchange exchange) throws IOException {
+ public static StreamCache convertToStreamCache(Reader reader, Exchange exchange) throws IOException {
String data = exchange.getContext().getTypeConverter().convertTo(String.class, reader);
return new ReaderCache(data);
}
@Converter
- public Serializable convertToSerializable(StreamCache cache, Exchange exchange) throws IOException {
+ public static Serializable convertToSerializable(StreamCache cache, Exchange exchange) throws IOException {
byte[] data = convertToByteArray(cache, exchange);
return new BytesSource(data);
}
@Converter
- public byte[] convertToByteArray(StreamCache cache, Exchange exchange) throws IOException {
+ public static byte[] convertToByteArray(StreamCache cache, Exchange exchange) throws IOException {
// lets serialize it as a byte array
ByteArrayOutputStream os = new ByteArrayOutputStream();
cache.writeTo(os);
Modified: camel/branches/camel-2.9.x/camel-core/src/test/java/org/apache/camel/converter/CamelConverterTest.java
URL: http://svn.apache.org/viewvc/camel/branches/camel-2.9.x/camel-core/src/test/java/org/apache/camel/converter/CamelConverterTest.java?rev=1329061&r1=1329060&r2=1329061&view=diff
==============================================================================
--- camel/branches/camel-2.9.x/camel-core/src/test/java/org/apache/camel/converter/CamelConverterTest.java (original)
+++ camel/branches/camel-2.9.x/camel-core/src/test/java/org/apache/camel/converter/CamelConverterTest.java Mon Apr 23 04:46:33 2012
@@ -40,8 +40,7 @@ public class CamelConverterTest extends
exchange.getIn().setHeader("foo", "bar");
exchange.getIn().setBody("Hello World");
- CamelConverter cc = new CamelConverter();
- Processor pro = cc.toProcessor(exp);
+ Processor pro = CamelConverter.toProcessor(exp);
pro.process(exchange);
@@ -55,8 +54,7 @@ public class CamelConverterTest extends
exchange.getIn().setHeader("foo", "bar");
exchange.getIn().setBody("Hello World");
- CamelConverter cc = new CamelConverter();
- Processor pro = cc.toProcessor(pred);
+ Processor pro = CamelConverter.toProcessor(pred);
pro.process(exchange);
Modified: camel/branches/camel-2.9.x/camel-core/src/test/java/org/apache/camel/converter/stream/StreamCacheConverterTest.java
URL: http://svn.apache.org/viewvc/camel/branches/camel-2.9.x/camel-core/src/test/java/org/apache/camel/converter/stream/StreamCacheConverterTest.java?rev=1329061&r1=1329060&r2=1329061&view=diff
==============================================================================
--- camel/branches/camel-2.9.x/camel-core/src/test/java/org/apache/camel/converter/stream/StreamCacheConverterTest.java (original)
+++ camel/branches/camel-2.9.x/camel-core/src/test/java/org/apache/camel/converter/stream/StreamCacheConverterTest.java Mon Apr 23 04:46:33 2012
@@ -42,19 +42,17 @@ public class StreamCacheConverterTest ex
private static final String TEST_FILE = "org/apache/camel/converter/stream/test.xml";
private static final String MESSAGE = "<test>This is a test</test>";
- private StreamCacheConverter converter;
private Exchange exchange;
@Override
protected void setUp() throws Exception {
super.setUp();
- this.converter = new StreamCacheConverter();
this.exchange = new DefaultExchange(context);
}
public void testConvertToStreamCache() throws Exception {
ByteArrayInputStream inputStream = new ByteArrayInputStream(MESSAGE.getBytes());
- StreamCache streamCache = converter.convertToStreamCache(new SAXSource(new InputSource(inputStream)), exchange);
+ StreamCache streamCache = StreamCacheConverter.convertToStreamCache(new SAXSource(new InputSource(inputStream)), exchange);
String message = exchange.getContext().getTypeConverter().convertTo(String.class, streamCache);
assertNotNull(message);
assertEquals("The converted message is wrong", MESSAGE, message);
@@ -62,7 +60,7 @@ public class StreamCacheConverterTest ex
public void testConvertToStreamCacheStreamSource() throws Exception {
StreamSource source = new StreamSource(getTestFileStream());
- StreamCache cache = converter.convertToStreamCache(source, exchange);
+ StreamCache cache = StreamCacheConverter.convertToStreamCache(source, exchange);
//assert re-readability of the cached StreamSource
XmlConverter converter = new XmlConverter();
assertNotNull(converter.toString((Source)cache, null));
@@ -72,19 +70,19 @@ public class StreamCacheConverterTest ex
public void testConvertToStreamCacheInputStream() throws Exception {
InputStream is = getTestFileStream();
- InputStream cache = (InputStream)converter.convertToStreamCache(is, exchange);
+ InputStream cache = (InputStream)StreamCacheConverter.convertToStreamCache(is, exchange);
//assert re-readability of the cached InputStream
assertNotNull(IOConverter.toString(cache, null));
assertNotNull(IOConverter.toString(cache, null));
}
- public void testConvertToStreamCacheInpuStreamWithFileCache() throws Exception {
+ public void testConvertToStreamCacheInputStreamWithFileCache() throws Exception {
// set up the properties
Map<String, String> properties = new HashMap<String, String>();
properties.put(CachedOutputStream.THRESHOLD, "1");
exchange.getContext().setProperties(properties);
InputStream is = getTestFileStream();
- InputStream cache = (InputStream)converter.convertToStreamCache(is, exchange);
+ InputStream cache = (InputStream)StreamCacheConverter.convertToStreamCache(is, exchange);
assertNotNull(IOConverter.toString(cache, null));
try {
// since the stream is closed you delete the temp file
@@ -99,15 +97,15 @@ public class StreamCacheConverterTest ex
public void testConvertToSerializable() throws Exception {
InputStream is = getTestFileStream();
- StreamCache cache = converter.convertToStreamCache(is, exchange);
- Serializable ser = converter.convertToSerializable(cache, exchange);
+ StreamCache cache = StreamCacheConverter.convertToStreamCache(is, exchange);
+ Serializable ser = StreamCacheConverter.convertToSerializable(cache, exchange);
assertNotNull(ser);
}
public void testConvertToByteArray() throws Exception {
InputStream is = getTestFileStream();
- StreamCache cache = converter.convertToStreamCache(is, exchange);
- byte[] bytes = converter.convertToByteArray(cache, exchange);
+ StreamCache cache = StreamCacheConverter.convertToStreamCache(is, exchange);
+ byte[] bytes = StreamCacheConverter.convertToByteArray(cache, exchange);
assertNotNull(bytes);
}