Hi, I'm developing a route with Camel 2.16.1 that uses Bindy to process a file with fixed length records. The file consists of a header and many rows. I'm unmarshalling the stream with the following data format:
BindyFixedLengthDataFormat bindy = new BindyFixedLengthDataFormat(DocumentRow.class); bindy.setLocale("default"); and my model classes are something like: @FixedLengthRecord(header = DocumentHeader.class) public class DocumentRow { ... @DataField(pos = 10, pattern="+000000000.00;-000000000.00", precision = 2, length = 13, decimalSeparator = ",") private BigDecimal value; ... } @FixedLengthRecord public class DocumentHeader { ... @DataField(pos = 365, pattern="+000000000000.00;-000000000000.00", precision = 2, length = 16, decimalSeparator = ",") private BigDecimal total; ... } Bindy fails to parse the DocumentHeader.total field with a java.lang.NumberFormatException. It seems the locale specified with bindy.setLocale("default") is not passed to the inner headerFactory in the BindyFixedLengthDataFormat and Bindy tries to parse the number calling BigDecimal constructor, instead of parsing it with DecimalFormat. Indeed, if I execute the following (ugly!) code before creating the route: bindy.getFactory(); Field field = BindyFixedLengthDataFormat.class.getDeclaredField("headerFactory"); field.setAccessible(true); BindyFixedLengthFactory headerFactory = (BindyFixedLengthFactory)field.get(bindy); headerFactory.setLocale(bindy.getLocale()); to force the locale, everything's fine. So I think that in BindyFixedLengthDataFormat.createModelFactory() after headerFactory creation there should be a call to headerFactory.setLocale(getLocale()) or something like that (and a similar line for footerFactory). I checked 2.17.x and 2.18.x branches of BindyFixedLengthDataFormat.java and there's not something like this. So the question is: is this really an issue with Bindy or should I achieve this result in a different way ? Regards, Marco -- View this message in context: http://camel.465427.n5.nabble.com/camel-bindy-issue-with-header-and-missing-locale-tp5791754.html Sent from the Camel - Users mailing list archive at Nabble.com.