On Sun, May 29, 2011 at 11:46 PM, Christian Müller <christian.muel...@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.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/ >> > -- 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/