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.

Christian

On Sun, May 29, 2011 at 2:27 PM, Claus Ibsen <claus.ib...@gmail.com> wrote:

> On Sun, May 29, 2011 at 1:00 PM, Christian Müller
> <christian.muel...@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.ib...@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.con...@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: cib...@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: cib...@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/
>

Reply via email to