You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@streams.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2015/02/10 23:32:11 UTC

[jira] [Commented] (STREAMS-276) Upgrade providers to supply StreamsDateTimeFormat, DocumentClassifier, and ActivityConverter implementations

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

ASF GitHub Bot commented on STREAMS-276:
----------------------------------------

GitHub user steveblackmon opened a pull request:

    https://github.com/apache/incubator-streams/pull/180

    resolves STREAMS-276

    updates to make this module use DocumentClassifier and ActivityConverter interfaces and reflection-based DateTime handling and Activity conversion.
    tweaks and renames to the tests to match the new model.
    
    This change impacts testing in streams-runtime-pig, so https://github.com/apache/incubator-streams/pull/179 must merge first.
    
    Note that this will be a breaking change to streams components and pipelines which rely on 'Serializer'-style conversion.  The good news is resolving should be as simple as:
    
    ActivityConverterProcessor converter = new ActivityConverterProcessor();
    builder.addStreamsProcessor("converter", converter, 4, "provider");
    where upstream provider passes in String or ObjectNode representations of POJOs in com.twitter
    
    TwitterEventClassifier and TwitterEventProcessor are no longer necessary.

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

    $ git pull https://github.com/steveblackmon/incubator-streams STREAMS-277

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

    https://github.com/apache/incubator-streams/pull/180.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 #180
    
----
commit 9f3df59d12f6102cb8e84a326b9e8506d81840f7
Author: sblackmon <sb...@w2odigital.com>
Date:   2015-02-10T21:35:34Z

    updates to make this module use DocumentClassifier and ActivityConverter interfaces and reflection-based DateTime handling and Activity conversion.
    tweaks and renames to the tests to match the new model.
    this change impacts testing in streams-runtime-pig, so PR submitted for STREAMS-278 must merge first.
    resolves STREAMS-276

----


> Upgrade providers to supply StreamsDateTimeFormat, DocumentClassifier, and ActivityConverter implementations
> ------------------------------------------------------------------------------------------------------------
>
>                 Key: STREAMS-276
>                 URL: https://issues.apache.org/jira/browse/STREAMS-276
>             Project: Streams
>          Issue Type: Improvement
>            Reporter: Steve Blackmon
>
> For each provider where the proposed re-factoring improvement is feasible, create sub-tasks to perform the following:
> 1) Add DocumentClassifier(s) capable of classifying each provider-specific type combination the provider expects to receive from all upstream end-points.
> 2) Add a test demonstrating one and only one of these Classifiers returns true across a set of example origin documents.
> 3) Add an ActivityConverter for each objectType/Verb combination the provider expects to emit.  requiredClass should be one of String.class, ObjectNode.class, or a POJO which extends Serializable.
> 4) Add tests demonstrating that individual ActivityConverters are able to convert the set of example origin documents into activities with correct objectType/verb.
> 5) Add tests demonstrating that ActivityConverterProcessor is able to convert the set of example origin documents into activities with correct objectType/verb.
> 6) Add a StreamsDateTimeFormat for each non-RFC3339 date string the provider expects to receive.
> 7) Add a test demonstrating that StreamsJacksonMapper is able to convert matching date strings to DateTimes.
> 8) Mark legacy TypeConverters as Deprecated, or delete if they are now unmaintainable.
> 9) Mark legacy EventClassifiers as Deprecated, or delete if they are now unmaintainable.
> 10) Mark legacy StreamsMappers as Deprecated, or delete if they are now unmaintainable.
> For any provider where the proposed re-factoring improvement is not feasible, document why in the module README and/or create issues for whatever refactoring would be necessary to make that provider compatible with ActivityConverterProcessor.



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