[ 
https://issues.apache.org/jira/browse/BEAM-498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15410192#comment-15410192
 ] 

ASF GitHub Bot commented on BEAM-498:
-------------------------------------

GitHub user kennknowles opened a pull request:

    https://github.com/apache/incubator-beam/pull/800

    [BEAM-498] Add OldDoFn -> DoFn adapter and expose raw DoFn in ParDo

    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).
    
    ---
    
    Previously, `ParDo.of(DoFn)` would immediately wrap it into an `OldDoFn` so 
the new `DoFn` could not be recovered, since
    
    After this change, the new `DoFn` is temporarily available via 
`#getNewFn()`, which will eventually overwrite `#getFn()`. When `ParDo` is 
instantiated via `ParDo.of(OldDoFn)`, a wrapper in the reverse direction will 
create a new `DoFn` that can be accessed via the same method. So a `ParDo` 
transform temporarily always carries both, just so one need not reason about 
which is present.
    
    This allows consumers of the `fn` inside a `ParDo` to being porting their 
logic to unconditionally use `DoFn`.
    
    R: @bjchambers 


You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/kennknowles/incubator-beam ParDoTest

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/incubator-beam/pull/800.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 #800
    
----
commit 22e629d3ae647b0a32aa8367a0e711e44c7ce31a
Author: Kenneth Knowles <k...@google.com>
Date:   2016-08-05T22:21:23Z

    Add OldDoFn -> DoFn adapter and expose raw DoFn in ParDo
    
    Previously, ParDo.of(DoFn) would immediately wrap it into
    an OldDoFn so the new DoFn could not be recovered, since
    
    After this change, the new DoFn is temporarily available
    via #getNewFn(), which will eventually overwrite #getFn().
    When ParDo is instantiated via ParDo.of(OldDoFn), a wrapper
    in the reverse direction will create a new DoFn that can
    be accessed via the same method. So a ParDo transform
    temporarily always carries both.

----


> Make DoFnWithContext the new DoFn
> ---------------------------------
>
>                 Key: BEAM-498
>                 URL: https://issues.apache.org/jira/browse/BEAM-498
>             Project: Beam
>          Issue Type: New Feature
>          Components: sdk-java-core
>            Reporter: Kenneth Knowles
>            Assignee: Kenneth Knowles
>




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to