You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beam.apache.org by ke...@apache.org on 2016/08/08 20:39:48 UTC
[1/2] incubator-beam git commit: Add display data to SimpleFunction
Repository: incubator-beam
Updated Branches:
refs/heads/master 7629f972c -> bb00810ad
Add display data to SimpleFunction
Project: http://git-wip-us.apache.org/repos/asf/incubator-beam/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-beam/commit/4753f447
Tree: http://git-wip-us.apache.org/repos/asf/incubator-beam/tree/4753f447
Diff: http://git-wip-us.apache.org/repos/asf/incubator-beam/diff/4753f447
Branch: refs/heads/master
Commit: 4753f447f04e359716107ecf11e2e5286c42ac69
Parents: 2b5c6bc
Author: Kenneth Knowles <kl...@google.com>
Authored: Fri Jul 29 10:23:28 2016 -0700
Committer: Kenneth Knowles <kl...@google.com>
Committed: Fri Aug 5 10:19:21 2016 -0700
----------------------------------------------------------------------
.../beam/sdk/transforms/FlatMapElements.java | 2 +-
.../apache/beam/sdk/transforms/MapElements.java | 2 +-
.../beam/sdk/transforms/SimpleFunction.java | 14 +++++++++++++-
.../beam/sdk/transforms/FlatMapElementsTest.java | 19 +++++++++++++++++++
.../beam/sdk/transforms/MapElementsTest.java | 8 ++++++++
5 files changed, 42 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/4753f447/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/FlatMapElements.java
----------------------------------------------------------------------
diff --git a/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/FlatMapElements.java b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/FlatMapElements.java
index 04d993c..6f9e3d8 100644
--- a/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/FlatMapElements.java
+++ b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/FlatMapElements.java
@@ -167,7 +167,7 @@ extends PTransform<PCollection<InputT>, PCollection<OutputT>> {
@Override
public void populateDisplayData(DisplayData.Builder builder) {
super.populateDisplayData(builder);
- builder.add(fnClassDisplayData);
+ builder.include(fn).add(fnClassDisplayData);
}
/**
http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/4753f447/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/MapElements.java
----------------------------------------------------------------------
diff --git a/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/MapElements.java b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/MapElements.java
index 429d3fc..17ad6e7 100644
--- a/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/MapElements.java
+++ b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/MapElements.java
@@ -133,6 +133,6 @@ extends PTransform<PCollection<InputT>, PCollection<OutputT>> {
@Override
public void populateDisplayData(DisplayData.Builder builder) {
super.populateDisplayData(builder);
- builder.add(fnClassDisplayData);
+ builder.include(fn).add(fnClassDisplayData);
}
}
http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/4753f447/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/SimpleFunction.java
----------------------------------------------------------------------
diff --git a/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/SimpleFunction.java b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/SimpleFunction.java
index 6c540cc..bf075f8 100644
--- a/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/SimpleFunction.java
+++ b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/SimpleFunction.java
@@ -17,6 +17,8 @@
*/
package org.apache.beam.sdk.transforms;
+import org.apache.beam.sdk.transforms.display.DisplayData;
+import org.apache.beam.sdk.transforms.display.HasDisplayData;
import org.apache.beam.sdk.values.TypeDescriptor;
/**
@@ -25,7 +27,7 @@ import org.apache.beam.sdk.values.TypeDescriptor;
* {@link org.apache.beam.sdk.coders.Coder Coder} inference.
*/
public abstract class SimpleFunction<InputT, OutputT>
- implements SerializableFunction<InputT, OutputT> {
+ implements SerializableFunction<InputT, OutputT>, HasDisplayData {
public static <InputT, OutputT>
SimpleFunction<InputT, OutputT> fromSerializableFunctionWithOutputType(
@@ -60,6 +62,15 @@ public abstract class SimpleFunction<InputT, OutputT>
}
/**
+ * {@inheritDoc}
+ *
+ * <p>By default, does not register any display data. Implementors may override this method
+ * to provide their own display data.
+ */
+ @Override
+ public void populateDisplayData(DisplayData.Builder builder) {}
+
+ /**
* A {@link SimpleFunction} built from a {@link SerializableFunction}, having
* a known output type that is explicitly set.
*/
@@ -76,6 +87,7 @@ public abstract class SimpleFunction<InputT, OutputT>
this.outputType = outputType;
}
+
@Override
public OutputT apply(InputT input) {
return fn.apply(input);
http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/4753f447/sdks/java/core/src/test/java/org/apache/beam/sdk/transforms/FlatMapElementsTest.java
----------------------------------------------------------------------
diff --git a/sdks/java/core/src/test/java/org/apache/beam/sdk/transforms/FlatMapElementsTest.java b/sdks/java/core/src/test/java/org/apache/beam/sdk/transforms/FlatMapElementsTest.java
index 781e143..cb7892c 100644
--- a/sdks/java/core/src/test/java/org/apache/beam/sdk/transforms/FlatMapElementsTest.java
+++ b/sdks/java/core/src/test/java/org/apache/beam/sdk/transforms/FlatMapElementsTest.java
@@ -151,6 +151,25 @@ public class FlatMapElementsTest implements Serializable {
}
@Test
+ public void testSimpleFunctionDisplayData() {
+ SimpleFunction<Integer, List<Integer>> simpleFn = new SimpleFunction<Integer, List<Integer>>() {
+ @Override
+ public List<Integer> apply(Integer input) {
+ return Collections.emptyList();
+ }
+
+ @Override
+ public void populateDisplayData(DisplayData.Builder builder) {
+ builder.add(DisplayData.item("foo", "baz"));
+ }
+ };
+
+ FlatMapElements<?, ?> simpleFlatMap = FlatMapElements.via(simpleFn);
+ assertThat(DisplayData.from(simpleFlatMap), hasDisplayItem("flatMapFn", simpleFn.getClass()));
+ assertThat(DisplayData.from(simpleFlatMap), hasDisplayItem("foo", "baz"));
+ }
+
+ @Test
@Category(NeedsRunner.class)
public void testVoidValues() throws Exception {
Pipeline pipeline = TestPipeline.create();
http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/4753f447/sdks/java/core/src/test/java/org/apache/beam/sdk/transforms/MapElementsTest.java
----------------------------------------------------------------------
diff --git a/sdks/java/core/src/test/java/org/apache/beam/sdk/transforms/MapElementsTest.java b/sdks/java/core/src/test/java/org/apache/beam/sdk/transforms/MapElementsTest.java
index dbf8844..e86a128 100644
--- a/sdks/java/core/src/test/java/org/apache/beam/sdk/transforms/MapElementsTest.java
+++ b/sdks/java/core/src/test/java/org/apache/beam/sdk/transforms/MapElementsTest.java
@@ -238,10 +238,18 @@ public class MapElementsTest implements Serializable {
public Integer apply(Integer input) {
return input;
}
+
+ @Override
+ public void populateDisplayData(DisplayData.Builder builder) {
+ builder.add(DisplayData.item("foo", "baz"));
+ }
};
+
+
MapElements<?, ?> simpleMap = MapElements.via(simpleFn);
assertThat(DisplayData.from(simpleMap), hasDisplayItem("mapFn", simpleFn.getClass()));
+ assertThat(DisplayData.from(simpleMap), hasDisplayItem("foo", "baz"));
}
@Test
[2/2] incubator-beam git commit: This closes #759
Posted by ke...@apache.org.
This closes #759
Project: http://git-wip-us.apache.org/repos/asf/incubator-beam/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-beam/commit/bb00810a
Tree: http://git-wip-us.apache.org/repos/asf/incubator-beam/tree/bb00810a
Diff: http://git-wip-us.apache.org/repos/asf/incubator-beam/diff/bb00810a
Branch: refs/heads/master
Commit: bb00810adeee27506a43487c6842bb0c9dcf58a9
Parents: 7629f97 4753f44
Author: Kenneth Knowles <kl...@google.com>
Authored: Mon Aug 8 13:37:03 2016 -0700
Committer: Kenneth Knowles <kl...@google.com>
Committed: Mon Aug 8 13:37:03 2016 -0700
----------------------------------------------------------------------
.../beam/sdk/transforms/FlatMapElements.java | 2 +-
.../apache/beam/sdk/transforms/MapElements.java | 2 +-
.../beam/sdk/transforms/SimpleFunction.java | 14 +++++++++++++-
.../beam/sdk/transforms/FlatMapElementsTest.java | 19 +++++++++++++++++++
.../beam/sdk/transforms/MapElementsTest.java | 8 ++++++++
5 files changed, 42 insertions(+), 3 deletions(-)
----------------------------------------------------------------------