[ 
https://issues.apache.org/jira/browse/NIFI-2752?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Pierre Villard updated NIFI-2752:
---------------------------------
       Resolution: Fixed
    Fix Version/s: 1.1.0
           Status: Resolved  (was: Patch Available)

Full build with contrib-check. Tested fix. +1
Merged to master.
[~jskora] I don't feel it is supposed to go into 0.x, let me know if it should.

> Correct ReplaceText default pattern and unit tests
> --------------------------------------------------
>
>                 Key: NIFI-2752
>                 URL: https://issues.apache.org/jira/browse/NIFI-2752
>             Project: Apache NiFi
>          Issue Type: Bug
>          Components: Core Framework
>    Affects Versions: 1.1.0, 0.8.0, 0.7.1
>            Reporter: Joe Skora
>            Assignee: Joe Skora
>             Fix For: 1.1.0
>
>
> [{{ReplaceText.DEFAULT_REGEX}}|https://github.com/apache/nifi/blob/master/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/ReplaceText.java#L87]
>  is defined as "(?s:\^.\*$)", which is valid PCRE but must be expressed as 
> "(?s)(\^.\*$)" in Java.
> The Java [Pattern class|https://docs.oracle.com/javase/8/docs/api/index.html] 
> specifies that patterns like "(?idmsux-idmsux:X)" are _non-capturing_, so 
> anything but the default pattern and replacement value result in empty 
> output.  This isn't caught by unit tests because the code short circuits if 
> the default pattern and replacement are found in 
> [ReplaceText.onTrigger()|https://github.com/apache/nifi/blob/master/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/ReplaceText.java#L217].
>   This hides the capture group problem from the unit tests and the default 
> processor configuration, but causes the processor to produce empty output if 
> using non-trivial patterns and replacements.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to