You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flume.apache.org by hs...@apache.org on 2015/02/26 06:56:05 UTC
flume git commit: FLUME-2570. Add option to not pad date fields.
Repository: flume
Updated Branches:
refs/heads/trunk 407874b90 -> 3d0305361
FLUME-2570. Add option to not pad date fields.
(Peter Leckie via Hari)
Project: http://git-wip-us.apache.org/repos/asf/flume/repo
Commit: http://git-wip-us.apache.org/repos/asf/flume/commit/3d030536
Tree: http://git-wip-us.apache.org/repos/asf/flume/tree/3d030536
Diff: http://git-wip-us.apache.org/repos/asf/flume/diff/3d030536
Branch: refs/heads/trunk
Commit: 3d03053615694ca638e5ddf314081826b8a5f1ac
Parents: 407874b
Author: Hari Shreedharan <hs...@apache.org>
Authored: Wed Feb 25 21:54:34 2015 -0800
Committer: Hari Shreedharan <hs...@apache.org>
Committed: Wed Feb 25 21:54:34 2015 -0800
----------------------------------------------------------------------
.../flume/formatter/output/BucketPath.java | 10 +++++++
.../flume/formatter/output/TestBucketPath.java | 31 ++++++++++++++++++++
flume-ng-doc/sphinx/FlumeUserGuide.rst | 2 ++
3 files changed, 43 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/flume/blob/3d030536/flume-ng-core/src/main/java/org/apache/flume/formatter/output/BucketPath.java
----------------------------------------------------------------------
diff --git a/flume-ng-core/src/main/java/org/apache/flume/formatter/output/BucketPath.java b/flume-ng-core/src/main/java/org/apache/flume/formatter/output/BucketPath.java
index afe095c..e565192 100644
--- a/flume-ng-core/src/main/java/org/apache/flume/formatter/output/BucketPath.java
+++ b/flume-ng-core/src/main/java/org/apache/flume/formatter/output/BucketPath.java
@@ -74,6 +74,8 @@ public class BucketPath {
return "datetime";
case 'd':
return "day_of_month_xx"; // two digit
+ case 'e':
+ return "day_of_month_x"; // 1 or 2 digit
case 'D':
return "date_short"; // "MM/dd/yy";
case 'H':
@@ -88,6 +90,8 @@ public class BucketPath {
return "hour_12"; // 1 or 2 digits
case 'm':
return "month_xx";
+ case 'n':
+ return "month_x"; // 1 or 2 digits
case 'M':
return "minute_xx";
case 'p':
@@ -261,6 +265,9 @@ public class BucketPath {
case 'd':
formatString = "dd";
break;
+ case 'e':
+ formatString = "d";
+ break;
case 'D':
formatString = "MM/dd/yy";
break;
@@ -285,6 +292,9 @@ public class BucketPath {
case 'M':
formatString = "mm";
break;
+ case 'n':
+ formatString = "M";
+ break;
case 'p':
formatString = "a";
break;
http://git-wip-us.apache.org/repos/asf/flume/blob/3d030536/flume-ng-core/src/test/java/org/apache/flume/formatter/output/TestBucketPath.java
----------------------------------------------------------------------
diff --git a/flume-ng-core/src/test/java/org/apache/flume/formatter/output/TestBucketPath.java b/flume-ng-core/src/test/java/org/apache/flume/formatter/output/TestBucketPath.java
index 8d1da12..21b972b 100644
--- a/flume-ng-core/src/test/java/org/apache/flume/formatter/output/TestBucketPath.java
+++ b/flume-ng-core/src/test/java/org/apache/flume/formatter/output/TestBucketPath.java
@@ -121,6 +121,37 @@ public class TestBucketPath {
Assert.assertEquals(expectedString, escapedString);
}
+
+ @Test
+ public void testNoPadding(){
+ Calendar calender;
+ Map<String, String> calender_timestamp;
+ calender = Calendar.getInstance();
+
+ //Check single digit dates
+ calender.set(2014, (5-1), 3, 13, 46, 33);
+ calender_timestamp = new HashMap<String, String>();
+ calender_timestamp.put("timestamp", String.valueOf(calender.getTimeInMillis()));
+ SimpleDateFormat format = new SimpleDateFormat("M-d");
+
+ String test = "%n-%e"; // eg 5-3
+ String escapedString = BucketPath.escapeString(
+ test, calender_timestamp, false, Calendar.HOUR_OF_DAY, 12);
+ Date d = new Date(calender.getTimeInMillis());
+ String expectedString = format.format(d);
+
+ //Check two digit dates
+ calender.set(2014, (11-1), 13, 13, 46, 33);
+ calender_timestamp.put("timestamp", String.valueOf(calender.getTimeInMillis()));
+ escapedString += " " + BucketPath.escapeString(
+ test, calender_timestamp, false, Calendar.HOUR_OF_DAY, 12);
+ System.out.println("Escaped String: " + escapedString);
+ d = new Date(calender.getTimeInMillis());
+ expectedString += " " + format.format(d);
+ System.out.println("Expected String: "+ expectedString);
+ Assert.assertEquals(expectedString, escapedString);
+ }
+
@Test
public void testDateFormatTimeZone(){
TimeZone utcTimeZone = TimeZone.getTimeZone("UTC");
http://git-wip-us.apache.org/repos/asf/flume/blob/3d030536/flume-ng-doc/sphinx/FlumeUserGuide.rst
----------------------------------------------------------------------
diff --git a/flume-ng-doc/sphinx/FlumeUserGuide.rst b/flume-ng-doc/sphinx/FlumeUserGuide.rst
index 47e899d..4122cfe 100644
--- a/flume-ng-doc/sphinx/FlumeUserGuide.rst
+++ b/flume-ng-doc/sphinx/FlumeUserGuide.rst
@@ -1628,12 +1628,14 @@ Alias Description
%B locale's long month name (January, February, ...)
%c locale's date and time (Thu Mar 3 23:05:25 2005)
%d day of month (01)
+%e day of month without padding (1)
%D date; same as %m/%d/%y
%H hour (00..23)
%I hour (01..12)
%j day of year (001..366)
%k hour ( 0..23)
%m month (01..12)
+%n month without padding (1..12)
%M minute (00..59)
%p locale's equivalent of am or pm
%s seconds since 1970-01-01 00:00:00 UTC