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 2011/01/31 18:40:29 UTC

svn commit: r1065694 [1/5] - in /camel/trunk/components: camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/ camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/csv/ camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/fixed/ ca...

Author: davsclaus
Date: Mon Jan 31 17:40:24 2011
New Revision: 1065694

URL: http://svn.apache.org/viewvc?rev=1065694&view=rev
Log:
CAMEL-3605: switching to slf4j logger. More migration done.

Removed:
    camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/processor/onexception/SpringExceptionBuilderWithRetryLoggingLevelSetTest.java
    camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/onexception/exceptionBuilderWithRetryLoggingLevelSet.xml
Modified:
    camel/trunk/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/BindyAbstractDataFormat.java
    camel/trunk/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/BindyAbstractFactory.java
    camel/trunk/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/BindyCsvFactory.java
    camel/trunk/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/BindyFixedLengthFactory.java
    camel/trunk/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/BindyKeyValuePairFactory.java
    camel/trunk/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/csv/BindyCsvDataFormat.java
    camel/trunk/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/fixed/BindyFixedLengthDataFormat.java
    camel/trunk/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/format/DatePatternFormat.java
    camel/trunk/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/kvp/BindyKeyValuePairDataFormat.java
    camel/trunk/components/camel-bindy/src/test/java/org/apache/camel/dataformat/bindy/CommonBindyTest.java
    camel/trunk/components/camel-bindy/src/test/java/org/apache/camel/dataformat/bindy/csv/BindyDoubleQuotesCsvUnmarshallTest.java
    camel/trunk/components/camel-bindy/src/test/java/org/apache/camel/dataformat/bindy/csv/BindyInlinedQuotesCsvUnmarshallTest.java
    camel/trunk/components/camel-bindy/src/test/java/org/apache/camel/dataformat/bindy/csv/BindyPojoSimpleCsvMarshallTest.java
    camel/trunk/components/camel-bindy/src/test/java/org/apache/camel/dataformat/bindy/csv/BindySimpleCsvMandatoryFieldsUnmarshallTest.java
    camel/trunk/components/camel-bindy/src/test/java/org/apache/camel/dataformat/bindy/csv/BindySimpleCsvMarshallPositionModifiedTest.java
    camel/trunk/components/camel-bindy/src/test/java/org/apache/camel/dataformat/bindy/csv/BindySimpleCsvMarshallTest.java
    camel/trunk/components/camel-bindy/src/test/java/org/apache/camel/dataformat/bindy/csv/BindySimpleCsvUnmarshallBadIntegerTest.java
    camel/trunk/components/camel-bindy/src/test/java/org/apache/camel/dataformat/bindy/csv/BindySimpleCsvUnmarshallPositionModifiedTest.java
    camel/trunk/components/camel-bindy/src/test/java/org/apache/camel/dataformat/bindy/csv/BindySimpleCsvUnmarshallTest.java
    camel/trunk/components/camel-bindy/src/test/java/org/apache/camel/dataformat/bindy/csv/BindySingleQuotesCsvUnmarshallTest.java
    camel/trunk/components/camel-bindy/src/test/java/org/apache/camel/dataformat/bindy/fix/BindyComplexKeyValuePairStandaloneTest.java
    camel/trunk/components/camel-bindy/src/test/java/org/apache/camel/dataformat/bindy/fix/BindySimpleKeyValuePairSortedMarshallTest.java
    camel/trunk/components/camel-bindy/src/test/java/org/apache/camel/dataformat/bindy/fix/BindySimpleKeyValuePairWithoutSectionMarshallDslTest.java
    camel/trunk/components/camel-bindy/src/test/java/org/apache/camel/dataformat/bindy/fixed/marshall/simple/BindySimpleFixedLengthMarshallTest.java
    camel/trunk/components/camel-blueprint/pom.xml
    camel/trunk/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/BlueprintCamelContext.java
    camel/trunk/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/BlueprintComponentResolver.java
    camel/trunk/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/BlueprintDataFormatResolver.java
    camel/trunk/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/BlueprintLanguageResolver.java
    camel/trunk/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/CamelContextFactoryBean.java
    camel/trunk/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/ContextScanRouteBuilderFinder.java
    camel/trunk/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/PackageScanRouteBuilderFinder.java
    camel/trunk/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/handler/CamelNamespaceHandler.java
    camel/trunk/components/camel-cache/pom.xml
    camel/trunk/components/camel-cache/src/main/java/org/apache/camel/component/cache/CacheConsumer.java
    camel/trunk/components/camel-cache/src/main/java/org/apache/camel/component/cache/CacheEventListener.java
    camel/trunk/components/camel-cache/src/main/java/org/apache/camel/component/cache/CacheProducer.java
    camel/trunk/components/camel-cache/src/main/java/org/apache/camel/processor/cache/CacheBasedMessageBodyReplacer.java
    camel/trunk/components/camel-cache/src/main/java/org/apache/camel/processor/cache/CacheBasedTokenReplacer.java
    camel/trunk/components/camel-cache/src/main/java/org/apache/camel/processor/cache/CacheBasedXPathReplacer.java
    camel/trunk/components/camel-cache/src/main/java/org/apache/camel/processor/cache/CacheValidate.java
    camel/trunk/components/camel-cache/src/test/java/org/apache/camel/component/cache/CacheConsumerTest.java
    camel/trunk/components/camel-cache/src/test/java/org/apache/camel/component/cache/CacheProducerTest.java
    camel/trunk/components/camel-cache/src/test/java/org/apache/camel/processor/cache/CacheBasedBodyReplacerTest.java
    camel/trunk/components/camel-cache/src/test/java/org/apache/camel/processor/cache/CacheBasedTokenReplacerTest.java
    camel/trunk/components/camel-cache/src/test/java/org/apache/camel/processor/cache/CacheBasedXPathElementReplacerTest.java
    camel/trunk/components/camel-castor/pom.xml
    camel/trunk/components/camel-cometd/pom.xml
    camel/trunk/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiCamelContextHelper.java
    camel/trunk/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiClassResolver.java
    camel/trunk/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiComponentResolver.java
    camel/trunk/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiDataFormatResolver.java
    camel/trunk/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiLanguageResolver.java
    camel/trunk/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiTypeConverter.java
    camel/trunk/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/utils/BundleDelegatingClassLoader.java
    camel/trunk/components/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
    camel/trunk/components/camel-crypto/pom.xml
    camel/trunk/components/camel-crypto/src/main/java/org/apache/camel/converter/crypto/CryptoDataFormat.java
    camel/trunk/components/camel-csv/pom.xml
    camel/trunk/components/camel-dozer/   (props changed)
    camel/trunk/components/camel-dozer/pom.xml
    camel/trunk/components/camel-ejb/pom.xml
    camel/trunk/components/camel-freemarker/pom.xml
    camel/trunk/components/camel-ftp/pom.xml
    camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpOperations.java
    camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpOperations.java
    camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpExclusiveReadNoneStrategyTest.java
    camel/trunk/components/camel-http/pom.xml
    camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/CamelServlet.java
    camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/HttpEndpoint.java
    camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/HttpProducer.java
    camel/trunk/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpComponent.java
    camel/trunk/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpEndpoint.java
    camel/trunk/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpProducer.java
    camel/trunk/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/FallbackTypeConverter.java
    camel/trunk/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/JaxbDataFormat.java
    camel/trunk/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/NonXmlCharFilterer.java
    camel/trunk/components/camel-jetty/pom.xml
    camel/trunk/components/camel-jetty/src/main/java/org/apache/camel/component/jetty/DefaultJettyHttpBinding.java
    camel/trunk/components/camel-jetty/src/main/java/org/apache/camel/component/jetty/JettyContentExchange.java
    camel/trunk/components/camel-jetty/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
    camel/trunk/components/camel-jetty/src/main/java/org/apache/camel/component/jetty/JettyHttpProducer.java
    camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpProducerJMXBeansIssueTest.java
    camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/SpringHttpsRouteTest.java
    camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/async/MyAsyncProducer.java
    camel/trunk/components/camel-jms/pom.xml
    camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsEndpointConfigurationTest.java
    camel/trunk/components/camel-ldap/pom.xml
    camel/trunk/components/camel-mina/pom.xml
    camel/trunk/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaComponent.java
    camel/trunk/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaConsumer.java
    camel/trunk/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaHelper.java
    camel/trunk/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaProducer.java
    camel/trunk/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaUdpWithInOutUsingPlainSocketTest.java
    camel/trunk/components/camel-nagios/pom.xml
    camel/trunk/components/camel-netty/pom.xml
    camel/trunk/components/camel-netty/src/main/java/org/apache/camel/component/netty/DefaultClientPipelineFactory.java
    camel/trunk/components/camel-netty/src/main/java/org/apache/camel/component/netty/DefaultServerPipelineFactory.java
    camel/trunk/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyConfiguration.java
    camel/trunk/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyConsumer.java
    camel/trunk/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyHelper.java
    camel/trunk/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyProducer.java
    camel/trunk/components/camel-netty/src/main/java/org/apache/camel/component/netty/handlers/ClientChannelHandler.java
    camel/trunk/components/camel-netty/src/main/java/org/apache/camel/component/netty/handlers/ServerChannelHandler.java
    camel/trunk/components/camel-netty/src/test/java/org/apache/camel/component/netty/NettyCustomPipelineFactoryAsynchTest.java
    camel/trunk/components/camel-netty/src/test/java/org/apache/camel/component/netty/NettyCustomPipelineFactorySynchTest.java
    camel/trunk/components/camel-netty/src/test/java/org/apache/camel/component/netty/NettySSLTest.java
    camel/trunk/components/camel-netty/src/test/java/org/apache/camel/component/netty/NettyTCPAsyncTest.java
    camel/trunk/components/camel-netty/src/test/java/org/apache/camel/component/netty/NettyTCPSyncNotLazyChannelTest.java
    camel/trunk/components/camel-netty/src/test/java/org/apache/camel/component/netty/NettyUDPAsyncTest.java
    camel/trunk/components/camel-netty/src/test/java/org/apache/camel/component/netty/NettyUDPObjectSyncTest.java
    camel/trunk/components/camel-netty/src/test/java/org/apache/camel/component/netty/NettyUDPSyncTest.java
    camel/trunk/components/camel-netty/src/test/java/org/apache/camel/component/netty/NettyUdpWithInOutUsingPlainSocketTest.java
    camel/trunk/components/camel-routebox/pom.xml
    camel/trunk/components/camel-routebox/src/main/java/org/apache/camel/component/routebox/RouteboxConfiguration.java
    camel/trunk/components/camel-routebox/src/main/java/org/apache/camel/component/routebox/RouteboxServiceSupport.java
    camel/trunk/components/camel-routebox/src/main/java/org/apache/camel/component/routebox/direct/RouteboxDirectProducer.java
    camel/trunk/components/camel-routebox/src/main/java/org/apache/camel/component/routebox/seda/RouteboxSedaConsumer.java
    camel/trunk/components/camel-routebox/src/main/java/org/apache/camel/component/routebox/strategy/RouteboxDispatcher.java
    camel/trunk/components/camel-routebox/src/test/java/org/apache/camel/component/routebox/RouteboxDefaultContextAndRouteBuilderTest.java
    camel/trunk/components/camel-routebox/src/test/java/org/apache/camel/component/routebox/RouteboxDirectProducerOnlyTest.java
    camel/trunk/components/camel-routebox/src/test/java/org/apache/camel/component/routebox/RouteboxDirectTest.java
    camel/trunk/components/camel-routebox/src/test/java/org/apache/camel/component/routebox/RouteboxDispatchMapTest.java
    camel/trunk/components/camel-routebox/src/test/java/org/apache/camel/component/routebox/RouteboxSedaTest.java
    camel/trunk/components/camel-routebox/src/test/java/org/apache/camel/component/routebox/demo/BookCatalog.java
    camel/trunk/components/camel-scala/src/test/scala/org/apache/camel/scala/dsl/SLogProcessorTest.scala
    camel/trunk/components/camel-spring/pom.xml
    camel/trunk/components/camel-spring/src/main/java/org/apache/camel/component/ResourceBasedComponent.java
    camel/trunk/components/camel-spring/src/main/java/org/apache/camel/component/ResourceBasedEndpoint.java
    camel/trunk/components/camel-spring/src/main/java/org/apache/camel/component/test/TestEndpoint.java
    camel/trunk/components/camel-spring/src/main/java/org/apache/camel/osgi/CamelContextFactory.java
    camel/trunk/components/camel-spring/src/main/java/org/apache/camel/osgi/CamelContextFactoryBean.java
    camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/CamelBeanPostProcessor.java
    camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/CamelContextFactoryBean.java
    camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/ContextScanRouteBuilderFinder.java
    camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/PackageScanRouteBuilderFinder.java
    camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/SpringCamelContext.java
    camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/handler/CamelNamespaceHandler.java
    camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/spi/SpringTransactionPolicy.java
    camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/spi/TransactionErrorHandler.java
    camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/spi/TransactionErrorHandlerBuilder.java
    camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/util/MainRunner.java
    camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/util/SpringAntPathMatcherFileFilter.java
    camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/MainTest.java
    camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/config/EndpointUriSetFromSpringTest.java
    camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/config/XmlConfigTestSupport.java
    camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/example/MyCamel1Consumer.java
    camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/example/MyCamel2Consumer.java
    camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/example/MyCamel2RecipientList.java
    camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/example/MyConsumer.java
    camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/interceptor/ContainerWideInterceptor.java
    camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/issues/MisspelledRouteRefTest.java
    camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/postprocessor/MagicAnnotationPostProcessor.java
    camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/processor/MyAggregator.java
    camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/produce/MyListenerService.java
    camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/remoting/SayService.java
    camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/remoting/SpringRemotingWithOneWayTest.java
    camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/logProcessorTest.xml
    camel/trunk/components/camel-stream/pom.xml
    camel/trunk/components/camel-test/pom.xml

Modified: camel/trunk/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/BindyAbstractDataFormat.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/BindyAbstractDataFormat.java?rev=1065694&r1=1065693&r2=1065694&view=diff
==============================================================================
--- camel/trunk/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/BindyAbstractDataFormat.java (original)
+++ camel/trunk/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/BindyAbstractDataFormat.java Mon Jan 31 17:40:24 2011
@@ -21,8 +21,8 @@ import java.util.Locale;
 import org.apache.camel.dataformat.bindy.kvp.BindyKeyValuePairDataFormat;
 import org.apache.camel.spi.DataFormat;
 import org.apache.camel.spi.PackageScanClassResolver;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public abstract class BindyAbstractDataFormat implements DataFormat {
     private String[] packages;

Modified: camel/trunk/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/BindyAbstractFactory.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/BindyAbstractFactory.java?rev=1065694&r1=1065693&r2=1065694&view=diff
==============================================================================
--- camel/trunk/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/BindyAbstractFactory.java (original)
+++ camel/trunk/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/BindyAbstractFactory.java Mon Jan 31 17:40:24 2011
@@ -27,15 +27,15 @@ import java.util.Set;
 import org.apache.camel.dataformat.bindy.util.AnnotationModelLoader;
 import org.apache.camel.spi.PackageScanClassResolver;
 import org.apache.camel.util.ObjectHelper;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * The {@link BindyAbstractFactory} implements what its common to all the formats
  * supported by Camel Bindy
  */
 public abstract class BindyAbstractFactory implements BindyFactory {
-    private static final transient Log LOG = LogFactory.getLog(BindyAbstractFactory.class);
+    private static final transient Logger LOG = LoggerFactory.getLogger(BindyAbstractFactory.class);
     protected final Map<String, List<Field>> annotatedLinkFields = new LinkedHashMap<String, List<Field>>();
     protected Set<Class<?>> models;
     protected String crlf;

Modified: camel/trunk/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/BindyCsvFactory.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/BindyCsvFactory.java?rev=1065694&r1=1065693&r2=1065694&view=diff
==============================================================================
--- camel/trunk/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/BindyCsvFactory.java (original)
+++ camel/trunk/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/BindyCsvFactory.java Mon Jan 31 17:40:24 2011
@@ -35,8 +35,8 @@ import org.apache.camel.dataformat.bindy
 import org.apache.camel.dataformat.bindy.util.Converter;
 import org.apache.camel.spi.PackageScanClassResolver;
 import org.apache.camel.util.ObjectHelper;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * The BindyCsvFactory is the class who allows to : Generate a model associated
@@ -46,7 +46,7 @@ import org.apache.commons.logging.LogFac
  */
 public class BindyCsvFactory extends BindyAbstractFactory implements BindyFactory {
 
-    private static final transient Log LOG = LogFactory.getLog(BindyCsvFactory.class);
+    private static final transient Logger LOG = LoggerFactory.getLogger(BindyCsvFactory.class);
 
     boolean isOneToMany;
 

Modified: camel/trunk/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/BindyFixedLengthFactory.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/BindyFixedLengthFactory.java?rev=1065694&r1=1065693&r2=1065694&view=diff
==============================================================================
--- camel/trunk/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/BindyFixedLengthFactory.java (original)
+++ camel/trunk/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/BindyFixedLengthFactory.java Mon Jan 31 17:40:24 2011
@@ -1,500 +1,500 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.dataformat.bindy;
-
-import java.lang.reflect.Field;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.LinkedHashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.TreeMap;
-
-import org.apache.camel.dataformat.bindy.annotation.DataField;
-import org.apache.camel.dataformat.bindy.annotation.FixedLengthRecord;
-import org.apache.camel.dataformat.bindy.annotation.Link;
-import org.apache.camel.dataformat.bindy.format.FormatException;
-import org.apache.camel.spi.PackageScanClassResolver;
-import org.apache.camel.util.ObjectHelper;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-/**
- * The BindyCsvFactory is the class who allows to : Generate a model associated
- * to a fixed length record, bind data from a record to the POJOs, export data of POJOs
- * to a fixed length record and format data into String, Date, Double, ... according to
- * the format/pattern defined
- */
-public class BindyFixedLengthFactory extends BindyAbstractFactory implements BindyFactory {
-
-    private static final transient Log LOG = LogFactory.getLog(BindyFixedLengthFactory.class);
-
-    boolean isOneToMany;
-
-    private Map<Integer, DataField> dataFields = new LinkedHashMap<Integer, DataField>();
-    private Map<Integer, Field> annotatedFields = new LinkedHashMap<Integer, Field>();
-
-    private Map<Integer, List> results;
-
-    private int numberOptionalFields;
-    private int numberMandatoryFields;
-    private int totalFields;
-
-    private boolean hasHeader;
-    private boolean hasFooter;
-    private char paddingChar;
-    private int recordLength;
-
-    public BindyFixedLengthFactory(PackageScanClassResolver resolver, String... packageNames) throws Exception {
-        super(resolver, packageNames);
-
-        // initialize specific parameters of the fixed length model
-        initFixedLengthModel();
-    }
-
-    /**
-     * method uses to initialize the model representing the classes who will
-     * bind the data. This process will scan for classes according to the
-     * package name provided, check the annotated classes and fields
-     */
-    public void initFixedLengthModel() throws Exception {
-
-        // Find annotated fields declared in the Model classes
-        initAnnotatedFields();
-
-        // initialize Fixed length parameter(s)
-        // from @FixedLengthrecord annotation
-        initFixedLengthRecordParameters();
-    }
-
-    public void initAnnotatedFields() {
-
-        for (Class<?> cl : models) {
-
-            List<Field> linkFields = new ArrayList<Field>();
-
-            if (LOG.isDebugEnabled()) {
-                LOG.debug("Class retrieved: " + cl.getName());
-            }
-
-            for (Field field : cl.getDeclaredFields()) {
-                DataField dataField = field.getAnnotation(DataField.class);
-                if (dataField != null) {
-                    if (LOG.isDebugEnabled()) {
-                        LOG.debug("Position defined in the class: " + cl.getName()
-                                + ", position: " + dataField.pos() + ", Field: " + dataField.toString());
-                    }
-
-                    if (dataField.required()) {
-                        ++numberMandatoryFields;
-                    } else {
-                        ++numberOptionalFields;
-                    }
-
-                    dataFields.put(dataField.pos(), dataField);
-                    annotatedFields.put(dataField.pos(), field);
-                }
-
-                Link linkField = field.getAnnotation(Link.class);
-
-                if (linkField != null) {
-                    if (LOG.isDebugEnabled()) {
-                        LOG.debug("Class linked: " + cl.getName() + ", Field: " + field.toString());
-                    }
-                    linkFields.add(field);
-                }
-
-            }
-
-            if (!linkFields.isEmpty()) {
-                annotatedLinkFields.put(cl.getName(), linkFields);
-            }
-
-            totalFields = numberMandatoryFields + numberOptionalFields;
-
-            if (LOG.isDebugEnabled()) {
-                LOG.debug("Number of optional fields: " + numberOptionalFields);
-                LOG.debug("Number of mandatory fields: " + numberMandatoryFields);
-                LOG.debug("Total: " + totalFields);
-            }
-
-        }
-    }
-    
-    // Will not be used in the case of a Fixed Length record
-    // as we provide the content of the record and 
-    // we don't split it as this is the case for a CSV record
-    @Override
-    public void bind(List<String> data, Map<String, Object> model, int line) throws Exception {
-        // noop
-    }
-
-    public void bind(String record, Map<String, Object> model, int line) throws Exception {
-
-        int pos = 1;
-        int counterMandatoryFields = 0;
-        DataField dataField;
-        StringBuilder result = new StringBuilder();
-        String token;
-        int offset;
-        int length;
-        Field field;
-        String pattern;
-
-        // Iterate through the list of positions
-        // defined in the @DataField
-        // and grab the data from the line
-        Collection c = dataFields.values();
-        Iterator itr = c.iterator();
-
-        while (itr.hasNext()) {
-            dataField = (DataField)itr.next();
-            offset = dataField.pos();
-            length = dataField.length();
-
-            ObjectHelper.notNull(offset, "Position/offset is not defined for the field: " + dataField.toString());
-            ObjectHelper.notNull(offset, "Length is not defined for the field: " + dataField.toString());
-
-            if (offset - 1 <= -1) {
-                throw new IllegalArgumentException("Offset/Position of the field " + dataField.toString()
-                                                   + " cannot be negative!");
-            }
-
-            token = record.substring(offset - 1, offset + length - 1);
-
-            if (dataField.trim()) {
-                token = token.trim();
-            }
-
-            // Check mandatory field
-            if (dataField.required()) {
-
-                // Increment counter of mandatory fields
-                ++counterMandatoryFields;
-
-                // Check if content of the field is empty
-                // This is not possible for mandatory fields
-                if (token.equals("")) {
-                    throw new IllegalArgumentException("The mandatory field defined at the position " + pos
-                                                       + " is empty for the line: " + line);
-                }
-            }
-            
-            // Get Field to be setted
-            field = annotatedFields.get(offset);
-            field.setAccessible(true);
-
-            if (LOG.isDebugEnabled()) {
-                LOG.debug("Pos/Offset: " + offset + ", Data: " + token + ", Field type: " + field.getType());
-            }
-            
-            Format<?> format;
-
-            // Get pattern defined for the field
-            pattern = dataField.pattern();
-
-            // Create format object to format the field
-            format = FormatFactory.getFormat(field.getType(), pattern, getLocale(), dataField.precision());
-
-            // field object to be set
-            Object modelField = model.get(field.getDeclaringClass().getName());
-
-            // format the data received
-            Object value = null;
-
-            if (!token.equals("")) {
-                try {
-                    value = format.parse(token);
-                } catch (FormatException ie) {
-                    throw new IllegalArgumentException(ie.getMessage() + ", position: " + offset + ", line: " + line, ie);
-                } catch (Exception e) {
-                    throw new IllegalArgumentException("Parsing error detected for field defined at the position/offset: " + offset + ", line: " + line, e);
-                }
-            } else {
-                value = getDefaultValueForPrimitive(field.getType());
-            }
-
-            field.set(modelField, value);
-
-            ++pos;
-        
-        }
-
-        if (LOG.isDebugEnabled()) {
-            LOG.debug("Counter mandatory fields: " + counterMandatoryFields);
-        }
-
-        if (pos < totalFields) {
-            throw new IllegalArgumentException("Some fields are missing (optional or mandatory), line: " + line);
-        }
-
-        if (counterMandatoryFields < numberMandatoryFields) {
-            throw new IllegalArgumentException("Some mandatory fields are missing, line: " + line);
-        }  
-        
-    }
-
-    public String unbind(Map<String, Object> model) throws Exception {
-
-        StringBuilder buffer = new StringBuilder();
-        results = new HashMap<Integer, List>();
-
-        for (Class clazz : models) {
-
-            if (model.containsKey(clazz.getName())) {
-
-                Object obj = model.get(clazz.getName());
-
-                if (LOG.isDebugEnabled()) {
-                    LOG.debug("Model object: " + obj + ", class: " + obj.getClass().getName());
-                }
-
-                if (obj != null) {
-
-                    // Generate Fixed Length table
-                    // containing the positions of the fields
-                    generateFixedLengthPositionMap(clazz, obj);
-
-                }
-            }
-        }
-
-        // Convert Map<Integer, List> into List<List>
-        TreeMap<Integer, List> sortValues = new TreeMap<Integer, List>(results);
-        for (Integer key : sortValues.keySet()) {
-
-            // Get list of values
-            List<String> val = sortValues.get(key);
-            String value = val.get(0);
-            
-            buffer.append(value);
-        }
-        
-        return buffer.toString();
-    }
-
-    /**
-     * 
-     * Generate a table containing the data formatted and sorted with their position/offset
-     * The result is placed in the Map<Integer, List> results
-     */
-
-    private void generateFixedLengthPositionMap(Class clazz, Object obj) throws Exception {
-
-        String result = "";
-
-        for (Field field : clazz.getDeclaredFields()) {
-
-            field.setAccessible(true);
-
-            DataField datafield = field.getAnnotation(DataField.class);
-
-            if (datafield != null) {
-
-                if (obj != null) {
-
-                    // Retrieve the format, pattern and precision associated to
-                    // the type
-                    Class type = field.getType();
-                    String pattern = datafield.pattern();
-                    int precision = datafield.precision();
-
-
-
-                    // Create format
-                    Format format = FormatFactory.getFormat(type, pattern, getLocale(), precision);
-
-                    // Get field value
-                    Object value = field.get(obj);
-
-
-                    result = formatString(format, value);
-
-                    // trim if enabled
-                    if (datafield.trim()) {
-                        result = result.trim();
-                    }
-
-                    // Get length of the field, alignment (LEFT or RIGHT), pad
-                    int fieldLength = datafield.length();
-                    String align = datafield.align();
-                    char padCharField = datafield.paddingChar();
-                    char padChar;
-                    
-                    if (fieldLength > 0) {
-                       
-                        StringBuilder temp = new StringBuilder();
-
-                        // Check if we must pad
-                        if (result.length() < fieldLength) {
-
-                            // No padding defined for the field
-                            if (padCharField == 0) {
-                                // We use the padding defined for the Record
-                                padChar = paddingChar;
-                            } else {
-                                padChar = padCharField;
-                            }
-
-                            if (align.contains("R")) {
-                                temp.append(generatePaddingChars(padChar, fieldLength, result.length()));
-                                temp.append(result);
-                            } else if (align.contains("L")) {
-                                temp.append(result);
-                                temp.append(generatePaddingChars(padChar, fieldLength, result.length()));
-                            } else {
-                                throw new IllegalArgumentException("Alignment for the field: " + field.getName()
-                                        + " must be equal to R for RIGHT or L for LEFT !");
-                            }
-
-                            result = temp.toString();
-                        } else if (result.length() > fieldLength) {
-                            // we are bigger than allowed
-
-                            // is clipped enabled? if so clip the field
-                            if (datafield.clip()) {
-                                result = result.substring(0, fieldLength);
-                            } else {
-                                throw new IllegalArgumentException("Length for the " + field.getName()
-                                        + " must not be larger than allowed, was: " + result.length() + ", allowed: " + fieldLength);
-                            }
-                        }
-
-                    } else {
-                        throw new IllegalArgumentException("Length of the field: " + field.getName()
-                                + " is a mandatory field and cannot be equal to zero or to be negative !");
-                    }
-
-                    if (LOG.isDebugEnabled()) {
-                        LOG.debug("Value to be formatted: " + value + ", position: " + datafield.pos() + ", and its formatted value: " + result);
-                    }
-
-                } else {
-                    result = "";
-                }
-
-                Integer key;
-                key = datafield.pos();
-
-                if (!results.containsKey(key)) {
-                    List list = new LinkedList();
-                    list.add(result);
-                    results.put(key, list);
-                } else {
-                    List list = results.get(key);
-                    list.add(result);
-                }
-
-            }
-
-        }
-
-    }
-    
-    private String generatePaddingChars(char pad, int lengthField, int lengthString) {
-        StringBuilder buffer = new StringBuilder();
-        int size = lengthField - lengthString;
-
-        for (int i = 0; i < size; i++) {
-            buffer.append(Character.toString(pad));
-        }
-        return buffer.toString();
-    }
-
-    /**
-     * Get parameters defined in @FixedLengthRecord annotation
-     */
-    private void initFixedLengthRecordParameters() {
-
-        for (Class<?> cl : models) {
-
-            // Get annotation @FixedLengthRecord from the class
-            FixedLengthRecord record = cl.getAnnotation(FixedLengthRecord.class);
-
-            if (record != null) {
-                if (LOG.isDebugEnabled()) {
-                    LOG.debug("Fixed length record : " + record.toString());
-                }
-
-                // Get carriage return parameter
-                crlf = record.crlf();
-                if (LOG.isDebugEnabled()) {
-                    LOG.debug("Carriage return defined for the CSV : " + crlf);
-                }
-
-                // Get hasHeader parameter
-                hasHeader = record.hasHeader();
-                if (LOG.isDebugEnabled()) {
-                    LOG.debug("Has Header :  " + hasHeader);
-                }
-
-                // Get hasFooter parameter
-                hasFooter = record.hasFooter();
-                if (LOG.isDebugEnabled()) {
-                    LOG.debug("Has Footer :  " + hasFooter);
-                }
-
-                // Get padding character
-                paddingChar = record.paddingChar();
-                if (LOG.isDebugEnabled()) {
-                    LOG.debug("Padding char :  " + paddingChar);
-                }
-
-                // Get length of the record
-                recordLength = record.length();
-                if (LOG.isDebugEnabled()) {
-                    LOG.debug("Length of the record :  " + recordLength);
-                }
-
-                // Get length of the record
-                recordLength = record.length();
-                if (LOG.isDebugEnabled()) {
-                    LOG.debug("Length of the record :  " + recordLength);
-                }
-            }
-        }
-    }
-
-    /**
-     * Flag indicating if we have a header
-     */
-    public boolean hasHeader() {
-        return hasHeader;
-    }
-    
-    /**
-     * Flag indicating if we have a footer
-     */
-    public boolean hasFooter() {
-        return hasFooter;
-    }
-    
-    /**
-     * Padding char used to fill the field
-     */
-    public char paddingchar() {
-        return paddingChar;
-    }
-
-    public int recordLength() {
-        return recordLength;
-    }
-
-}
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.dataformat.bindy;
+
+import java.lang.reflect.Field;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.LinkedHashMap;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.TreeMap;
+
+import org.apache.camel.dataformat.bindy.annotation.DataField;
+import org.apache.camel.dataformat.bindy.annotation.FixedLengthRecord;
+import org.apache.camel.dataformat.bindy.annotation.Link;
+import org.apache.camel.dataformat.bindy.format.FormatException;
+import org.apache.camel.spi.PackageScanClassResolver;
+import org.apache.camel.util.ObjectHelper;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * The BindyCsvFactory is the class who allows to : Generate a model associated
+ * to a fixed length record, bind data from a record to the POJOs, export data of POJOs
+ * to a fixed length record and format data into String, Date, Double, ... according to
+ * the format/pattern defined
+ */
+public class BindyFixedLengthFactory extends BindyAbstractFactory implements BindyFactory {
+
+    private static final transient Logger LOG = LoggerFactory.getLogger(BindyFixedLengthFactory.class);
+
+    boolean isOneToMany;
+
+    private Map<Integer, DataField> dataFields = new LinkedHashMap<Integer, DataField>();
+    private Map<Integer, Field> annotatedFields = new LinkedHashMap<Integer, Field>();
+
+    private Map<Integer, List> results;
+
+    private int numberOptionalFields;
+    private int numberMandatoryFields;
+    private int totalFields;
+
+    private boolean hasHeader;
+    private boolean hasFooter;
+    private char paddingChar;
+    private int recordLength;
+
+    public BindyFixedLengthFactory(PackageScanClassResolver resolver, String... packageNames) throws Exception {
+        super(resolver, packageNames);
+
+        // initialize specific parameters of the fixed length model
+        initFixedLengthModel();
+    }
+
+    /**
+     * method uses to initialize the model representing the classes who will
+     * bind the data. This process will scan for classes according to the
+     * package name provided, check the annotated classes and fields
+     */
+    public void initFixedLengthModel() throws Exception {
+
+        // Find annotated fields declared in the Model classes
+        initAnnotatedFields();
+
+        // initialize Fixed length parameter(s)
+        // from @FixedLengthrecord annotation
+        initFixedLengthRecordParameters();
+    }
+
+    public void initAnnotatedFields() {
+
+        for (Class<?> cl : models) {
+
+            List<Field> linkFields = new ArrayList<Field>();
+
+            if (LOG.isDebugEnabled()) {
+                LOG.debug("Class retrieved: " + cl.getName());
+            }
+
+            for (Field field : cl.getDeclaredFields()) {
+                DataField dataField = field.getAnnotation(DataField.class);
+                if (dataField != null) {
+                    if (LOG.isDebugEnabled()) {
+                        LOG.debug("Position defined in the class: " + cl.getName()
+                                + ", position: " + dataField.pos() + ", Field: " + dataField.toString());
+                    }
+
+                    if (dataField.required()) {
+                        ++numberMandatoryFields;
+                    } else {
+                        ++numberOptionalFields;
+                    }
+
+                    dataFields.put(dataField.pos(), dataField);
+                    annotatedFields.put(dataField.pos(), field);
+                }
+
+                Link linkField = field.getAnnotation(Link.class);
+
+                if (linkField != null) {
+                    if (LOG.isDebugEnabled()) {
+                        LOG.debug("Class linked: " + cl.getName() + ", Field: " + field.toString());
+                    }
+                    linkFields.add(field);
+                }
+
+            }
+
+            if (!linkFields.isEmpty()) {
+                annotatedLinkFields.put(cl.getName(), linkFields);
+            }
+
+            totalFields = numberMandatoryFields + numberOptionalFields;
+
+            if (LOG.isDebugEnabled()) {
+                LOG.debug("Number of optional fields: " + numberOptionalFields);
+                LOG.debug("Number of mandatory fields: " + numberMandatoryFields);
+                LOG.debug("Total: " + totalFields);
+            }
+
+        }
+    }
+    
+    // Will not be used in the case of a Fixed Length record
+    // as we provide the content of the record and 
+    // we don't split it as this is the case for a CSV record
+    @Override
+    public void bind(List<String> data, Map<String, Object> model, int line) throws Exception {
+        // noop
+    }
+
+    public void bind(String record, Map<String, Object> model, int line) throws Exception {
+
+        int pos = 1;
+        int counterMandatoryFields = 0;
+        DataField dataField;
+        StringBuilder result = new StringBuilder();
+        String token;
+        int offset;
+        int length;
+        Field field;
+        String pattern;
+
+        // Iterate through the list of positions
+        // defined in the @DataField
+        // and grab the data from the line
+        Collection c = dataFields.values();
+        Iterator itr = c.iterator();
+
+        while (itr.hasNext()) {
+            dataField = (DataField)itr.next();
+            offset = dataField.pos();
+            length = dataField.length();
+
+            ObjectHelper.notNull(offset, "Position/offset is not defined for the field: " + dataField.toString());
+            ObjectHelper.notNull(offset, "Length is not defined for the field: " + dataField.toString());
+
+            if (offset - 1 <= -1) {
+                throw new IllegalArgumentException("Offset/Position of the field " + dataField.toString()
+                                                   + " cannot be negative!");
+            }
+
+            token = record.substring(offset - 1, offset + length - 1);
+
+            if (dataField.trim()) {
+                token = token.trim();
+            }
+
+            // Check mandatory field
+            if (dataField.required()) {
+
+                // Increment counter of mandatory fields
+                ++counterMandatoryFields;
+
+                // Check if content of the field is empty
+                // This is not possible for mandatory fields
+                if (token.equals("")) {
+                    throw new IllegalArgumentException("The mandatory field defined at the position " + pos
+                                                       + " is empty for the line: " + line);
+                }
+            }
+            
+            // Get Field to be setted
+            field = annotatedFields.get(offset);
+            field.setAccessible(true);
+
+            if (LOG.isDebugEnabled()) {
+                LOG.debug("Pos/Offset: " + offset + ", Data: " + token + ", Field type: " + field.getType());
+            }
+            
+            Format<?> format;
+
+            // Get pattern defined for the field
+            pattern = dataField.pattern();
+
+            // Create format object to format the field
+            format = FormatFactory.getFormat(field.getType(), pattern, getLocale(), dataField.precision());
+
+            // field object to be set
+            Object modelField = model.get(field.getDeclaringClass().getName());
+
+            // format the data received
+            Object value = null;
+
+            if (!token.equals("")) {
+                try {
+                    value = format.parse(token);
+                } catch (FormatException ie) {
+                    throw new IllegalArgumentException(ie.getMessage() + ", position: " + offset + ", line: " + line, ie);
+                } catch (Exception e) {
+                    throw new IllegalArgumentException("Parsing error detected for field defined at the position/offset: " + offset + ", line: " + line, e);
+                }
+            } else {
+                value = getDefaultValueForPrimitive(field.getType());
+            }
+
+            field.set(modelField, value);
+
+            ++pos;
+        
+        }
+
+        if (LOG.isDebugEnabled()) {
+            LOG.debug("Counter mandatory fields: " + counterMandatoryFields);
+        }
+
+        if (pos < totalFields) {
+            throw new IllegalArgumentException("Some fields are missing (optional or mandatory), line: " + line);
+        }
+
+        if (counterMandatoryFields < numberMandatoryFields) {
+            throw new IllegalArgumentException("Some mandatory fields are missing, line: " + line);
+        }  
+        
+    }
+
+    public String unbind(Map<String, Object> model) throws Exception {
+
+        StringBuilder buffer = new StringBuilder();
+        results = new HashMap<Integer, List>();
+
+        for (Class clazz : models) {
+
+            if (model.containsKey(clazz.getName())) {
+
+                Object obj = model.get(clazz.getName());
+
+                if (LOG.isDebugEnabled()) {
+                    LOG.debug("Model object: " + obj + ", class: " + obj.getClass().getName());
+                }
+
+                if (obj != null) {
+
+                    // Generate Fixed Length table
+                    // containing the positions of the fields
+                    generateFixedLengthPositionMap(clazz, obj);
+
+                }
+            }
+        }
+
+        // Convert Map<Integer, List> into List<List>
+        TreeMap<Integer, List> sortValues = new TreeMap<Integer, List>(results);
+        for (Integer key : sortValues.keySet()) {
+
+            // Get list of values
+            List<String> val = sortValues.get(key);
+            String value = val.get(0);
+            
+            buffer.append(value);
+        }
+        
+        return buffer.toString();
+    }
+
+    /**
+     * 
+     * Generate a table containing the data formatted and sorted with their position/offset
+     * The result is placed in the Map<Integer, List> results
+     */
+
+    private void generateFixedLengthPositionMap(Class clazz, Object obj) throws Exception {
+
+        String result = "";
+
+        for (Field field : clazz.getDeclaredFields()) {
+
+            field.setAccessible(true);
+
+            DataField datafield = field.getAnnotation(DataField.class);
+
+            if (datafield != null) {
+
+                if (obj != null) {
+
+                    // Retrieve the format, pattern and precision associated to
+                    // the type
+                    Class type = field.getType();
+                    String pattern = datafield.pattern();
+                    int precision = datafield.precision();
+
+
+
+                    // Create format
+                    Format format = FormatFactory.getFormat(type, pattern, getLocale(), precision);
+
+                    // Get field value
+                    Object value = field.get(obj);
+
+
+                    result = formatString(format, value);
+
+                    // trim if enabled
+                    if (datafield.trim()) {
+                        result = result.trim();
+                    }
+
+                    // Get length of the field, alignment (LEFT or RIGHT), pad
+                    int fieldLength = datafield.length();
+                    String align = datafield.align();
+                    char padCharField = datafield.paddingChar();
+                    char padChar;
+                    
+                    if (fieldLength > 0) {
+                       
+                        StringBuilder temp = new StringBuilder();
+
+                        // Check if we must pad
+                        if (result.length() < fieldLength) {
+
+                            // No padding defined for the field
+                            if (padCharField == 0) {
+                                // We use the padding defined for the Record
+                                padChar = paddingChar;
+                            } else {
+                                padChar = padCharField;
+                            }
+
+                            if (align.contains("R")) {
+                                temp.append(generatePaddingChars(padChar, fieldLength, result.length()));
+                                temp.append(result);
+                            } else if (align.contains("L")) {
+                                temp.append(result);
+                                temp.append(generatePaddingChars(padChar, fieldLength, result.length()));
+                            } else {
+                                throw new IllegalArgumentException("Alignment for the field: " + field.getName()
+                                        + " must be equal to R for RIGHT or L for LEFT !");
+                            }
+
+                            result = temp.toString();
+                        } else if (result.length() > fieldLength) {
+                            // we are bigger than allowed
+
+                            // is clipped enabled? if so clip the field
+                            if (datafield.clip()) {
+                                result = result.substring(0, fieldLength);
+                            } else {
+                                throw new IllegalArgumentException("Length for the " + field.getName()
+                                        + " must not be larger than allowed, was: " + result.length() + ", allowed: " + fieldLength);
+                            }
+                        }
+
+                    } else {
+                        throw new IllegalArgumentException("Length of the field: " + field.getName()
+                                + " is a mandatory field and cannot be equal to zero or to be negative !");
+                    }
+
+                    if (LOG.isDebugEnabled()) {
+                        LOG.debug("Value to be formatted: " + value + ", position: " + datafield.pos() + ", and its formatted value: " + result);
+                    }
+
+                } else {
+                    result = "";
+                }
+
+                Integer key;
+                key = datafield.pos();
+
+                if (!results.containsKey(key)) {
+                    List list = new LinkedList();
+                    list.add(result);
+                    results.put(key, list);
+                } else {
+                    List list = results.get(key);
+                    list.add(result);
+                }
+
+            }
+
+        }
+
+    }
+    
+    private String generatePaddingChars(char pad, int lengthField, int lengthString) {
+        StringBuilder buffer = new StringBuilder();
+        int size = lengthField - lengthString;
+
+        for (int i = 0; i < size; i++) {
+            buffer.append(Character.toString(pad));
+        }
+        return buffer.toString();
+    }
+
+    /**
+     * Get parameters defined in @FixedLengthRecord annotation
+     */
+    private void initFixedLengthRecordParameters() {
+
+        for (Class<?> cl : models) {
+
+            // Get annotation @FixedLengthRecord from the class
+            FixedLengthRecord record = cl.getAnnotation(FixedLengthRecord.class);
+
+            if (record != null) {
+                if (LOG.isDebugEnabled()) {
+                    LOG.debug("Fixed length record : " + record.toString());
+                }
+
+                // Get carriage return parameter
+                crlf = record.crlf();
+                if (LOG.isDebugEnabled()) {
+                    LOG.debug("Carriage return defined for the CSV : " + crlf);
+                }
+
+                // Get hasHeader parameter
+                hasHeader = record.hasHeader();
+                if (LOG.isDebugEnabled()) {
+                    LOG.debug("Has Header :  " + hasHeader);
+                }
+
+                // Get hasFooter parameter
+                hasFooter = record.hasFooter();
+                if (LOG.isDebugEnabled()) {
+                    LOG.debug("Has Footer :  " + hasFooter);
+                }
+
+                // Get padding character
+                paddingChar = record.paddingChar();
+                if (LOG.isDebugEnabled()) {
+                    LOG.debug("Padding char :  " + paddingChar);
+                }
+
+                // Get length of the record
+                recordLength = record.length();
+                if (LOG.isDebugEnabled()) {
+                    LOG.debug("Length of the record :  " + recordLength);
+                }
+
+                // Get length of the record
+                recordLength = record.length();
+                if (LOG.isDebugEnabled()) {
+                    LOG.debug("Length of the record :  " + recordLength);
+                }
+            }
+        }
+    }
+
+    /**
+     * Flag indicating if we have a header
+     */
+    public boolean hasHeader() {
+        return hasHeader;
+    }
+    
+    /**
+     * Flag indicating if we have a footer
+     */
+    public boolean hasFooter() {
+        return hasFooter;
+    }
+    
+    /**
+     * Padding char used to fill the field
+     */
+    public char paddingchar() {
+        return paddingChar;
+    }
+
+    public int recordLength() {
+        return recordLength;
+    }
+
+}

Modified: camel/trunk/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/BindyKeyValuePairFactory.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/BindyKeyValuePairFactory.java?rev=1065694&r1=1065693&r2=1065694&view=diff
==============================================================================
--- camel/trunk/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/BindyKeyValuePairFactory.java (original)
+++ camel/trunk/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/BindyKeyValuePairFactory.java Mon Jan 31 17:40:24 2011
@@ -34,8 +34,8 @@ import org.apache.camel.dataformat.bindy
 import org.apache.camel.dataformat.bindy.util.Converter;
 import org.apache.camel.spi.PackageScanClassResolver;
 import org.apache.camel.util.ObjectHelper;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * The BindyKeyValuePairFactory is the class who allows to bind data of type key
@@ -46,7 +46,7 @@ import org.apache.commons.logging.LogFac
  */
 public class BindyKeyValuePairFactory extends BindyAbstractFactory implements BindyFactory {
 
-    private static final transient Log LOG = LogFactory.getLog(BindyKeyValuePairFactory.class);
+    private static final transient Logger LOG = LoggerFactory.getLogger(BindyKeyValuePairFactory.class);
 
     private Map<Integer, KeyValuePairField> keyValuePairFields = new LinkedHashMap<Integer, KeyValuePairField>();
     private Map<Integer, Field> annotedFields = new LinkedHashMap<Integer, Field>();

Modified: camel/trunk/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/csv/BindyCsvDataFormat.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/csv/BindyCsvDataFormat.java?rev=1065694&r1=1065693&r2=1065694&view=diff
==============================================================================
--- camel/trunk/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/csv/BindyCsvDataFormat.java (original)
+++ camel/trunk/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/csv/BindyCsvDataFormat.java Mon Jan 31 17:40:24 2011
@@ -31,21 +31,20 @@ import org.apache.camel.Exchange;
 import org.apache.camel.dataformat.bindy.BindyAbstractDataFormat;
 import org.apache.camel.dataformat.bindy.BindyAbstractFactory;
 import org.apache.camel.dataformat.bindy.BindyCsvFactory;
-import org.apache.camel.dataformat.bindy.BindyKeyValuePairFactory;
 import org.apache.camel.dataformat.bindy.util.Converter;
 import org.apache.camel.spi.DataFormat;
 import org.apache.camel.spi.PackageScanClassResolver;
 import org.apache.camel.util.IOHelper;
 import org.apache.camel.util.ObjectHelper;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * A <a href="http://camel.apache.org/data-format.html">data format</a> (
  * {@link DataFormat}) using Bindy to marshal to and from CSV files
  */
 public class BindyCsvDataFormat extends BindyAbstractDataFormat {
-    private static final transient Log LOG = LogFactory.getLog(BindyCsvDataFormat.class);
+    private static final transient Logger LOG = LoggerFactory.getLogger(BindyCsvDataFormat.class);
 
     public BindyCsvDataFormat() {
     }

Modified: camel/trunk/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/fixed/BindyFixedLengthDataFormat.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/fixed/BindyFixedLengthDataFormat.java?rev=1065694&r1=1065693&r2=1065694&view=diff
==============================================================================
--- camel/trunk/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/fixed/BindyFixedLengthDataFormat.java (original)
+++ camel/trunk/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/fixed/BindyFixedLengthDataFormat.java Mon Jan 31 17:40:24 2011
@@ -1,192 +1,192 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.dataformat.bindy.fixed;
-
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.OutputStream;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Scanner;
-
-import org.apache.camel.Exchange;
-import org.apache.camel.dataformat.bindy.BindyFixedLengthFactory;
-import org.apache.camel.dataformat.bindy.util.Converter;
-import org.apache.camel.spi.DataFormat;
-import org.apache.camel.spi.PackageScanClassResolver;
-import org.apache.camel.util.IOHelper;
-import org.apache.camel.util.ObjectHelper;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-/**
- * A <a href="http://camel.apache.org/data-format.html">data format</a> (
- * {@link DataFormat}) using Bindy to marshal to and from Fixed Length
- */
-public class BindyFixedLengthDataFormat implements DataFormat {
-    private static final transient Log LOG = LogFactory.getLog(BindyFixedLengthDataFormat.class);
-
-    private String[] packages;
-    private BindyFixedLengthFactory modelFactory;
-
-    public BindyFixedLengthDataFormat() {
-    }
-
-    public BindyFixedLengthDataFormat(String... packages) {
-        this.packages = packages;
-    }
-
-    @SuppressWarnings("unchecked")
-    public void marshal(Exchange exchange, Object body, OutputStream outputStream) throws Exception {
-
-        BindyFixedLengthFactory factory = getFactory(exchange.getContext().getPackageScanClassResolver());
-        ObjectHelper.notNull(factory, "not instantiated");
-
-        // Get CRLF
-        byte[] bytesCRLF = Converter.getByteReturn(factory.getCarriageReturn());
-
-        List<Map<String, Object>> models;
-
-        // the body is not a prepared list so help a bit here and create one for us
-        if (exchange.getContext().getTypeConverter().convertTo(List.class, body) == null) {
-            models = new ArrayList<Map<String, Object>>();
-            Iterator it = ObjectHelper.createIterator(body);
-            while (it.hasNext()) {
-                Object model = it.next();
-                String name = model.getClass().getName();
-                Map<String, Object> row = new HashMap<String, Object>();
-                row.put(name, body);
-                models.add(row);
-            }
-        } else {
-            // cast to the expected type
-            models = (List<Map<String, Object>>) body;
-        }
-
-        for (Map<String, Object> model : models) {
-
-            String result = factory.unbind(model);
-
-            byte[] bytes = exchange.getContext().getTypeConverter().convertTo(byte[].class, exchange, result);
-            outputStream.write(bytes);
-
-            // Add a carriage return
-            outputStream.write(bytesCRLF);
-        }
-    }
-
-    public Object unmarshal(Exchange exchange, InputStream inputStream) throws Exception {
-        BindyFixedLengthFactory factory = getFactory(exchange.getContext().getPackageScanClassResolver());
-        ObjectHelper.notNull(factory, "not instantiated");
-
-        // List of Pojos
-        List<Map<String, Object>> models = new ArrayList<Map<String, Object>>();
-
-        // Pojos of the model
-        Map<String, Object> model;
-
-        InputStreamReader in = new InputStreamReader(inputStream);
-
-        // Scanner is used to read big file
-        Scanner scanner = new Scanner(in);
-
-        int count = 0;
-
-        try {
-
-            // TODO Test if we have a Header
-            // TODO Test if we have a Footer (containing by example checksum)
-
-            while (scanner.hasNextLine()) {
-                String line;
-                
-                // Read the line (should not trim as its fixed length)
-                line = scanner.nextLine();
-
-                if (ObjectHelper.isEmpty(line)) {
-                    // skip if line is empty
-                    continue;
-                }
-
-                // Increment counter
-                count++;
-                
-                // Check if the record length corresponds to the parameter
-                // provided in the @FixedLengthRecord
-                if ((line.length() < factory.recordLength()) || (line.length() > factory.recordLength())) {
-                    throw new java.lang.IllegalArgumentException("Size of the record : " + line.length() + " is not equal to the value provided in the model : " + factory.recordLength() + " !");
-                }
-
-                // Create POJO where Fixed data will be stored
-                model = factory.factory();
-                
-                // Bind data from Fixed record with model classes
-                factory.bind(line, model, count);
-
-                // Link objects together
-                factory.link(model);
-
-                // Add objects graph to the list
-                models.add(model);
-
-                if (LOG.isDebugEnabled()) {
-                    LOG.debug("Graph of objects created : " + model);
-                }
-
-            }
-
-            // Test if models list is empty or not
-            // If this is the case (correspond to an empty stream, ...)
-            if (models.size() == 0) {
-                throw new java.lang.IllegalArgumentException("No records have been defined in the message !");
-            } else {
-                return models;
-            }
-
-        } finally {
-            scanner.close();
-            IOHelper.close(in, "in", LOG);
-        }
-
-    }
-
-    /**
-     * Method used to create the singleton of the BindyCsvFactory
-     */
-    public BindyFixedLengthFactory getFactory(PackageScanClassResolver resolver) throws Exception {
-        if (modelFactory == null) {
-            modelFactory = new BindyFixedLengthFactory(resolver, packages);
-        }
-        return modelFactory;
-    }
-
-    public void setModelFactory(BindyFixedLengthFactory modelFactory) {
-        this.modelFactory = modelFactory;
-    }
-
-    public String[] getPackages() {
-        return packages;
-    }
-
-    public void setPackages(String[] packages) {
-        this.packages = packages;
-    }
-
-}
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.dataformat.bindy.fixed;
+
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.OutputStream;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Scanner;
+
+import org.apache.camel.Exchange;
+import org.apache.camel.dataformat.bindy.BindyFixedLengthFactory;
+import org.apache.camel.dataformat.bindy.util.Converter;
+import org.apache.camel.spi.DataFormat;
+import org.apache.camel.spi.PackageScanClassResolver;
+import org.apache.camel.util.IOHelper;
+import org.apache.camel.util.ObjectHelper;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * A <a href="http://camel.apache.org/data-format.html">data format</a> (
+ * {@link DataFormat}) using Bindy to marshal to and from Fixed Length
+ */
+public class BindyFixedLengthDataFormat implements DataFormat {
+    private static final transient Logger LOG = LoggerFactory.getLogger(BindyFixedLengthDataFormat.class);
+
+    private String[] packages;
+    private BindyFixedLengthFactory modelFactory;
+
+    public BindyFixedLengthDataFormat() {
+    }
+
+    public BindyFixedLengthDataFormat(String... packages) {
+        this.packages = packages;
+    }
+
+    @SuppressWarnings("unchecked")
+    public void marshal(Exchange exchange, Object body, OutputStream outputStream) throws Exception {
+
+        BindyFixedLengthFactory factory = getFactory(exchange.getContext().getPackageScanClassResolver());
+        ObjectHelper.notNull(factory, "not instantiated");
+
+        // Get CRLF
+        byte[] bytesCRLF = Converter.getByteReturn(factory.getCarriageReturn());
+
+        List<Map<String, Object>> models;
+
+        // the body is not a prepared list so help a bit here and create one for us
+        if (exchange.getContext().getTypeConverter().convertTo(List.class, body) == null) {
+            models = new ArrayList<Map<String, Object>>();
+            Iterator it = ObjectHelper.createIterator(body);
+            while (it.hasNext()) {
+                Object model = it.next();
+                String name = model.getClass().getName();
+                Map<String, Object> row = new HashMap<String, Object>();
+                row.put(name, body);
+                models.add(row);
+            }
+        } else {
+            // cast to the expected type
+            models = (List<Map<String, Object>>) body;
+        }
+
+        for (Map<String, Object> model : models) {
+
+            String result = factory.unbind(model);
+
+            byte[] bytes = exchange.getContext().getTypeConverter().convertTo(byte[].class, exchange, result);
+            outputStream.write(bytes);
+
+            // Add a carriage return
+            outputStream.write(bytesCRLF);
+        }
+    }
+
+    public Object unmarshal(Exchange exchange, InputStream inputStream) throws Exception {
+        BindyFixedLengthFactory factory = getFactory(exchange.getContext().getPackageScanClassResolver());
+        ObjectHelper.notNull(factory, "not instantiated");
+
+        // List of Pojos
+        List<Map<String, Object>> models = new ArrayList<Map<String, Object>>();
+
+        // Pojos of the model
+        Map<String, Object> model;
+
+        InputStreamReader in = new InputStreamReader(inputStream);
+
+        // Scanner is used to read big file
+        Scanner scanner = new Scanner(in);
+
+        int count = 0;
+
+        try {
+
+            // TODO Test if we have a Header
+            // TODO Test if we have a Footer (containing by example checksum)
+
+            while (scanner.hasNextLine()) {
+                String line;
+                
+                // Read the line (should not trim as its fixed length)
+                line = scanner.nextLine();
+
+                if (ObjectHelper.isEmpty(line)) {
+                    // skip if line is empty
+                    continue;
+                }
+
+                // Increment counter
+                count++;
+                
+                // Check if the record length corresponds to the parameter
+                // provided in the @FixedLengthRecord
+                if ((line.length() < factory.recordLength()) || (line.length() > factory.recordLength())) {
+                    throw new java.lang.IllegalArgumentException("Size of the record : " + line.length() + " is not equal to the value provided in the model : " + factory.recordLength() + " !");
+                }
+
+                // Create POJO where Fixed data will be stored
+                model = factory.factory();
+                
+                // Bind data from Fixed record with model classes
+                factory.bind(line, model, count);
+
+                // Link objects together
+                factory.link(model);
+
+                // Add objects graph to the list
+                models.add(model);
+
+                if (LOG.isDebugEnabled()) {
+                    LOG.debug("Graph of objects created : " + model);
+                }
+
+            }
+
+            // Test if models list is empty or not
+            // If this is the case (correspond to an empty stream, ...)
+            if (models.size() == 0) {
+                throw new java.lang.IllegalArgumentException("No records have been defined in the message !");
+            } else {
+                return models;
+            }
+
+        } finally {
+            scanner.close();
+            IOHelper.close(in, "in", LOG);
+        }
+
+    }
+
+    /**
+     * Method used to create the singleton of the BindyCsvFactory
+     */
+    public BindyFixedLengthFactory getFactory(PackageScanClassResolver resolver) throws Exception {
+        if (modelFactory == null) {
+            modelFactory = new BindyFixedLengthFactory(resolver, packages);
+        }
+        return modelFactory;
+    }
+
+    public void setModelFactory(BindyFixedLengthFactory modelFactory) {
+        this.modelFactory = modelFactory;
+    }
+
+    public String[] getPackages() {
+        return packages;
+    }
+
+    public void setPackages(String[] packages) {
+        this.packages = packages;
+    }
+
+}

Modified: camel/trunk/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/format/DatePatternFormat.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/format/DatePatternFormat.java?rev=1065694&r1=1065693&r2=1065694&view=diff
==============================================================================
--- camel/trunk/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/format/DatePatternFormat.java (original)
+++ camel/trunk/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/format/DatePatternFormat.java Mon Jan 31 17:40:24 2011
@@ -23,8 +23,8 @@ import java.util.Locale;
 
 import org.apache.camel.dataformat.bindy.PatternFormat;
 import org.apache.camel.util.ObjectHelper;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class DatePatternFormat implements PatternFormat<Date> {
 

Modified: camel/trunk/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/kvp/BindyKeyValuePairDataFormat.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/kvp/BindyKeyValuePairDataFormat.java?rev=1065694&r1=1065693&r2=1065694&view=diff
==============================================================================
--- camel/trunk/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/kvp/BindyKeyValuePairDataFormat.java (original)
+++ camel/trunk/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/kvp/BindyKeyValuePairDataFormat.java Mon Jan 31 17:40:24 2011
@@ -34,8 +34,8 @@ import org.apache.camel.spi.DataFormat;
 import org.apache.camel.spi.PackageScanClassResolver;
 import org.apache.camel.util.IOHelper;
 import org.apache.camel.util.ObjectHelper;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * A <a href="http://camel.apache.org/data-format.html">data format</a> (
@@ -43,7 +43,7 @@ import org.apache.commons.logging.LogFac
  */
 public class BindyKeyValuePairDataFormat extends BindyAbstractDataFormat {
 
-    private static final transient Log LOG = LogFactory.getLog(BindyKeyValuePairDataFormat.class);
+    private static final transient Logger LOG = LoggerFactory.getLogger(BindyKeyValuePairDataFormat.class);
 
     public BindyKeyValuePairDataFormat() {
     }

Modified: camel/trunk/components/camel-bindy/src/test/java/org/apache/camel/dataformat/bindy/CommonBindyTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-bindy/src/test/java/org/apache/camel/dataformat/bindy/CommonBindyTest.java?rev=1065694&r1=1065693&r2=1065694&view=diff
==============================================================================
--- camel/trunk/components/camel-bindy/src/test/java/org/apache/camel/dataformat/bindy/CommonBindyTest.java (original)
+++ camel/trunk/components/camel-bindy/src/test/java/org/apache/camel/dataformat/bindy/CommonBindyTest.java Mon Jan 31 17:40:24 2011
@@ -20,8 +20,8 @@ import org.apache.camel.EndpointInject;
 import org.apache.camel.Produce;
 import org.apache.camel.ProducerTemplate;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.test.context.junit4.AbstractJUnit4SpringContextTests;
 
 public class CommonBindyTest extends AbstractJUnit4SpringContextTests {
@@ -33,7 +33,7 @@ public class CommonBindyTest extends Abs
     public static final String URI_FILE_FIX_SIMPLE = "file://src/test/data/fix_simple?noop=true";
     public static final String URI_FILE_FIX_TAB = "file://src/test/data/fix_tab?noop=true";
 
-    protected static final transient Log LOG = LogFactory.getLog(CommonBindyTest.class);
+    protected static final transient Logger LOG = LoggerFactory.getLogger(CommonBindyTest.class);
 
     @Produce(uri = URI_DIRECT_START)
     public ProducerTemplate template;