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

Steven Youtsey commented on NIFI-12018:
---------------------------------------

When the value of field.value is null, it would be helpful if that would be 
retained. Currently, it is converted (silently) to an empty string. For example,
/someField => ${field.value}
someField should remain null

> 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)

Reply via email to