You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by cm...@apache.org on 2010/06/28 16:38:29 UTC

svn commit: r958592 - /camel/trunk/camel-core/src/main/java/org/apache/camel/model/dataformat/CsvDataFormat.java

Author: cmueller
Date: Mon Jun 28 14:38:29 2010
New Revision: 958592

URL: http://svn.apache.org/viewvc?rev=958592&view=rev
Log:
CAMEL-2837: CsvDataFromat delimiter should also be configurable in the XML/Spring DSL

Modified:
    camel/trunk/camel-core/src/main/java/org/apache/camel/model/dataformat/CsvDataFormat.java

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/model/dataformat/CsvDataFormat.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/model/dataformat/CsvDataFormat.java?rev=958592&r1=958591&r2=958592&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/model/dataformat/CsvDataFormat.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/model/dataformat/CsvDataFormat.java Mon Jun 28 14:38:29 2010
@@ -18,9 +18,11 @@ package org.apache.camel.model.dataforma
 
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlRootElement;
 
 import org.apache.camel.model.DataFormatDefinition;
+import org.apache.camel.spi.DataFormat;
 
 /**
  * Represents a CSV (Comma Separated Values) {@link org.apache.camel.spi.DataFormat}
@@ -30,9 +32,35 @@ import org.apache.camel.model.DataFormat
 @XmlRootElement(name = "csv")
 @XmlAccessorType(XmlAccessType.FIELD)
 public class CsvDataFormat extends DataFormatDefinition {
+    @XmlAttribute(required = false)
+    private String delimiter;
 
     public CsvDataFormat() {
         super("csv");
     }
+    
+    public CsvDataFormat(String delimiter) {
+        this();
+        setDelimiter(delimiter);
+    }
+
+    public String getDelimiter() {
+        return delimiter;
+    }
 
+    public void setDelimiter(String delimiter) {
+        this.delimiter = delimiter;
+    }
+    
+    @Override
+    protected void configureDataFormat(DataFormat dataFormat) {
+        if (delimiter != null) {
+            if (delimiter.length() > 1) {
+                throw new IllegalArgumentException("Delimiter must have a length of one!");
+            }
+            setProperty(dataFormat, "delimiter", delimiter);
+        } else { // the default delimiter is ','
+            setProperty(dataFormat, "delimiter", ",");
+        }
+    }
 }
\ No newline at end of file