You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@nifi.apache.org by "Joe Skora (JIRA)" <ji...@apache.org> on 2016/09/12 20:26:20 UTC

[jira] [Updated] (NIFI-2752) Correct ReplaceText default pattern and unit tests

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

Joe Skora updated NIFI-2752:
----------------------------
    Status: Patch Available  (was: In Progress)

https://github.com/apache/nifi/pull/1007

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