You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flume.apache.org by ap...@apache.org on 2015/08/06 22:57:41 UTC
flume git commit: FLUME-2753 Error when specifying empty replace
string in Search and Replace Interceptor
Repository: flume
Updated Branches:
refs/heads/trunk 5239b618c -> 32ef64dd6
FLUME-2753 Error when specifying empty replace string in Search and Replace Interceptor
(Johny Rufus via Ashish Paliwal)
Project: http://git-wip-us.apache.org/repos/asf/flume/repo
Commit: http://git-wip-us.apache.org/repos/asf/flume/commit/32ef64dd
Tree: http://git-wip-us.apache.org/repos/asf/flume/tree/32ef64dd
Diff: http://git-wip-us.apache.org/repos/asf/flume/diff/32ef64dd
Branch: refs/heads/trunk
Commit: 32ef64dd6b4ee5457832324b3d401a6d724d92bd
Parents: 5239b61
Author: Ashish <ap...@apache.org>
Authored: Thu Aug 6 13:55:43 2015 -0700
Committer: Ashish <ap...@apache.org>
Committed: Thu Aug 6 13:55:43 2015 -0700
----------------------------------------------------------------------
.../flume/interceptor/SearchAndReplaceInterceptor.java | 8 +++++---
.../interceptor/TestSearchAndReplaceInterceptor.java | 11 +++++++++++
2 files changed, 16 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/flume/blob/32ef64dd/flume-ng-core/src/main/java/org/apache/flume/interceptor/SearchAndReplaceInterceptor.java
----------------------------------------------------------------------
diff --git a/flume-ng-core/src/main/java/org/apache/flume/interceptor/SearchAndReplaceInterceptor.java b/flume-ng-core/src/main/java/org/apache/flume/interceptor/SearchAndReplaceInterceptor.java
index 6f5c146..b8588cd 100644
--- a/flume-ng-core/src/main/java/org/apache/flume/interceptor/SearchAndReplaceInterceptor.java
+++ b/flume-ng-core/src/main/java/org/apache/flume/interceptor/SearchAndReplaceInterceptor.java
@@ -105,9 +105,11 @@ public class SearchAndReplaceInterceptor implements Interceptor {
" (may not be empty)");
replaceString = context.getString(REPLACE_STRING_KEY);
- Preconditions.checkNotNull(replaceString,
- "Must supply a replacement string " + REPLACE_STRING_KEY +
- " (empty is ok)");
+ // Empty replacement String value or if the property itself is not present
+ // assign empty string as replacement
+ if(replaceString == null) {
+ replaceString = "";
+ }
searchRegex = Pattern.compile(searchPattern);
http://git-wip-us.apache.org/repos/asf/flume/blob/32ef64dd/flume-ng-core/src/test/java/org/apache/flume/interceptor/TestSearchAndReplaceInterceptor.java
----------------------------------------------------------------------
diff --git a/flume-ng-core/src/test/java/org/apache/flume/interceptor/TestSearchAndReplaceInterceptor.java b/flume-ng-core/src/test/java/org/apache/flume/interceptor/TestSearchAndReplaceInterceptor.java
index b39f912..2ab15f5 100644
--- a/flume-ng-core/src/test/java/org/apache/flume/interceptor/TestSearchAndReplaceInterceptor.java
+++ b/flume-ng-core/src/test/java/org/apache/flume/interceptor/TestSearchAndReplaceInterceptor.java
@@ -84,4 +84,15 @@ public class TestSearchAndReplaceInterceptor {
context.put("replaceString", "REDACTED");
testSearchReplace(context, input, output);
}
+
+ @Test
+ public void testReplaceEmpty() throws Exception {
+ final String input = "Abc123@test.com";
+ final String output = "@test.com";
+ Context context = new Context();
+ context.put("searchPattern", "^[A-Za-z0-9_]+");
+ testSearchReplace(context, input, output);
+ context.put("replaceString", "");
+ testSearchReplace(context, input, output);
+ }
}
\ No newline at end of file