[
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 <[email protected]>
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)