[
https://issues.apache.org/jira/browse/NIFI-5145?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16471251#comment-16471251
]
ASF GitHub Bot commented on NIFI-5145:
--------------------------------------
Github user MikeThomsen commented on a diff in the pull request:
https://github.com/apache/nifi/pull/2672#discussion_r187481205
--- Diff:
nifi-mock/src/main/java/org/apache/nifi/util/MockPropertyValue.java ---
@@ -202,6 +203,9 @@ public PropertyValue evaluateAttributeExpressions(final
AttributeValueDecorator
@Override
public PropertyValue evaluateAttributeExpressions(final FlowFile
flowFile) throws ProcessException {
+ if (flowFile == null) {
--- End diff --
> This feels a little bit odd to me, as it's very unclear just from looking
at this method what the intent is here
The intent is to mirror the behavior of running NiFi when you pass a null
flowfile object into `evaluateExpressionLanguage(FlowFile)`. This works on a
running processor:
```
FlowFile parent = null;
String charset =
context.getProperty(CHARSET).evaluateAttributeExpressions(parent).getValue();
```
it does not work against the testing framework. So it seems natural to me
that the testing framework just handle a null flowfile as an empty set of
attributes the way live NiFi does.
> MockPropertyValue.evaluateExpressionLanguage(FlowFile) cannot handle null
> inputs
> --------------------------------------------------------------------------------
>
> Key: NIFI-5145
> URL: https://issues.apache.org/jira/browse/NIFI-5145
> Project: Apache NiFi
> Issue Type: Bug
> Reporter: Mike Thomsen
> Assignee: Mike Thomsen
> Priority: Major
>
> The method mentioned in the title line cannot handle null inputs, even though
> the main NiFi execution classes can handle that scenario. This forces hack to
> pass testing with nulls that looks like this:
> String val = flowFile != null ?
> context.getProperty(PROP).evaluateExpressionLanguage(flowfile).getValue() :
> context.getProperty(PROP).evaluateExpressionLanguage(new
> HashMap()).getValue();
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)