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