JIRA ticket created:
https://issues.apache.org/jira/browse/CAMEL-5133


Den 31 mars 2012 12:56 skrev Magnus Palmér <magnus.palmer.w...@gmail.com>:

> Sure, I can create a JIRA ticket for it.
> Will have to set up my dev-environment properly to be able to patch it
> though.
> It is in my plan to do anyway but since I am on paternity leave it will
> take a few days since I only have a few hours every day to stuff like this.
> I will migrate a legacy integration platform from in-house framework to
> Camel so I will finally get to spend a lot more time to get familiar with
> the details of Camel.
>
> Anyway, not sure how to patch it.
>
> The problem occurs only when separator is considered a whitespace
> character.
> Could be tested via Character.isWhitespace(separator)
> The other way around is to remove the trim(), I don't see the point in
> trimming the read line, but then I could jeopardize working code.
> Or maybe only trim if Character.isWhitespace(separator) == false?
>
> Perhaps such questions is better placed on the dev-list (not subscribing
> to that one yet)?
>
> Kind regards, Magnus
>
>
> Den 31 mars 2012 12:05 skrev Claus Ibsen <claus.ib...@gmail.com>:
>
> 2012/3/29 Magnus Palmér <magnus.palmer.w...@gmail.com>:
>> > I can confirm, I get the same error as you do when I remove the two last
>> > fields at the end of the line as you did.
>> >
>> > I think this is the where it starts to get wrong:
>> > BindyCsvDataFormat.java
>> >
>> >  138               // Read the line
>> >  139              String line = scanner.nextLine().trim();
>> >
>> > String.trim() trims all the remaining tabs...
>> >
>>
>> Well spotted. Do you mind created a JIRA ticket? And patches is welcome.
>>
>>
>> > Den 29 mars 2012 11:17 skrev Aida <ai.d...@gmail.com>:
>> >
>> >> Hi again, thank you for the quick answers.
>> >>
>> >> I think I have been able to replicate the problem in an easy way. I
>> have
>> >> built some test cases and I have found the one in which I'm having
>> trouble.
>> >> The "required=false" option is working for me always except in one
>> case.
>> >>
>> >> This case is when the two missing fields occur at the end of a line at
>> the
>> >> same time. I'm going to explain it with my test cases.
>> >>
>> >> I have built a simple route for my unitary tests:
>> >>
>> >> from(URI_START_PROCESS)
>> >>      .unmarshal().bindy(BindyType.Csv, "com.mypackage")
>> >>              .to(URI_END_PROCESS_MOCK);
>> >>
>> >>
>> >> My class (I have only one) in "com.mypackage" has the following
>> >> annotations:
>> >> @CsvRecord(separator="\t")
>> >> from positions 1 to 5: @DataField(pos = N, required = true)
>> >> for positions 6 and 7 : @DataField(pos = N, required = false)  (so
>> fields 6
>> >> and 7 are optional)
>> >>
>> >> Test Cases:
>> >>
>> >> Case 1: Processing two lines with ALL the fields    (Works like a
>> charm)
>> >> String data2Process = "data1\t14700\t2011-10-04
>> >> 04:00\t5\t1\t5\t9\ndata2\t14700\t2011-10-04 05:00\t49\t2\t5";
>> >>
>> >> Case 2: Processing two lines. In the first line the 6th field is
>> missing
>> >> (works perfectly)
>> >> String data2Process = "data1\t14700\t2011-10-04
>> >> 04:00\t5\t0*\t\t*0\ndata2\t14700\t2011-10-04 05:00\t149\t0\t0";
>> >>
>> >> Case 3: Processing two lines. In the first line the 7th field is
>> missing
>> >> (works perfectly)
>> >> String data2Process = "data1\t14700\t2011-10-04
>> >> 04:00\t5\t0\t0*\t\n*data2\t14700\t2011-10-04 05:00\t149\t0\t0";
>> >>
>> >> Case 4: Processing two lines. In the first line, both 6th and 7th
>> field are
>> >> missing (is not working)
>> >> String data2Process = "data1\t14700\t2011-10-04
>> >> 04:00\t5\t0*\t\t\n*data2\t14700\t2011-10-04 05:00\t149\t0\t0";
>> >>
>> >>
>> >> I also tried a variation of Case 4, in which I made field 5 also not
>> >> required and the missing fields were 5th and 6th, in this case there
>> were
>> >> no
>> >> problems.
>> >>
>> >> The exception is the one I said before: "Some fields are missing
>> (optional
>> >> or mandatory), line:1"
>> >>
>> >>
>> >>
>> >> --
>> >> View this message in context:
>> >>
>> http://camel.465427.n5.nabble.com/Bindy-Having-trouble-with-the-required-field-tp5597196p5603131.html
>> >> Sent from the Camel - Users mailing list archive at Nabble.com.
>> >>
>>
>>
>>
>> --
>> Claus Ibsen
>> -----------------
>> CamelOne 2012 Conference, May 15-16, 2012: http://camelone.com
>> FuseSource
>> Email: cib...@fusesource.com
>> Web: http://fusesource.com
>> Twitter: davsclaus, fusenews
>> Blog: http://davsclaus.blogspot.com/
>> Author of Camel in Action: http://www.manning.com/ibsen/
>>
>
>

Reply via email to