camel-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "onder sezgin (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CAMEL-7621) camel-bindy - Two new properties to StringFormat through DataField: toUppercase and mapToASCII
Date Wed, 24 May 2017 19:15:04 GMT

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

onder sezgin commented on CAMEL-7621:
-------------------------------------

it seems [~anoordover] implemented factory pattern through https://issues.apache.org/jira/browse/CAMEL-9954
which is very nice.
patch does not seem applicable and even if it would be applicable, i'd like to imagine such
an implementation for DataField like 

{code}
@DataField(pos = 14, length = 5, align = "L", function="toUpperCase")
private String lastName;
{code}

and function plays with the data field as injected through function's method.

I guess this may be an limited implementation because such annonation attribute and its value
as method name
may be for calling methods with no parameter. and maybe in future method's with arguements
would be provided.

or maybe with such SPI custom method binding would be provided. Not sure for now how it can
be done..

what do you think about it?

> camel-bindy - Two new properties to StringFormat through DataField: toUppercase and mapToASCII
> ----------------------------------------------------------------------------------------------
>
>                 Key: CAMEL-7621
>                 URL: https://issues.apache.org/jira/browse/CAMEL-7621
>             Project: Camel
>          Issue Type: New Feature
>          Components: camel-bindy
>            Reporter: Bruno Fontana
>            Priority: Minor
>         Attachments: Adding-properties-to-mapToASCII-and-to-convert-to-Up.patch
>
>
> We faced many times the need of converting string fields to uppercase and get rid of
non-ASCII characters when interacting, using fixed-length files, with COBOL banking cores.
> So we decided to patch our own version of camel-bindy to add two new properties to DataField
annotation:
> toUpperCase=<true|false> which converts, if its a String type field, content to
uppercase.
> mapToASCII=<true|false>  which maps, if its a String type field, content to 7-bit
ASCII character mapping. Extended characters are currently mapped like this
> ä,â,á,à -> a (same for all vowels)
> ß -> b
> ç -> c
> ñ -> n
> Conversion uses a lookup table so it could be easily extended to other chars. This conversion
only applies when marshalling. This feature has proven very useful to us when interacting
with banking cores and one that repeatedly has to be recoded or reused. We love the annotation-driven
model of bindy so decided to patch our own version and submit the patch hoping it would be
as useful to others as it is to us.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Mime
View raw message