GitHub user kennknowles opened a pull request: https://github.com/apache/incubator-beam/pull/1678
[BEAM-1198, BEAM-846, BEAM-260] Refactor Dataflow translator to decouple input and output graphs more easily Be sure to do all of the following to help us incorporate your contribution quickly and easily: - [x] Make sure the PR title is formatted like: `[BEAM-<Jira issue #>] Description of pull request` - [ ] Make sure tests pass via `mvn clean verify`. (Even better, enable Travis-CI on your fork and ensure the whole test matrix passes). - [x] Replace `<Jira issue #>` in the title with the actual Jira issue number, if there is one. - [x] If this contribution is large, please file an Apache [Individual Contributor License Agreement](https://www.apache.org/licenses/icla.txt). --- This is preparatory work to make it possible for the translator to have a more loosely coupled relationship between its input and output. You can merge this pull request into a Git repository by running: $ git pull https://github.com/kennknowles/incubator-beam Dataflow-Translator Alternatively you can review and apply these changes as the patch at: https://github.com/apache/incubator-beam/pull/1678.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #1678 ---- commit 8ed4bb68660c537e4a12c1077ecfa104f9a82eaa Author: Kenneth Knowles <k...@google.com> Date: 2016-12-21T22:21:50Z Inline needless interface DataflowTranslator.TranslationContext The only implementation was DataflowTranslator.Translator. This class needs some updating and the extra layer of the interface simply obscures that work. commit 272d06d7507ad7162616dd1b613efa7c8f5f4069 Author: Kenneth Knowles <k...@google.com> Date: 2016-12-21T22:34:27Z Explicitly pass Step to mutate in Dataflow translator Previously, there was always a "current" step that was the most recent step created. This makes it cumbersome or impossible to do things like translate one primitive transform into a small subgraph of steps. Thus we added hacks like CreatePCollectionView which are not actually part of the model at all - in fact, we should be able to add the needed CollectionToSingleton steps simply by looking at the side inputs of a ParDo node. ---- --- 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 infrastruct...@apache.org or file a JIRA ticket with INFRA. ---