From 7081836e0d640ee640687606bd73b6673d3f2a07 Mon Sep 17 00:00:00 2001 From: Stephan Ewen Date: Sun, 31 Jan 2016 23:08:18 +0100 Subject: [PATCH] [FLINK-3303] [core] Move Tuple classes to flink-core --- .../apache/flink/api/java/tuple/Tuple.java | 0 .../apache/flink/api/java/tuple/Tuple0.java | 0 .../apache/flink/api/java/tuple/Tuple1.java | 0 .../apache/flink/api/java/tuple/Tuple10.java | 0 .../apache/flink/api/java/tuple/Tuple11.java | 0 .../apache/flink/api/java/tuple/Tuple12.java | 0 .../apache/flink/api/java/tuple/Tuple13.java | 0 .../apache/flink/api/java/tuple/Tuple14.java | 0 .../apache/flink/api/java/tuple/Tuple15.java | 0 .../apache/flink/api/java/tuple/Tuple16.java | 0 .../apache/flink/api/java/tuple/Tuple17.java | 0 .../apache/flink/api/java/tuple/Tuple18.java | 0 .../apache/flink/api/java/tuple/Tuple19.java | 0 .../apache/flink/api/java/tuple/Tuple2.java | 0 .../apache/flink/api/java/tuple/Tuple20.java | 0 .../apache/flink/api/java/tuple/Tuple21.java | 0 .../apache/flink/api/java/tuple/Tuple22.java | 0 .../apache/flink/api/java/tuple/Tuple23.java | 0 .../apache/flink/api/java/tuple/Tuple24.java | 0 .../apache/flink/api/java/tuple/Tuple25.java | 0 .../apache/flink/api/java/tuple/Tuple3.java | 0 .../apache/flink/api/java/tuple/Tuple4.java | 0 .../apache/flink/api/java/tuple/Tuple5.java | 0 .../apache/flink/api/java/tuple/Tuple6.java | 0 .../apache/flink/api/java/tuple/Tuple7.java | 0 .../apache/flink/api/java/tuple/Tuple8.java | 0 .../apache/flink/api/java/tuple/Tuple9.java | 0 .../api/java/tuple/builder/Tuple0Builder.java | 0 .../java/tuple/builder/Tuple10Builder.java | 4 +- .../java/tuple/builder/Tuple11Builder.java | 4 +- .../java/tuple/builder/Tuple12Builder.java | 4 +- .../java/tuple/builder/Tuple13Builder.java | 4 +- .../java/tuple/builder/Tuple14Builder.java | 4 +- .../java/tuple/builder/Tuple15Builder.java | 4 +- .../java/tuple/builder/Tuple16Builder.java | 4 +- .../java/tuple/builder/Tuple17Builder.java | 4 +- .../java/tuple/builder/Tuple18Builder.java | 4 +- .../java/tuple/builder/Tuple19Builder.java | 4 +- .../api/java/tuple/builder/Tuple1Builder.java | 4 +- .../java/tuple/builder/Tuple20Builder.java | 4 +- .../java/tuple/builder/Tuple21Builder.java | 4 +- .../java/tuple/builder/Tuple22Builder.java | 4 +- .../java/tuple/builder/Tuple23Builder.java | 4 +- .../java/tuple/builder/Tuple24Builder.java | 4 +- .../java/tuple/builder/Tuple25Builder.java | 4 +- .../api/java/tuple/builder/Tuple2Builder.java | 4 +- .../api/java/tuple/builder/Tuple3Builder.java | 4 +- .../api/java/tuple/builder/Tuple4Builder.java | 4 +- .../api/java/tuple/builder/Tuple5Builder.java | 4 +- .../api/java/tuple/builder/Tuple6Builder.java | 4 +- .../api/java/tuple/builder/Tuple7Builder.java | 4 +- .../api/java/tuple/builder/Tuple8Builder.java | 4 +- .../api/java/tuple/builder/Tuple9Builder.java | 4 +- .../flink/api/java/tuple/TupleGenerator.java | 454 ++-------------- .../flink/api/java/tuple/Tuple2Test.java | 4 +- .../flink/api/java/tuple/TupleGenerator.java | 498 ++++++++++++++++++ 56 files changed, 598 insertions(+), 458 deletions(-) rename {flink-java => flink-core}/src/main/java/org/apache/flink/api/java/tuple/Tuple.java (100%) rename {flink-java => flink-core}/src/main/java/org/apache/flink/api/java/tuple/Tuple0.java (100%) rename {flink-java => flink-core}/src/main/java/org/apache/flink/api/java/tuple/Tuple1.java (100%) rename {flink-java => flink-core}/src/main/java/org/apache/flink/api/java/tuple/Tuple10.java (100%) rename {flink-java => flink-core}/src/main/java/org/apache/flink/api/java/tuple/Tuple11.java (100%) rename {flink-java => flink-core}/src/main/java/org/apache/flink/api/java/tuple/Tuple12.java (100%) rename {flink-java => flink-core}/src/main/java/org/apache/flink/api/java/tuple/Tuple13.java (100%) rename {flink-java => flink-core}/src/main/java/org/apache/flink/api/java/tuple/Tuple14.java (100%) rename {flink-java => flink-core}/src/main/java/org/apache/flink/api/java/tuple/Tuple15.java (100%) rename {flink-java => flink-core}/src/main/java/org/apache/flink/api/java/tuple/Tuple16.java (100%) rename {flink-java => flink-core}/src/main/java/org/apache/flink/api/java/tuple/Tuple17.java (100%) rename {flink-java => flink-core}/src/main/java/org/apache/flink/api/java/tuple/Tuple18.java (100%) rename {flink-java => flink-core}/src/main/java/org/apache/flink/api/java/tuple/Tuple19.java (100%) rename {flink-java => flink-core}/src/main/java/org/apache/flink/api/java/tuple/Tuple2.java (100%) rename {flink-java => flink-core}/src/main/java/org/apache/flink/api/java/tuple/Tuple20.java (100%) rename {flink-java => flink-core}/src/main/java/org/apache/flink/api/java/tuple/Tuple21.java (100%) rename {flink-java => flink-core}/src/main/java/org/apache/flink/api/java/tuple/Tuple22.java (100%) rename {flink-java => flink-core}/src/main/java/org/apache/flink/api/java/tuple/Tuple23.java (100%) rename {flink-java => flink-core}/src/main/java/org/apache/flink/api/java/tuple/Tuple24.java (100%) rename {flink-java => flink-core}/src/main/java/org/apache/flink/api/java/tuple/Tuple25.java (100%) rename {flink-java => flink-core}/src/main/java/org/apache/flink/api/java/tuple/Tuple3.java (100%) rename {flink-java => flink-core}/src/main/java/org/apache/flink/api/java/tuple/Tuple4.java (100%) rename {flink-java => flink-core}/src/main/java/org/apache/flink/api/java/tuple/Tuple5.java (100%) rename {flink-java => flink-core}/src/main/java/org/apache/flink/api/java/tuple/Tuple6.java (100%) rename {flink-java => flink-core}/src/main/java/org/apache/flink/api/java/tuple/Tuple7.java (100%) rename {flink-java => flink-core}/src/main/java/org/apache/flink/api/java/tuple/Tuple8.java (100%) rename {flink-java => flink-core}/src/main/java/org/apache/flink/api/java/tuple/Tuple9.java (100%) rename {flink-java => flink-core}/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple0Builder.java (100%) rename {flink-java => flink-core}/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple10Builder.java (88%) rename {flink-java => flink-core}/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple11Builder.java (87%) rename {flink-java => flink-core}/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple12Builder.java (86%) rename {flink-java => flink-core}/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple13Builder.java (85%) rename {flink-java => flink-core}/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple14Builder.java (85%) rename {flink-java => flink-core}/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple15Builder.java (84%) rename {flink-java => flink-core}/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple16Builder.java (83%) rename {flink-java => flink-core}/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple17Builder.java (82%) rename {flink-java => flink-core}/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple18Builder.java (82%) rename {flink-java => flink-core}/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple19Builder.java (84%) rename {flink-java => flink-core}/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple1Builder.java (93%) rename {flink-java => flink-core}/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple20Builder.java (83%) rename {flink-java => flink-core}/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple21Builder.java (83%) rename {flink-java => flink-core}/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple22Builder.java (82%) rename {flink-java => flink-core}/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple23Builder.java (81%) rename {flink-java => flink-core}/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple24Builder.java (81%) rename {flink-java => flink-core}/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple25Builder.java (80%) rename {flink-java => flink-core}/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple2Builder.java (92%) rename {flink-java => flink-core}/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple3Builder.java (91%) rename {flink-java => flink-core}/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple4Builder.java (90%) rename {flink-java => flink-core}/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple5Builder.java (93%) rename {flink-java => flink-core}/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple6Builder.java (92%) rename {flink-java => flink-core}/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple7Builder.java (91%) rename {flink-java => flink-core}/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple8Builder.java (90%) rename {flink-java => flink-core}/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple9Builder.java (89%) rename {flink-java/src/main => flink-core/src/test}/java/org/apache/flink/api/java/tuple/TupleGenerator.java (52%) create mode 100644 flink-java/src/test/java/org/apache/flink/api/java/tuple/TupleGenerator.java diff --git a/flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple.java b/flink-core/src/main/java/org/apache/flink/api/java/tuple/Tuple.java similarity index 100% rename from flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple.java rename to flink-core/src/main/java/org/apache/flink/api/java/tuple/Tuple.java diff --git a/flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple0.java b/flink-core/src/main/java/org/apache/flink/api/java/tuple/Tuple0.java similarity index 100% rename from flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple0.java rename to flink-core/src/main/java/org/apache/flink/api/java/tuple/Tuple0.java diff --git a/flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple1.java b/flink-core/src/main/java/org/apache/flink/api/java/tuple/Tuple1.java similarity index 100% rename from flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple1.java rename to flink-core/src/main/java/org/apache/flink/api/java/tuple/Tuple1.java diff --git a/flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple10.java b/flink-core/src/main/java/org/apache/flink/api/java/tuple/Tuple10.java similarity index 100% rename from flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple10.java rename to flink-core/src/main/java/org/apache/flink/api/java/tuple/Tuple10.java diff --git a/flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple11.java b/flink-core/src/main/java/org/apache/flink/api/java/tuple/Tuple11.java similarity index 100% rename from flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple11.java rename to flink-core/src/main/java/org/apache/flink/api/java/tuple/Tuple11.java diff --git a/flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple12.java b/flink-core/src/main/java/org/apache/flink/api/java/tuple/Tuple12.java similarity index 100% rename from flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple12.java rename to flink-core/src/main/java/org/apache/flink/api/java/tuple/Tuple12.java diff --git a/flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple13.java b/flink-core/src/main/java/org/apache/flink/api/java/tuple/Tuple13.java similarity index 100% rename from flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple13.java rename to flink-core/src/main/java/org/apache/flink/api/java/tuple/Tuple13.java diff --git a/flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple14.java b/flink-core/src/main/java/org/apache/flink/api/java/tuple/Tuple14.java similarity index 100% rename from flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple14.java rename to flink-core/src/main/java/org/apache/flink/api/java/tuple/Tuple14.java diff --git a/flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple15.java b/flink-core/src/main/java/org/apache/flink/api/java/tuple/Tuple15.java similarity index 100% rename from flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple15.java rename to flink-core/src/main/java/org/apache/flink/api/java/tuple/Tuple15.java diff --git a/flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple16.java b/flink-core/src/main/java/org/apache/flink/api/java/tuple/Tuple16.java similarity index 100% rename from flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple16.java rename to flink-core/src/main/java/org/apache/flink/api/java/tuple/Tuple16.java diff --git a/flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple17.java b/flink-core/src/main/java/org/apache/flink/api/java/tuple/Tuple17.java similarity index 100% rename from flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple17.java rename to flink-core/src/main/java/org/apache/flink/api/java/tuple/Tuple17.java diff --git a/flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple18.java b/flink-core/src/main/java/org/apache/flink/api/java/tuple/Tuple18.java similarity index 100% rename from flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple18.java rename to flink-core/src/main/java/org/apache/flink/api/java/tuple/Tuple18.java diff --git a/flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple19.java b/flink-core/src/main/java/org/apache/flink/api/java/tuple/Tuple19.java similarity index 100% rename from flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple19.java rename to flink-core/src/main/java/org/apache/flink/api/java/tuple/Tuple19.java diff --git a/flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple2.java b/flink-core/src/main/java/org/apache/flink/api/java/tuple/Tuple2.java similarity index 100% rename from flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple2.java rename to flink-core/src/main/java/org/apache/flink/api/java/tuple/Tuple2.java diff --git a/flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple20.java b/flink-core/src/main/java/org/apache/flink/api/java/tuple/Tuple20.java similarity index 100% rename from flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple20.java rename to flink-core/src/main/java/org/apache/flink/api/java/tuple/Tuple20.java diff --git a/flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple21.java b/flink-core/src/main/java/org/apache/flink/api/java/tuple/Tuple21.java similarity index 100% rename from flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple21.java rename to flink-core/src/main/java/org/apache/flink/api/java/tuple/Tuple21.java diff --git a/flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple22.java b/flink-core/src/main/java/org/apache/flink/api/java/tuple/Tuple22.java similarity index 100% rename from flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple22.java rename to flink-core/src/main/java/org/apache/flink/api/java/tuple/Tuple22.java diff --git a/flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple23.java b/flink-core/src/main/java/org/apache/flink/api/java/tuple/Tuple23.java similarity index 100% rename from flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple23.java rename to flink-core/src/main/java/org/apache/flink/api/java/tuple/Tuple23.java diff --git a/flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple24.java b/flink-core/src/main/java/org/apache/flink/api/java/tuple/Tuple24.java similarity index 100% rename from flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple24.java rename to flink-core/src/main/java/org/apache/flink/api/java/tuple/Tuple24.java diff --git a/flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple25.java b/flink-core/src/main/java/org/apache/flink/api/java/tuple/Tuple25.java similarity index 100% rename from flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple25.java rename to flink-core/src/main/java/org/apache/flink/api/java/tuple/Tuple25.java diff --git a/flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple3.java b/flink-core/src/main/java/org/apache/flink/api/java/tuple/Tuple3.java similarity index 100% rename from flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple3.java rename to flink-core/src/main/java/org/apache/flink/api/java/tuple/Tuple3.java diff --git a/flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple4.java b/flink-core/src/main/java/org/apache/flink/api/java/tuple/Tuple4.java similarity index 100% rename from flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple4.java rename to flink-core/src/main/java/org/apache/flink/api/java/tuple/Tuple4.java diff --git a/flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple5.java b/flink-core/src/main/java/org/apache/flink/api/java/tuple/Tuple5.java similarity index 100% rename from flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple5.java rename to flink-core/src/main/java/org/apache/flink/api/java/tuple/Tuple5.java diff --git a/flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple6.java b/flink-core/src/main/java/org/apache/flink/api/java/tuple/Tuple6.java similarity index 100% rename from flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple6.java rename to flink-core/src/main/java/org/apache/flink/api/java/tuple/Tuple6.java diff --git a/flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple7.java b/flink-core/src/main/java/org/apache/flink/api/java/tuple/Tuple7.java similarity index 100% rename from flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple7.java rename to flink-core/src/main/java/org/apache/flink/api/java/tuple/Tuple7.java diff --git a/flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple8.java b/flink-core/src/main/java/org/apache/flink/api/java/tuple/Tuple8.java similarity index 100% rename from flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple8.java rename to flink-core/src/main/java/org/apache/flink/api/java/tuple/Tuple8.java diff --git a/flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple9.java b/flink-core/src/main/java/org/apache/flink/api/java/tuple/Tuple9.java similarity index 100% rename from flink-java/src/main/java/org/apache/flink/api/java/tuple/Tuple9.java rename to flink-core/src/main/java/org/apache/flink/api/java/tuple/Tuple9.java diff --git a/flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple0Builder.java b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple0Builder.java similarity index 100% rename from flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple0Builder.java rename to flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple0Builder.java diff --git a/flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple10Builder.java b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple10Builder.java similarity index 88% rename from flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple10Builder.java rename to flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple10Builder.java index d09ba11bbb2..a5aec211373 100644 --- a/flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple10Builder.java +++ b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple10Builder.java @@ -32,10 +32,10 @@ import org.apache.flink.api.java.tuple.Tuple10; public class Tuple10Builder { - private List> tuples = new ArrayList>(); + private List> tuples = new ArrayList<>(); public Tuple10Builder add(T0 value0, T1 value1, T2 value2, T3 value3, T4 value4, T5 value5, T6 value6, T7 value7, T8 value8, T9 value9){ - tuples.add(new Tuple10(value0, value1, value2, value3, value4, value5, value6, value7, value8, value9)); + tuples.add(new Tuple10<>(value0, value1, value2, value3, value4, value5, value6, value7, value8, value9)); return this; } diff --git a/flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple11Builder.java b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple11Builder.java similarity index 87% rename from flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple11Builder.java rename to flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple11Builder.java index 727fab0a884..cbbba7d12ea 100644 --- a/flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple11Builder.java +++ b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple11Builder.java @@ -32,10 +32,10 @@ import org.apache.flink.api.java.tuple.Tuple11; public class Tuple11Builder { - private List> tuples = new ArrayList>(); + private List> tuples = new ArrayList<>(); public Tuple11Builder add(T0 value0, T1 value1, T2 value2, T3 value3, T4 value4, T5 value5, T6 value6, T7 value7, T8 value8, T9 value9, T10 value10){ - tuples.add(new Tuple11(value0, value1, value2, value3, value4, value5, value6, value7, value8, value9, value10)); + tuples.add(new Tuple11<>(value0, value1, value2, value3, value4, value5, value6, value7, value8, value9, value10)); return this; } diff --git a/flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple12Builder.java b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple12Builder.java similarity index 86% rename from flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple12Builder.java rename to flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple12Builder.java index 7f77a8d6d24..08ee5fe1373 100644 --- a/flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple12Builder.java +++ b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple12Builder.java @@ -32,10 +32,10 @@ import org.apache.flink.api.java.tuple.Tuple12; public class Tuple12Builder { - private List> tuples = new ArrayList>(); + private List> tuples = new ArrayList<>(); public Tuple12Builder add(T0 value0, T1 value1, T2 value2, T3 value3, T4 value4, T5 value5, T6 value6, T7 value7, T8 value8, T9 value9, T10 value10, T11 value11){ - tuples.add(new Tuple12(value0, value1, value2, value3, value4, value5, value6, value7, value8, value9, value10, value11)); + tuples.add(new Tuple12<>(value0, value1, value2, value3, value4, value5, value6, value7, value8, value9, value10, value11)); return this; } diff --git a/flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple13Builder.java b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple13Builder.java similarity index 85% rename from flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple13Builder.java rename to flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple13Builder.java index e223e7a89e1..be8d8ff2f54 100644 --- a/flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple13Builder.java +++ b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple13Builder.java @@ -32,10 +32,10 @@ import org.apache.flink.api.java.tuple.Tuple13; public class Tuple13Builder { - private List> tuples = new ArrayList>(); + private List> tuples = new ArrayList<>(); public Tuple13Builder add(T0 value0, T1 value1, T2 value2, T3 value3, T4 value4, T5 value5, T6 value6, T7 value7, T8 value8, T9 value9, T10 value10, T11 value11, T12 value12){ - tuples.add(new Tuple13(value0, value1, value2, value3, value4, value5, value6, value7, value8, value9, value10, value11, value12)); + tuples.add(new Tuple13<>(value0, value1, value2, value3, value4, value5, value6, value7, value8, value9, value10, value11, value12)); return this; } diff --git a/flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple14Builder.java b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple14Builder.java similarity index 85% rename from flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple14Builder.java rename to flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple14Builder.java index a3847c258de..4f26af47e0a 100644 --- a/flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple14Builder.java +++ b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple14Builder.java @@ -32,10 +32,10 @@ import org.apache.flink.api.java.tuple.Tuple14; public class Tuple14Builder { - private List> tuples = new ArrayList>(); + private List> tuples = new ArrayList<>(); public Tuple14Builder add(T0 value0, T1 value1, T2 value2, T3 value3, T4 value4, T5 value5, T6 value6, T7 value7, T8 value8, T9 value9, T10 value10, T11 value11, T12 value12, T13 value13){ - tuples.add(new Tuple14(value0, value1, value2, value3, value4, value5, value6, value7, value8, value9, value10, value11, value12, value13)); + tuples.add(new Tuple14<>(value0, value1, value2, value3, value4, value5, value6, value7, value8, value9, value10, value11, value12, value13)); return this; } diff --git a/flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple15Builder.java b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple15Builder.java similarity index 84% rename from flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple15Builder.java rename to flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple15Builder.java index b423a3b8ad3..2ab1d0a5690 100644 --- a/flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple15Builder.java +++ b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple15Builder.java @@ -32,10 +32,10 @@ import org.apache.flink.api.java.tuple.Tuple15; public class Tuple15Builder { - private List> tuples = new ArrayList>(); + private List> tuples = new ArrayList<>(); public Tuple15Builder add(T0 value0, T1 value1, T2 value2, T3 value3, T4 value4, T5 value5, T6 value6, T7 value7, T8 value8, T9 value9, T10 value10, T11 value11, T12 value12, T13 value13, T14 value14){ - tuples.add(new Tuple15(value0, value1, value2, value3, value4, value5, value6, value7, value8, value9, value10, value11, value12, value13, value14)); + tuples.add(new Tuple15<>(value0, value1, value2, value3, value4, value5, value6, value7, value8, value9, value10, value11, value12, value13, value14)); return this; } diff --git a/flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple16Builder.java b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple16Builder.java similarity index 83% rename from flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple16Builder.java rename to flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple16Builder.java index c6987308863..5b4fba2e49a 100644 --- a/flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple16Builder.java +++ b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple16Builder.java @@ -32,10 +32,10 @@ import org.apache.flink.api.java.tuple.Tuple16; public class Tuple16Builder { - private List> tuples = new ArrayList>(); + private List> tuples = new ArrayList<>(); public Tuple16Builder add(T0 value0, T1 value1, T2 value2, T3 value3, T4 value4, T5 value5, T6 value6, T7 value7, T8 value8, T9 value9, T10 value10, T11 value11, T12 value12, T13 value13, T14 value14, T15 value15){ - tuples.add(new Tuple16(value0, value1, value2, value3, value4, value5, value6, value7, value8, value9, value10, value11, value12, value13, value14, value15)); + tuples.add(new Tuple16<>(value0, value1, value2, value3, value4, value5, value6, value7, value8, value9, value10, value11, value12, value13, value14, value15)); return this; } diff --git a/flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple17Builder.java b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple17Builder.java similarity index 82% rename from flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple17Builder.java rename to flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple17Builder.java index bad64f237cc..68ba92b11af 100644 --- a/flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple17Builder.java +++ b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple17Builder.java @@ -32,10 +32,10 @@ import org.apache.flink.api.java.tuple.Tuple17; public class Tuple17Builder { - private List> tuples = new ArrayList>(); + private List> tuples = new ArrayList<>(); public Tuple17Builder add(T0 value0, T1 value1, T2 value2, T3 value3, T4 value4, T5 value5, T6 value6, T7 value7, T8 value8, T9 value9, T10 value10, T11 value11, T12 value12, T13 value13, T14 value14, T15 value15, T16 value16){ - tuples.add(new Tuple17(value0, value1, value2, value3, value4, value5, value6, value7, value8, value9, value10, value11, value12, value13, value14, value15, value16)); + tuples.add(new Tuple17<>(value0, value1, value2, value3, value4, value5, value6, value7, value8, value9, value10, value11, value12, value13, value14, value15, value16)); return this; } diff --git a/flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple18Builder.java b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple18Builder.java similarity index 82% rename from flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple18Builder.java rename to flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple18Builder.java index 14a79f81e16..d4ee37c43f6 100644 --- a/flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple18Builder.java +++ b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple18Builder.java @@ -32,10 +32,10 @@ import org.apache.flink.api.java.tuple.Tuple18; public class Tuple18Builder { - private List> tuples = new ArrayList>(); + private List> tuples = new ArrayList<>(); public Tuple18Builder add(T0 value0, T1 value1, T2 value2, T3 value3, T4 value4, T5 value5, T6 value6, T7 value7, T8 value8, T9 value9, T10 value10, T11 value11, T12 value12, T13 value13, T14 value14, T15 value15, T16 value16, T17 value17){ - tuples.add(new Tuple18(value0, value1, value2, value3, value4, value5, value6, value7, value8, value9, value10, value11, value12, value13, value14, value15, value16, value17)); + tuples.add(new Tuple18<>(value0, value1, value2, value3, value4, value5, value6, value7, value8, value9, value10, value11, value12, value13, value14, value15, value16, value17)); return this; } diff --git a/flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple19Builder.java b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple19Builder.java similarity index 84% rename from flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple19Builder.java rename to flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple19Builder.java index 9acfc2f3fdc..baf00ce3cb1 100644 --- a/flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple19Builder.java +++ b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple19Builder.java @@ -32,10 +32,10 @@ import org.apache.flink.api.java.tuple.Tuple19; public class Tuple19Builder { - private List> tuples = new ArrayList>(); + private List> tuples = new ArrayList<>(); public Tuple19Builder add(T0 value0, T1 value1, T2 value2, T3 value3, T4 value4, T5 value5, T6 value6, T7 value7, T8 value8, T9 value9, T10 value10, T11 value11, T12 value12, T13 value13, T14 value14, T15 value15, T16 value16, T17 value17, T18 value18){ - tuples.add(new Tuple19(value0, value1, value2, value3, value4, value5, value6, value7, value8, value9, value10, value11, value12, value13, value14, value15, value16, value17, value18)); + tuples.add(new Tuple19<>(value0, value1, value2, value3, value4, value5, value6, value7, value8, value9, value10, value11, value12, value13, value14, value15, value16, value17, value18)); return this; } diff --git a/flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple1Builder.java b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple1Builder.java similarity index 93% rename from flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple1Builder.java rename to flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple1Builder.java index a395cd1815d..f16a9d11763 100644 --- a/flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple1Builder.java +++ b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple1Builder.java @@ -32,10 +32,10 @@ import org.apache.flink.api.java.tuple.Tuple1; public class Tuple1Builder { - private List> tuples = new ArrayList>(); + private List> tuples = new ArrayList<>(); public Tuple1Builder add(T0 value0){ - tuples.add(new Tuple1(value0)); + tuples.add(new Tuple1<>(value0)); return this; } diff --git a/flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple20Builder.java b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple20Builder.java similarity index 83% rename from flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple20Builder.java rename to flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple20Builder.java index 8c7dd1d8213..41bb974eb0b 100644 --- a/flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple20Builder.java +++ b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple20Builder.java @@ -32,10 +32,10 @@ import org.apache.flink.api.java.tuple.Tuple20; public class Tuple20Builder { - private List> tuples = new ArrayList>(); + private List> tuples = new ArrayList<>(); public Tuple20Builder add(T0 value0, T1 value1, T2 value2, T3 value3, T4 value4, T5 value5, T6 value6, T7 value7, T8 value8, T9 value9, T10 value10, T11 value11, T12 value12, T13 value13, T14 value14, T15 value15, T16 value16, T17 value17, T18 value18, T19 value19){ - tuples.add(new Tuple20(value0, value1, value2, value3, value4, value5, value6, value7, value8, value9, value10, value11, value12, value13, value14, value15, value16, value17, value18, value19)); + tuples.add(new Tuple20<>(value0, value1, value2, value3, value4, value5, value6, value7, value8, value9, value10, value11, value12, value13, value14, value15, value16, value17, value18, value19)); return this; } diff --git a/flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple21Builder.java b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple21Builder.java similarity index 83% rename from flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple21Builder.java rename to flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple21Builder.java index ba183458403..f24b7ec107b 100644 --- a/flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple21Builder.java +++ b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple21Builder.java @@ -32,10 +32,10 @@ import org.apache.flink.api.java.tuple.Tuple21; public class Tuple21Builder { - private List> tuples = new ArrayList>(); + private List> tuples = new ArrayList<>(); public Tuple21Builder add(T0 value0, T1 value1, T2 value2, T3 value3, T4 value4, T5 value5, T6 value6, T7 value7, T8 value8, T9 value9, T10 value10, T11 value11, T12 value12, T13 value13, T14 value14, T15 value15, T16 value16, T17 value17, T18 value18, T19 value19, T20 value20){ - tuples.add(new Tuple21(value0, value1, value2, value3, value4, value5, value6, value7, value8, value9, value10, value11, value12, value13, value14, value15, value16, value17, value18, value19, value20)); + tuples.add(new Tuple21<>(value0, value1, value2, value3, value4, value5, value6, value7, value8, value9, value10, value11, value12, value13, value14, value15, value16, value17, value18, value19, value20)); return this; } diff --git a/flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple22Builder.java b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple22Builder.java similarity index 82% rename from flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple22Builder.java rename to flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple22Builder.java index a4903c86169..710fe502d94 100644 --- a/flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple22Builder.java +++ b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple22Builder.java @@ -32,10 +32,10 @@ import org.apache.flink.api.java.tuple.Tuple22; public class Tuple22Builder { - private List> tuples = new ArrayList>(); + private List> tuples = new ArrayList<>(); public Tuple22Builder add(T0 value0, T1 value1, T2 value2, T3 value3, T4 value4, T5 value5, T6 value6, T7 value7, T8 value8, T9 value9, T10 value10, T11 value11, T12 value12, T13 value13, T14 value14, T15 value15, T16 value16, T17 value17, T18 value18, T19 value19, T20 value20, T21 value21){ - tuples.add(new Tuple22(value0, value1, value2, value3, value4, value5, value6, value7, value8, value9, value10, value11, value12, value13, value14, value15, value16, value17, value18, value19, value20, value21)); + tuples.add(new Tuple22<>(value0, value1, value2, value3, value4, value5, value6, value7, value8, value9, value10, value11, value12, value13, value14, value15, value16, value17, value18, value19, value20, value21)); return this; } diff --git a/flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple23Builder.java b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple23Builder.java similarity index 81% rename from flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple23Builder.java rename to flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple23Builder.java index a7a8102b1dd..a81e6c1c650 100644 --- a/flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple23Builder.java +++ b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple23Builder.java @@ -32,10 +32,10 @@ import org.apache.flink.api.java.tuple.Tuple23; public class Tuple23Builder { - private List> tuples = new ArrayList>(); + private List> tuples = new ArrayList<>(); public Tuple23Builder add(T0 value0, T1 value1, T2 value2, T3 value3, T4 value4, T5 value5, T6 value6, T7 value7, T8 value8, T9 value9, T10 value10, T11 value11, T12 value12, T13 value13, T14 value14, T15 value15, T16 value16, T17 value17, T18 value18, T19 value19, T20 value20, T21 value21, T22 value22){ - tuples.add(new Tuple23(value0, value1, value2, value3, value4, value5, value6, value7, value8, value9, value10, value11, value12, value13, value14, value15, value16, value17, value18, value19, value20, value21, value22)); + tuples.add(new Tuple23<>(value0, value1, value2, value3, value4, value5, value6, value7, value8, value9, value10, value11, value12, value13, value14, value15, value16, value17, value18, value19, value20, value21, value22)); return this; } diff --git a/flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple24Builder.java b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple24Builder.java similarity index 81% rename from flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple24Builder.java rename to flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple24Builder.java index 650951872d4..2b6fa4c8b65 100644 --- a/flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple24Builder.java +++ b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple24Builder.java @@ -32,10 +32,10 @@ import org.apache.flink.api.java.tuple.Tuple24; public class Tuple24Builder { - private List> tuples = new ArrayList>(); + private List> tuples = new ArrayList<>(); public Tuple24Builder add(T0 value0, T1 value1, T2 value2, T3 value3, T4 value4, T5 value5, T6 value6, T7 value7, T8 value8, T9 value9, T10 value10, T11 value11, T12 value12, T13 value13, T14 value14, T15 value15, T16 value16, T17 value17, T18 value18, T19 value19, T20 value20, T21 value21, T22 value22, T23 value23){ - tuples.add(new Tuple24(value0, value1, value2, value3, value4, value5, value6, value7, value8, value9, value10, value11, value12, value13, value14, value15, value16, value17, value18, value19, value20, value21, value22, value23)); + tuples.add(new Tuple24<>(value0, value1, value2, value3, value4, value5, value6, value7, value8, value9, value10, value11, value12, value13, value14, value15, value16, value17, value18, value19, value20, value21, value22, value23)); return this; } diff --git a/flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple25Builder.java b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple25Builder.java similarity index 80% rename from flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple25Builder.java rename to flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple25Builder.java index 3632eec51c3..2ab94fbb95f 100644 --- a/flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple25Builder.java +++ b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple25Builder.java @@ -32,10 +32,10 @@ import org.apache.flink.api.java.tuple.Tuple25; public class Tuple25Builder { - private List> tuples = new ArrayList>(); + private List> tuples = new ArrayList<>(); public Tuple25Builder add(T0 value0, T1 value1, T2 value2, T3 value3, T4 value4, T5 value5, T6 value6, T7 value7, T8 value8, T9 value9, T10 value10, T11 value11, T12 value12, T13 value13, T14 value14, T15 value15, T16 value16, T17 value17, T18 value18, T19 value19, T20 value20, T21 value21, T22 value22, T23 value23, T24 value24){ - tuples.add(new Tuple25(value0, value1, value2, value3, value4, value5, value6, value7, value8, value9, value10, value11, value12, value13, value14, value15, value16, value17, value18, value19, value20, value21, value22, value23, value24)); + tuples.add(new Tuple25<>(value0, value1, value2, value3, value4, value5, value6, value7, value8, value9, value10, value11, value12, value13, value14, value15, value16, value17, value18, value19, value20, value21, value22, value23, value24)); return this; } diff --git a/flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple2Builder.java b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple2Builder.java similarity index 92% rename from flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple2Builder.java rename to flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple2Builder.java index adf697fdd4a..aa8ad9e9f6f 100644 --- a/flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple2Builder.java +++ b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple2Builder.java @@ -32,10 +32,10 @@ import org.apache.flink.api.java.tuple.Tuple2; public class Tuple2Builder { - private List> tuples = new ArrayList>(); + private List> tuples = new ArrayList<>(); public Tuple2Builder add(T0 value0, T1 value1){ - tuples.add(new Tuple2(value0, value1)); + tuples.add(new Tuple2<>(value0, value1)); return this; } diff --git a/flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple3Builder.java b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple3Builder.java similarity index 91% rename from flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple3Builder.java rename to flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple3Builder.java index 7a0dee00fbc..024c3c9e3dc 100644 --- a/flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple3Builder.java +++ b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple3Builder.java @@ -32,10 +32,10 @@ import org.apache.flink.api.java.tuple.Tuple3; public class Tuple3Builder { - private List> tuples = new ArrayList>(); + private List> tuples = new ArrayList<>(); public Tuple3Builder add(T0 value0, T1 value1, T2 value2){ - tuples.add(new Tuple3(value0, value1, value2)); + tuples.add(new Tuple3<>(value0, value1, value2)); return this; } diff --git a/flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple4Builder.java b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple4Builder.java similarity index 90% rename from flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple4Builder.java rename to flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple4Builder.java index 5caad15adf2..f889dcb2f7a 100644 --- a/flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple4Builder.java +++ b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple4Builder.java @@ -32,10 +32,10 @@ import org.apache.flink.api.java.tuple.Tuple4; public class Tuple4Builder { - private List> tuples = new ArrayList>(); + private List> tuples = new ArrayList<>(); public Tuple4Builder add(T0 value0, T1 value1, T2 value2, T3 value3){ - tuples.add(new Tuple4(value0, value1, value2, value3)); + tuples.add(new Tuple4<>(value0, value1, value2, value3)); return this; } diff --git a/flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple5Builder.java b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple5Builder.java similarity index 93% rename from flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple5Builder.java rename to flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple5Builder.java index 1895acacd1c..9f0725ca082 100644 --- a/flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple5Builder.java +++ b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple5Builder.java @@ -32,10 +32,10 @@ import org.apache.flink.api.java.tuple.Tuple5; public class Tuple5Builder { - private List> tuples = new ArrayList>(); + private List> tuples = new ArrayList<>(); public Tuple5Builder add(T0 value0, T1 value1, T2 value2, T3 value3, T4 value4){ - tuples.add(new Tuple5(value0, value1, value2, value3, value4)); + tuples.add(new Tuple5<>(value0, value1, value2, value3, value4)); return this; } diff --git a/flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple6Builder.java b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple6Builder.java similarity index 92% rename from flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple6Builder.java rename to flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple6Builder.java index 625ec8f44e8..2320fdd0b9d 100644 --- a/flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple6Builder.java +++ b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple6Builder.java @@ -32,10 +32,10 @@ import org.apache.flink.api.java.tuple.Tuple6; public class Tuple6Builder { - private List> tuples = new ArrayList>(); + private List> tuples = new ArrayList<>(); public Tuple6Builder add(T0 value0, T1 value1, T2 value2, T3 value3, T4 value4, T5 value5){ - tuples.add(new Tuple6(value0, value1, value2, value3, value4, value5)); + tuples.add(new Tuple6<>(value0, value1, value2, value3, value4, value5)); return this; } diff --git a/flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple7Builder.java b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple7Builder.java similarity index 91% rename from flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple7Builder.java rename to flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple7Builder.java index 2cdde39b2b7..278526baf8f 100644 --- a/flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple7Builder.java +++ b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple7Builder.java @@ -32,10 +32,10 @@ import org.apache.flink.api.java.tuple.Tuple7; public class Tuple7Builder { - private List> tuples = new ArrayList>(); + private List> tuples = new ArrayList<>(); public Tuple7Builder add(T0 value0, T1 value1, T2 value2, T3 value3, T4 value4, T5 value5, T6 value6){ - tuples.add(new Tuple7(value0, value1, value2, value3, value4, value5, value6)); + tuples.add(new Tuple7<>(value0, value1, value2, value3, value4, value5, value6)); return this; } diff --git a/flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple8Builder.java b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple8Builder.java similarity index 90% rename from flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple8Builder.java rename to flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple8Builder.java index c5feb436c3b..e09acdea566 100644 --- a/flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple8Builder.java +++ b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple8Builder.java @@ -32,10 +32,10 @@ import org.apache.flink.api.java.tuple.Tuple8; public class Tuple8Builder { - private List> tuples = new ArrayList>(); + private List> tuples = new ArrayList<>(); public Tuple8Builder add(T0 value0, T1 value1, T2 value2, T3 value3, T4 value4, T5 value5, T6 value6, T7 value7){ - tuples.add(new Tuple8(value0, value1, value2, value3, value4, value5, value6, value7)); + tuples.add(new Tuple8<>(value0, value1, value2, value3, value4, value5, value6, value7)); return this; } diff --git a/flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple9Builder.java b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple9Builder.java similarity index 89% rename from flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple9Builder.java rename to flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple9Builder.java index 2665d7d0a37..cea4e41f09c 100644 --- a/flink-java/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple9Builder.java +++ b/flink-core/src/main/java/org/apache/flink/api/java/tuple/builder/Tuple9Builder.java @@ -32,10 +32,10 @@ import org.apache.flink.api.java.tuple.Tuple9; public class Tuple9Builder { - private List> tuples = new ArrayList>(); + private List> tuples = new ArrayList<>(); public Tuple9Builder add(T0 value0, T1 value1, T2 value2, T3 value3, T4 value4, T5 value5, T6 value6, T7 value7, T8 value8){ - tuples.add(new Tuple9(value0, value1, value2, value3, value4, value5, value6, value7, value8)); + tuples.add(new Tuple9<>(value0, value1, value2, value3, value4, value5, value6, value7, value8)); return this; } diff --git a/flink-java/src/main/java/org/apache/flink/api/java/tuple/TupleGenerator.java b/flink-core/src/test/java/org/apache/flink/api/java/tuple/TupleGenerator.java similarity index 52% rename from flink-java/src/main/java/org/apache/flink/api/java/tuple/TupleGenerator.java rename to flink-core/src/test/java/org/apache/flink/api/java/tuple/TupleGenerator.java index 70b93932d37..8b149bda2e1 100644 --- a/flink-java/src/main/java/org/apache/flink/api/java/tuple/TupleGenerator.java +++ b/flink-core/src/test/java/org/apache/flink/api/java/tuple/TupleGenerator.java @@ -18,15 +18,15 @@ package org.apache.flink.api.java.tuple; +import com.google.common.base.Charsets; +import com.google.common.io.Files; + import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; import java.io.PrintWriter; import java.util.Scanner; -import com.google.common.base.Charsets; -import com.google.common.io.Files; - /** * Source code generator for tuple classes and classes which depend on the arity of tuples. */ @@ -34,7 +34,7 @@ class TupleGenerator { // Parameters for tuple classes - private static final String ROOT_DIRECTORY = "./src/main/java"; + private static final String ROOT_DIRECTORY = "./flink-core/src/main/java"; private static final String PACKAGE = "org.apache.flink.api.java.tuple"; @@ -47,36 +47,17 @@ class TupleGenerator { private static final String END_INDICATOR = "END_OF_TUPLE_DEPENDENT_CODE"; - // Parameters for CsvReader - private static final String CSV_READER_PACKAGE = "org.apache.flink.api.java.io"; - - private static final String CSV_READER_CLASSNAME = "CsvReader"; - // Parameters for TupleTypeInfo private static final String TUPLE_PACKAGE = "org.apache.flink.api.java.tuple"; private static final String TUPLE_CLASSNAME = "Tuple"; - // Parameters for ProjectOperator - private static final String PROJECT_OPERATOR_PACKAGE = "org.apache.flink.api.java.operators"; - - private static final String PROJECT_OPERATOR_CLASSNAME = "ProjectOperator"; - - // Parameters for JoinOperator - private static final String JOIN_OPERATOR_PACKAGE = "org.apache.flink.api.java.operators"; - - private static final String JOIN_OPERATOR_CLASSNAME = "JoinOperator"; - - // parameters for CrossOperator - private static final String CROSS_OPERATOR_PACKAGE = "org.apache.flink.api.java.operators"; - - private static final String CROSS_OPERATOR_CLASSNAME = "CrossOperator"; - // min. and max. tuple arity private static final int FIRST = 1; private static final int LAST = 25; + public static void main(String[] args) throws Exception { System.err.println("Current directory "+System.getProperty("user.dir")); String rootDir = ROOT_DIRECTORY; @@ -90,16 +71,8 @@ class TupleGenerator { createTupleBuilderClasses(root); - modifyCsvReader(root); - modifyTupleType(root); - modifyProjectOperator(root); - - modifyJoinProjectOperator(root); - - modifyCrossProjectOperator(root); - } private static File getPackage(File root, String packageString) { @@ -113,298 +86,57 @@ class TupleGenerator { private static void insertCodeIntoFile(String code, File file) throws IOException { String fileContent = Files.toString(file, Charsets.UTF_8); - Scanner s = new Scanner(fileContent); - - StringBuilder sb = new StringBuilder(); - String line = null; - - boolean indicatorFound = false; - - // add file beginning - while (s.hasNextLine() && (line = s.nextLine()) != null) { - sb.append(line + "\n"); - if (line.contains(BEGIN_INDICATOR)) { - indicatorFound = true; - break; + + try (Scanner s = new Scanner(fileContent)) { + StringBuilder sb = new StringBuilder(); + String line; + + boolean indicatorFound = false; + + // add file beginning + while (s.hasNextLine() && (line = s.nextLine()) != null) { + sb.append(line).append("\n"); + if (line.contains(BEGIN_INDICATOR)) { + indicatorFound = true; + break; + } } - } - - if(!indicatorFound) { - System.out.println("No indicator found in '" + file + "'. Will skip code generation."); - s.close(); - return; - } - - // add generator signature - sb.append("\t// GENERATED FROM " + TupleGenerator.class.getName() + ".\n"); - - // add tuple dependent code - sb.append(code + "\n"); - - // skip generated code - while (s.hasNextLine() && (line = s.nextLine()) != null) { - if (line.contains(END_INDICATOR)) { - sb.append(line + "\n"); - break; + + if(!indicatorFound) { + System.out.println("No indicator found in '" + file + "'. Will skip code generation."); + s.close(); + return; } + + // add generator signature + sb.append("\t// GENERATED FROM ").append(TupleGenerator.class.getName()).append(".\n"); + + // add tuple dependent code + sb.append(code).append("\n"); + + // skip generated code + while (s.hasNextLine() && (line = s.nextLine()) != null) { + if (line.contains(END_INDICATOR)) { + sb.append(line).append("\n"); + break; + } + } + + // add file ending + while (s.hasNextLine() && (line = s.nextLine()) != null) { + sb.append(line).append("\n"); + } + Files.write(sb.toString(), file, Charsets.UTF_8); } - - // add file ending - while (s.hasNextLine() && (line = s.nextLine()) != null) { - sb.append(line + "\n"); - } - s.close(); - Files.write(sb.toString(), file, Charsets.UTF_8); - } - - private static void modifyCrossProjectOperator(File root) throws IOException { - // generate code - StringBuilder sb = new StringBuilder(); - - // method begin - sb.append("\n"); - - // method comment - sb.append("\t\t/**\n"); - sb.append("\t\t * Chooses a projectTupleX according to the length of\n"); - sb.append("\t\t * {@link org.apache.flink.api.java.operators.CrossOperator.CrossProjection#fieldIndexes} \n"); - sb.append("\t\t * \n"); - sb.append("\t\t * @return The projected DataSet.\n"); - sb.append("\t\t */\n"); - - // method signature - sb.append("\t\t@SuppressWarnings(\"unchecked\")\n"); - sb.append("\t\tpublic ProjectCross projectTupleX() {\n"); - sb.append("\t\t\tProjectCross projectionCross = null;\n\n"); - sb.append("\t\t\tswitch (fieldIndexes.length) {\n"); - for (int numFields = FIRST; numFields <= LAST; numFields++) { - sb.append("\t\t\tcase " + numFields +":" + " projectionCross = (ProjectCross) projectTuple"+numFields+"(); break;\n"); - } - sb.append("\t\t\tdefault: throw new IllegalStateException(\"Excessive arity in tuple.\");\n"); - sb.append("\t\t\t}\n\n"); - sb.append("\t\t\treturn projectionCross;\n"); - - // method end - sb.append("\t\t}\n"); - - for (int numFields = FIRST; numFields <= LAST; numFields++) { - - // method begin - sb.append("\n"); - - // method comment - sb.append("\t\t/**\n"); - sb.append("\t\t * Projects a pair of crossed elements to a {@link Tuple} with the previously selected fields. \n"); - sb.append("\t\t * \n"); - sb.append("\t\t * @return The projected data set.\n"); - sb.append("\t\t * \n"); - sb.append("\t\t * @see Tuple\n"); - sb.append("\t\t * @see DataSet\n"); - sb.append("\t\t */\n"); - - // method signature - sb.append("\t\tpublic <"); - appendTupleTypeGenerics(sb, numFields); - sb.append("> ProjectCross> projectTuple"+numFields+"("); - sb.append(") {\n"); - - // extract field types - sb.append("\t\t\tTypeInformation[] fTypes = extractFieldTypes(fieldIndexes);\n"); - - // create new tuple type info - sb.append("\t\t\tTupleTypeInfo> tType = new TupleTypeInfo>(fTypes);\n\n"); - - // create and return new project operator - sb.append("\t\t\treturn new ProjectCross>(this.ds1, this.ds2, this.fieldIndexes, this.isFieldInFirst, tType, this, hint);\n"); - - // method end - sb.append("\t\t}\n"); - - } - - // insert code into file - File dir = getPackage(root, CROSS_OPERATOR_PACKAGE); - File projectOperatorClass = new File(dir, CROSS_OPERATOR_CLASSNAME + ".java"); - insertCodeIntoFile(sb.toString(), projectOperatorClass); - } - - private static void modifyProjectOperator(File root) throws IOException { - // generate code - StringBuilder sb = new StringBuilder(); - - // method begin - sb.append("\n"); - - // method comment - sb.append("\t\t/**\n"); - sb.append("\t\t * Chooses a projectTupleX according to the length of\n"); - sb.append("\t\t * {@link org.apache.flink.api.java.operators.ProjectOperator.Projection#fieldIndexes} \n"); - sb.append("\t\t * \n"); - sb.append("\t\t * @return The projected DataSet.\n"); - sb.append("\t\t * \n"); - sb.append("\t\t * @see org.apache.flink.api.java.operators.ProjectOperator.Projection\n"); - sb.append("\t\t */\n"); - - // method signature - sb.append("\t\t@SuppressWarnings(\"unchecked\")\n"); - sb.append("\t\tpublic ProjectOperator projectTupleX() {\n"); - sb.append("\t\t\tProjectOperator projOperator;\n\n"); - sb.append("\t\t\tswitch (fieldIndexes.length) {\n"); - for (int numFields = FIRST; numFields <= LAST; numFields++) { - sb.append("\t\t\tcase " + numFields +":" + " projOperator = (ProjectOperator) projectTuple"+numFields+"(); break;\n"); - } - sb.append("\t\t\tdefault: throw new IllegalStateException(\"Excessive arity in tuple.\");\n"); - sb.append("\t\t\t}\n\n"); - sb.append("\t\t\treturn projOperator;\n"); - - // method end - sb.append("\t\t}\n"); - - for (int numFields = FIRST; numFields <= LAST; numFields++) { - - // method begin - sb.append("\n"); - - // method comment - sb.append("\t\t/**\n"); - sb.append("\t\t * Projects a {@link Tuple} {@link DataSet} to the previously selected fields. \n"); - sb.append("\t\t * \n"); - sb.append("\t\t * @return The projected DataSet.\n"); - sb.append("\t\t * \n"); - sb.append("\t\t * @see Tuple\n"); - sb.append("\t\t * @see DataSet\n"); - sb.append("\t\t */\n"); - - // method signature - sb.append("\t\tpublic <"); - appendTupleTypeGenerics(sb, numFields); - sb.append("> ProjectOperator> projectTuple"+numFields+"("); - sb.append(") {\n"); - - // extract field types - sb.append("\t\t\tTypeInformation[] fTypes = extractFieldTypes(fieldIndexes, ds.getType());\n"); - - // create new tuple type info - sb.append("\t\t\tTupleTypeInfo> tType = new TupleTypeInfo>(fTypes);\n\n"); - - // create and return new project operator - sb.append("\t\t\treturn new ProjectOperator>(this.ds, this.fieldIndexes, tType);\n"); - - // method end - sb.append("\t\t}\n"); - - } - - // insert code into file - File dir = getPackage(root, PROJECT_OPERATOR_PACKAGE); - File projectOperatorClass = new File(dir, PROJECT_OPERATOR_CLASSNAME + ".java"); - insertCodeIntoFile(sb.toString(), projectOperatorClass); - } - - private static void modifyJoinProjectOperator(File root) throws IOException { - // generate code - StringBuilder sb = new StringBuilder(); - - // method begin - sb.append("\n"); - - // method comment - sb.append("\t\t/**\n"); - sb.append("\t\t * Chooses a projectTupleX according to the length of\n"); - sb.append("\t\t * {@link org.apache.flink.api.java.operators.JoinOperator.JoinProjection#fieldIndexes}\n"); - sb.append("\t\t * \n"); - sb.append("\t\t * @return The projected DataSet.\n"); - sb.append("\t\t * \n"); - sb.append("\t\t * @see org.apache.flink.api.java.operators.JoinOperator.ProjectJoin\n"); - sb.append("\t\t */\n"); - - // method signature - sb.append("\t\t@SuppressWarnings(\"unchecked\")\n"); - sb.append("\t\tpublic ProjectJoin projectTupleX() {\n"); - sb.append("\t\t\tProjectJoin projectJoin = null;\n\n"); - sb.append("\t\t\tswitch (fieldIndexes.length) {\n"); - for (int numFields = FIRST; numFields <= LAST; numFields++) { - sb.append("\t\t\tcase " + numFields +":" + " projectJoin = (ProjectJoin) projectTuple"+numFields+"(); break;\n"); - } - sb.append("\t\t\tdefault: throw new IllegalStateException(\"Excessive arity in tuple.\");\n"); - sb.append("\t\t\t}\n\n"); - sb.append("\t\t\treturn projectJoin;\n"); - - // method end - sb.append("\t\t}\n"); - - for (int numFields = FIRST; numFields <= LAST; numFields++) { - - // method begin - sb.append("\n"); - - // method comment - sb.append("\t\t/**\n"); - sb.append("\t\t * Projects a pair of joined elements to a {@link Tuple} with the previously selected fields. \n"); - sb.append("\t\t * Requires the classes of the fields of the resulting tuples. \n"); - sb.append("\t\t * \n"); - sb.append("\t\t * @return The projected data set.\n"); - sb.append("\t\t * \n"); - sb.append("\t\t * @see Tuple\n"); - sb.append("\t\t * @see DataSet\n"); - sb.append("\t\t */\n"); - - // method signature - sb.append("\t\tpublic <"); - appendTupleTypeGenerics(sb, numFields); - sb.append("> ProjectJoin> projectTuple"+numFields+"("); - sb.append(") {\n"); - - // extract field types - sb.append("\t\t\tTypeInformation[] fTypes = extractFieldTypes(fieldIndexes);\n"); - - // create new tuple type info - sb.append("\t\t\tTupleTypeInfo> tType = new TupleTypeInfo>(fTypes);\n\n"); - - // create and return new project operator - sb.append("\t\t\treturn new ProjectJoin>(this.ds1, this.ds2, this.keys1, this.keys2, this.hint, this.fieldIndexes, this.isFieldInFirst, tType, this);\n"); - - // method end - sb.append("\t\t}\n"); - - } - - // insert code into file - File dir = getPackage(root, JOIN_OPERATOR_PACKAGE); - File projectOperatorClass = new File(dir, JOIN_OPERATOR_CLASSNAME + ".java"); - insertCodeIntoFile(sb.toString(), projectOperatorClass); } + private static void modifyTupleType(File root) throws IOException { // generate code StringBuilder sb = new StringBuilder(); sb.append("\tprivate static final Class[] CLASSES = new Class[] {\n\t\tTuple0.class"); for (int i = FIRST; i <= LAST; i++) { - sb.append(", Tuple" + i + ".class"); + sb.append(", Tuple").append(i).append(".class"); } sb.append("\n\t};"); @@ -414,92 +146,6 @@ class TupleGenerator { insertCodeIntoFile(sb.toString(), tupleTypeInfoClass); } - private static void modifyCsvReader(File root) throws IOException { - // generate code - StringBuilder sb = new StringBuilder(1000); - for (int numFields = FIRST; numFields <= LAST; numFields++) { - - // method begin - sb.append("\n"); - - // java doc - sb.append("\t/**\n"); - sb.append("\t * Specifies the types for the CSV fields. This method parses the CSV data to a ").append(numFields).append("-tuple\n"); - sb.append("\t * which has fields of the specified types.\n"); - sb.append("\t * This method is overloaded for each possible length of the tuples to support type safe\n"); - sb.append("\t * creation of data sets through CSV parsing.\n"); - sb.append("\t *\n"); - - for (int pos = 0; pos < numFields; pos++) { - sb.append("\t * @param type").append(pos); - sb.append(" The type of CSV field ").append(pos).append(" and the type of field "); - sb.append(pos).append(" in the returned tuple type.\n"); - } - sb.append("\t * @return The {@link org.apache.flink.api.java.DataSet} representing the parsed CSV data.\n"); - sb.append("\t */\n"); - - // method signature - sb.append("\tpublic <"); - appendTupleTypeGenerics(sb, numFields); - sb.append("> DataSource> types("); - for (int i = 0; i < numFields; i++) { - if (i > 0) { - sb.append(", "); - } - sb.append("Class<"); - sb.append(GEN_TYPE_PREFIX + i); - sb.append("> type" + i); - } - sb.append(") {\n"); - - // get TupleTypeInfo - sb.append("\t\tTupleTypeInfo> types = TupleTypeInfo.getBasicAndBasicValueTupleTypeInfo("); - for (int i = 0; i < numFields; i++) { - if (i > 0) { - sb.append(", "); - } - sb.append("type" + i); - } - sb.append(");\n"); - - // create csv input format - sb.append("\t\tCsvInputFormat> inputFormat = new TupleCsvInputFormat>(path, types, this.includedMask);\n"); - - // configure input format - sb.append("\t\tconfigureInputFormat(inputFormat);\n"); - - // return - sb.append("\t\treturn new DataSource>(executionContext, inputFormat, types, Utils.getCallLocationName());\n"); - - // end of method - sb.append("\t}\n"); - } - - // insert code into file - File dir = getPackage(root, CSV_READER_PACKAGE); - File csvReaderClass = new File(dir, CSV_READER_CLASSNAME + ".java"); - insertCodeIntoFile(sb.toString(), csvReaderClass); - } - - private static void appendTupleTypeGenerics(StringBuilder sb, int numFields) { - for (int i = 0; i < numFields; i++) { - if (i > 0) { - sb.append(", "); - } - sb.append(GEN_TYPE_PREFIX + i); - } - } - private static void createTupleClasses(File root) throws FileNotFoundException { File dir = getPackage(root, PACKAGE); @@ -809,9 +455,7 @@ class TupleGenerator { // Class-Attributes - a list of tuples w.print("\tprivate List tuples = new ArrayList();"); + w.println("> tuples = new ArrayList<>();"); w.println(); // add(...) function for adding a single tuple @@ -825,9 +469,7 @@ class TupleGenerator { w.print(GEN_TYPE_PREFIX + i + " value" + i); } w.println("){"); - w.print("\t\ttuples.add(new Tuple" + numFields); - printGenericsString(w, numFields); - w.print("("); + w.print("\t\ttuples.add(new Tuple" + numFields + "<>("); for (int i = 0; i < numFields; i++) { if (i > 0) { w.print(", "); diff --git a/flink-java/src/test/java/org/apache/flink/api/java/tuple/Tuple2Test.java b/flink-java/src/test/java/org/apache/flink/api/java/tuple/Tuple2Test.java index 264b75b9e5c..0cc5dcfb45e 100644 --- a/flink-java/src/test/java/org/apache/flink/api/java/tuple/Tuple2Test.java +++ b/flink-java/src/test/java/org/apache/flink/api/java/tuple/Tuple2Test.java @@ -27,7 +27,7 @@ public class Tuple2Test { @Test public void testSwapValues() { - Tuple2 toSwap = new Tuple2(new String("Test case"), 25); + Tuple2 toSwap = new Tuple2<>("Test case", 25); Tuple2 swapped = toSwap.swap(); Assert.assertEquals(swapped.f0, toSwap.f1); @@ -37,7 +37,7 @@ public class Tuple2Test { @Test(expected = NullFieldException.class) public void testGetFieldNotNull() { - Tuple2 tuple = new Tuple2(new String("Test case"), null); + Tuple2 tuple = new Tuple2<>("Test case", null); Assert.assertEquals("Test case", tuple.getFieldNotNull(0)); tuple.getFieldNotNull(1); diff --git a/flink-java/src/test/java/org/apache/flink/api/java/tuple/TupleGenerator.java b/flink-java/src/test/java/org/apache/flink/api/java/tuple/TupleGenerator.java new file mode 100644 index 00000000000..8ac9c5901fb --- /dev/null +++ b/flink-java/src/test/java/org/apache/flink/api/java/tuple/TupleGenerator.java @@ -0,0 +1,498 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you 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 org.apache.flink.api.java.tuple; + +import java.io.File; +import java.io.IOException; +import java.util.Scanner; + +import com.google.common.base.Charsets; +import com.google.common.io.Files; + +/** + * Source code generator for tuple classes and classes which depend on the arity of tuples. + */ +class TupleGenerator { + + // Parameters for tuple classes + + private static final String ROOT_DIRECTORY = "./flink-java/src/main/java"; + + private static final String GEN_TYPE_PREFIX = "T"; + + // Parameters for tuple-dependent classes + private static final String BEGIN_INDICATOR = "BEGIN_OF_TUPLE_DEPENDENT_CODE"; + + private static final String END_INDICATOR = "END_OF_TUPLE_DEPENDENT_CODE"; + + // Parameters for CsvReader + private static final String CSV_READER_PACKAGE = "org.apache.flink.api.java.io"; + + private static final String CSV_READER_CLASSNAME = "CsvReader"; + + // Parameters for ProjectOperator + private static final String PROJECT_OPERATOR_PACKAGE = "org.apache.flink.api.java.operators"; + + private static final String PROJECT_OPERATOR_CLASSNAME = "ProjectOperator"; + + // Parameters for JoinOperator + private static final String JOIN_OPERATOR_PACKAGE = "org.apache.flink.api.java.operators"; + + private static final String JOIN_OPERATOR_CLASSNAME = "JoinOperator"; + + // parameters for CrossOperator + private static final String CROSS_OPERATOR_PACKAGE = "org.apache.flink.api.java.operators"; + + private static final String CROSS_OPERATOR_CLASSNAME = "CrossOperator"; + + // min. and max. tuple arity + private static final int FIRST = 1; + + private static final int LAST = 25; + + public static void main(String[] args) throws Exception { + System.err.println("Current directory "+System.getProperty("user.dir")); + String rootDir = ROOT_DIRECTORY; + if(args.length > 0) { + rootDir = args[0] + "/" + ROOT_DIRECTORY; + } + System.err.println("Using root directory: "+rootDir); + File root = new File(rootDir); + + modifyCsvReader(root); + + modifyProjectOperator(root); + + modifyJoinProjectOperator(root); + + modifyCrossProjectOperator(root); + + } + + private static File getPackage(File root, String packageString) { + File dir = new File(root, packageString.replace('.', '/')); + if (!dir.exists() && dir.isDirectory()) { + System.err.println("None existent directory: " + dir.getAbsolutePath()); + System.exit(1); + } + return dir; + } + + private static void insertCodeIntoFile(String code, File file) throws IOException { + String fileContent = Files.toString(file, Charsets.UTF_8); + + try (Scanner s = new Scanner(fileContent)) { + StringBuilder sb = new StringBuilder(); + String line; + + boolean indicatorFound = false; + + // add file beginning + while (s.hasNextLine() && (line = s.nextLine()) != null) { + sb.append(line).append("\n"); + if (line.contains(BEGIN_INDICATOR)) { + indicatorFound = true; + break; + } + } + + if(!indicatorFound) { + System.out.println("No indicator found in '" + file + "'. Will skip code generation."); + s.close(); + return; + } + + // add generator signature + sb.append("\t// GENERATED FROM ").append(TupleGenerator.class.getName()).append(".\n"); + + // add tuple dependent code + sb.append(code).append("\n"); + + // skip generated code + while (s.hasNextLine() && (line = s.nextLine()) != null) { + if (line.contains(END_INDICATOR)) { + sb.append(line).append("\n"); + break; + } + } + + // add file ending + while (s.hasNextLine() && (line = s.nextLine()) != null) { + sb.append(line).append("\n"); + } + s.close(); + Files.write(sb.toString(), file, Charsets.UTF_8); + } + } + + private static void modifyCrossProjectOperator(File root) throws IOException { + // generate code + StringBuilder sb = new StringBuilder(); + + // method begin + sb.append("\n"); + + // method comment + sb.append("\t\t/**\n"); + sb.append("\t\t * Chooses a projectTupleX according to the length of\n"); + sb.append("\t\t * {@link org.apache.flink.api.java.operators.CrossOperator.CrossProjection#fieldIndexes} \n"); + sb.append("\t\t * \n"); + sb.append("\t\t * @return The projected DataSet.\n"); + sb.append("\t\t */\n"); + + // method signature + sb.append("\t\t@SuppressWarnings(\"unchecked\")\n"); + sb.append("\t\tpublic ProjectCross projectTupleX() {\n"); + sb.append("\t\t\tProjectCross projectionCross = null;\n\n"); + sb.append("\t\t\tswitch (fieldIndexes.length) {\n"); + for (int numFields = FIRST; numFields <= LAST; numFields++) { + sb.append("\t\t\tcase " + numFields +":" + " projectionCross = (ProjectCross) projectTuple"+numFields+"(); break;\n"); + } + sb.append("\t\t\tdefault: throw new IllegalStateException(\"Excessive arity in tuple.\");\n"); + sb.append("\t\t\t}\n\n"); + sb.append("\t\t\treturn projectionCross;\n"); + + // method end + sb.append("\t\t}\n"); + + for (int numFields = FIRST; numFields <= LAST; numFields++) { + + // method begin + sb.append("\n"); + + // method comment + sb.append("\t\t/**\n"); + sb.append("\t\t * Projects a pair of crossed elements to a {@link Tuple} with the previously selected fields. \n"); + sb.append("\t\t * \n"); + sb.append("\t\t * @return The projected data set.\n"); + sb.append("\t\t * \n"); + sb.append("\t\t * @see Tuple\n"); + sb.append("\t\t * @see DataSet\n"); + sb.append("\t\t */\n"); + + // method signature + sb.append("\t\tpublic <"); + appendTupleTypeGenerics(sb, numFields); + sb.append("> ProjectCross> projectTuple"+numFields+"("); + sb.append(") {\n"); + + // extract field types + sb.append("\t\t\tTypeInformation[] fTypes = extractFieldTypes(fieldIndexes);\n"); + + // create new tuple type info + sb.append("\t\t\tTupleTypeInfo> tType = new TupleTypeInfo>(fTypes);\n\n"); + + // create and return new project operator + sb.append("\t\t\treturn new ProjectCross>(this.ds1, this.ds2, this.fieldIndexes, this.isFieldInFirst, tType, this, hint);\n"); + + // method end + sb.append("\t\t}\n"); + + } + + // insert code into file + File dir = getPackage(root, CROSS_OPERATOR_PACKAGE); + File projectOperatorClass = new File(dir, CROSS_OPERATOR_CLASSNAME + ".java"); + insertCodeIntoFile(sb.toString(), projectOperatorClass); + } + + private static void modifyProjectOperator(File root) throws IOException { + // generate code + StringBuilder sb = new StringBuilder(); + + // method begin + sb.append("\n"); + + // method comment + sb.append("\t\t/**\n"); + sb.append("\t\t * Chooses a projectTupleX according to the length of\n"); + sb.append("\t\t * {@link org.apache.flink.api.java.operators.ProjectOperator.Projection#fieldIndexes} \n"); + sb.append("\t\t * \n"); + sb.append("\t\t * @return The projected DataSet.\n"); + sb.append("\t\t * \n"); + sb.append("\t\t * @see org.apache.flink.api.java.operators.ProjectOperator.Projection\n"); + sb.append("\t\t */\n"); + + // method signature + sb.append("\t\t@SuppressWarnings(\"unchecked\")\n"); + sb.append("\t\tpublic ProjectOperator projectTupleX() {\n"); + sb.append("\t\t\tProjectOperator projOperator;\n\n"); + sb.append("\t\t\tswitch (fieldIndexes.length) {\n"); + for (int numFields = FIRST; numFields <= LAST; numFields++) { + sb.append("\t\t\tcase " + numFields +":" + " projOperator = (ProjectOperator) projectTuple"+numFields+"(); break;\n"); + } + sb.append("\t\t\tdefault: throw new IllegalStateException(\"Excessive arity in tuple.\");\n"); + sb.append("\t\t\t}\n\n"); + sb.append("\t\t\treturn projOperator;\n"); + + // method end + sb.append("\t\t}\n"); + + for (int numFields = FIRST; numFields <= LAST; numFields++) { + + // method begin + sb.append("\n"); + + // method comment + sb.append("\t\t/**\n"); + sb.append("\t\t * Projects a {@link Tuple} {@link DataSet} to the previously selected fields. \n"); + sb.append("\t\t * \n"); + sb.append("\t\t * @return The projected DataSet.\n"); + sb.append("\t\t * \n"); + sb.append("\t\t * @see Tuple\n"); + sb.append("\t\t * @see DataSet\n"); + sb.append("\t\t */\n"); + + // method signature + sb.append("\t\tpublic <"); + appendTupleTypeGenerics(sb, numFields); + sb.append("> ProjectOperator> projectTuple"+numFields+"("); + sb.append(") {\n"); + + // extract field types + sb.append("\t\t\tTypeInformation[] fTypes = extractFieldTypes(fieldIndexes, ds.getType());\n"); + + // create new tuple type info + sb.append("\t\t\tTupleTypeInfo> tType = new TupleTypeInfo>(fTypes);\n\n"); + + // create and return new project operator + sb.append("\t\t\treturn new ProjectOperator>(this.ds, this.fieldIndexes, tType);\n"); + + // method end + sb.append("\t\t}\n"); + + } + + // insert code into file + File dir = getPackage(root, PROJECT_OPERATOR_PACKAGE); + File projectOperatorClass = new File(dir, PROJECT_OPERATOR_CLASSNAME + ".java"); + insertCodeIntoFile(sb.toString(), projectOperatorClass); + } + + private static void modifyJoinProjectOperator(File root) throws IOException { + // generate code + StringBuilder sb = new StringBuilder(); + + // method begin + sb.append("\n"); + + // method comment + sb.append("\t\t/**\n"); + sb.append("\t\t * Chooses a projectTupleX according to the length of\n"); + sb.append("\t\t * {@link org.apache.flink.api.java.operators.JoinOperator.JoinProjection#fieldIndexes}\n"); + sb.append("\t\t * \n"); + sb.append("\t\t * @return The projected DataSet.\n"); + sb.append("\t\t * \n"); + sb.append("\t\t * @see org.apache.flink.api.java.operators.JoinOperator.ProjectJoin\n"); + sb.append("\t\t */\n"); + + // method signature + sb.append("\t\t@SuppressWarnings(\"unchecked\")\n"); + sb.append("\t\tpublic ProjectJoin projectTupleX() {\n"); + sb.append("\t\t\tProjectJoin projectJoin = null;\n\n"); + sb.append("\t\t\tswitch (fieldIndexes.length) {\n"); + for (int numFields = FIRST; numFields <= LAST; numFields++) { + sb.append("\t\t\tcase " + numFields +":" + " projectJoin = (ProjectJoin) projectTuple"+numFields+"(); break;\n"); + } + sb.append("\t\t\tdefault: throw new IllegalStateException(\"Excessive arity in tuple.\");\n"); + sb.append("\t\t\t}\n\n"); + sb.append("\t\t\treturn projectJoin;\n"); + + // method end + sb.append("\t\t}\n"); + + for (int numFields = FIRST; numFields <= LAST; numFields++) { + + // method begin + sb.append("\n"); + + // method comment + sb.append("\t\t/**\n"); + sb.append("\t\t * Projects a pair of joined elements to a {@link Tuple} with the previously selected fields. \n"); + sb.append("\t\t * Requires the classes of the fields of the resulting tuples. \n"); + sb.append("\t\t * \n"); + sb.append("\t\t * @return The projected data set.\n"); + sb.append("\t\t * \n"); + sb.append("\t\t * @see Tuple\n"); + sb.append("\t\t * @see DataSet\n"); + sb.append("\t\t */\n"); + + // method signature + sb.append("\t\tpublic <"); + appendTupleTypeGenerics(sb, numFields); + sb.append("> ProjectJoin> projectTuple"+numFields+"("); + sb.append(") {\n"); + + // extract field types + sb.append("\t\t\tTypeInformation[] fTypes = extractFieldTypes(fieldIndexes);\n"); + + // create new tuple type info + sb.append("\t\t\tTupleTypeInfo> tType = new TupleTypeInfo>(fTypes);\n\n"); + + // create and return new project operator + sb.append("\t\t\treturn new ProjectJoin>(this.ds1, this.ds2, this.keys1, this.keys2, this.hint, this.fieldIndexes, this.isFieldInFirst, tType, this);\n"); + + // method end + sb.append("\t\t}\n"); + + } + + // insert code into file + File dir = getPackage(root, JOIN_OPERATOR_PACKAGE); + File projectOperatorClass = new File(dir, JOIN_OPERATOR_CLASSNAME + ".java"); + insertCodeIntoFile(sb.toString(), projectOperatorClass); + } + + private static void modifyCsvReader(File root) throws IOException { + // generate code + StringBuilder sb = new StringBuilder(1000); + for (int numFields = FIRST; numFields <= LAST; numFields++) { + + // method begin + sb.append("\n"); + + // java doc + sb.append("\t/**\n"); + sb.append("\t * Specifies the types for the CSV fields. This method parses the CSV data to a ").append(numFields).append("-tuple\n"); + sb.append("\t * which has fields of the specified types.\n"); + sb.append("\t * This method is overloaded for each possible length of the tuples to support type safe\n"); + sb.append("\t * creation of data sets through CSV parsing.\n"); + sb.append("\t *\n"); + + for (int pos = 0; pos < numFields; pos++) { + sb.append("\t * @param type").append(pos); + sb.append(" The type of CSV field ").append(pos).append(" and the type of field "); + sb.append(pos).append(" in the returned tuple type.\n"); + } + sb.append("\t * @return The {@link org.apache.flink.api.java.DataSet} representing the parsed CSV data.\n"); + sb.append("\t */\n"); + + // method signature + sb.append("\tpublic <"); + appendTupleTypeGenerics(sb, numFields); + sb.append("> DataSource> types("); + for (int i = 0; i < numFields; i++) { + if (i > 0) { + sb.append(", "); + } + sb.append("Class<"); + sb.append(GEN_TYPE_PREFIX + i); + sb.append("> type" + i); + } + sb.append(") {\n"); + + // get TupleTypeInfo + sb.append("\t\tTupleTypeInfo> types = TupleTypeInfo.getBasicAndBasicValueTupleTypeInfo("); + for (int i = 0; i < numFields; i++) { + if (i > 0) { + sb.append(", "); + } + sb.append("type" + i); + } + sb.append(");\n"); + + // create csv input format + sb.append("\t\tCsvInputFormat> inputFormat = new TupleCsvInputFormat>(path, types, this.includedMask);\n"); + + // configure input format + sb.append("\t\tconfigureInputFormat(inputFormat);\n"); + + // return + sb.append("\t\treturn new DataSource>(executionContext, inputFormat, types, Utils.getCallLocationName());\n"); + + // end of method + sb.append("\t}\n"); + } + + // insert code into file + File dir = getPackage(root, CSV_READER_PACKAGE); + File csvReaderClass = new File(dir, CSV_READER_CLASSNAME + ".java"); + insertCodeIntoFile(sb.toString(), csvReaderClass); + } + + private static void appendTupleTypeGenerics(StringBuilder sb, int numFields) { + for (int i = 0; i < numFields; i++) { + if (i > 0) { + sb.append(", "); + } + sb.append(GEN_TYPE_PREFIX + i); + } + } + + + private static String HEADER = + "/*\n" + + " * Licensed to the Apache Software Foundation (ASF) under one\n" + + " * or more contributor license agreements. See the NOTICE file\n" + + " * distributed with this work for additional information\n" + + " * regarding copyright ownership. The ASF licenses this file\n" + + " * to you under the Apache License, Version 2.0 (the\n" + + " * \"License\"); you may not use this file except in compliance\n" + + " * with the License. You may obtain a copy of the License at\n" + + " *\n" + + " * http://www.apache.org/licenses/LICENSE-2.0\n" + + " *\n" + + " * Unless required by applicable law or agreed to in writing, software\n" + + " * distributed under the License is distributed on an \"AS IS\" BASIS,\n" + + " * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n" + + " * See the License for the specific language governing permissions and\n" + + " * limitations under the License.\n" + + " */" + + "\n" + + "\n" + + "\n" + + "// --------------------------------------------------------------\n" + + "// THIS IS A GENERATED SOURCE FILE. DO NOT EDIT!\n" + + "// GENERATED FROM " + TupleGenerator.class.getName() + ".\n" + + "// --------------------------------------------------------------\n\n\n"; +} \ No newline at end of file -- GitLab