clairemcginty opened a new pull request, #30115:
URL: https://github.com/apache/beam/pull/30115
This PR proposes a new PTransform API, `setDisplayData`, for adding
DisplayData items to the transform.
Motivation: Adding DisplayData is easy to do via the
`HasDisplayData#populateDisplayData` method that most transform-like types
inherit. However, as a user and library owner, I don't always have access to
the construction of the PTransform or DoFn and can't override
`populateDisplayData`. For example, it would be difficult to add custom
displayData labels to any of these transforms unless I wrapped them into new
PTransforms:
```java
pipeline
.apply(Create.of(1, 2, 3))
.apply("Map Elements", MapElements.via(...))
.apply("GBK", GroupByKey.create())
```
This PR adds a method `setDisplayData` that can be invoked on any PTransform
instance.
Note: I followed the convention of other setter methods in the PTransform
class, i.e.
[setResourceHints](https://github.com/apache/beam/blob/v2.53.0/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/PTransform.java#L210),
but it might be more intuitive to make it a `withDisplayData` method that
returns the PTransform instance, so that users can use it like
`pipeline.apply(Create.of(1, 2, 3).withDisplayData(...))` ?
Let me know what you think! :)
------------------------
Thank you for your contribution! Follow this checklist to help us
incorporate your contribution quickly and easily:
- [ ] Mention the appropriate issue in your description (for example:
`addresses #123`), if applicable. This will automatically add a link to the
pull request in the issue. If you would like the issue to automatically close
on merging the pull request, comment `fixes #<ISSUE NUMBER>` instead.
- [ ] Update `CHANGES.md` with noteworthy changes.
- [ ] If this contribution is large, please file an Apache [Individual
Contributor License Agreement](https://www.apache.org/licenses/icla.pdf).
See the [Contributor Guide](https://beam.apache.org/contribute) for more
tips on [how to make review process
smoother](https://github.com/apache/beam/blob/master/CONTRIBUTING.md#make-the-reviewers-job-easier).
To check the build health, please visit
[https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md](https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md)
GitHub Actions Tests Status (on master branch)
------------------------------------------------------------------------------------------------
[](https://github.com/apache/beam/actions?query=workflow%3A%22Build+python+source+distribution+and+wheels%22+branch%3Amaster+event%3Aschedule)
[](https://github.com/apache/beam/actions?query=workflow%3A%22Python+Tests%22+branch%3Amaster+event%3Aschedule)
[](https://github.com/apache/beam/actions?query=workflow%3A%22Java+Tests%22+branch%3Amaster+event%3Aschedule)
[](https://github.com/apache/beam/actions?query=workflow%3A%22Go+tests%22+branch%3Amaster+event%3Aschedule)
See [CI.md](https://github.com/apache/beam/blob/master/CI.md) for more
information about GitHub Actions CI or the [workflows
README](https://github.com/apache/beam/blob/master/.github/workflows/README.md)
to see a list of phrases to trigger workflows.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]