This is an automated email from the ASF dual-hosted git repository. lcwik pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/beam.git
commit 2970b53538cff9d97eb34cc3b4407ec0777b8a6d Author: Daniel Kulp <dk...@apache.org> AuthorDate: Fri Jan 26 14:26:06 2018 -0500 Add some template args and direct casts to help the eclipse compiler determine the right casts --- .../org/apache/beam/runners/core/ReduceFnTester.java | 2 +- .../runners/core/triggers/TriggerStateMachineTester.java | 2 +- .../beam/runners/direct/WindowEvaluatorFactory.java | 2 +- .../beam/runners/direct/DirectGraphVisitorTest.java | 16 +++++++++------- .../stateful/SparkGroupAlsoByWindowViaWindowSet.java | 5 ++++- .../impl/interpreter/operator/BeamSqlCaseExpression.java | 3 ++- 6 files changed, 18 insertions(+), 12 deletions(-) diff --git a/runners/core-java/src/test/java/org/apache/beam/runners/core/ReduceFnTester.java b/runners/core-java/src/test/java/org/apache/beam/runners/core/ReduceFnTester.java index ef2f39c..4dd0b42 100644 --- a/runners/core-java/src/test/java/org/apache/beam/runners/core/ReduceFnTester.java +++ b/runners/core-java/src/test/java/org/apache/beam/runners/core/ReduceFnTester.java @@ -547,7 +547,7 @@ public class ReduceFnTester<InputT, OutputT, W extends BoundedWindow> { Instant timestamp = input.getTimestamp(); Collection<W> windows = windowFn.assignWindows( - new TestAssignContext<>( + new TestAssignContext<W>( windowFn, value, timestamp, GlobalWindow.INSTANCE)); return WindowedValue.of(value, timestamp, windows, PaneInfo.NO_FIRING); } catch (Exception e) { diff --git a/runners/core-java/src/test/java/org/apache/beam/runners/core/triggers/TriggerStateMachineTester.java b/runners/core-java/src/test/java/org/apache/beam/runners/core/triggers/TriggerStateMachineTester.java index 99941ec..c8808fc 100644 --- a/runners/core-java/src/test/java/org/apache/beam/runners/core/triggers/TriggerStateMachineTester.java +++ b/runners/core-java/src/test/java/org/apache/beam/runners/core/triggers/TriggerStateMachineTester.java @@ -266,7 +266,7 @@ public class TriggerStateMachineTester<InputT, W extends BoundedWindow> { Instant timestamp = input.getTimestamp(); Collection<W> assignedWindows = windowFn.assignWindows( - new TestAssignContext<>(windowFn, value, timestamp, GlobalWindow.INSTANCE)); + new TestAssignContext<W>(windowFn, value, timestamp, GlobalWindow.INSTANCE)); for (W window : assignedWindows) { activeWindows.addActiveForTesting(window); diff --git a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/WindowEvaluatorFactory.java b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/WindowEvaluatorFactory.java index 03c1d50..339640b 100644 --- a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/WindowEvaluatorFactory.java +++ b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/WindowEvaluatorFactory.java @@ -99,7 +99,7 @@ class WindowEvaluatorFactory implements TransformEvaluatorFactory { private <W extends BoundedWindow> Collection<? extends BoundedWindow> assignWindows( WindowFn<InputT, W> windowFn, WindowedValue<InputT> element) throws Exception { WindowFn<InputT, W>.AssignContext assignContext = - new DirectAssignContext<>(windowFn, element); + new DirectAssignContext<InputT, W>(windowFn, element); Collection<? extends BoundedWindow> windows = windowFn.assignWindows(assignContext); return windows; } diff --git a/runners/direct-java/src/test/java/org/apache/beam/runners/direct/DirectGraphVisitorTest.java b/runners/direct-java/src/test/java/org/apache/beam/runners/direct/DirectGraphVisitorTest.java index 1ece894..5467c9a 100644 --- a/runners/direct-java/src/test/java/org/apache/beam/runners/direct/DirectGraphVisitorTest.java +++ b/runners/direct-java/src/test/java/org/apache/beam/runners/direct/DirectGraphVisitorTest.java @@ -95,8 +95,8 @@ public class DirectGraphVisitorTest implements Serializable { assertThat(graph.getRootTransforms(), hasSize(3)); assertThat( graph.getRootTransforms(), - Matchers.containsInAnyOrder( - graph.getProducer(created), graph.getProducer(counted), graph.getProducer(unCounted))); + Matchers.containsInAnyOrder(new Object[] { + graph.getProducer(created), graph.getProducer(counted), graph.getProducer(unCounted)})); for (AppliedPTransform<?, ?, ?> root : graph.getRootTransforms()) { // Root transforms will have no inputs assertThat(root.getInputs().entrySet(), emptyIterable()); @@ -114,9 +114,10 @@ public class DirectGraphVisitorTest implements Serializable { empty.setCoder(StringUtf8Coder.of()); p.traverseTopologically(visitor); DirectGraph graph = visitor.getGraph(); - assertThat(graph.getRootTransforms(), Matchers.containsInAnyOrder(graph.getProducer(empty))); + assertThat(graph.getRootTransforms(), + Matchers.containsInAnyOrder(new Object[] {graph.getProducer(empty)})); AppliedPTransform<?, ?, ?> onlyRoot = Iterables.getOnlyElement(graph.getRootTransforms()); - assertThat(onlyRoot.getTransform(), Matchers.equalTo(flatten)); + assertThat((Object) onlyRoot.getTransform(), Matchers.equalTo(flatten)); assertThat(onlyRoot.getInputs().entrySet(), emptyIterable()); assertThat(onlyRoot.getOutputs(), equalTo(empty.expand())); } @@ -148,9 +149,10 @@ public class DirectGraphVisitorTest implements Serializable { assertThat( graph.getPerElementConsumers(created), - Matchers.containsInAnyOrder(transformedProducer, flattenedProducer)); + Matchers.containsInAnyOrder(new Object[] {transformedProducer, flattenedProducer})); assertThat( - graph.getPerElementConsumers(transformed), Matchers.containsInAnyOrder(flattenedProducer)); + graph.getPerElementConsumers(transformed), + Matchers.containsInAnyOrder(new Object[] {flattenedProducer})); assertThat(graph.getPerElementConsumers(flattened), emptyIterable()); } @@ -168,7 +170,7 @@ public class DirectGraphVisitorTest implements Serializable { assertThat( graph.getPerElementConsumers(created), - Matchers.containsInAnyOrder(flattenedProducer, flattenedProducer)); + Matchers.containsInAnyOrder(new Object[] {flattenedProducer, flattenedProducer})); assertThat(graph.getPerElementConsumers(flattened), emptyIterable()); } diff --git a/runners/spark/src/main/java/org/apache/beam/runners/spark/stateful/SparkGroupAlsoByWindowViaWindowSet.java b/runners/spark/src/main/java/org/apache/beam/runners/spark/stateful/SparkGroupAlsoByWindowViaWindowSet.java index 50957f2..921d504 100644 --- a/runners/spark/src/main/java/org/apache/beam/runners/spark/stateful/SparkGroupAlsoByWindowViaWindowSet.java +++ b/runners/spark/src/main/java/org/apache/beam/runners/spark/stateful/SparkGroupAlsoByWindowViaWindowSet.java @@ -272,9 +272,12 @@ public class SparkGroupAlsoByWindowViaWindowSet implements Serializable { if (!encodedKeyedElements.isEmpty()) { // new input for key. try { + //cast to GenTraversable to avoid a ambiguous call to head() which can come from + //mulitple super interfacesof Seq<byte[]> + byte[] b = ((scala.collection.GenTraversable<byte[]>) encodedKeyedElements).head(); final KV<Long, Iterable<WindowedValue<InputT>>> keyedElements = CoderHelpers.fromByteArray( - encodedKeyedElements.head(), KvCoder.of(VarLongCoder.of(), itrWvCoder)); + b, KvCoder.of(VarLongCoder.of(), itrWvCoder)); final Long rddTimestamp = keyedElements.getKey(); diff --git a/sdks/java/extensions/sql/src/main/java/org/apache/beam/sdk/extensions/sql/impl/interpreter/operator/BeamSqlCaseExpression.java b/sdks/java/extensions/sql/src/main/java/org/apache/beam/sdk/extensions/sql/impl/interpreter/operator/BeamSqlCaseExpression.java index 955444f..ec9ba40 100644 --- a/sdks/java/extensions/sql/src/main/java/org/apache/beam/sdk/extensions/sql/impl/interpreter/operator/BeamSqlCaseExpression.java +++ b/sdks/java/extensions/sql/src/main/java/org/apache/beam/sdk/extensions/sql/impl/interpreter/operator/BeamSqlCaseExpression.java @@ -51,7 +51,8 @@ public class BeamSqlCaseExpression extends BeamSqlExpression { @Override public BeamSqlPrimitive evaluate(BeamRecord inputRow, BoundedWindow window) { for (int i = 0; i < operands.size() - 1; i += 2) { - if (opValueEvaluated(i, inputRow, window)) { + Boolean b = opValueEvaluated(i, inputRow, window); + if (b != null && b) { return BeamSqlPrimitive.of( outputType, opValueEvaluated(i + 1, inputRow, window) -- To stop receiving notification emails like this one, please contact lc...@apache.org.