camel-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Luca Burgazzoli (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (CAMEL-4108) camel-bindy - Add more flexibility to DataField
Date Thu, 01 Sep 2016 15:18:20 GMT

    [ https://issues.apache.org/jira/browse/CAMEL-4108?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15455722#comment-15455722
] 

Luca Burgazzoli edited comment on CAMEL-4108 at 9/1/16 3:17 PM:
----------------------------------------------------------------

The issue is that the generic type is erased at runtime so it may not be possible to reliable
get the type, maybe we should also add a type to the DataField (which could *maybe* also be
useful if you want to define a field as Number and specify the type with the annotation).,
or requiring to have a BindyConverter annotation

[~davsclaus] make sense ?


was (Author: lb):
The issue is that the generic type is erased at runtime so it may not be possible to reliable
get the type, maybe we should also add a type to the DataField (which could *maybe* also be
useful if you want to define a field as Number and specify the type with the annotation).

[~davsclaus] make sense ?

> camel-bindy - Add more flexibility to DataField
> -----------------------------------------------
>
>                 Key: CAMEL-4108
>                 URL: https://issues.apache.org/jira/browse/CAMEL-4108
>             Project: Camel
>          Issue Type: New Feature
>          Components: camel-bindy
>            Reporter: Niels Peter Strandberg
>            Priority: Minor
>             Fix For: Future
>
>
> 1) Add a "toEnd" to the DateField:
> CSV file:
> {code}
> w,RegionH,1234,4567,5565
> w,KIT,233,233
> d,Rigshospitalet
> {code}
> The model:
> {code}
> @CsvRecord(separator = ",")
> public class Org {
>    @DataField(pos = 1)
>    private String type;
> 	
>    @DataField(pos = 2)
>    private String name;
>    @DataField(pos = 3, toEnd = true)
>    private List<Integer> ids;
> }
> {code}
> The "ids" list will then contain the result for pos 3 to the end of the line. 
> 2) Add a "endPos" to the DateField:
> CSV file:
> {code}
> w,RegionH,1234,4567,5565,m
> w,KIT,233,233,4545,m
> d,Rigshospitalet,343434,3434,3434,r
> {code}
> The model:
> {code}
> @CsvRecord(separator = ",")
> public class Org {
>    @DataField(pos = 1)
>    private String type;
>    @DataField(pos = 2)
>    private String name;
>    @DataField(pos = 3, endPos = 5)
>     private List<Integer> ids;
>    @DataField(pos = 6)
>    private String action;
> }
> {code}
> The "ids" list will then contain the result for pos 3 to 5. 
> I have a prototype for the unmarshalling.
> /Niels Peter Strandberg



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message