nifi-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (NIFI-2752) Correct ReplaceText default pattern and unit tests
Date Mon, 12 Sep 2016 19:27:20 GMT

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

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

GitHub user jskora opened a pull request:

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

    NIFI-2752 Correct ReplaceText default pattern and unit tests

     * Corrected the DEFAULT_REGEX pattern.
     * Added tests to isolate regex capture group problem and verify corrected functionality.
     * Removed short circuit logic that masked configuration errors and created inconsistent
processor behavior.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/jskora/nifi NIFI-2752

Alternatively you can review and apply these changes as the patch at:

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

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #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)

Mime
View raw message