You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by ma...@apache.org on 2015/06/08 11:02:37 UTC
incubator-kylin git commit: KYLIN-817 change TimeStrDictionary decode
behaviour
Repository: incubator-kylin
Updated Branches:
refs/heads/0.8.0 44b3c6a3a -> cb10c562f
KYLIN-817 change TimeStrDictionary decode behaviour
Project: http://git-wip-us.apache.org/repos/asf/incubator-kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-kylin/commit/cb10c562
Tree: http://git-wip-us.apache.org/repos/asf/incubator-kylin/tree/cb10c562
Diff: http://git-wip-us.apache.org/repos/asf/incubator-kylin/diff/cb10c562
Branch: refs/heads/0.8.0
Commit: cb10c562fd5fe87bcaac2341475a49eb652dab31
Parents: 44b3c6a
Author: honma <ho...@ebay.com>
Authored: Mon Jun 8 17:01:34 2015 +0800
Committer: honma <ho...@ebay.com>
Committed: Mon Jun 8 17:01:53 2015 +0800
----------------------------------------------------------------------
.../apache/kylin/common/util/DateFormat.java | 12 +++++--
.../apache/kylin/dict/TimeStrDictionary.java | 9 +----
.../kylin/dict/TimeStrDictionaryTests.java | 36 +++++++++-----------
3 files changed, 27 insertions(+), 30 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/cb10c562/common/src/main/java/org/apache/kylin/common/util/DateFormat.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/kylin/common/util/DateFormat.java b/common/src/main/java/org/apache/kylin/common/util/DateFormat.java
index d184a24..c6a651f 100644
--- a/common/src/main/java/org/apache/kylin/common/util/DateFormat.java
+++ b/common/src/main/java/org/apache/kylin/common/util/DateFormat.java
@@ -30,11 +30,19 @@ public class DateFormat {
}
public static String formatToDateStr(long millis) {
- return getDateFormat(DEFAULT_DATE_PATTERN).format(new Date(millis));
+ return formatToTimeStr(millis, DEFAULT_DATE_PATTERN);
}
public static String formatToTimeStr(long millis) {
- return getDateFormat(DEFAULT_DATETIME_PATTERN_WITH_MILLISECONDS).format(new Date(millis));
+ return formatToTimeStr(millis, DEFAULT_DATETIME_PATTERN_WITH_MILLISECONDS);
+ }
+
+ public static String formatToTimeWithoutMilliStr(long millis) {
+ return formatToTimeStr(millis, DEFAULT_DATETIME_PATTERN_WITHOUT_MILLISECONDS);
+ }
+
+ public static String formatToTimeStr(long millis, String pattern) {
+ return getDateFormat(pattern).format(new Date(millis));
}
public static String dateToString(Date date, String pattern) {
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/cb10c562/dictionary/src/main/java/org/apache/kylin/dict/TimeStrDictionary.java
----------------------------------------------------------------------
diff --git a/dictionary/src/main/java/org/apache/kylin/dict/TimeStrDictionary.java b/dictionary/src/main/java/org/apache/kylin/dict/TimeStrDictionary.java
index 3759d23..2c576e7 100644
--- a/dictionary/src/main/java/org/apache/kylin/dict/TimeStrDictionary.java
+++ b/dictionary/src/main/java/org/apache/kylin/dict/TimeStrDictionary.java
@@ -56,14 +56,7 @@ public class TimeStrDictionary extends Dictionary<String> {
return null;
long millis = 1000L * id;
- String s = Long.toString(millis);
-
- StringBuilder sb = new StringBuilder();
- for (int i = 0; i < maxLenghOfPositiveLong - s.length(); ++i) {
- sb.append('0');
- }
- sb.append(s);
- return sb.toString();
+ return DateFormat.formatToTimeWithoutMilliStr(millis);
}
@Override
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/cb10c562/dictionary/src/test/java/org/apache/kylin/dict/TimeStrDictionaryTests.java
----------------------------------------------------------------------
diff --git a/dictionary/src/test/java/org/apache/kylin/dict/TimeStrDictionaryTests.java b/dictionary/src/test/java/org/apache/kylin/dict/TimeStrDictionaryTests.java
index 93b2dae..1e381d4 100644
--- a/dictionary/src/test/java/org/apache/kylin/dict/TimeStrDictionaryTests.java
+++ b/dictionary/src/test/java/org/apache/kylin/dict/TimeStrDictionaryTests.java
@@ -5,8 +5,6 @@ import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
-import java.util.Date;
-
/**
*/
public class TimeStrDictionaryTests {
@@ -31,17 +29,17 @@ public class TimeStrDictionaryTests {
@Test
public void testEncodeDecode() {
- encodeDecode("1999-01-12", DateFormat.DEFAULT_DATE_PATTERN);
- encodeDecode("2038-01-09", DateFormat.DEFAULT_DATE_PATTERN);
- encodeDecode("2038-01-08", DateFormat.DEFAULT_DATE_PATTERN);
- encodeDecode("1970-01-01", DateFormat.DEFAULT_DATE_PATTERN);
- encodeDecode("1970-01-02", DateFormat.DEFAULT_DATE_PATTERN);
-
- encodeDecode("1999-01-12 11:00:01", DateFormat.DEFAULT_DATETIME_PATTERN_WITHOUT_MILLISECONDS);
- encodeDecode("2038-01-09 01:01:02", DateFormat.DEFAULT_DATETIME_PATTERN_WITHOUT_MILLISECONDS);
- encodeDecode("2038-01-19 03:14:07", DateFormat.DEFAULT_DATETIME_PATTERN_WITHOUT_MILLISECONDS);
- encodeDecode("1970-01-01 23:22:11", DateFormat.DEFAULT_DATETIME_PATTERN_WITHOUT_MILLISECONDS);
- encodeDecode("1970-01-02 23:22:11", DateFormat.DEFAULT_DATETIME_PATTERN_WITHOUT_MILLISECONDS);
+ encodeDecode("1999-01-12");
+ encodeDecode("2038-01-09");
+ encodeDecode("2038-01-08");
+ encodeDecode("1970-01-01");
+ encodeDecode("1970-01-02");
+
+ encodeDecode("1999-01-12 11:00:01");
+ encodeDecode("2038-01-09 01:01:02");
+ encodeDecode("2038-01-19 03:14:07");
+ encodeDecode("1970-01-01 23:22:11");
+ encodeDecode("1970-01-02 23:22:11");
}
@Test
@@ -49,14 +47,12 @@ public class TimeStrDictionaryTests {
Assert.assertEquals(-1, dict.getIdFromValue("2038-01-19 03:14:08"));
}
- public void encodeDecode(String origin, String pattern) {
+ public void encodeDecode(String origin) {
int a = dict.getIdFromValue(origin);
- String v = dict.getValueFromId(a);
- long ts = Long.parseLong(v);
- String back = DateFormat.dateToString(new Date(ts), pattern);
- Assert.assertEquals(origin, back);
- }
-
+ String back = dict.getValueFromId(a);
+ String originChoppingMilis = DateFormat.formatToTimeWithoutMilliStr(DateFormat.stringToMillis(origin));
+ Assert.assertEquals(originChoppingMilis, back);
+ }
}