You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flink.apache.org by rm...@apache.org on 2014/11/20 15:30:19 UTC

[2/3] incubator-flink git commit: [FLINK-1251] Enums are now handled properly by the collection input format

[FLINK-1251] Enums are now handled properly by the collection input format


Project: http://git-wip-us.apache.org/repos/asf/incubator-flink/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-flink/commit/8081ddc5
Tree: http://git-wip-us.apache.org/repos/asf/incubator-flink/tree/8081ddc5
Diff: http://git-wip-us.apache.org/repos/asf/incubator-flink/diff/8081ddc5

Branch: refs/heads/master
Commit: 8081ddc530e6c7b720da09ac0fca2095d70fdd36
Parents: 591f16d
Author: Robert Metzger <rm...@apache.org>
Authored: Wed Nov 19 14:02:14 2014 +0100
Committer: Robert Metzger <rm...@apache.org>
Committed: Thu Nov 20 15:29:44 2014 +0100

----------------------------------------------------------------------
 .../flink/api/common/typeutils/base/EnumSerializer.java   | 10 ++++++++++
 .../apache/flink/test/javaApiOperators/ReduceITCase.java  |  4 +++-
 .../test/javaApiOperators/util/CollectionDataSets.java    |  4 ++--
 3 files changed, 15 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-flink/blob/8081ddc5/flink-core/src/main/java/org/apache/flink/api/common/typeutils/base/EnumSerializer.java
----------------------------------------------------------------------
diff --git a/flink-core/src/main/java/org/apache/flink/api/common/typeutils/base/EnumSerializer.java b/flink-core/src/main/java/org/apache/flink/api/common/typeutils/base/EnumSerializer.java
index b46e956..d7fbc3b 100644
--- a/flink-core/src/main/java/org/apache/flink/api/common/typeutils/base/EnumSerializer.java
+++ b/flink-core/src/main/java/org/apache/flink/api/common/typeutils/base/EnumSerializer.java
@@ -91,6 +91,16 @@ public final class EnumSerializer<T extends Enum<T>> extends TypeSerializer<T> {
 		target.write(source, 4);
 	}
 
+	@Override
+	public boolean equals(Object obj) {
+		if(obj instanceof EnumSerializer) {
+			EnumSerializer other = (EnumSerializer) obj;
+			return other.enumClass == this.enumClass;
+		} else {
+			return false;
+		}
+	}
+
 	// --------------------------------------------------------------------------------------------
 
 	private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException {

http://git-wip-us.apache.org/repos/asf/incubator-flink/blob/8081ddc5/flink-tests/src/test/java/org/apache/flink/test/javaApiOperators/ReduceITCase.java
----------------------------------------------------------------------
diff --git a/flink-tests/src/test/java/org/apache/flink/test/javaApiOperators/ReduceITCase.java b/flink-tests/src/test/java/org/apache/flink/test/javaApiOperators/ReduceITCase.java
index 38a7a0e..20cbb4a 100644
--- a/flink-tests/src/test/java/org/apache/flink/test/javaApiOperators/ReduceITCase.java
+++ b/flink-tests/src/test/java/org/apache/flink/test/javaApiOperators/ReduceITCase.java
@@ -369,6 +369,8 @@ public class ReduceITCase extends JavaProgramTestBase {
 						throw new RuntimeException("Unexpected value for l=" + l);
 					}
 				});
+				ds = ds.union(CollectionDataSets.getPojoWithDateAndEnum(env));
+
 				DataSet<String> res = ds.groupBy("group").reduceGroup(new GroupReduceFunction<CollectionDataSets.PojoWithDateAndEnum, String>() {
 					private static final long serialVersionUID = 1L;
 
@@ -381,7 +383,7 @@ public class ReduceITCase extends JavaProgramTestBase {
 							} else if(val.cat == CollectionDataSets.Category.CAT_B) {
 								Assert.assertEquals("b", val.group);
 							} else {
-								Assert.fail("error");
+								Assert.fail("error. Cat = "+val.cat);
 							}
 							Assert.assertEquals(666, val.date.getTime());
 						}

http://git-wip-us.apache.org/repos/asf/incubator-flink/blob/8081ddc5/flink-tests/src/test/java/org/apache/flink/test/javaApiOperators/util/CollectionDataSets.java
----------------------------------------------------------------------
diff --git a/flink-tests/src/test/java/org/apache/flink/test/javaApiOperators/util/CollectionDataSets.java b/flink-tests/src/test/java/org/apache/flink/test/javaApiOperators/util/CollectionDataSets.java
index d6a8f40..731f036 100644
--- a/flink-tests/src/test/java/org/apache/flink/test/javaApiOperators/util/CollectionDataSets.java
+++ b/flink-tests/src/test/java/org/apache/flink/test/javaApiOperators/util/CollectionDataSets.java
@@ -549,11 +549,11 @@ public class CollectionDataSets {
 		data.add(one);
 		
 		PojoWithDateAndEnum two = new PojoWithDateAndEnum();
-		two.group = "a"; two.date = new Date(666); //two.cat = Category.CAT_A;
+		two.group = "a"; two.date = new Date(666); two.cat = Category.CAT_A;
 		data.add(two);
 		
 		PojoWithDateAndEnum three = new PojoWithDateAndEnum();
-		three.group = "b"; three.date = new Date(666); //three.cat = Category.CAT_B;
+		three.group = "b"; three.date = new Date(666); three.cat = Category.CAT_B;
 		data.add(three);
 		
 		return env.fromCollection(data);