You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by jo...@apache.org on 2021/03/09 21:32:51 UTC

[nifi] 02/06: NIFI-8291: Support escaping unicode characters for fields that previously allowed escaping only of \t, \n\, \r

This is an automated email from the ASF dual-hosted git repository.

joewitt pushed a commit to branch support/nifi-1.13
in repository https://gitbox.apache.org/repos/asf/nifi.git

commit c80eb743718bec01729189b23cb39ba6a27df99d
Author: Mark Payne <ma...@hotmail.com>
AuthorDate: Wed Mar 3 11:29:06 2021 -0500

    NIFI-8291: Support escaping unicode characters for fields that previously allowed escaping only of \t, \n\, \r
    
    Signed-off-by: Pierre Villard <pi...@gmail.com>
    
    This closes #4871.
---
 .../src/main/java/org/apache/nifi/csv/CSVUtils.java       | 15 ++-------------
 .../src/main/java/org/apache/nifi/csv/CSVValidators.java  |  2 +-
 2 files changed, 3 insertions(+), 14 deletions(-)

diff --git a/nifi-nar-bundles/nifi-extension-utils/nifi-record-utils/nifi-standard-record-utils/src/main/java/org/apache/nifi/csv/CSVUtils.java b/nifi-nar-bundles/nifi-extension-utils/nifi-record-utils/nifi-standard-record-utils/src/main/java/org/apache/nifi/csv/CSVUtils.java
index bb45292..82a2c25 100644
--- a/nifi-nar-bundles/nifi-extension-utils/nifi-record-utils/nifi-standard-record-utils/src/main/java/org/apache/nifi/csv/CSVUtils.java
+++ b/nifi-nar-bundles/nifi-extension-utils/nifi-record-utils/nifi-standard-record-utils/src/main/java/org/apache/nifi/csv/CSVUtils.java
@@ -230,7 +230,7 @@ public class CSVUtils {
         String value = context.getProperty(VALUE_SEPARATOR).evaluateAttributeExpressions(variables).getValue();
 
         if (value != null) {
-            String unescaped = unescapeJava(value);
+            String unescaped = unescape(value);
             if (unescaped.length() == 1) {
                 return unescaped.charAt(0);
             }
@@ -315,21 +315,10 @@ public class CSVUtils {
         return format;
     }
 
-    public static String unescapeJava(String input) {
+    public static String unescape(String input) {
         if (input != null && input.length() > 1) {
             input = StringEscapeUtils.unescapeJava(input);
         }
         return input;
     }
-
-
-    public static String unescape(final String input) {
-        if (input == null) {
-            return null;
-        }
-
-        return input.replace("\\t", "\t")
-            .replace("\\n", "\n")
-            .replace("\\r", "\r");
-    }
 }
diff --git a/nifi-nar-bundles/nifi-extension-utils/nifi-record-utils/nifi-standard-record-utils/src/main/java/org/apache/nifi/csv/CSVValidators.java b/nifi-nar-bundles/nifi-extension-utils/nifi-record-utils/nifi-standard-record-utils/src/main/java/org/apache/nifi/csv/CSVValidators.java
index f9c01d8..4066810 100644
--- a/nifi-nar-bundles/nifi-extension-utils/nifi-record-utils/nifi-standard-record-utils/src/main/java/org/apache/nifi/csv/CSVValidators.java
+++ b/nifi-nar-bundles/nifi-extension-utils/nifi-record-utils/nifi-standard-record-utils/src/main/java/org/apache/nifi/csv/CSVValidators.java
@@ -89,7 +89,7 @@ public class CSVValidators {
                         .build();
             }
 
-            String unescaped = CSVUtils.unescapeJava(input);
+            String unescaped = CSVUtils.unescape(input);
 
             return new ValidationResult.Builder()
                     .subject(subject)