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

ASF GitHub Bot commented on NIFI-4149:
--------------------------------------

Github user markap14 commented on the issue:

    https://github.com/apache/nifi/pull/2205
  
    @pvillard31 one note to consider is that a Processor is able to also 
provide its own set of 'variables' to the EL when evaluated. For example, when 
RouteText is used with a "Matching Strategy" of "Satisfies Expression", the 
variables "line" and "lineNo" are also available in EL to make routing 
decisions. I think it would be nice for this to be better reflected here as 
well, such as :
    
    ```
    .expressionLanguageSupported(ExpressionLanguageScope.FLOWFILE_ATTRIBUTES)
    .expressionLanguageVariable("line", "The line of text to evaluate")
    .expressionLanguageVariable("lineNo", "The 1-based number that represents 
which line in the incoming FlowFile this line is")
    ```
    
    Additionally, the Mock Framework currently will throw an Exception if a 
Property indicates that EL is supported but does not evaluate the Expression 
Language (or vice versa). It probably makes sense to update that to also ensure 
that the proper scope was used (if VARIABLE_REGISTRY is specified but FlowFile 
attributes are evaluated, that should fail). This could potentially be done as 
a separate JIRA, though.



> Indicate if EL is evaluated against FFs or not
> ----------------------------------------------
>
>                 Key: NIFI-4149
>                 URL: https://issues.apache.org/jira/browse/NIFI-4149
>             Project: Apache NiFi
>          Issue Type: Improvement
>          Components: Core Framework
>            Reporter: Pierre Villard
>            Assignee: Pierre Villard
>
> With the addition of EL in a lot of places to improve SDLC and workflow 
> staging, it becomes important to indicate to users if the expression language 
> enabled on a property will be evaluated against the attributes of incoming 
> flow files or if it will only be evaluated against various variable stores 
> (env variables, variable registry, etc).
> Actually, the expression language (without evaluation against flow files) 
> could be allowed on any property by default, and evaluation against flow 
> files would be what is actually indicated in the UI as we are doing today. 
> Adopting this approach could solve a lot of JIRA/PRs we are seeing to add EL 
> on some specific properties (without evaluation against FFs).
> Having expression language to access external values could make sense on any 
> property for any user. However evaluating the expression language against FFs 
> is clearly a more complex challenge when it comes to session management and 
> such.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to