You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@apex.apache.org by cs...@apache.org on 2015/09/30 00:28:26 UTC
[1/2] incubator-apex-malhar git commit: - MLHR-1863 #resolve #comment
Make time buckets comparable.
Repository: incubator-apex-malhar
Updated Branches:
refs/heads/devel-3 873667bce -> 3d0166bfe
- MLHR-1863 #resolve #comment Make time buckets comparable.
Project: http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/commit/28094b7c
Tree: http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/tree/28094b7c
Diff: http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/diff/28094b7c
Branch: refs/heads/devel-3
Commit: 28094b7c49abee63e7aacaa58af3f59512fcd2dd
Parents: 66a1d58
Author: Timothy Farkas <ti...@datatorrent.com>
Authored: Tue Sep 29 12:35:16 2015 -0700
Committer: Timothy Farkas <ti...@datatorrent.com>
Committed: Tue Sep 29 15:13:06 2015 -0700
----------------------------------------------------------------------
.../lib/appdata/schemas/CustomTimeBucket.java | 13 +++++++-
.../lib/appdata/schemas/TimeBucket.java | 16 ++++++++++
.../appdata/schemas/CustomTimeBucketTest.java | 18 +++++++++++
.../lib/appdata/schemas/TimeBucketTest.java | 33 ++++++++++++++++++++
4 files changed, 79 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/28094b7c/library/src/main/java/com/datatorrent/lib/appdata/schemas/CustomTimeBucket.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/com/datatorrent/lib/appdata/schemas/CustomTimeBucket.java b/library/src/main/java/com/datatorrent/lib/appdata/schemas/CustomTimeBucket.java
index 21ae425..5987324 100644
--- a/library/src/main/java/com/datatorrent/lib/appdata/schemas/CustomTimeBucket.java
+++ b/library/src/main/java/com/datatorrent/lib/appdata/schemas/CustomTimeBucket.java
@@ -26,7 +26,7 @@ import com.google.common.base.Preconditions;
/**
* This represents a {@link TimeBucket} which can be a multiple of a time unit.
*/
-public class CustomTimeBucket implements Serializable
+public class CustomTimeBucket implements Serializable, Comparable<CustomTimeBucket>
{
private static final long serialVersionUID = 201509221545L;
@@ -189,4 +189,15 @@ public class CustomTimeBucket implements Serializable
return true;
}
+ @Override
+ public int compareTo(CustomTimeBucket other)
+ {
+ if (this.numMillis < other.numMillis) {
+ return -1;
+ } else if (this.numMillis == other.numMillis) {
+ return 0;
+ }
+
+ return 1;
+ }
}
http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/28094b7c/library/src/main/java/com/datatorrent/lib/appdata/schemas/TimeBucket.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/com/datatorrent/lib/appdata/schemas/TimeBucket.java b/library/src/main/java/com/datatorrent/lib/appdata/schemas/TimeBucket.java
index 01ff4a0..c4a6d0b 100644
--- a/library/src/main/java/com/datatorrent/lib/appdata/schemas/TimeBucket.java
+++ b/library/src/main/java/com/datatorrent/lib/appdata/schemas/TimeBucket.java
@@ -16,6 +16,7 @@
package com.datatorrent.lib.appdata.schemas;
import java.util.Collections;
+import java.util.Comparator;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.TimeUnit;
@@ -225,4 +226,19 @@ public enum TimeBucket
Preconditions.checkArgument(SUFFIXES.contains(suffix));
return SUFFIX_TO_TIME_BUCKET.get(suffix);
}
+
+ public static class TimeBucketComparator implements Comparator<TimeBucket>
+ {
+ public static final TimeBucketComparator INSTANCE = new TimeBucketComparator();
+
+ private TimeBucketComparator()
+ {
+ }
+
+ @Override
+ public int compare(TimeBucket timeBucketA, TimeBucket timeBucketB)
+ {
+ return timeBucketA.getTimeUnit().compareTo(timeBucketB.getTimeUnit());
+ }
+ }
}
http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/28094b7c/library/src/test/java/com/datatorrent/lib/appdata/schemas/CustomTimeBucketTest.java
----------------------------------------------------------------------
diff --git a/library/src/test/java/com/datatorrent/lib/appdata/schemas/CustomTimeBucketTest.java b/library/src/test/java/com/datatorrent/lib/appdata/schemas/CustomTimeBucketTest.java
index 1fac867..b6ebef8 100644
--- a/library/src/test/java/com/datatorrent/lib/appdata/schemas/CustomTimeBucketTest.java
+++ b/library/src/test/java/com/datatorrent/lib/appdata/schemas/CustomTimeBucketTest.java
@@ -59,4 +59,22 @@ public class CustomTimeBucketTest
Assert.assertEquals(expected, customTimeBucket.roundDown(val));
}
+
+ @Test
+ public void compareTest()
+ {
+ CustomTimeBucket bigger = new CustomTimeBucket("180m");
+ CustomTimeBucket smaller = new CustomTimeBucket("2h");
+
+ Assert.assertTrue(bigger.compareTo(bigger) == 0);
+ Assert.assertTrue(smaller.compareTo(smaller) == 0);
+
+ Assert.assertTrue(bigger.compareTo(smaller) > 0);
+ Assert.assertTrue(smaller.compareTo(bigger) < 0);
+
+ smaller = new CustomTimeBucket("91m");
+
+ Assert.assertTrue(bigger.compareTo(smaller) > 0);
+ Assert.assertTrue(smaller.compareTo(bigger) < 0);
+ }
}
http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/28094b7c/library/src/test/java/com/datatorrent/lib/appdata/schemas/TimeBucketTest.java
----------------------------------------------------------------------
diff --git a/library/src/test/java/com/datatorrent/lib/appdata/schemas/TimeBucketTest.java b/library/src/test/java/com/datatorrent/lib/appdata/schemas/TimeBucketTest.java
new file mode 100644
index 0000000..b43ee46
--- /dev/null
+++ b/library/src/test/java/com/datatorrent/lib/appdata/schemas/TimeBucketTest.java
@@ -0,0 +1,33 @@
+/*
+ * Copyright (c) 2015 DataTorrent
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.datatorrent.lib.appdata.schemas;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+import com.datatorrent.lib.appdata.schemas.TimeBucket.TimeBucketComparator;
+
+public class TimeBucketTest
+{
+ @Test
+ public void compareTimeBuckets()
+ {
+ Assert.assertTrue(TimeBucketComparator.INSTANCE.compare(TimeBucket.HOUR, TimeBucket.MINUTE) > 0);
+ Assert.assertTrue(TimeBucketComparator.INSTANCE.compare(TimeBucket.MINUTE, TimeBucket.HOUR) < 0);
+ Assert.assertTrue(TimeBucketComparator.INSTANCE.compare(TimeBucket.MINUTE, TimeBucket.MINUTE) == 0);
+ }
+}
[2/2] incubator-apex-malhar git commit: Merge branch 'MLHR-1863' into
devel-3
Posted by cs...@apache.org.
Merge branch 'MLHR-1863' into devel-3
Project: http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/commit/3d0166bf
Tree: http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/tree/3d0166bf
Diff: http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/diff/3d0166bf
Branch: refs/heads/devel-3
Commit: 3d0166bfe3d6cce0ea6fbdac74d8ad7d06e95dad
Parents: 873667b 28094b7
Author: Chandni Singh <cs...@apache.org>
Authored: Tue Sep 29 15:16:40 2015 -0700
Committer: Chandni Singh <cs...@apache.org>
Committed: Tue Sep 29 15:16:40 2015 -0700
----------------------------------------------------------------------
.../lib/appdata/schemas/CustomTimeBucket.java | 13 +++++++-
.../lib/appdata/schemas/TimeBucket.java | 16 ++++++++++
.../appdata/schemas/CustomTimeBucketTest.java | 18 +++++++++++
.../lib/appdata/schemas/TimeBucketTest.java | 33 ++++++++++++++++++++
4 files changed, 79 insertions(+), 1 deletion(-)
----------------------------------------------------------------------