Repository: incubator-beam Updated Branches: refs/heads/master 0f2e6f37e -> 638cc2071
Add labels for SDK display data Project: http://git-wip-us.apache.org/repos/asf/incubator-beam/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-beam/commit/62f05d8b Tree: http://git-wip-us.apache.org/repos/asf/incubator-beam/tree/62f05d8b Diff: http://git-wip-us.apache.org/repos/asf/incubator-beam/diff/62f05d8b Branch: refs/heads/master Commit: 62f05d8b2513fbe7bb5b2ac181f9550634317792 Parents: 0f2e6f3 Author: Scott Wegner <[email protected]> Authored: Wed May 11 14:17:10 2016 -0700 Committer: bchambers <[email protected]> Committed: Mon May 16 12:44:14 2016 -0700 ---------------------------------------------------------------------- .../DataflowPipelineTranslatorTest.java | 2 + .../java/org/apache/beam/sdk/io/AvroIO.java | 28 +++++++++---- .../java/org/apache/beam/sdk/io/BigQueryIO.java | 43 +++++++++++++------- .../sdk/io/BoundedReadFromUnboundedSource.java | 9 ++-- .../apache/beam/sdk/io/CompressedSource.java | 9 ++-- .../org/apache/beam/sdk/io/CountingInput.java | 12 ++++-- .../org/apache/beam/sdk/io/DatastoreIO.java | 18 +++++--- .../org/apache/beam/sdk/io/FileBasedSink.java | 3 +- .../org/apache/beam/sdk/io/FileBasedSource.java | 3 +- .../apache/beam/sdk/io/OffsetBasedSource.java | 9 ++-- .../java/org/apache/beam/sdk/io/PubsubIO.java | 42 +++++++++++-------- .../main/java/org/apache/beam/sdk/io/Read.java | 6 ++- .../java/org/apache/beam/sdk/io/TextIO.java | 25 ++++++++---- .../main/java/org/apache/beam/sdk/io/Write.java | 3 +- .../java/org/apache/beam/sdk/io/XmlSink.java | 6 ++- .../java/org/apache/beam/sdk/io/XmlSource.java | 9 ++-- .../sdk/transforms/ApproximateQuantiles.java | 6 ++- .../beam/sdk/transforms/ApproximateUnique.java | 6 ++- .../org/apache/beam/sdk/transforms/Combine.java | 15 ++++--- .../apache/beam/sdk/transforms/CombineFns.java | 3 +- .../org/apache/beam/sdk/transforms/Filter.java | 3 +- .../apache/beam/sdk/transforms/GroupByKey.java | 3 +- .../transforms/IntraBundleParallelization.java | 6 ++- .../apache/beam/sdk/transforms/MapElements.java | 3 +- .../org/apache/beam/sdk/transforms/Max.java | 3 +- .../org/apache/beam/sdk/transforms/Min.java | 3 +- .../org/apache/beam/sdk/transforms/ParDo.java | 3 +- .../apache/beam/sdk/transforms/Partition.java | 6 ++- .../org/apache/beam/sdk/transforms/Sample.java | 6 ++- .../org/apache/beam/sdk/transforms/Top.java | 6 ++- .../transforms/windowing/CalendarWindows.java | 18 +++++--- .../sdk/transforms/windowing/FixedWindows.java | 6 ++- .../beam/sdk/transforms/windowing/Sessions.java | 3 +- .../transforms/windowing/SlidingWindows.java | 9 ++-- .../beam/sdk/transforms/windowing/Window.java | 18 +++++--- .../beam/sdk/io/gcp/bigtable/BigtableIO.java | 15 ++++--- 36 files changed, 243 insertions(+), 125 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/62f05d8b/runners/google-cloud-dataflow-java/src/test/java/org/apache/beam/runners/dataflow/DataflowPipelineTranslatorTest.java ---------------------------------------------------------------------- diff --git a/runners/google-cloud-dataflow-java/src/test/java/org/apache/beam/runners/dataflow/DataflowPipelineTranslatorTest.java b/runners/google-cloud-dataflow-java/src/test/java/org/apache/beam/runners/dataflow/DataflowPipelineTranslatorTest.java index ed7e67d..58c6f75 100644 --- a/runners/google-cloud-dataflow-java/src/test/java/org/apache/beam/runners/dataflow/DataflowPipelineTranslatorTest.java +++ b/runners/google-cloud-dataflow-java/src/test/java/org/apache/beam/runners/dataflow/DataflowPipelineTranslatorTest.java @@ -936,6 +936,7 @@ public class DataflowPipelineTranslatorTest implements Serializable { .build(), ImmutableMap.<String, Object>builder() .put("key", "fn") + .put("label", "Transform Function") .put("type", "JAVA_CLASS") .put("value", fn1.getClass().getName()) .put("shortValue", fn1.getClass().getSimpleName()) @@ -955,6 +956,7 @@ public class DataflowPipelineTranslatorTest implements Serializable { ImmutableSet<ImmutableMap<String, Object>> expectedFn2DisplayData = ImmutableSet.of( ImmutableMap.<String, Object>builder() .put("key", "fn") + .put("label", "Transform Function") .put("type", "JAVA_CLASS") .put("value", fn2.getClass().getName()) .put("shortValue", fn2.getClass().getSimpleName()) http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/62f05d8b/sdks/java/core/src/main/java/org/apache/beam/sdk/io/AvroIO.java ---------------------------------------------------------------------- diff --git a/sdks/java/core/src/main/java/org/apache/beam/sdk/io/AvroIO.java b/sdks/java/core/src/main/java/org/apache/beam/sdk/io/AvroIO.java index 6b9f010..4b40c01 100644 --- a/sdks/java/core/src/main/java/org/apache/beam/sdk/io/AvroIO.java +++ b/sdks/java/core/src/main/java/org/apache/beam/sdk/io/AvroIO.java @@ -331,8 +331,10 @@ public class AvroIO { public void populateDisplayData(DisplayData.Builder builder) { super.populateDisplayData(builder); builder - .addIfNotNull(DisplayData.item("filePattern", filepattern)) - .addIfNotDefault(DisplayData.item("validation", validate), true); + .addIfNotNull(DisplayData.item("filePattern", filepattern) + .withLabel("Input File Pattern")) + .addIfNotDefault(DisplayData.item("validation", validate) + .withLabel("Validation Enabled"), true); } @Override @@ -694,14 +696,22 @@ public class AvroIO { public void populateDisplayData(DisplayData.Builder builder) { super.populateDisplayData(builder); builder - .add(DisplayData.item("schema", type)) - .addIfNotNull(DisplayData.item("filePrefix", filenamePrefix)) - .addIfNotDefault( - DisplayData.item("shardNameTemplate", shardTemplate), + .add(DisplayData.item("schema", type) + .withLabel("Record Schema")) + .addIfNotNull(DisplayData.item("filePrefix", filenamePrefix) + .withLabel("Output File Prefix")) + .addIfNotDefault(DisplayData.item("shardNameTemplate", shardTemplate) + .withLabel("Output Shard Name Template"), DEFAULT_SHARD_TEMPLATE) - .addIfNotDefault(DisplayData.item("fileSuffix", filenameSuffix), "") - .addIfNotDefault(DisplayData.item("numShards", numShards), 0) - .addIfNotDefault(DisplayData.item("validation", validate), true); + .addIfNotDefault(DisplayData.item("fileSuffix", filenameSuffix) + .withLabel("Output File Suffix"), + "") + .addIfNotDefault(DisplayData.item("numShards", numShards) + .withLabel("Maximum Output Shards"), + 0) + .addIfNotDefault(DisplayData.item("validation", validate) + .withLabel("Validation Enabled"), + true); } /** http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/62f05d8b/sdks/java/core/src/main/java/org/apache/beam/sdk/io/BigQueryIO.java ---------------------------------------------------------------------- diff --git a/sdks/java/core/src/main/java/org/apache/beam/sdk/io/BigQueryIO.java b/sdks/java/core/src/main/java/org/apache/beam/sdk/io/BigQueryIO.java index 3f22648..f8a05e9 100644 --- a/sdks/java/core/src/main/java/org/apache/beam/sdk/io/BigQueryIO.java +++ b/sdks/java/core/src/main/java/org/apache/beam/sdk/io/BigQueryIO.java @@ -631,13 +631,18 @@ public class BigQueryIO { TableReference table = getTable(); if (table != null) { - builder.add(DisplayData.item("table", toTableSpec(table))); + builder.add(DisplayData.item("table", toTableSpec(table)) + .withLabel("Table")); } builder - .addIfNotNull(DisplayData.item("query", query)) - .addIfNotNull(DisplayData.item("flattenResults", flattenResults)) - .addIfNotDefault(DisplayData.item("validation", validate), true); + .addIfNotNull(DisplayData.item("query", query) + .withLabel("Query")) + .addIfNotNull(DisplayData.item("flattenResults", flattenResults) + .withLabel("Flatten Query Results")) + .addIfNotDefault(DisplayData.item("validation", validate) + .withLabel("Validation Enabled"), + true); } /** @@ -1753,17 +1758,23 @@ public class BigQueryIO { super.populateDisplayData(builder); builder - .addIfNotNull(DisplayData.item("table", jsonTableRef)) - .addIfNotNull(DisplayData.item("schema", jsonSchema)); + .addIfNotNull(DisplayData.item("table", jsonTableRef) + .withLabel("Table Reference")) + .addIfNotNull(DisplayData.item("schema", jsonSchema) + .withLabel("Table Schema")); if (tableRefFunction != null) { - builder.add(DisplayData.item("tableFn", tableRefFunction.getClass())); + builder.add(DisplayData.item("tableFn", tableRefFunction.getClass()) + .withLabel("Table Reference Function")); } builder - .add(DisplayData.item("createDisposition", createDisposition.toString())) - .add(DisplayData.item("writeDisposition", writeDisposition.toString())) - .addIfNotDefault(DisplayData.item("validation", validate), true); + .add(DisplayData.item("createDisposition", createDisposition.toString()) + .withLabel("Table CreateDisposition")) + .add(DisplayData.item("writeDisposition", writeDisposition.toString()) + .withLabel("Table WriteDisposition")) + .addIfNotDefault(DisplayData.item("validation", validate) + .withLabel("Validation Enabled"), true); } /** Returns the create disposition. */ @@ -1855,8 +1866,10 @@ public class BigQueryIO { super.populateDisplayData(builder); builder - .addIfNotNull(DisplayData.item("schema", jsonSchema)) - .addIfNotNull(DisplayData.item("tableSpec", jsonTable)); + .addIfNotNull(DisplayData.item("schema", jsonSchema) + .withLabel("Table Schema")) + .addIfNotNull(DisplayData.item("tableSpec", jsonTable) + .withLabel("Table Specification")); } private static class BigQueryWriteOperation extends FileBasedWriteOperation<TableRow> { @@ -2096,7 +2109,8 @@ public class BigQueryIO { public void populateDisplayData(DisplayData.Builder builder) { super.populateDisplayData(builder); - builder.addIfNotNull(DisplayData.item("schema", jsonTableSchema)); + builder.addIfNotNull(DisplayData.item("schema", jsonTableSchema) + .withLabel("Table Schema")); } public TableReference getOrCreateTable(BigQueryOptions options, String tableSpec) @@ -2312,7 +2326,8 @@ public class BigQueryIO { builder.addIfNotNull(DisplayData.item("tableSpec", tableSpec)); if (tableRefFunction != null) { - builder.add(DisplayData.item("tableFn", tableRefFunction.getClass())); + builder.add(DisplayData.item("tableFn", tableRefFunction.getClass()) + .withLabel("Table Reference Function")); } } http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/62f05d8b/sdks/java/core/src/main/java/org/apache/beam/sdk/io/BoundedReadFromUnboundedSource.java ---------------------------------------------------------------------- diff --git a/sdks/java/core/src/main/java/org/apache/beam/sdk/io/BoundedReadFromUnboundedSource.java b/sdks/java/core/src/main/java/org/apache/beam/sdk/io/BoundedReadFromUnboundedSource.java index cf4f02d..49b2ad4 100644 --- a/sdks/java/core/src/main/java/org/apache/beam/sdk/io/BoundedReadFromUnboundedSource.java +++ b/sdks/java/core/src/main/java/org/apache/beam/sdk/io/BoundedReadFromUnboundedSource.java @@ -113,9 +113,12 @@ class BoundedReadFromUnboundedSource<T> extends PTransform<PInput, PCollection<T public void populateDisplayData(DisplayData.Builder builder) { // We explicitly do not register base-class data, instead we use the delegate inner source. builder - .add(DisplayData.item("source", source.getClass())) - .addIfNotDefault(DisplayData.item("maxRecords", maxNumRecords), Long.MAX_VALUE) - .addIfNotNull(DisplayData.item("maxReadTime", maxReadTime)) + .add(DisplayData.item("source", source.getClass()) + .withLabel("Read Source")) + .addIfNotDefault(DisplayData.item("maxRecords", maxNumRecords) + .withLabel("Maximum Read Records"), Long.MAX_VALUE) + .addIfNotNull(DisplayData.item("maxReadTime", maxReadTime) + .withLabel("Maximum Read Time")) .include(source); } http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/62f05d8b/sdks/java/core/src/main/java/org/apache/beam/sdk/io/CompressedSource.java ---------------------------------------------------------------------- diff --git a/sdks/java/core/src/main/java/org/apache/beam/sdk/io/CompressedSource.java b/sdks/java/core/src/main/java/org/apache/beam/sdk/io/CompressedSource.java index 370c1e2..5cb0684 100644 --- a/sdks/java/core/src/main/java/org/apache/beam/sdk/io/CompressedSource.java +++ b/sdks/java/core/src/main/java/org/apache/beam/sdk/io/CompressedSource.java @@ -326,14 +326,17 @@ public class CompressedSource<T> extends FileBasedSource<T> { // We explicitly do not register base-class data, instead we use the delegate inner source. builder .include(sourceDelegate) - .add(DisplayData.item("source", sourceDelegate.getClass())); + .add(DisplayData.item("source", sourceDelegate.getClass()) + .withLabel("Read Source")); if (channelFactory instanceof Enum) { // GZIP and BZIP are implemented as enums; Enum classes are anonymous, so use the .name() // value instead - builder.add(DisplayData.item("compressionMode", ((Enum) channelFactory).name())); + builder.add(DisplayData.item("compressionMode", ((Enum) channelFactory).name()) + .withLabel("Compression Mode")); } else { - builder.add(DisplayData.item("compressionMode", channelFactory.getClass())); + builder.add(DisplayData.item("compressionMode", channelFactory.getClass()) + .withLabel("Compression Mode")); } } http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/62f05d8b/sdks/java/core/src/main/java/org/apache/beam/sdk/io/CountingInput.java ---------------------------------------------------------------------- diff --git a/sdks/java/core/src/main/java/org/apache/beam/sdk/io/CountingInput.java b/sdks/java/core/src/main/java/org/apache/beam/sdk/io/CountingInput.java index 5a53e4d..a21bc24 100644 --- a/sdks/java/core/src/main/java/org/apache/beam/sdk/io/CountingInput.java +++ b/sdks/java/core/src/main/java/org/apache/beam/sdk/io/CountingInput.java @@ -119,7 +119,8 @@ public class CountingInput { @Override public void populateDisplayData(DisplayData.Builder builder) { super.populateDisplayData(builder); - builder.add(DisplayData.item("upTo", numElements)); + builder.add(DisplayData.item("upTo", numElements) + .withLabel("Count Up To")); } } @@ -233,14 +234,17 @@ public class CountingInput { public void populateDisplayData(DisplayData.Builder builder) { super.populateDisplayData(builder); - builder.add(DisplayData.item("timestampFn", timestampFn.getClass())); + builder.add(DisplayData.item("timestampFn", timestampFn.getClass()) + .withLabel("Timestamp Function")); if (maxReadTime.isPresent()) { - builder.add(DisplayData.item("maxReadTime", maxReadTime.get())); + builder.add(DisplayData.item("maxReadTime", maxReadTime.get()) + .withLabel("Maximum Read Time")); } if (maxNumRecords.isPresent()) { - builder.add(DisplayData.item("maxRecords", maxNumRecords.get())); + builder.add(DisplayData.item("maxRecords", maxNumRecords.get()) + .withLabel("Maximum Read Records")); } } } http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/62f05d8b/sdks/java/core/src/main/java/org/apache/beam/sdk/io/DatastoreIO.java ---------------------------------------------------------------------- diff --git a/sdks/java/core/src/main/java/org/apache/beam/sdk/io/DatastoreIO.java b/sdks/java/core/src/main/java/org/apache/beam/sdk/io/DatastoreIO.java index 81c3a39..cc8e923 100644 --- a/sdks/java/core/src/main/java/org/apache/beam/sdk/io/DatastoreIO.java +++ b/sdks/java/core/src/main/java/org/apache/beam/sdk/io/DatastoreIO.java @@ -391,12 +391,16 @@ public class DatastoreIO { public void populateDisplayData(DisplayData.Builder builder) { super.populateDisplayData(builder); builder - .addIfNotDefault(DisplayData.item("host", host), DEFAULT_HOST) - .addIfNotNull(DisplayData.item("dataset", datasetId)) - .addIfNotNull(DisplayData.item("namespace", namespace)); + .addIfNotDefault(DisplayData.item("host", host) + .withLabel("Datastore Service"), DEFAULT_HOST) + .addIfNotNull(DisplayData.item("dataset", datasetId) + .withLabel("Input Dataset")) + .addIfNotNull(DisplayData.item("namespace", namespace) + .withLabel("App Engine Namespace")); if (query != null) { - builder.add(DisplayData.item("query", query.toString())); + builder.add(DisplayData.item("query", query.toString()) + .withLabel("Query")); } } @@ -606,8 +610,10 @@ public class DatastoreIO { public void populateDisplayData(DisplayData.Builder builder) { super.populateDisplayData(builder); builder - .addIfNotDefault(DisplayData.item("host", host), DEFAULT_HOST) - .addIfNotNull(DisplayData.item("dataset", datasetId)); + .addIfNotDefault(DisplayData.item("host", host) + .withLabel("Datastore Service"), DEFAULT_HOST) + .addIfNotNull(DisplayData.item("dataset", datasetId) + .withLabel("Output Dataset")); } } http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/62f05d8b/sdks/java/core/src/main/java/org/apache/beam/sdk/io/FileBasedSink.java ---------------------------------------------------------------------- diff --git a/sdks/java/core/src/main/java/org/apache/beam/sdk/io/FileBasedSink.java b/sdks/java/core/src/main/java/org/apache/beam/sdk/io/FileBasedSink.java index 23ccdd0..9048380 100644 --- a/sdks/java/core/src/main/java/org/apache/beam/sdk/io/FileBasedSink.java +++ b/sdks/java/core/src/main/java/org/apache/beam/sdk/io/FileBasedSink.java @@ -129,7 +129,8 @@ public abstract class FileBasedSink<T> extends Sink<T> { String fileNamePattern = String.format("%s%s%s", baseOutputFilename, fileNamingTemplate, getFileExtension(extension)); - builder.add(DisplayData.item("fileNamePattern", fileNamePattern)); + builder.add(DisplayData.item("fileNamePattern", fileNamePattern) + .withLabel("File Name Pattern")); } /** http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/62f05d8b/sdks/java/core/src/main/java/org/apache/beam/sdk/io/FileBasedSource.java ---------------------------------------------------------------------- diff --git a/sdks/java/core/src/main/java/org/apache/beam/sdk/io/FileBasedSource.java b/sdks/java/core/src/main/java/org/apache/beam/sdk/io/FileBasedSource.java index 954877f..e42c92c 100644 --- a/sdks/java/core/src/main/java/org/apache/beam/sdk/io/FileBasedSource.java +++ b/sdks/java/core/src/main/java/org/apache/beam/sdk/io/FileBasedSource.java @@ -277,7 +277,8 @@ public abstract class FileBasedSource<T> extends OffsetBasedSource<T> { @Override public void populateDisplayData(DisplayData.Builder builder) { super.populateDisplayData(builder); - builder.add(DisplayData.item("filePattern", getFileOrPatternSpec())); + builder.add(DisplayData.item("filePattern", getFileOrPatternSpec()) + .withLabel("File Pattern")); } private ListenableFuture<List<? extends FileBasedSource<T>>> createFutureForFileSplit( http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/62f05d8b/sdks/java/core/src/main/java/org/apache/beam/sdk/io/OffsetBasedSource.java ---------------------------------------------------------------------- diff --git a/sdks/java/core/src/main/java/org/apache/beam/sdk/io/OffsetBasedSource.java b/sdks/java/core/src/main/java/org/apache/beam/sdk/io/OffsetBasedSource.java index 1c033f8..9ee89a2 100644 --- a/sdks/java/core/src/main/java/org/apache/beam/sdk/io/OffsetBasedSource.java +++ b/sdks/java/core/src/main/java/org/apache/beam/sdk/io/OffsetBasedSource.java @@ -207,9 +207,12 @@ public abstract class OffsetBasedSource<T> extends BoundedSource<T> { public void populateDisplayData(DisplayData.Builder builder) { super.populateDisplayData(builder); builder - .addIfNotDefault(DisplayData.item("minBundleSize", minBundleSize), 1L) - .addIfNotDefault(DisplayData.item("startOffset", startOffset), 0L) - .addIfNotDefault(DisplayData.item("endOffset", endOffset), Long.MAX_VALUE); + .addIfNotDefault(DisplayData.item("minBundleSize", minBundleSize) + .withLabel("Minimum Bundle Size"), 1L) + .addIfNotDefault(DisplayData.item("startOffset", startOffset) + .withLabel("Start Read Offset"), 0L) + .addIfNotDefault(DisplayData.item("endOffset", endOffset) + .withLabel("End Read Offset"), Long.MAX_VALUE); } /** http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/62f05d8b/sdks/java/core/src/main/java/org/apache/beam/sdk/io/PubsubIO.java ---------------------------------------------------------------------- diff --git a/sdks/java/core/src/main/java/org/apache/beam/sdk/io/PubsubIO.java b/sdks/java/core/src/main/java/org/apache/beam/sdk/io/PubsubIO.java index 6a14477..78fec85 100644 --- a/sdks/java/core/src/main/java/org/apache/beam/sdk/io/PubsubIO.java +++ b/sdks/java/core/src/main/java/org/apache/beam/sdk/io/PubsubIO.java @@ -135,6 +135,23 @@ public class PubsubIO { } /** + * Populate common {@link DisplayData} between Pubsub source and sink. + */ + private static void populateCommonDisplayData(DisplayData.Builder builder, + String timestampLabel, String idLabel, PubsubTopic topic) { + builder + .addIfNotNull(DisplayData.item("timestampLabel", timestampLabel) + .withLabel("Timestamp Label Attribute")) + .addIfNotNull(DisplayData.item("idLabel", idLabel) + .withLabel("ID Label Attribute")); + + if (topic != null) { + builder.add(DisplayData.item("topic", topic.asPath()) + .withLabel("Pubsub Topic")); + } + } + + /** * Class representing a Cloud Pub/Sub Subscription. */ public static class PubsubSubscription implements Serializable { @@ -641,19 +658,17 @@ public class PubsubIO { @Override public void populateDisplayData(DisplayData.Builder builder) { super.populateDisplayData(builder); + populateCommonDisplayData(builder, timestampLabel, idLabel, topic); builder - .addIfNotNull(DisplayData.item("timestampLabel", timestampLabel)) - .addIfNotNull(DisplayData.item("idLabel", idLabel)) - .addIfNotNull(DisplayData.item("maxReadTime", maxReadTime)) - .addIfNotDefault(DisplayData.item("maxNumRecords", maxNumRecords), 0); - - if (topic != null) { - builder.add(DisplayData.item("topic", topic.asPath())); - } + .addIfNotNull(DisplayData.item("maxReadTime", maxReadTime) + .withLabel("Maximum Read Time")) + .addIfNotDefault(DisplayData.item("maxNumRecords", maxNumRecords) + .withLabel("Maximum Read Records"), 0); if (subscription != null) { - builder.add(DisplayData.item("subscription", subscription.asPath())); + builder.add(DisplayData.item("subscription", subscription.asPath()) + .withLabel("Pubsub Subscription")); } } @@ -953,14 +968,7 @@ public class PubsubIO { @Override public void populateDisplayData(DisplayData.Builder builder) { super.populateDisplayData(builder); - - builder - .addIfNotNull(DisplayData.item("timestampLabel", timestampLabel)) - .addIfNotNull(DisplayData.item("idLabel", idLabel)); - - if (topic != null) { - builder.add(DisplayData.item("topic", topic.asPath())); - } + populateCommonDisplayData(builder, timestampLabel, idLabel, topic); } @Override http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/62f05d8b/sdks/java/core/src/main/java/org/apache/beam/sdk/io/Read.java ---------------------------------------------------------------------- diff --git a/sdks/java/core/src/main/java/org/apache/beam/sdk/io/Read.java b/sdks/java/core/src/main/java/org/apache/beam/sdk/io/Read.java index 965b14f..fb40063 100644 --- a/sdks/java/core/src/main/java/org/apache/beam/sdk/io/Read.java +++ b/sdks/java/core/src/main/java/org/apache/beam/sdk/io/Read.java @@ -149,7 +149,8 @@ public class Read { public void populateDisplayData(DisplayData.Builder builder) { super.populateDisplayData(builder); builder - .add(DisplayData.item("source", source.getClass())) + .add(DisplayData.item("source", source.getClass()) + .withLabel("Read Source")) .include(source); } @@ -264,7 +265,8 @@ public class Read { public void populateDisplayData(DisplayData.Builder builder) { super.populateDisplayData(builder); builder - .add(DisplayData.item("source", source.getClass())) + .add(DisplayData.item("source", source.getClass()) + .withLabel("Read Source")) .include(source); } } http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/62f05d8b/sdks/java/core/src/main/java/org/apache/beam/sdk/io/TextIO.java ---------------------------------------------------------------------- diff --git a/sdks/java/core/src/main/java/org/apache/beam/sdk/io/TextIO.java b/sdks/java/core/src/main/java/org/apache/beam/sdk/io/TextIO.java index 7f69c0a..79eeb08 100644 --- a/sdks/java/core/src/main/java/org/apache/beam/sdk/io/TextIO.java +++ b/sdks/java/core/src/main/java/org/apache/beam/sdk/io/TextIO.java @@ -344,9 +344,12 @@ public class TextIO { super.populateDisplayData(builder); builder - .add(DisplayData.item("compressionType", compressionType.toString())) - .addIfNotDefault(DisplayData.item("validation", validate), true) - .addIfNotNull(DisplayData.item("filePattern", filepattern)); + .add(DisplayData.item("compressionType", compressionType.toString()) + .withLabel("Compression Type")) + .addIfNotDefault(DisplayData.item("validation", validate) + .withLabel("Validation Enabled"), true) + .addIfNotNull(DisplayData.item("filePattern", filepattern) + .withLabel("File Pattern")); } @Override @@ -649,13 +652,17 @@ public class TextIO { super.populateDisplayData(builder); builder - .addIfNotNull(DisplayData.item("filePrefix", filenamePrefix)) - .addIfNotDefault(DisplayData.item("fileSuffix", filenameSuffix), "") - .addIfNotDefault( - DisplayData.item("shardNameTemplate", shardTemplate), + .addIfNotNull(DisplayData.item("filePrefix", filenamePrefix) + .withLabel("Output File Prefix")) + .addIfNotDefault(DisplayData.item("fileSuffix", filenameSuffix) + .withLabel("Output Fix Suffix"), "") + .addIfNotDefault(DisplayData.item("shardNameTemplate", shardTemplate) + .withLabel("Output Shard Name Template"), DEFAULT_SHARD_TEMPLATE) - .addIfNotDefault(DisplayData.item("validation", validate), true) - .addIfNotDefault(DisplayData.item("numShards", numShards), 0); + .addIfNotDefault(DisplayData.item("validation", validate) + .withLabel("Validation Enabled"), true) + .addIfNotDefault(DisplayData.item("numShards", numShards) + .withLabel("Maximum Output Shards"), 0); } /** http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/62f05d8b/sdks/java/core/src/main/java/org/apache/beam/sdk/io/Write.java ---------------------------------------------------------------------- diff --git a/sdks/java/core/src/main/java/org/apache/beam/sdk/io/Write.java b/sdks/java/core/src/main/java/org/apache/beam/sdk/io/Write.java index 0f2dbf8..66fef84 100644 --- a/sdks/java/core/src/main/java/org/apache/beam/sdk/io/Write.java +++ b/sdks/java/core/src/main/java/org/apache/beam/sdk/io/Write.java @@ -86,7 +86,8 @@ public class Write { public void populateDisplayData(DisplayData.Builder builder) { super.populateDisplayData(builder); builder - .add(DisplayData.item("sink", sink.getClass())) + .add(DisplayData.item("sink", sink.getClass()) + .withLabel("Write Sink")) .include(sink); } http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/62f05d8b/sdks/java/core/src/main/java/org/apache/beam/sdk/io/XmlSink.java ---------------------------------------------------------------------- diff --git a/sdks/java/core/src/main/java/org/apache/beam/sdk/io/XmlSink.java b/sdks/java/core/src/main/java/org/apache/beam/sdk/io/XmlSink.java index eb7ba38..bbe68d9 100644 --- a/sdks/java/core/src/main/java/org/apache/beam/sdk/io/XmlSink.java +++ b/sdks/java/core/src/main/java/org/apache/beam/sdk/io/XmlSink.java @@ -227,8 +227,10 @@ public class XmlSink { public void populateDisplayData(DisplayData.Builder builder) { super.populateDisplayData(builder); builder - .addIfNotNull(DisplayData.item("rootElement", rootElementName)) - .addIfNotNull(DisplayData.item("recordClass", classToBind)); + .addIfNotNull(DisplayData.item("rootElement", rootElementName) + .withLabel("XML Root Element")) + .addIfNotNull(DisplayData.item("recordClass", classToBind) + .withLabel("XML Record Class")); } } http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/62f05d8b/sdks/java/core/src/main/java/org/apache/beam/sdk/io/XmlSource.java ---------------------------------------------------------------------- diff --git a/sdks/java/core/src/main/java/org/apache/beam/sdk/io/XmlSource.java b/sdks/java/core/src/main/java/org/apache/beam/sdk/io/XmlSource.java index 0a418c8..56651e8 100644 --- a/sdks/java/core/src/main/java/org/apache/beam/sdk/io/XmlSource.java +++ b/sdks/java/core/src/main/java/org/apache/beam/sdk/io/XmlSource.java @@ -222,9 +222,12 @@ public class XmlSource<T> extends FileBasedSource<T> { public void populateDisplayData(DisplayData.Builder builder) { super.populateDisplayData(builder); builder - .addIfNotNull(DisplayData.item("rootElement", rootElement)) - .addIfNotNull(DisplayData.item("recordElement", recordElement)) - .addIfNotNull(DisplayData.item("recordClass", recordClass)); + .addIfNotNull(DisplayData.item("rootElement", rootElement) + .withLabel("XML Root Element")) + .addIfNotNull(DisplayData.item("recordElement", recordElement) + .withLabel("XML Record Element")) + .addIfNotNull(DisplayData.item("recordClass", recordClass) + .withLabel("XML Record Class")); } @Override http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/62f05d8b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/ApproximateQuantiles.java ---------------------------------------------------------------------- diff --git a/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/ApproximateQuantiles.java b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/ApproximateQuantiles.java index 4eb06d2..b056830 100644 --- a/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/ApproximateQuantiles.java +++ b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/ApproximateQuantiles.java @@ -365,8 +365,10 @@ public class ApproximateQuantiles { public void populateDisplayData(DisplayData.Builder builder) { super.populateDisplayData(builder); builder - .add(DisplayData.item("numQuantiles", numQuantiles)) - .add(DisplayData.item("comparer", compareFn.getClass())); + .add(DisplayData.item("numQuantiles", numQuantiles) + .withLabel("Quantile Count")) + .add(DisplayData.item("comparer", compareFn.getClass()) + .withLabel("Record Comparer")); } } http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/62f05d8b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/ApproximateUnique.java ---------------------------------------------------------------------- diff --git a/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/ApproximateUnique.java b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/ApproximateUnique.java index e4559d4..2fa2427 100644 --- a/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/ApproximateUnique.java +++ b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/ApproximateUnique.java @@ -461,7 +461,9 @@ public class ApproximateUnique { private static void populateDisplayData( DisplayData.Builder builder, long sampleSize, Double maxEstimationError) { builder - .add(DisplayData.item("sampleSize", sampleSize)) - .addIfNotNull(DisplayData.item("maximumEstimationError", maxEstimationError)); + .add(DisplayData.item("sampleSize", sampleSize) + .withLabel("Sample Size")) + .addIfNotNull(DisplayData.item("maximumEstimationError", maxEstimationError) + .withLabel("Maximum Estimation Error")); } } http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/62f05d8b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/Combine.java ---------------------------------------------------------------------- diff --git a/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/Combine.java b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/Combine.java index ffbaafa..190c413 100644 --- a/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/Combine.java +++ b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/Combine.java @@ -127,7 +127,8 @@ public class Combine { } private static <T> DisplayData.Item<? extends Class<?>> displayDataForFn(T fn) { - return DisplayData.item("combineFn", fn.getClass()); + return DisplayData.item("combineFn", fn.getClass()) + .withLabel("Combiner"); } private static <InputT, OutputT> Globally<InputT, OutputT> globally( @@ -1428,8 +1429,10 @@ public class Combine { private static void populateGlobalDisplayData( DisplayData.Builder builder, int fanout, boolean insertDefault) { builder - .addIfNotDefault(DisplayData.item("fanout", fanout), 0) - .add(DisplayData.item("emitDefaultOnEmptyInput", insertDefault)); + .addIfNotDefault(DisplayData.item("fanout", fanout) + .withLabel("Key Fanout Size"), 0) + .add(DisplayData.item("emitDefaultOnEmptyInput", insertDefault) + .withLabel("Emit Default On Empty Input")); } /** @@ -1604,7 +1607,8 @@ public class Combine { @Override public void populateDisplayData(DisplayData.Builder builder) { super.populateDisplayData(builder); - builder.add(DisplayData.item("combineFn", combiner.getClass())); + builder.add(DisplayData.item("combineFn", combiner.getClass()) + .withLabel("Combiner")); } private List<V> mergeToSingleton(Iterable<V> values) { @@ -2095,7 +2099,8 @@ public class Combine { super.populateDisplayData(builder); Combine.populateDisplayData(builder, fn, fnDisplayData); - builder.add(DisplayData.item("fanoutFn", hotKeyFanout.getClass())); + builder.add(DisplayData.item("fanoutFn", hotKeyFanout.getClass()) + .withLabel("Fanout Function")); } /** http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/62f05d8b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/CombineFns.java ---------------------------------------------------------------------- diff --git a/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/CombineFns.java b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/CombineFns.java index 1bf305f..d0a8909 100644 --- a/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/CombineFns.java +++ b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/CombineFns.java @@ -1053,7 +1053,8 @@ public class CombineFns { for (int i = 0; i < combineFns.size(); i++) { HasDisplayData combineFn = combineFns.get(i); - builder.add(DisplayData.item("combineFn" + (i + 1), combineFn.getClass())); + builder.add(DisplayData.item("combineFn" + (i + 1), combineFn.getClass()) + .withLabel("Combine Function")); combineFnMap.put(combineFn.getClass(), combineFn); } http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/62f05d8b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/Filter.java ---------------------------------------------------------------------- diff --git a/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/Filter.java b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/Filter.java index da692b2..57796b8 100644 --- a/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/Filter.java +++ b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/Filter.java @@ -261,6 +261,7 @@ public class Filter<T> extends PTransform<PCollection<T>, PCollection<T>> { private static void populateDisplayData( DisplayData.Builder builder, String predicateDescription) { - builder.add(DisplayData.item("predicate", predicateDescription)); + builder.add(DisplayData.item("predicate", predicateDescription) + .withLabel("Filter Predicate")); } } http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/62f05d8b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/GroupByKey.java ---------------------------------------------------------------------- diff --git a/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/GroupByKey.java b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/GroupByKey.java index 21e6ecf..8ad57d2 100644 --- a/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/GroupByKey.java +++ b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/GroupByKey.java @@ -279,7 +279,8 @@ public class GroupByKey<K, V> public void populateDisplayData(DisplayData.Builder builder) { super.populateDisplayData(builder); if (fewKeys) { - builder.add(DisplayData.item("fewKeys", true)); + builder.add(DisplayData.item("fewKeys", true) + .withLabel("Has Few Keys")); } } http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/62f05d8b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/IntraBundleParallelization.java ---------------------------------------------------------------------- diff --git a/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/IntraBundleParallelization.java b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/IntraBundleParallelization.java index 62c09c2..3cb8415 100644 --- a/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/IntraBundleParallelization.java +++ b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/IntraBundleParallelization.java @@ -178,8 +178,10 @@ public class IntraBundleParallelization { public void populateDisplayData(DisplayData.Builder builder) { super.populateDisplayData(builder); builder - .add(DisplayData.item("maxParallelism", maxParallelism)) - .add(DisplayData.item("fn", doFn.getClass())) + .add(DisplayData.item("maxParallelism", maxParallelism) + .withLabel("Maximum Parallelism")) + .add(DisplayData.item("fn", doFn.getClass()) + .withLabel("Function")) .include(doFn); } } http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/62f05d8b/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 29d1dde..d64bad1 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 @@ -120,6 +120,7 @@ extends PTransform<PCollection<InputT>, PCollection<OutputT>> { @Override public void populateDisplayData(DisplayData.Builder builder) { super.populateDisplayData(builder); - builder.add(DisplayData.item("mapFn", fn.getClass())); + builder.add(DisplayData.item("mapFn", fn.getClass()) + .withLabel("Map Function")); } } http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/62f05d8b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/Max.java ---------------------------------------------------------------------- diff --git a/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/Max.java b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/Max.java index 01a190f..c05bd17 100644 --- a/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/Max.java +++ b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/Max.java @@ -209,7 +209,8 @@ public class Max { @Override public void populateDisplayData(DisplayData.Builder builder) { super.populateDisplayData(builder); - builder.add(DisplayData.item("comparer", comparator.getClass())); + builder.add(DisplayData.item("comparer", comparator.getClass()) + .withLabel("Record Comparer")); } } http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/62f05d8b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/Min.java ---------------------------------------------------------------------- diff --git a/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/Min.java b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/Min.java index f20d48b..7a6a8a2 100644 --- a/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/Min.java +++ b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/Min.java @@ -209,7 +209,8 @@ public class Min { @Override public void populateDisplayData(DisplayData.Builder builder) { super.populateDisplayData(builder); - builder.add(DisplayData.item("comparer", comparator.getClass())); + builder.add(DisplayData.item("comparer", comparator.getClass()) + .withLabel("Record Comparer")); } } http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/62f05d8b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/ParDo.java ---------------------------------------------------------------------- diff --git a/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/ParDo.java b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/ParDo.java index 88945c4..834f60d 100644 --- a/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/ParDo.java +++ b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/ParDo.java @@ -1266,7 +1266,8 @@ public class ParDo { DisplayData.Builder builder, DoFn<?, ?> fn, Class<?> fnClass) { builder .include(fn) - .add(DisplayData.item("fn", fnClass)); + .add(DisplayData.item("fn", fnClass) + .withLabel("Transform Function")); } /** http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/62f05d8b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/Partition.java ---------------------------------------------------------------------- diff --git a/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/Partition.java b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/Partition.java index 44ba2f3..c5aa82c 100644 --- a/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/Partition.java +++ b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/Partition.java @@ -182,8 +182,10 @@ public class Partition<T> extends PTransform<PCollection<T>, PCollectionList<T>> public void populateDisplayData(DisplayData.Builder builder) { super.populateDisplayData(builder); builder - .add(DisplayData.item("numPartitions", numPartitions)) - .add(DisplayData.item("partitionFn", partitionFn.getClass())); + .add(DisplayData.item("numPartitions", numPartitions) + .withLabel("Partition Count")) + .add(DisplayData.item("partitionFn", partitionFn.getClass()) + .withLabel("Partition Function")); } } } http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/62f05d8b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/Sample.java ---------------------------------------------------------------------- diff --git a/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/Sample.java b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/Sample.java index 58188de..1d98668 100644 --- a/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/Sample.java +++ b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/Sample.java @@ -158,7 +158,8 @@ public class Sample { @Override public void populateDisplayData(DisplayData.Builder builder) { super.populateDisplayData(builder); - builder.add(DisplayData.item("sampleSize", limit)); + builder.add(DisplayData.item("sampleSize", limit) + .withLabel("Sample Size")); } } @@ -258,7 +259,8 @@ public class Sample { @Override public void populateDisplayData(DisplayData.Builder builder) { super.populateDisplayData(builder); - builder.add(DisplayData.item("sampleSize", sampleSize)); + builder.add(DisplayData.item("sampleSize", sampleSize) + .withLabel("Sample Size")); } } } http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/62f05d8b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/Top.java ---------------------------------------------------------------------- diff --git a/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/Top.java b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/Top.java index 71af081..257f77b 100644 --- a/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/Top.java +++ b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/Top.java @@ -397,8 +397,10 @@ new TopCombineFn<>(count, new Largest<V>()).<K>asKeyedFn()) public void populateDisplayData(DisplayData.Builder builder) { super.populateDisplayData(builder); builder - .add(DisplayData.item("count", count)) - .add(DisplayData.item("comparer", compareFn.getClass())); + .add(DisplayData.item("count", count) + .withLabel("Top Count")) + .add(DisplayData.item("comparer", compareFn.getClass()) + .withLabel("Record Comparer")); } @Override http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/62f05d8b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/windowing/CalendarWindows.java ---------------------------------------------------------------------- diff --git a/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/windowing/CalendarWindows.java b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/windowing/CalendarWindows.java index 490fbd1..9653ae8 100644 --- a/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/windowing/CalendarWindows.java +++ b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/windowing/CalendarWindows.java @@ -150,9 +150,11 @@ public class CalendarWindows { super.populateDisplayData(builder); builder - .add(DisplayData.item("numDays", number)) + .add(DisplayData.item("numDays", number) + .withLabel("Windows Days")) .addIfNotDefault( - DisplayData.item("startDate", new DateTime(startDate, timeZone).toInstant()), + DisplayData.item("startDate", new DateTime(startDate, timeZone).toInstant()) + .withLabel("Window Start Date"), new DateTime(DEFAULT_START_DATE, DateTimeZone.UTC).toInstant()); } @@ -248,9 +250,11 @@ public class CalendarWindows { super.populateDisplayData(builder); builder - .add(DisplayData.item("numMonths", number)) + .add(DisplayData.item("numMonths", number) + .withLabel("Window Months")) .addIfNotDefault( - DisplayData.item("startDate", new DateTime(startDate, timeZone).toInstant()), + DisplayData.item("startDate", new DateTime(startDate, timeZone).toInstant()) + .withLabel("Window Start Date"), new DateTime(DEFAULT_START_DATE, DateTimeZone.UTC).toInstant()); } @@ -355,9 +359,11 @@ public class CalendarWindows { super.populateDisplayData(builder); builder - .add(DisplayData.item("numYears", number)) + .add(DisplayData.item("numYears", number) + .withLabel("Window Years")) .addIfNotDefault( - DisplayData.item("startDate", new DateTime(startDate, timeZone).toInstant()), + DisplayData.item("startDate", new DateTime(startDate, timeZone).toInstant()) + .withLabel("Window Start Date"), new DateTime(DEFAULT_START_DATE, DateTimeZone.UTC).toInstant()); } http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/62f05d8b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/windowing/FixedWindows.java ---------------------------------------------------------------------- diff --git a/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/windowing/FixedWindows.java b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/windowing/FixedWindows.java index 322259c..1e439ff 100644 --- a/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/windowing/FixedWindows.java +++ b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/windowing/FixedWindows.java @@ -87,8 +87,10 @@ public class FixedWindows extends PartitioningWindowFn<Object, IntervalWindow> { public void populateDisplayData(DisplayData.Builder builder) { super.populateDisplayData(builder); builder - .add(DisplayData.item("size", size)) - .addIfNotDefault(DisplayData.item("offset", offset), Duration.ZERO); + .add(DisplayData.item("size", size) + .withLabel("Window Duration")) + .addIfNotDefault(DisplayData.item("offset", offset) + .withLabel("Window Start Offset"), Duration.ZERO); } @Override http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/62f05d8b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/windowing/Sessions.java ---------------------------------------------------------------------- diff --git a/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/windowing/Sessions.java b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/windowing/Sessions.java index 788566e..875db12 100644 --- a/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/windowing/Sessions.java +++ b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/windowing/Sessions.java @@ -93,7 +93,8 @@ public class Sessions extends WindowFn<Object, IntervalWindow> { @Override public void populateDisplayData(DisplayData.Builder builder) { super.populateDisplayData(builder); - builder.add(DisplayData.item("gapDuration", gapDuration)); + builder.add(DisplayData.item("gapDuration", gapDuration) + .withLabel("Session Gap Duration")); } @Override http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/62f05d8b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/windowing/SlidingWindows.java ---------------------------------------------------------------------- diff --git a/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/windowing/SlidingWindows.java b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/windowing/SlidingWindows.java index 62c2738..99367f5 100644 --- a/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/windowing/SlidingWindows.java +++ b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/windowing/SlidingWindows.java @@ -144,9 +144,12 @@ public class SlidingWindows extends NonMergingWindowFn<Object, IntervalWindow> { public void populateDisplayData(DisplayData.Builder builder) { super.populateDisplayData(builder); builder - .add(DisplayData.item("size", size)) - .add(DisplayData.item("period", period)) - .add(DisplayData.item("offset", offset)); + .add(DisplayData.item("size", size) + .withLabel("Window Size")) + .add(DisplayData.item("period", period) + .withLabel("Window Period")) + .add(DisplayData.item("offset", offset) + .withLabel("Window Start Offset")); } /** http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/62f05d8b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/windowing/Window.java ---------------------------------------------------------------------- diff --git a/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/windowing/Window.java b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/windowing/Window.java index ab6b7f0..324b4d5 100644 --- a/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/windowing/Window.java +++ b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/windowing/Window.java @@ -602,29 +602,35 @@ public class Window { if (windowFn != null) { builder - .add(DisplayData.item("windowFn", windowFn.getClass())) + .add(DisplayData.item("windowFn", windowFn.getClass()) + .withLabel("Windowing Function")) .include(windowFn); } if (allowedLateness != null) { - builder.addIfNotDefault(DisplayData.item("allowedLateness", allowedLateness), + builder.addIfNotDefault(DisplayData.item("allowedLateness", allowedLateness) + .withLabel("Allowed Lateness"), Duration.millis(BoundedWindow.TIMESTAMP_MAX_VALUE.getMillis())); } if (trigger != null && !(trigger instanceof DefaultTrigger)) { - builder.add(DisplayData.item("trigger", trigger.toString())); + builder.add(DisplayData.item("trigger", trigger.toString()) + .withLabel("Trigger")); } if (mode != null) { - builder.add(DisplayData.item("accumulationMode", mode.toString())); + builder.add(DisplayData.item("accumulationMode", mode.toString()) + .withLabel("Accumulation Mode")); } if (closingBehavior != null) { - builder.add(DisplayData.item("closingBehavior", closingBehavior.toString())); + builder.add(DisplayData.item("closingBehavior", closingBehavior.toString()) + .withLabel("Window Closing Behavior")); } if (outputTimeFn != null) { - builder.add(DisplayData.item("outputTimeFn", outputTimeFn.getClass())); + builder.add(DisplayData.item("outputTimeFn", outputTimeFn.getClass()) + .withLabel("Output Time Function")); } } http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/62f05d8b/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigtable/BigtableIO.java ---------------------------------------------------------------------- diff --git a/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigtable/BigtableIO.java b/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigtable/BigtableIO.java index bf85dea..9656494 100644 --- a/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigtable/BigtableIO.java +++ b/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigtable/BigtableIO.java @@ -266,14 +266,17 @@ public class BigtableIO { public void populateDisplayData(DisplayData.Builder builder) { super.populateDisplayData(builder); - builder.add(DisplayData.item("tableId", tableId)); + builder.add(DisplayData.item("tableId", tableId) + .withLinkUrl("Table ID")); if (options != null) { - builder.add(DisplayData.item("bigtableOptions", options.toString())); + builder.add(DisplayData.item("bigtableOptions", options.toString()) + .withLabel("Bigtable Options")); } if (filter != null) { - builder.add(DisplayData.item("rowFilter", filter.toString())); + builder.add(DisplayData.item("rowFilter", filter.toString()) + .withLabel("Table Row Filter")); } } @@ -448,10 +451,12 @@ public class BigtableIO { public void populateDisplayData(DisplayData.Builder builder) { super.populateDisplayData(builder); - builder.add(DisplayData.item("tableId", tableId)); + builder.add(DisplayData.item("tableId", tableId) + .withLabel("Table ID")); if (options != null) { - builder.add(DisplayData.item("bigtableOptions", options.toString())); + builder.add(DisplayData.item("bigtableOptions", options.toString()) + .withLabel("Bigtable Options")); } }
