camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Claus Ibsen <claus.ib...@gmail.com>
Subject Re: Issue unmarshalling Fixed Length message date
Date Mon, 30 May 2011 09:50:34 GMT
On Sun, May 29, 2011 at 11:46 PM, Christian Müller
<christian.mueller@gmail.com> wrote:
> The problem was the wrong pos parameter in the @DataField annotation. We
> cannot use pos=1, pos=2, pos=3 and so on, if the fields are longer than only
> one character.
>

Weird. Can you highlight this, eg the problem?

I would expect the pos attribute to be mandatory and unique, to
indicate the order of the fields.


> Christian
>
> On Sun, May 29, 2011 at 2:27 PM, Claus Ibsen <claus.ibsen@gmail.com> wrote:
>
>> On Sun, May 29, 2011 at 1:00 PM, Christian Müller
>> <christian.mueller@gmail.com> wrote:
>> > The problem are the wrong bean annotations. The unit test [1] should be
>> > helpful for you. May be we can make Camel a bit smarter.
>> >
>> > Your correct bean annotations should look like the following:
>> > @FixedLengthRecord(length=71, paddingChar=' ')
>> > public class FixedLengthBean implements Serializable {
>> >
>> >       @DataField(pos=1, length=15, pattern="000000000000000")
>> >       private long field1;
>> >       @DataField(pos=16, length=10, pattern="0000000000", required=true)
>> >       private long field2;
>> >       @DataField(pos=26, length=10, pattern="0000000000", required=true)
>> >       private long field3;
>> >       @DataField(pos=36, length=1, required=true)
>> >       private char field4;
>> >       @DataField(pos=37, length=10)
>> >       private String field5;
>> >       @DataField(pos=47, length=12, required=true)
>> >       private String field6;
>> >       @DataField(pos=59, length=1, required=true)
>> >       private char field7;
>> >       @DataField(pos=60, length=2)
>> >       private String field8;
>> >       @DataField(pos=62, length=8, pattern="yyyyMMdd")
>> >       private Date field9;
>> >       @DataField(pos=70, length=2)
>> >       private String field10;
>> > }
>> > With this configuration my unit test passed all tests.
>> >
>>
>> Ah so for the long/int fields we have to set pattern="000000000000" ?
>>
>> If so yeah that should be enhanced/fixed.
>> Can you create a ticket?
>>
>>
>>
>> > [1]
>> >
>> https://svn.apache.org/repos/asf/camel/trunk/components/camel-bindy/src/test/java/org/apache/camel/dataformat/bindy/fixed/unmarshall/simple/trim/BindySimpleFixedLengthUnmarshallTest.java
>> >
>> > Best,
>> > Christian
>> >
>> > On Fri, May 27, 2011 at 1:37 PM, Claus Ibsen <claus.ibsen@gmail.com>
>> wrote:
>> >
>> >> Hi
>> >>
>> >> Yeah it seems odd why the field at position 9 is not grabbing further
>> >> into the text, where the date is.
>> >>
>> >> Fell free to create a JIRA ticket and attach an unit test showing the
>> >> problem. Then we can use that to fix the bug.
>> >>
>> >>
>> >> On Fri, May 27, 2011 at 11:41 AM, cconesa
>> >> <carlos.conesa@rulefinancial.com> wrote:
>> >> > <p>
>> >> > This is my route configuration for test. I think I am using the rigth
>> >> > bindy..
>> >> > </p>
>> >> >
>> >> >
>> >> > <code>
>> >> >        @Configuration
>> >> >        public static class ContextConfig extends
>> >> SingleRouteCamelConfiguration {
>> >> >                BindyFixedLengthDataFormat camelDataFormat =
new
>> >> > BindyFixedLengthDataFormat(
>> >> >
>> >>  "org.mypckg.dataformat.fixedlength.model");
>> >> >
>> >> >                @Override
>> >> >                @Bean
>> >> >                public RouteBuilder route() {
>> >> >                        return new RouteBuilder() {
>> >> >                                @Override
>> >> >                                public void configure()
{
>> >> >
>> >>  from("direct:start").marshal(camelDataFormat).to(
>> >> >                                              
         "mock:result");
>> >> >                                }
>> >> >                        };
>> >> >                }
>> >> >        }
>> >> > </code>
>> >> >
>> >> > --
>> >> > View this message in context:
>> >>
>> http://camel.465427.n5.nabble.com/Issue-unmarshalling-Fixed-Length-message-date-tp4431276p4431347.html
>> >> > Sent from the Camel - Users mailing list archive at Nabble.com.
>> >> >
>> >>
>> >>
>> >>
>> >> --
>> >> Claus Ibsen
>> >> -----------------
>> >> FuseSource
>> >> Email: cibsen@fusesource.com
>> >> Web: http://fusesource.com
>> >> CamelOne 2011: http://fusesource.com/camelone2011/
>> >> Twitter: davsclaus, fusenews
>> >> Blog: http://davsclaus.blogspot.com/
>> >> Author of Camel in Action: http://www.manning.com/ibsen/
>> >>
>> >
>>
>>
>>
>> --
>> Claus Ibsen
>> -----------------
>> FuseSource
>> Email: cibsen@fusesource.com
>> Web: http://fusesource.com
>> CamelOne 2011: http://fusesource.com/camelone2011/
>> Twitter: davsclaus, fusenews
>> Blog: http://davsclaus.blogspot.com/
>> Author of Camel in Action: http://www.manning.com/ibsen/
>>
>



-- 
Claus Ibsen
-----------------
FuseSource
Email: cibsen@fusesource.com
Web: http://fusesource.com
CamelOne 2011: http://fusesource.com/camelone2011/
Twitter: davsclaus, fusenews
Blog: http://davsclaus.blogspot.com/
Author of Camel in Action: http://www.manning.com/ibsen/

Mime
View raw message