Thanks Willem  for the help.

I used 2.10.3 passed in 2.10.4 verify my toString method. I finally create
an other project for this test and it work fine in this new project ...
Probably an import problem ...


2013/3/5 Willem jiang <willem.ji...@gmail.com>

> Can you double check the AED toString method?
> I tried to write some unit test, but I could not reproduce the error that
> you got.
>
> BTW, which version of Camel are  you using?
> Did you try it with latest release Camel 2.10.4 ?
>
>
> --
> Willem Jiang
>
> Red Hat, Inc.
> FuseSource is now part of Red Hat
> Web: http://www.fusesource.com | http://www.redhat.com
> Blog: http://willemjiang.blogspot.com (http://willemjiang.blogspot.com/)
> (English)
>           http://jnn.iteye.com (http://jnn.javaeye.com/) (Chinese)
> Twitter: willemjiang
> Weibo: 姜宁willem
>
>
>
>
>
> On Tuesday, March 5, 2013 at 1:09 AM, Jean Francois LE BESCONT wrote:
>
> > Hey !
> >
> > I would like to bind a CSV content. But camel looks to do strange things.
> >
> > My File : VDE_AED.csv is a simple UNIX file :
> >
> > bob;mazone4;01/12/2012;jack
> > bob;mazone5;01/12/2012?;jack
> > bob;mazone4;01/12/2012;jack
> >
> > ( the second line has to be rejected)
> >
> > I have a CSV Record :
> >
> > @CsvRecord(separator = ";" , crlf = "UNIX" )
> > public class AED {
> >
> > @DataField(pos = 1, required = true)
> > private String nom = "";
> >
> > @DataField(pos = 2, required = true)
> > private String zone = "";
> >
> > @DataField(pos = 3, pattern = "dd/MM/yyyy", required = true)
> > private Date date = null;
> >
> > @DataField(pos = 4, required = true)
> > private String titulaire = "";
> > [... get set tostring ]
> >
> > And a simpliest route :
> >
> >
> >
> > errorHandler(deadLetterChannel("direct:error"));
> >
> > from("file://C:/Temp/camel?noop=true")
> > .log("Ticket : ${body}")
> > .split()
> > .tokenize("\n")
> > .unmarshal()
> > .bindy(BindyType.Csv, AED.class)
> > .log("Ticket in : ${body}")
> > .marshal()
> > .bindy(BindyType.Csv, AED.class)
> > .log("end ${file:name}").end();
> >
> >
> > from("direct:error").log("ERROR : '${body}' ").end();
> >
> >
> >
> > - All my line are rejected when required = true for the first column :
> >
> > @DataField(pos = 1, required = true)
> > private String nom = "";
> >
> > - When @DataField(pos = 1, required = false)
> > private String nom = "";
> >
> >
> >
> > Correct line are bindy except the first column which stay null.
> >
> >
> > [read #5 - file://C:/Temp/camel] route1 INFO Ticket :
> bob;mazone4;01/12/2012;jack
> > bob;mazone5;01/12/2012?;jack
> > bob;mazone4;01/12/2012;jack
> >
> > [read #5 - file://C:/Temp/camel] route1 INFO Ticket in : Descripteur
> [nom=, zone=mazone4, date=Sat Dec 01 00:00:00 CET 2012, titulaire=jack]
> > [read #5 - file://C:/Temp/camel] route1 INFO Fin traitement VDE_AED.csv
> > [read #5 - file://C:/Temp/camel] route2 INFO ERROR :
> 'bob;mazone5;01/12/2012?;jack'
> > [read #5 - file://C:/Temp/camel] route1 INFO Ticket in : Descripteur
> [nom=, zone=mazone4, date=Sat Dec 01 00:00:00 CET 2012, titulaire=jack]
> > [read #5 - file://C:/Temp/camel] route1 INFO Fin traitement VDE_AED.csv
> >
> >
> >
> >
> > By the way I am using camel 2.10.3
> >
> > Strange isn't it ?
> >
> >
> > Attachments:
> > - VDE_AED.csv
> >
> >
>
>
>
>

Reply via email to