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/09/13 18:14:25 UTC
svn commit: r1170226 - in /camel/trunk/components/camel-bindy/src:
main/java/org/apache/camel/dataformat/bindy/util/Converter.java
test/java/org/apache/camel/dataformat/bindy/csv/BindyPipeDelimiterTest.java
Author: davsclaus
Date: Tue Sep 13 16:14:25 2011
New Revision: 1170226
URL: http://svn.apache.org/viewvc?rev=1170226&view=rev
Log:
CAMEL-4446: Fixed issue with camel-bindy in CSV mode for marshal not using correct separator char if using escaped charactor.
Modified:
camel/trunk/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/util/Converter.java
camel/trunk/components/camel-bindy/src/test/java/org/apache/camel/dataformat/bindy/csv/BindyPipeDelimiterTest.java
Modified: camel/trunk/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/util/Converter.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/util/Converter.java?rev=1170226&r1=1170225&r2=1170226&view=diff
==============================================================================
--- camel/trunk/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/util/Converter.java (original)
+++ camel/trunk/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/util/Converter.java Tue Sep 13 16:14:25 2011
@@ -27,11 +27,12 @@ public final class Converter {
}
public static char getCharDelimitor(String separator) {
-
if (separator.equals("\\u0001")) {
return '\u0001';
} else if (separator.equals("\\t") || separator.equals("\\u0009")) {
return '\u0009';
+ } else if (separator.length() > 1) {
+ return separator.charAt(separator.length() - 1);
} else {
return separator.charAt(0);
}
Modified: camel/trunk/components/camel-bindy/src/test/java/org/apache/camel/dataformat/bindy/csv/BindyPipeDelimiterTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-bindy/src/test/java/org/apache/camel/dataformat/bindy/csv/BindyPipeDelimiterTest.java?rev=1170226&r1=1170225&r2=1170226&view=diff
==============================================================================
--- camel/trunk/components/camel-bindy/src/test/java/org/apache/camel/dataformat/bindy/csv/BindyPipeDelimiterTest.java (original)
+++ camel/trunk/components/camel-bindy/src/test/java/org/apache/camel/dataformat/bindy/csv/BindyPipeDelimiterTest.java Tue Sep 13 16:14:25 2011
@@ -32,11 +32,11 @@ import org.junit.Test;
public class BindyPipeDelimiterTest extends CamelTestSupport {
@Test
- public void testBindyPipeDelimiter() throws Exception {
+ public void testBindyPipeDelimiterUnmarshal() throws Exception {
MockEndpoint mock = getMockEndpoint("mock:result");
mock.expectedMessageCount(1);
- template.sendBody("direct:start", "COL1|COL2|COL3\nHAPPY | NEW | YEAR");
+ template.sendBody("direct:unmarshal", "COL1|COL2|COL3\nHAPPY | NEW | YEAR");
assertMockEndpointsSatisfied();
@@ -55,14 +55,33 @@ public class BindyPipeDelimiterTest exte
assertEquals(" YEAR", rec2.getCol3());
}
+ @Test
+ public void testBindyPipeDelimiterMarshal() throws Exception {
+ MockEndpoint mock = getMockEndpoint("mock:result");
+ mock.expectedMessageCount(1);
+ mock.message(0).body().startsWith("HAPPY|NEW|YEAR");
+
+ MyData data = new MyData();
+ data.setCol1("HAPPY");
+ data.setCol2("NEW");
+ data.setCol3("YEAR");
+ template.sendBody("direct:marshal", data);
+
+ assertMockEndpointsSatisfied();
+ }
+
@Override
protected RouteBuilder createRouteBuilder() throws Exception {
return new RouteBuilder() {
@Override
public void configure() throws Exception {
- from("direct:start")
+ from("direct:unmarshal")
.unmarshal().bindy(BindyType.Csv, "org.apache.camel.dataformat.bindy.model.simple.pipeline")
.to("mock:result");
+
+ from("direct:marshal")
+ .marshal().bindy(BindyType.Csv, "org.apache.camel.dataformat.bindy.model.simple.pipeline")
+ .to("mock:result");
}
};
}