Hello,
I use the library Bindy for quite some time, and she is great .
However, I recently found a problem. Let me explain:
I'm developing on Windows machine, everything goes well. Once deployed on
the target machine (Linux), csv files generated are not correct: the header
is not good.
In fact, I created for each file type csv a model object, in each package
separately. There are common fields between the models and the concern comes
from there: camel-bindy is lost when generating the header. The generated
header contains fields that come from another model.
An example :
*Model 1 :*
@CsvRecord(separator=";", generateHeaderColumns=true, skipFirstLine=true)
public class OpportunityDTO implements Serializable{
/**
*
*/
private static final long serialVersionUID = 1L;
@DataField(columnName = "OpportunityId", pos = 1 )
String opportunityId;
@DataField(columnName = "AccountId", pos = 2 )
String accountId;
@DataField(columnName = "Country", pos = 3 )
String country;
@DataField(columnName = "OpportunityType", pos = 4 )
String opportunityType;
@DataField(columnName = "ValidStartDate", pos = 5, pattern
="\"dd/MM/yyyy\"" )
Date validStartDate;
@DataField(columnName = "ValidEndDate", pos = 6, pattern
="\"dd/MM/yyyy\""
)
Date validEndDate;
@DataField(columnName = "OpportunityCurrency", pos = 7 )
String opportunityCurrency;
@DataField(columnName = "ParentOpportunityId", pos = 8 )
String parentOpportunityId;
@DataField(columnName = "SalesMonitoring", pos = 9 )
String salesMonitoring;
// Getter and setter
}
*Model 2 :*
@CsvRecord(separator=";", generateHeaderColumns=true,
skipFirstLine=true)
public class OpportunityLeaserDTO {
@DataField(columnName = "OpportunityId", pos = 1 )
String opportunityId;
@DataField(columnName = "LeaserId", pos = 2 )
String leaserID;
@DataField(columnName = "ValidStartDate", pos = 3, pattern
="\"dd/MM/yyyy\"" )
Date validStartDate;
@DataField(columnName = "ValidEndDate", pos = 4, pattern
="\"dd/MM/yyyy\""
)
Date validEndDate;
// Getter and setter
}
For the first model "OpportunityDTO", the header is incorrect and generated
as follows:
OpportunityId;*LeaserId*;*ValidStartDate*;*ValidEndDate*;Country;ValidStartDate;ValidEndDate;ParentOpportunityId;SalesMonitoring
For the second model "OpportunityLeaserDTO" the generated header is correct
I still do not understand where is the problem and why only on linux???
I use the latest release of Bindy: 2.10.0
Thank you for your support.
--
View this message in context:
http://camel.465427.n5.nabble.com/Bindy-CSV-Header-is-incorrect-tp5717531.html
Sent from the Camel - Users mailing list archive at Nabble.com.