Github user uce commented on a diff in the pull request:
https://github.com/apache/incubator-flink/pull/194#discussion_r20569485
--- Diff:
flink-java/src/main/java/org/apache/flink/api/java/operators/CrossOperator.java
---
@@ -517,859 +542,426 @@ public CrossProjection(DataSet<I1> ds1, DataSet<I2>
ds2, int[] firstFieldIndexes
// GENERATED FROM org.apache.flink.api.java.tuple.TupleGenerator.
/**
+ * Chooses a projectTupleX according to the length of {@link
CrossProjection#fieldIndexes}
+ *
+ * @return The projected DataSet.
+ *
+ * @see Projection
+ */
+ @SuppressWarnings("unchecked")
+ public <OUT extends Tuple> ProjectCross<I1, I2, OUT>
projectTupleX() {
+ ProjectCross<I1, I2, OUT> projectionCross = null;
+
+ switch (fieldIndexes.length) {
+ case 1: projectionCross = (ProjectCross<I1, I2, OUT>)
projectTuple1(); break;
+ case 2: projectionCross = (ProjectCross<I1, I2, OUT>)
projectTuple2(); break;
+ case 3: projectionCross = (ProjectCross<I1, I2, OUT>)
projectTuple3(); break;
+ case 4: projectionCross = (ProjectCross<I1, I2, OUT>)
projectTuple4(); break;
+ case 5: projectionCross = (ProjectCross<I1, I2, OUT>)
projectTuple5(); break;
+ case 6: projectionCross = (ProjectCross<I1, I2, OUT>)
projectTuple6(); break;
+ case 7: projectionCross = (ProjectCross<I1, I2, OUT>)
projectTuple7(); break;
+ case 8: projectionCross = (ProjectCross<I1, I2, OUT>)
projectTuple8(); break;
+ case 9: projectionCross = (ProjectCross<I1, I2, OUT>)
projectTuple9(); break;
+ case 10: projectionCross = (ProjectCross<I1, I2, OUT>)
projectTuple10(); break;
+ case 11: projectionCross = (ProjectCross<I1, I2, OUT>)
projectTuple11(); break;
+ case 12: projectionCross = (ProjectCross<I1, I2, OUT>)
projectTuple12(); break;
+ case 13: projectionCross = (ProjectCross<I1, I2, OUT>)
projectTuple13(); break;
+ case 14: projectionCross = (ProjectCross<I1, I2, OUT>)
projectTuple14(); break;
+ case 15: projectionCross = (ProjectCross<I1, I2, OUT>)
projectTuple15(); break;
+ case 16: projectionCross = (ProjectCross<I1, I2, OUT>)
projectTuple16(); break;
+ case 17: projectionCross = (ProjectCross<I1, I2, OUT>)
projectTuple17(); break;
+ case 18: projectionCross = (ProjectCross<I1, I2, OUT>)
projectTuple18(); break;
+ case 19: projectionCross = (ProjectCross<I1, I2, OUT>)
projectTuple19(); break;
+ case 20: projectionCross = (ProjectCross<I1, I2, OUT>)
projectTuple20(); break;
+ case 21: projectionCross = (ProjectCross<I1, I2, OUT>)
projectTuple21(); break;
+ case 22: projectionCross = (ProjectCross<I1, I2, OUT>)
projectTuple22(); break;
+ case 23: projectionCross = (ProjectCross<I1, I2, OUT>)
projectTuple23(); break;
+ case 24: projectionCross = (ProjectCross<I1, I2, OUT>)
projectTuple24(); break;
+ case 25: projectionCross = (ProjectCross<I1, I2, OUT>)
projectTuple25(); break;
--- End diff --
Should we add a default case here, which throws an IllegalStateException
(although we check the indexes previously)?
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---