[
https://issues.apache.org/jira/browse/NIFI-12018?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18076688#comment-18076688
]
Daniel Stieglitz commented on NIFI-12018:
-----------------------------------------
[~markap14] Is this ticket still something you see that should still be
implemented?
> Allow return values from UpdateRecord to be non-String values
> -------------------------------------------------------------
>
> Key: NIFI-12018
> URL: https://issues.apache.org/jira/browse/NIFI-12018
> Project: Apache NiFi
> Issue Type: Improvement
> Components: Core Framework, Extensions
> Reporter: Mark Payne
> Assignee: Mark Payne
> Priority: Major
>
> In the UpdateRecord processor, it allows using Expression Language to refer
> to `field.value` and `field.name`. Often, these are used for things like date
> manipulation, etc. but the return value is always a String because it's
> evaluating Expression Language.
> Under the hood, Expression Language's {{Query}} object exposes a
> {{{}ResultType{}}}. We should add two methods to the {{PropertyValue}} object:
> {{ResultType getResultType()}}
> {{Object asObject()}}
> Where {{getResultType()}} will return {{ResultType.STRING}} if no Expression
> Language is present / has been evaluated, and the {{asObject()}} method will
> return one of the following types of values based on the {{{}ResultType{}}}:
> {code:java}
> ResultType | Java Type
> STRING | String
> BOOLEAN | Boolean
> WHOLE_NUMBER | Long
> DATE | Date
> INSTANT | java.time.Instant
> DECIMAL | Double
> NUMBER | Number{code}
> We should then update {{UpdateRecord}} to make use of {{asObject()}} instead
> of {{{}getValue(){}}}. This would allow us to create expressions such as
> {code:java}
> ${field.value:toDate('yyyy/MM/dd HH:mm:ss'):toNumber()} {code}
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)