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);
     }