Repository: flume
Updated Branches:
  refs/heads/flume-1.6 a601c97a2 -> e670cba3f


FLUME-2472. SyslogUtils fails when system locale is not English

(Santiago M. Mola via Hari)


Project: http://git-wip-us.apache.org/repos/asf/flume/repo
Commit: http://git-wip-us.apache.org/repos/asf/flume/commit/e670cba3
Tree: http://git-wip-us.apache.org/repos/asf/flume/tree/e670cba3
Diff: http://git-wip-us.apache.org/repos/asf/flume/diff/e670cba3

Branch: refs/heads/flume-1.6
Commit: e670cba3f7b4e58b6a4756829ec25de254d5b0cb
Parents: a601c97
Author: Hari Shreedharan <[email protected]>
Authored: Thu Oct 9 23:17:30 2014 -0700
Committer: Hari Shreedharan <[email protected]>
Committed: Thu Oct 9 23:17:30 2014 -0700

----------------------------------------------------------------------
 .../main/java/org/apache/flume/source/SyslogUtils.java   | 11 ++++++-----
 .../java/org/apache/flume/source/TestSyslogUtils.java    |  3 ++-
 2 files changed, 8 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flume/blob/e670cba3/flume-ng-core/src/main/java/org/apache/flume/source/SyslogUtils.java
----------------------------------------------------------------------
diff --git 
a/flume-ng-core/src/main/java/org/apache/flume/source/SyslogUtils.java 
b/flume-ng-core/src/main/java/org/apache/flume/source/SyslogUtils.java
index 208fefe..43f8db0 100644
--- a/flume-ng-core/src/main/java/org/apache/flume/source/SyslogUtils.java
+++ b/flume-ng-core/src/main/java/org/apache/flume/source/SyslogUtils.java
@@ -36,6 +36,7 @@ import java.util.Calendar;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
+import java.util.Locale;
 import java.util.Map;
 import java.util.Set;
 import java.util.regex.MatchResult;
@@ -240,10 +241,10 @@ public class SyslogUtils {
     // timezone in RFC5424 is [+-]tt:tt, so remove the ':' for java date 
formatting
     fmt1.searchPattern.add("([+-])(\\d{2})[:](\\d{2})");
     fmt1.replacePattern.add("$1$2$3");
-    fmt1.dateFormat.add(new 
SimpleDateFormat(SYSLOG_TIMESTAMP_FORMAT_RFC5424_1));
-    fmt1.dateFormat.add(new 
SimpleDateFormat(SYSLOG_TIMESTAMP_FORMAT_RFC5424_2));
-    fmt1.dateFormat.add(new 
SimpleDateFormat(SYSLOG_TIMESTAMP_FORMAT_RFC5424_3));
-    fmt1.dateFormat.add(new 
SimpleDateFormat(SYSLOG_TIMESTAMP_FORMAT_RFC5424_4));
+    fmt1.dateFormat.add(new 
SimpleDateFormat(SYSLOG_TIMESTAMP_FORMAT_RFC5424_1, Locale.ENGLISH));
+    fmt1.dateFormat.add(new 
SimpleDateFormat(SYSLOG_TIMESTAMP_FORMAT_RFC5424_2, Locale.ENGLISH));
+    fmt1.dateFormat.add(new 
SimpleDateFormat(SYSLOG_TIMESTAMP_FORMAT_RFC5424_3, Locale.ENGLISH));
+    fmt1.dateFormat.add(new 
SimpleDateFormat(SYSLOG_TIMESTAMP_FORMAT_RFC5424_4, Locale.ENGLISH));
     fmt1.addYear = false;
 
     // setup RFC3164 formater
@@ -252,7 +253,7 @@ public class SyslogUtils {
     // the single digit date has two spaces, so trim it
     fmt2.searchPattern.add("  ");
     fmt2.replacePattern.add(" ");
-    fmt2.dateFormat.add(new 
SimpleDateFormat(SYSLOG_TIMESTAMP_FORMAT_RFC3164_1));
+    fmt2.dateFormat.add(new 
SimpleDateFormat(SYSLOG_TIMESTAMP_FORMAT_RFC3164_1, Locale.ENGLISH));
     fmt2.addYear = true;
 
     formats.add(fmt1);

http://git-wip-us.apache.org/repos/asf/flume/blob/e670cba3/flume-ng-core/src/test/java/org/apache/flume/source/TestSyslogUtils.java
----------------------------------------------------------------------
diff --git 
a/flume-ng-core/src/test/java/org/apache/flume/source/TestSyslogUtils.java 
b/flume-ng-core/src/test/java/org/apache/flume/source/TestSyslogUtils.java
index 76ee5b1..86ef40f 100644
--- a/flume-ng-core/src/test/java/org/apache/flume/source/TestSyslogUtils.java
+++ b/flume-ng-core/src/test/java/org/apache/flume/source/TestSyslogUtils.java
@@ -29,6 +29,7 @@ import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.Calendar;
 import java.util.HashSet;
+import java.util.Locale;
 import java.util.Map;
 
 public class TestSyslogUtils {
@@ -184,7 +185,7 @@ public class TestSyslogUtils {
     if (stamp1 == null) {
       Assert.assertFalse(headers2.containsKey("timestamp"));
     } else {
-      SimpleDateFormat formater = new SimpleDateFormat(format1);
+      SimpleDateFormat formater = new SimpleDateFormat(format1, 
Locale.ENGLISH);
       Assert.assertEquals(String.valueOf(formater.parse(stamp1).getTime()), 
headers2.get("timestamp"));
     }
     if (host1 == null) {

Reply via email to