You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@streams.apache.org by sb...@apache.org on 2014/11/24 17:52:14 UTC
[8/8] incubator-streams git commit: Used revert to rewind 6 merges,
pushed to this repo mistakenly. Effective restore to 6c32ce2 All
tests are passing
Used revert to rewind 6 merges, pushed to this repo mistakenly.
Effective restore to 6c32ce2
All tests are passing
steves-mac-pro:incubator-streams steve$ git revert -n master~1 -m 1
steves-mac-pro:incubator-streams steve$ git revert -n master~2
error: Commit 2d6c82e7deef77ab68580bd73a98219285ab231a is a merge but no -m option was given.
fatal: revert failed
steves-mac-pro:incubator-streams steve$ git revert -n master~2 -m 2
steves-mac-pro:incubator-streams steve$ git revert -n master~3
error: Commit b1ceaef776f1515f8f447b711b15735c5c8a1381 is a merge but no -m option was given.
fatal: revert failed
steves-mac-pro:incubator-streams steve$ git revert --abort
steves-mac-pro:incubator-streams steve$ git revert -n master~1 -m 1
steves-mac-pro:incubator-streams steve$ git revert -n master~2 -m 1
steves-mac-pro:incubator-streams steve$ git revert -n master~3 -m 1
steves-mac-pro:incubator-streams steve$ git revert -n master~4
error: Commit a6761f07f5192837f6f9aaaaedf01954fdf2a1b2 is a merge but no -m option was given.
fatal: revert failed
steves-mac-pro:incubator-streams steve$ git revert -n master~4 -m 1
steves-mac-pro:incubator-streams steve$ git revert -n master~5
error: Commit b9010bc6227df2ced7eec3f4e378b6021536e5dd is a merge but no -m option was given.
fatal: revert failed
steves-mac-pro:incubator-streams steve$ git revert -n master~5 -m 1
steves-mac-pro:incubator-streams steve$ git revert -n master~6
Project: http://git-wip-us.apache.org/repos/asf/incubator-streams/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-streams/commit/7afd6e0a
Tree: http://git-wip-us.apache.org/repos/asf/incubator-streams/tree/7afd6e0a
Diff: http://git-wip-us.apache.org/repos/asf/incubator-streams/diff/7afd6e0a
Branch: refs/heads/master
Commit: 7afd6e0ac4c458970413f051a44ea86149dad59f
Parents: f6ee8c2
Author: Steve Blackmon <sb...@w2odigital.com>
Authored: Mon Nov 24 10:51:47 2014 -0600
Committer: Steve Blackmon <sb...@w2odigital.com>
Committed: Mon Nov 24 10:51:47 2014 -0600
----------------------------------------------------------------------
.gitignore | 6 -
streams-components/pom.xml | 1 -
streams-components/streams-converters/pom.xml | 140 ----------
.../converter/ActivityConverterProcessor.java | 167 ------------
.../BaseActivityConverterResolver.java | 31 ---
.../converter/BaseDocumentClassifier.java | 66 -----
.../BaseObjectNodeActivityConverter.java | 65 -----
.../converter/BaseStringActivityConverter.java | 65 -----
.../CleanAdditionalPropertiesProcessor.java | 62 -----
.../converter/TypeConverterProcessor.java | 83 ------
.../streams/converter/TypeConverterUtil.java | 51 ----
...ActivityConverterProcessorConfiguration.json | 23 --
.../test/ActivityConverterProcessorTest.java | 86 ------
.../test/TypeConverterProcessorTest.java | 94 -------
streams-components/streams-http/README.md | 9 -
streams-components/streams-http/pom.xml | 17 --
.../components/http/HttpConfigurator.java | 13 -
.../persist/SimpleHTTPPostPersistWriter.java | 192 -------------
.../http/processor/SimpleHTTPGetProcessor.java | 34 +--
.../http/HttpPersistWriterConfiguration.json | 15 -
.../java/SimpleHTTPPostPersistWriterTest.java | 119 --------
streams-contrib/pom.xml | 2 +-
streams-contrib/streams-persist-graph/README.md | 44 ---
streams-contrib/streams-persist-graph/pom.xml | 96 -------
.../streams/graph/GraphPersistWriter.java | 194 -------------
.../streams/graph/neo4j/CypherGraphUtil.java | 147 ----------
.../streams/graph/GraphConfiguration.json | 19 --
.../graph/GraphEdgeWriterConfiguration.json | 30 --
.../graph/GraphVertexWriterConfiguration.json | 30 --
.../streams/graph/GraphWriterConfiguration.json | 18 --
.../streams-processor-jackson/pom.xml | 86 ++++++
.../CleanAdditionalPropertiesProcessor.java | 62 +++++
.../streams/jackson/TypeConverterProcessor.java | 112 ++++++++
.../test/TypeConverterProcessorTest.java | 95 +++++++
.../streams-provider-datasift/pom.xml | 2 +-
.../DatasiftActivitySerializerProcessor.java | 9 +-
.../DatasiftTypeConverterProcessor.java | 8 +-
.../serializer/DatasiftActivityConverter.java | 77 ------
.../serializer/DatasiftActivitySerializer.java | 65 +++++
.../serializer/DatasiftConverterResolver.java | 50 ----
.../serializer/DatasiftEventClassifier.java | 35 ++-
.../DatasiftInstagramActivityConverter.java | 124 ---------
.../DatasiftInstagramActivitySerializer.java | 124 +++++++++
.../DatasiftInteractionActivityConverter.java | 222 ---------------
.../DatasiftInteractionActivitySerializer.java | 222 +++++++++++++++
.../DatasiftTwitterActivityConverter.java | 272 -------------------
.../DatasiftTwitterActivitySerializer.java | 272 +++++++++++++++++++
.../datasift/util/StreamsDatasiftMapper.java | 3 +-
.../com/datasift/test/DatasiftSerDeTest.java | 2 +-
.../DatasiftActivityConverterTest.java | 85 ------
.../DatasiftActivitySerializerTest.java | 86 ++++++
.../serializer/DatasiftEventClassifierTest.java | 26 +-
.../DatasiftInstagramActivityConverterTest.java | 35 ---
...DatasiftInstagramActivitySerializerTest.java | 43 +++
...atasiftInteractionActivityConverterTest.java | 40 ---
...tasiftInteractionActivitySerializerTest.java | 48 ++++
.../DatasiftTwitterActivityConverterTest.java | 35 ---
.../DatasiftTwitterActivitySerializerTest.java | 43 +++
.../api/FacebookPageActivityConverter.java | 76 ------
.../api/FacebookPageActivitySerializer.java | 66 +++++
.../api/FacebookPostActivityConverter.java | 79 ------
.../api/FacebookPostActivitySerializer.java | 69 +++++
.../processor/FacebookTypeConverter.java | 22 +-
.../provider/FacebookEventClassifier.java | 57 ++++
.../serializer/FacebookConverterResolver.java | 62 -----
.../serializer/FacebookDocumentClassifier.java | 75 -----
.../FacebookStreamsPostConverter.java | 60 ----
.../FacebookStreamsPostSerializer.java | 60 ++++
.../test/FacebookActivityActorSerDeTest.java | 6 +-
.../test/FacebookActivitySerDeTest.java | 4 +-
.../test/FacebookDocumentClassifierTest.java | 57 ----
.../test/FacebookEventClassifierTest.java | 57 ++++
.../streams/facebook/test/SimplePageTest.java | 4 +-
.../com/gplus/api/GPlusActivityConverter.java | 93 -------
.../com/gplus/api/GPlusActivitySerializer.java | 93 +++++++
.../com/gplus/api/GPlusEDCAsActivityTest.java | 4 +-
.../com/reddit/api/RedditActivityConverter.java | 107 --------
.../reddit/api/RedditActivitySerializer.java | 107 ++++++++
.../reddit/api/RedditEDCAsActivityJSONTest.java | 4 +-
.../ActivityXMLActivityConverter.java | 240 ----------------
.../ActivityXMLActivitySerializer.java | 240 ++++++++++++++++
.../powertrack/PowerTrackActivityConverter.java | 121 ---------
.../PowerTrackActivitySerializer.java | 121 +++++++++
.../test/PowerTrackDeserializationTest.java | 6 +-
.../gmail/provider/GMailImapProviderTask.java | 5 +-
.../provider/GMailMessageActivityConverter.java | 202 --------------
.../GMailMessageActivitySerializer.java | 212 +++++++++++++++
.../processor/GooglePlusCommentProcessor.java | 3 -
.../processor/GooglePlusTypeConverter.java | 4 -
.../gplus/provider/GPlusActivityConverter.java | 67 -----
.../gplus/provider/GPlusActivitySerializer.java | 67 +++++
.../gplus/provider/GPlusEventProcessor.java | 94 +++++++
.../processor/InstagramTypeConverter.java | 10 +-
.../InstagramJsonActivityConverter.java | 78 ------
.../InstagramJsonActivitySerializer.java | 78 ++++++
.../serializer/InstagramUserInfoConverter.java | 81 ------
.../serializer/InstagramUserInfoSerializer.java | 83 ++++++
.../data/MoreoverJsonActivitySerializer.java | 93 +++++++
.../data/MoreoverXmlActivitySerializer.java | 105 +++++++
.../conversion/MoreoverConverterResolver.java | 20 --
.../conversion/MoreoverDocumentClassifier.java | 22 --
.../MoreoverJsonActivityConverter.java | 94 -------
.../MoreoverXmlActivityConverter.java | 106 --------
.../data/MoreoverJsonActivityConverterTest.java | 66 -----
.../MoreoverJsonActivitySerializerTest.java | 72 +++++
.../data/MoreoverXmlActivityConverterTest.java | 62 -----
.../data/MoreoverXmlActivitySerializerTest.java | 61 +++++
.../streams/rss/processor/RssTypeConverter.java | 10 +-
.../rss/provider/RssDocumentClassifier.java | 35 ---
.../rss/provider/RssEventClassifier.java | 32 +++
.../streams/rss/provider/RssEventProcessor.java | 103 +++++++
.../rss/serializer/RssConverterResolver.java | 18 --
.../serializer/SyndEntryActivityConverter.java | 232 ----------------
.../serializer/SyndEntryActivitySerializer.java | 235 ++++++++++++++++
.../test/SyndEntryActivitySerizlizerTest.java | 4 +-
.../SysomosBeatActivityConverter.java | 35 +--
.../conversion/SysomosConverterResolver.java | 18 --
.../conversion/SysomosDocumentClassifier.java | 16 --
.../sysomos/processor/SysomosTypeConverter.java | 4 -
.../streams-provider-twitter/pom.xml | 9 +-
.../FetchAndReplaceTwitterProcessor.java | 4 +-
.../processor/TwitterProfileProcessor.java | 4 +-
.../provider/TwitterEventClassifier.java | 99 +++++++
.../TwitterUserInformationProvider.java | 2 +-
.../serializer/StreamsTwitterMapper.java | 10 +-
.../serializer/TwitterConverterResolver.java | 61 -----
.../serializer/TwitterDocumentClassifier.java | 85 ------
.../TwitterJsonActivityConverter.java | 81 ------
.../TwitterJsonActivitySerializer.java | 70 +++++
.../TwitterJsonDeleteActivityConverter.java | 84 ------
.../TwitterJsonDeleteActivitySerializer.java | 94 +++++++
.../TwitterJsonRetweetActivityConverter.java | 78 ------
.../TwitterJsonRetweetActivitySerializer.java | 79 ++++++
.../TwitterJsonTweetActivityConverter.java | 76 ------
.../TwitterJsonTweetActivitySerializer.java | 77 ++++++
.../TwitterJsonUserActivityConverter.java | 77 ------
.../TwitterJsonUserActivitySerializer.java | 78 ++++++
...terJsonUserstreameventActivityConverter.java | 115 --------
...erJsonUserstreameventActivitySerializer.java | 115 ++++++++
.../serializer/util/TwitterActivityUtil.java | 7 +-
.../streams/twitter/test/FullTweetTest.java | 119 --------
.../streams/twitter/test/SimpleTweetTest.java | 43 +--
.../twitter/test/TweetActivitySerDeTest.java | 32 +--
.../streams/twitter/test/TweetSerDeTest.java | 8 +-
.../test/TwitterDocumentClassifierTest.java | 117 --------
.../test/TwitterEventClassifierTest.java | 100 +++++++
.../apache/streams/data/util/PropertyUtil.java | 89 ------
.../apache/streams/data/ActivityConverter.java | 60 ----
.../streams/data/ActivityConverterFactory.java | 27 --
.../streams/data/ActivityConverterResolver.java | 43 ---
.../apache/streams/data/ActivitySerializer.java | 60 ++++
.../apache/streams/data/DocumentClassifier.java | 41 ---
.../apache/streams/data/util/ActivityUtil.java | 3 -
.../ActivityDeserializerException.java | 7 +-
.../exceptions/ActivitySerializerException.java | 7 +-
.../jackson/StreamsDateTimeDeserializer.java | 10 +-
.../jackson/StreamsDateTimeSerializer.java | 5 +-
.../streams/jackson/StreamsJacksonMapper.java | 18 +-
.../streams/jackson/StreamsJacksonModule.java | 3 +-
.../streams/pig/StreamsComponentFactory.java | 13 +-
.../streams/pig/StreamsProcessDocumentExec.java | 11 +
.../streams/pig/StreamsSerializerExec.java | 16 +-
.../streams/pig/test/PigProcessDatumTest.java | 6 +
.../pig/test/PigProcessDocumentTest.java | 3 +
.../streams/pig/test/PigSerializerTest.java | 12 +-
.../src/test/resources/pigserializertest.pig | 2 +-
166 files changed, 4348 insertions(+), 6331 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/7afd6e0a/.gitignore
----------------------------------------------------------------------
diff --git a/.gitignore b/.gitignore
index e04fafd..23d6cc9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -22,9 +22,3 @@ dependency-reduced-pom.xml
Icon?
ehthumbs.db
Thumbs.db
-
-# Maven plug-in generated files #
-DEPENDENCIES
-DISCLAIMER
-LICENSE
-NOTICE
http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/7afd6e0a/streams-components/pom.xml
----------------------------------------------------------------------
diff --git a/streams-components/pom.xml b/streams-components/pom.xml
index 138eeef..9942e14 100644
--- a/streams-components/pom.xml
+++ b/streams-components/pom.xml
@@ -37,7 +37,6 @@
</properties>
<modules>
- <module>streams-converters</module>
<module>streams-http</module>
</modules>
http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/7afd6e0a/streams-components/streams-converters/pom.xml
----------------------------------------------------------------------
diff --git a/streams-components/streams-converters/pom.xml b/streams-components/streams-converters/pom.xml
deleted file mode 100644
index 78f42b9..0000000
--- a/streams-components/streams-converters/pom.xml
+++ /dev/null
@@ -1,140 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- ~ Licensed to the Apache Software Foundation (ASF) under one
- ~ or more contributor license agreements. See the NOTICE file
- ~ distributed with this work for additional information
- ~ regarding copyright ownership. The ASF licenses this file
- ~ to you under the Apache License, Version 2.0 (the
- ~ "License"); you may not use this file except in compliance
- ~
- ~ http://www.apache.org/licenses/LICENSE-2.0
- ~
- ~ Unless required by applicable law or agreed to in writing,
- ~ software distributed under the License is distributed on an
- ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- ~ KIND, either express or implied. See the License for the
- ~ specific language governing permissions and limitations
- ~ under the License.
- -->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
- <modelVersion>4.0.0</modelVersion>
- <artifactId>streams-converters</artifactId>
- <version>0.1-SNAPSHOT</version>
-
- <parent>
- <groupId>org.apache.streams</groupId>
- <artifactId>streams-components</artifactId>
- <version>0.1-SNAPSHOT</version>
- </parent>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.streams</groupId>
- <artifactId>streams-config</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.streams</groupId>
- <artifactId>streams-core</artifactId>
- </dependency>
- <dependency>
- <groupId>com.fasterxml.jackson.core</groupId>
- <artifactId>jackson-core</artifactId>
- </dependency>
- <dependency>
- <groupId>com.fasterxml.jackson.core</groupId>
- <artifactId>jackson-annotations</artifactId>
- </dependency>
- <dependency>
- <groupId>com.jayway.jsonpath</groupId>
- <artifactId>json-path</artifactId>
- </dependency>
- <dependency>
- <groupId>com.jayway.jsonpath</groupId>
- <artifactId>json-path-assert</artifactId>
- </dependency>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- </dependency>
- <dependency>
- <groupId>commons-io</groupId>
- <artifactId>commons-io</artifactId>
- </dependency>
- </dependencies>
-
- <build>
- <sourceDirectory>src/main/java</sourceDirectory>
- <testSourceDirectory>src/test/java</testSourceDirectory>
- <resources>
- <resource>
- <directory>src/main/resources</directory>
- </resource>
- </resources>
- <testResources>
- <testResource>
- <directory>src/test/resources</directory>
- </testResource>
- </testResources>
- <plugins>
-
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>build-helper-maven-plugin</artifactId>
- <version>1.8</version>
- <executions>
- <execution>
- <id>add-source</id>
- <phase>generate-sources</phase>
- <goals>
- <goal>add-source</goal>
- </goals>
- <configuration>
- <sources>
- <source>target/generated-sources/jsonschema2pojo</source>
- </sources>
- </configuration>
- </execution>
- <execution>
- <id>add-source-jaxb2</id>
- <phase>generate-sources</phase>
- <goals>
- <goal>add-source</goal>
- </goals>
- <configuration>
- <sources>
- <source>target/generated-sources/jaxb2</source>
- </sources>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.jsonschema2pojo</groupId>
- <artifactId>jsonschema2pojo-maven-plugin</artifactId>
- <configuration>
- <addCompileSourceRoot>true</addCompileSourceRoot>
- <generateBuilders>true</generateBuilders>
- <sourcePaths>
- <sourcePath>src/main/jsonschema</sourcePath>
- </sourcePaths>
- <outputDirectory>target/generated-sources/jsonschema2pojo</outputDirectory>
- <targetPackage>org.apache.streams.converter</targetPackage>
- <useLongIntegers>true</useLongIntegers>
- <useJodaDates>true</useJodaDates>
- <includeJsr303Annotations>true</includeJsr303Annotations>
- </configuration>
- <executions>
- <execution>
- <goals>
- <goal>generate</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
-
-</project>
http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/7afd6e0a/streams-components/streams-converters/src/main/java/org/apache/streams/converter/ActivityConverterProcessor.java
----------------------------------------------------------------------
diff --git a/streams-components/streams-converters/src/main/java/org/apache/streams/converter/ActivityConverterProcessor.java b/streams-components/streams-converters/src/main/java/org/apache/streams/converter/ActivityConverterProcessor.java
deleted file mode 100644
index a293dea..0000000
--- a/streams-components/streams-converters/src/main/java/org/apache/streams/converter/ActivityConverterProcessor.java
+++ /dev/null
@@ -1,167 +0,0 @@
-/*
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied. See the License for the
-specific language governing permissions and limitations
-under the License.
-*/
-package org.apache.streams.converter;
-
-import com.google.common.base.Preconditions;
-import com.google.common.collect.Lists;
-import org.apache.streams.core.StreamsDatum;
-import org.apache.streams.data.ActivityConverter;
-import org.apache.streams.data.ActivityConverterFactory;
-import org.apache.streams.data.ActivityConverterResolver;
-import org.apache.streams.data.DocumentClassifier;
-import org.apache.streams.pojo.json.Activity;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.util.List;
-
-/**
- * ActivityConverterProcessor is a utility processor for converting any datum document
- * to an Activity.
- *
- * By default it will handle string json and objectnode representation of existing Activities.
- *
- * Implementations can add DocumentClassifiers and ActivityConverterResolvers to the processor
- * to ensure additional ActivityConverters will be resolved and applied.
- *
- * A DocumentClassifier's reponsibility is to recognize document formats and label them, using
- * a jackson-compatible POJO class.
- *
- * An ActivityConverterResolver's reponsibility is to identify ActivityConverter implementations
- * capable of converting a raw document associated with that POJO class into an activity.
- *
- */
-public class ActivityConverterProcessor extends TypeConverterProcessor {
-
- private final static Logger LOGGER = LoggerFactory.getLogger(ActivityConverterProcessor.class);
-
- protected ActivityConverterProcessorConfiguration configuration;
-
- private List<DocumentClassifier> classifiers;
- private List<ActivityConverterResolver> resolvers;
-
- public ActivityConverterProcessor() {
- super(Activity.class);
- this.classifiers = Lists.newArrayList();
- this.resolvers = Lists.newArrayList();
- }
-
- public ActivityConverterProcessor(ActivityConverterProcessorConfiguration configuration) {
- super(Activity.class);
- this.configuration = configuration;
- this.classifiers = Lists.newArrayList();
- this.resolvers = Lists.newArrayList();
- }
-
- @Override
- public List<StreamsDatum> process(StreamsDatum entry) {
-
- Preconditions.checkArgument(classifiers.size() > 0);
- Preconditions.checkArgument(resolvers.size() > 0);
-
- List<StreamsDatum> result = Lists.newLinkedList();
- Object inDoc = entry.getDocument();
-
- try {
-
- // This implementation is primitive, greedy, takes first it can resolve
- Class datumClass = null;
- for( DocumentClassifier classifier : classifiers ) {
- datumClass = classifier.detectClass(inDoc);
- if( classifier != null )
- break;
- }
-
- //Preconditions.checkNotNull(datumClass);
- if( datumClass == null) {
- LOGGER.warn("Unable to classify");
- return result;
- } else {
- LOGGER.debug("Classifies document as " + datumClass.getSimpleName());
- }
-
- // This implementation is primitive, greedy, takes first it can resolve
- Class converterClass = null;
- for( ActivityConverterResolver resolver : resolvers ) {
- converterClass = resolver.bestSerializer(datumClass);
- if( converterClass != null )
- break;
- }
-
- //Preconditions.checkNotNull(converterClass);
- if( converterClass == null) {
- LOGGER.warn("Unable to resolve converterClass");
- return result;
- }
- else {
- LOGGER.debug("Resolved converter: " + converterClass.getSimpleName());
- }
-
- ActivityConverter converter = ActivityConverterFactory.getInstance(converterClass);
-
- //Preconditions.checkNotNull(converter);
- if( converter == null) return result;
-
- Object typedDoc;
- if( datumClass.isInstance(inDoc) )
- typedDoc = inDoc;
- else
- typedDoc = TypeConverterUtil.convert(inDoc, datumClass, mapper);
-
- //Preconditions.checkNotNull(typedDoc);
- if( typedDoc == null) {
- LOGGER.warn("Unable to convert " + inDoc.getClass().getSimpleName() + " to " + datumClass.getSimpleName());
- return result;
- }
-
- Activity activity = converter.deserialize(typedDoc);
-
- //Preconditions.checkNotNull(activity);
- if( activity == null) {
- LOGGER.warn("Unable to convert " + datumClass.getClass().getCanonicalName() + " to Activity");
- return result;
- }
-
- entry.setDocument(activity);
-
- result.add(entry);
-
- } catch( Exception e ) {
- LOGGER.warn("Unable to serialize! " + e.getMessage());
- e.printStackTrace();
- } finally {
- return result;
- }
-
- }
-
- @Override
- public void prepare(Object configurationObject) {
- super.prepare(configurationObject);
- if( configuration != null ) {
- if (configuration.getClassifiers() != null && configuration.getClassifiers().size() > 0)
- this.classifiers.addAll(configuration.getClassifiers());
- if (configuration.getResolvers() != null && configuration.getResolvers().size() > 0)
- this.resolvers.addAll(configuration.getResolvers());
- }
- this.classifiers.add(BaseDocumentClassifier.getInstance());
- this.resolvers.add(BaseActivityConverterResolver.getInstance());
- }
-
-};
http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/7afd6e0a/streams-components/streams-converters/src/main/java/org/apache/streams/converter/BaseActivityConverterResolver.java
----------------------------------------------------------------------
diff --git a/streams-components/streams-converters/src/main/java/org/apache/streams/converter/BaseActivityConverterResolver.java b/streams-components/streams-converters/src/main/java/org/apache/streams/converter/BaseActivityConverterResolver.java
deleted file mode 100644
index 30bb050..0000000
--- a/streams-components/streams-converters/src/main/java/org/apache/streams/converter/BaseActivityConverterResolver.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package org.apache.streams.converter;
-
-import com.fasterxml.jackson.databind.node.ObjectNode;
-import org.apache.streams.data.ActivityConverterResolver;
-import org.apache.streams.exceptions.ActivitySerializerException;
-
-/**
- * BaseActivityConverterResolver is included by default in all
- * @see {@link org.apache.streams.converter.ActivityConverterProcessor}
- *
- * Ensures generic String and ObjectNode documents can be converted to Activity
- *
- */
-public class BaseActivityConverterResolver implements ActivityConverterResolver {
-
- private static BaseActivityConverterResolver instance = new BaseActivityConverterResolver();
-
- public static BaseActivityConverterResolver getInstance() {
- return instance;
- }
-
- @Override
- public Class bestSerializer(Class documentClass) throws ActivitySerializerException {
- if( documentClass == String.class) {
- return BaseStringActivityConverter.class;
- } else if( documentClass == ObjectNode.class) {
- return BaseObjectNodeActivityConverter.class;
- } else return null;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/7afd6e0a/streams-components/streams-converters/src/main/java/org/apache/streams/converter/BaseDocumentClassifier.java
----------------------------------------------------------------------
diff --git a/streams-components/streams-converters/src/main/java/org/apache/streams/converter/BaseDocumentClassifier.java b/streams-components/streams-converters/src/main/java/org/apache/streams/converter/BaseDocumentClassifier.java
deleted file mode 100644
index 7733415..0000000
--- a/streams-components/streams-converters/src/main/java/org/apache/streams/converter/BaseDocumentClassifier.java
+++ /dev/null
@@ -1,66 +0,0 @@
-package org.apache.streams.converter;
-
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.node.ObjectNode;
-import com.google.common.base.Preconditions;
-import org.apache.streams.data.DocumentClassifier;
-import org.apache.streams.data.util.ActivityUtil;
-import org.apache.streams.jackson.StreamsJacksonMapper;
-import org.apache.streams.pojo.json.Activity;
-
-import java.io.IOException;
-
-/**
- * BaseDocumentClassifier is included by default in all
- * @see {@link org.apache.streams.converter.ActivityConverterProcessor}
- *
- * Ensures generic String and ObjectNode documents can be converted to Activity
- *
- */
-public class BaseDocumentClassifier implements DocumentClassifier {
-
- private static BaseDocumentClassifier instance = new BaseDocumentClassifier();
-
- public static BaseDocumentClassifier getInstance() {
- return instance;
- }
-
- private ObjectMapper mapper = StreamsJacksonMapper.getInstance();
-
- @Override
- public Class detectClass(Object document) {
- Preconditions.checkArgument(
- document instanceof String
- || document instanceof ObjectNode);
-
- Activity activity = null;
- ObjectNode node = null;
-
- // Soon javax.validation will available in jackson
- // That will make this simpler and more powerful
- if( document instanceof String ) {
- try {
- activity = this.mapper.readValue((String)document, Activity.class);
- if(ActivityUtil.isValid(activity))
- return Activity.class;
- else
- return ObjectNode.class;
- } catch (IOException e1) {
- try {
- node = this.mapper.readValue((String)document, ObjectNode.class);
- return ObjectNode.class;
- } catch (IOException e2) {
- return String.class;
- }
- }
- } else if( document instanceof ObjectNode ){
- activity = this.mapper.convertValue((ObjectNode)document, Activity.class);
- if(ActivityUtil.isValid(activity))
- return Activity.class;
- else
- return ObjectNode.class;
- } else return document.getClass();
-
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/7afd6e0a/streams-components/streams-converters/src/main/java/org/apache/streams/converter/BaseObjectNodeActivityConverter.java
----------------------------------------------------------------------
diff --git a/streams-components/streams-converters/src/main/java/org/apache/streams/converter/BaseObjectNodeActivityConverter.java b/streams-components/streams-converters/src/main/java/org/apache/streams/converter/BaseObjectNodeActivityConverter.java
deleted file mode 100644
index 5c90fbc..0000000
--- a/streams-components/streams-converters/src/main/java/org/apache/streams/converter/BaseObjectNodeActivityConverter.java
+++ /dev/null
@@ -1,65 +0,0 @@
-package org.apache.streams.converter;
-
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.node.ObjectNode;
-import com.google.common.collect.Lists;
-import org.apache.streams.data.ActivityConverter;
-import org.apache.streams.exceptions.ActivitySerializerException;
-import org.apache.streams.jackson.StreamsJacksonMapper;
-import org.apache.streams.pojo.json.Activity;
-
-import java.util.List;
-
-/**
- * BaseObjectNodeActivityConverter is included by default in all
- * @see {@link org.apache.streams.converter.ActivityConverterProcessor}
- *
- * Ensures generic ObjectNode representation of an Activity can be converted to Activity
- *
- */
-public class BaseObjectNodeActivityConverter implements ActivityConverter<ObjectNode> {
-
- private ObjectMapper mapper = new StreamsJacksonMapper();
-
- private static BaseObjectNodeActivityConverter instance = new BaseObjectNodeActivityConverter();
-
- public static BaseObjectNodeActivityConverter getInstance() {
- return instance;
- }
-
- @Override
- public String serializationFormat() {
- return null;
- }
-
- @Override
- public ObjectNode serialize(Activity deserialized) throws ActivitySerializerException {
- try {
- return mapper.convertValue(deserialized, ObjectNode.class);
- } catch (Exception e) {
- throw new ActivitySerializerException();
- }
- }
-
- @Override
- public Activity deserialize(ObjectNode serialized) throws ActivitySerializerException {
- try {
- return mapper.convertValue(serialized, Activity.class);
- } catch (Exception e) {
- throw new ActivitySerializerException();
- }
- }
-
- @Override
- public List<Activity> deserializeAll(List<ObjectNode> serializedList) {
- List<Activity> result = Lists.newArrayList();
- for( ObjectNode item : serializedList ) {
- try {
- Activity activity = deserialize(item);
- result.add(activity);
- } catch (ActivitySerializerException e) {}
- }
- return result;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/7afd6e0a/streams-components/streams-converters/src/main/java/org/apache/streams/converter/BaseStringActivityConverter.java
----------------------------------------------------------------------
diff --git a/streams-components/streams-converters/src/main/java/org/apache/streams/converter/BaseStringActivityConverter.java b/streams-components/streams-converters/src/main/java/org/apache/streams/converter/BaseStringActivityConverter.java
deleted file mode 100644
index c742532..0000000
--- a/streams-components/streams-converters/src/main/java/org/apache/streams/converter/BaseStringActivityConverter.java
+++ /dev/null
@@ -1,65 +0,0 @@
-package org.apache.streams.converter;
-
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.google.common.collect.Lists;
-import org.apache.streams.data.ActivityConverter;
-import org.apache.streams.exceptions.ActivitySerializerException;
-import org.apache.streams.jackson.StreamsJacksonMapper;
-import org.apache.streams.pojo.json.Activity;
-
-import java.util.List;
-
-/**
- * BaseObjectNodeActivityConverter is included by default in all
- * @see {@link org.apache.streams.converter.ActivityConverterProcessor}
- *
- * Ensures generic String Json representation of an Activity can be converted to Activity
- *
- */
-public class BaseStringActivityConverter implements ActivityConverter<String> {
-
- private ObjectMapper mapper = new StreamsJacksonMapper();
-
- private static BaseStringActivityConverter instance = new BaseStringActivityConverter();
-
- public static BaseStringActivityConverter getInstance() {
- return instance;
- }
-
-
- @Override
- public String serializationFormat() {
- return null;
- }
-
- @Override
- public String serialize(Activity deserialized) throws ActivitySerializerException {
- try {
- return mapper.writeValueAsString(deserialized);
- } catch (JsonProcessingException e) {
- throw new ActivitySerializerException();
- }
- }
-
- @Override
- public Activity deserialize(String serialized) throws ActivitySerializerException {
- try {
- return mapper.readValue(serialized, Activity.class);
- } catch (Exception e) {
- throw new ActivitySerializerException();
- }
- }
-
- @Override
- public List<Activity> deserializeAll(List<String> serializedList) {
- List<Activity> result = Lists.newArrayList();
- for( String item : serializedList ) {
- try {
- Activity activity = deserialize(item);
- result.add(activity);
- } catch (ActivitySerializerException e) {}
- }
- return result;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/7afd6e0a/streams-components/streams-converters/src/main/java/org/apache/streams/converter/CleanAdditionalPropertiesProcessor.java
----------------------------------------------------------------------
diff --git a/streams-components/streams-converters/src/main/java/org/apache/streams/converter/CleanAdditionalPropertiesProcessor.java b/streams-components/streams-converters/src/main/java/org/apache/streams/converter/CleanAdditionalPropertiesProcessor.java
deleted file mode 100644
index 4b4641e..0000000
--- a/streams-components/streams-converters/src/main/java/org/apache/streams/converter/CleanAdditionalPropertiesProcessor.java
+++ /dev/null
@@ -1,62 +0,0 @@
-package org.apache.streams.converter;
-
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.node.ObjectNode;
-import com.fasterxml.jackson.datatype.jsonorg.JsonOrgModule;
-import com.google.common.collect.Lists;
-import org.apache.streams.core.StreamsDatum;
-import org.apache.streams.core.StreamsProcessor;
-import org.apache.streams.jackson.StreamsJacksonMapper;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-/**
- * This processor walks an input objectnode and corrects any artifacts
- * that may have occured from improper serialization of jsonschema2pojo beans.
- *
- * The logic is also available for inclusion in other module via static import.
- */
-public class CleanAdditionalPropertiesProcessor implements StreamsProcessor {
-
- private static final Logger LOGGER = LoggerFactory.getLogger(CleanAdditionalPropertiesProcessor.class);
-
- private ObjectMapper mapper;
-
- @Override
- public List<StreamsDatum> process(StreamsDatum datum) {
- List<StreamsDatum> result = Lists.newLinkedList();
- ObjectNode activity = this.mapper.convertValue(datum.getDocument(), ObjectNode.class);
- cleanAdditionalProperties(activity);
- datum.setDocument(activity);
- result.add(datum);
- return result;
- }
-
- @Override
- public void prepare(Object o) {
- this.mapper = StreamsJacksonMapper.getInstance();
- this.mapper.registerModule(new JsonOrgModule());
- }
-
- @Override
- public void cleanUp() {
-
- }
-
- public static void cleanAdditionalProperties(ObjectNode node) {
- if( node.get("additionalProperties") != null ) {
- ObjectNode additionalProperties = (ObjectNode) node.get("additionalProperties");
- cleanAdditionalProperties(additionalProperties);
- Iterator<Map.Entry<String, JsonNode>> jsonNodeIterator = additionalProperties.fields();
- while( jsonNodeIterator.hasNext() ) {
- Map.Entry<String, JsonNode> entry = jsonNodeIterator.next();
- node.put(entry.getKey(), entry.getValue());
- }
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/7afd6e0a/streams-components/streams-converters/src/main/java/org/apache/streams/converter/TypeConverterProcessor.java
----------------------------------------------------------------------
diff --git a/streams-components/streams-converters/src/main/java/org/apache/streams/converter/TypeConverterProcessor.java b/streams-components/streams-converters/src/main/java/org/apache/streams/converter/TypeConverterProcessor.java
deleted file mode 100644
index 4b71b49..0000000
--- a/streams-components/streams-converters/src/main/java/org/apache/streams/converter/TypeConverterProcessor.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied. See the License for the
-specific language governing permissions and limitations
-under the License.
-*/
-package org.apache.streams.converter;
-
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.google.common.collect.Lists;
-import org.apache.streams.core.StreamsDatum;
-import org.apache.streams.core.StreamsProcessor;
-import org.apache.streams.jackson.StreamsJacksonMapper;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.io.Serializable;
-import java.util.List;
-
-/**
- * TypeConverterProcessor converts between String json and jackson-compatible POJO objects
- */
-public class TypeConverterProcessor implements StreamsProcessor, Serializable {
-
- private final static Logger LOGGER = LoggerFactory.getLogger(TypeConverterProcessor.class);
-
- private List<String> formats = Lists.newArrayList();
-
- protected ObjectMapper mapper;
-
- protected Class outClass;
-
- public TypeConverterProcessor(Class outClass) {
- this.outClass = outClass;
- }
-
- public TypeConverterProcessor(Class outClass, List<String> formats) {
- this.outClass = outClass;
- this.formats = formats;
- }
-
- @Override
- public List<StreamsDatum> process(StreamsDatum entry) {
-
- List<StreamsDatum> result = Lists.newLinkedList();
- Object inDoc = entry.getDocument();
-
- Object outDoc = TypeConverterUtil.convert(inDoc, outClass, mapper);
-
- if( outDoc != null ) {
- entry.setDocument(outDoc);
- result.add(entry);
- }
-
- return result;
- }
-
- @Override
- public void prepare(Object configurationObject) {
- if( formats.size() > 0 )
- this.mapper = StreamsJacksonMapper.getInstance(formats);
- else
- this.mapper = StreamsJacksonMapper.getInstance();
- }
-
- @Override
- public void cleanUp() {
- this.mapper = null;
- }
-
-};
http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/7afd6e0a/streams-components/streams-converters/src/main/java/org/apache/streams/converter/TypeConverterUtil.java
----------------------------------------------------------------------
diff --git a/streams-components/streams-converters/src/main/java/org/apache/streams/converter/TypeConverterUtil.java b/streams-components/streams-converters/src/main/java/org/apache/streams/converter/TypeConverterUtil.java
deleted file mode 100644
index 2ff463b..0000000
--- a/streams-components/streams-converters/src/main/java/org/apache/streams/converter/TypeConverterUtil.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package org.apache.streams.converter;
-
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.node.ObjectNode;
-import org.apache.streams.jackson.StreamsJacksonMapper;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.io.IOException;
-
-/**
- * TypeConverterUtil supports TypeConverterProcessor in converting between String json and
- * jackson-compatible POJO objects
- */
-public class TypeConverterUtil {
-
- private final static Logger LOGGER = LoggerFactory.getLogger(TypeConverterUtil.class);
-
- public static Object convert(Object object, Class outClass) {
- return TypeConverterUtil.convert(object, outClass, StreamsJacksonMapper.getInstance());
- }
-
- public static Object convert(Object object, Class outClass, ObjectMapper mapper) {
- ObjectNode node = null;
- Object outDoc = null;
- if( object instanceof String ) {
- try {
- node = mapper.readValue((String)object, ObjectNode.class);
- } catch (IOException e) {
- e.printStackTrace();
- }
- } else {
- node = mapper.convertValue(object, ObjectNode.class);
- }
-
- if(node != null) {
- try {
- if( outClass == String.class )
- outDoc = mapper.writeValueAsString(node);
- else
- outDoc = mapper.convertValue(node, outClass);
-
- } catch (Throwable e) {
- LOGGER.warn(e.getMessage());
- LOGGER.warn(node.toString());
- }
- }
-
- return outDoc;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/7afd6e0a/streams-components/streams-converters/src/main/jsonschema/org/apache/streams/components/http/ActivityConverterProcessorConfiguration.json
----------------------------------------------------------------------
diff --git a/streams-components/streams-converters/src/main/jsonschema/org/apache/streams/components/http/ActivityConverterProcessorConfiguration.json b/streams-components/streams-converters/src/main/jsonschema/org/apache/streams/components/http/ActivityConverterProcessorConfiguration.json
deleted file mode 100644
index ab173b4..0000000
--- a/streams-components/streams-converters/src/main/jsonschema/org/apache/streams/components/http/ActivityConverterProcessorConfiguration.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- "type": "object",
- "$schema": "http://json-schema.org/draft-03/schema",
- "id": "#",
- "javaType" : "org.apache.streams.converter.ActivityConverterProcessorConfiguration",
- "javaInterfaces": ["java.io.Serializable"],
- "properties": {
- "classifiers": {
- "type": "array",
- "items": {
- "type": "object",
- "javaType": "org.apache.streams.data.DocumentClassifier"
- }
- },
- "resolvers": {
- "type": "array",
- "items": {
- "type": "object",
- "javaType": "org.apache.streams.data.ActivityConverterResolver"
- }
- }
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/7afd6e0a/streams-components/streams-converters/src/test/java/org/apache/streams/jackson/test/ActivityConverterProcessorTest.java
----------------------------------------------------------------------
diff --git a/streams-components/streams-converters/src/test/java/org/apache/streams/jackson/test/ActivityConverterProcessorTest.java b/streams-components/streams-converters/src/test/java/org/apache/streams/jackson/test/ActivityConverterProcessorTest.java
deleted file mode 100644
index 09f3295..0000000
--- a/streams-components/streams-converters/src/test/java/org/apache/streams/jackson/test/ActivityConverterProcessorTest.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.streams.jackson.test;
-
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.node.ObjectNode;
-import org.apache.streams.converter.ActivityConverterProcessor;
-import org.apache.streams.core.StreamsDatum;
-import org.apache.streams.core.StreamsProcessor;
-import org.apache.streams.pojo.json.Activity;
-import org.apache.streams.jackson.StreamsJacksonMapper;
-import org.junit.Test;
-
-import java.io.IOException;
-import java.util.List;
-
-import static junit.framework.Assert.*;
-
-/**
- * Test for
- * @see {@link org.apache.streams.converter.ActivityConverterProcessor}
- */
-public class ActivityConverterProcessorTest {
-
- private static final ObjectMapper mapper = new StreamsJacksonMapper();
-
- @Test
- public void testBaseActivitySerializerProcessorInvalid() {
- String INVALID_DOCUMENT = " 38Xs}";
- StreamsProcessor processor = new ActivityConverterProcessor();
- processor.prepare(null);
- StreamsDatum datum = new StreamsDatum(INVALID_DOCUMENT);
- List<StreamsDatum> result = processor.process(datum);
- assertNotNull(result);
- assertEquals(0, result.size());
- }
-
- @Test
- public void testBaseActivitySerializerProcessorString() {
- String STRING_DOCUMENT = "{\"verb\":\"post\"}";
- StreamsProcessor processor = new ActivityConverterProcessor();
- processor.prepare(null);
- StreamsDatum datum = new StreamsDatum(STRING_DOCUMENT);
- List<StreamsDatum> result = processor.process(datum);
- assertNotNull(result);
- assertEquals(1, result.size());
- StreamsDatum resultDatum = result.get(0);
- assertNotNull(resultDatum);
- assertNotNull(resultDatum.getDocument());
- assertTrue(resultDatum.getDocument() instanceof Activity);
- assertTrue(((Activity)resultDatum.getDocument()).getVerb().equals("post"));
- }
-
- @Test
- public void testBaseActivitySerializerProcessorObject() throws IOException {
- ObjectNode OBJECT_DOCUMENT = mapper.readValue("{\"verb\":\"share\"}", ObjectNode.class);
- StreamsProcessor processor = new ActivityConverterProcessor();
- processor.prepare(null);
- StreamsDatum datum = new StreamsDatum(OBJECT_DOCUMENT);
- List<StreamsDatum> result = processor.process(datum);
- assertNotNull(result);
- assertEquals(1, result.size());
- StreamsDatum resultDatum = result.get(0);
- assertNotNull(resultDatum);
- assertNotNull(resultDatum.getDocument());
- assertTrue(resultDatum.getDocument() instanceof Activity);
- assertTrue(((Activity)resultDatum.getDocument()).getVerb().equals("share"));
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/7afd6e0a/streams-components/streams-converters/src/test/java/org/apache/streams/jackson/test/TypeConverterProcessorTest.java
----------------------------------------------------------------------
diff --git a/streams-components/streams-converters/src/test/java/org/apache/streams/jackson/test/TypeConverterProcessorTest.java b/streams-components/streams-converters/src/test/java/org/apache/streams/jackson/test/TypeConverterProcessorTest.java
deleted file mode 100644
index f830ea2..0000000
--- a/streams-components/streams-converters/src/test/java/org/apache/streams/jackson/test/TypeConverterProcessorTest.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.streams.jackson.test;
-
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.node.ObjectNode;
-import com.google.common.collect.Lists;
-import org.apache.streams.core.StreamsDatum;
-import org.apache.streams.core.StreamsProcessor;
-import org.apache.streams.converter.TypeConverterProcessor;
-import org.apache.streams.jackson.StreamsJacksonMapper;
-import org.junit.Test;
-
-import java.io.IOException;
-import java.util.List;
-
-import static junit.framework.Assert.*;
-
-/**
- * Test for
- * @see {@link org.apache.streams.converter.TypeConverterProcessor}
- */
-public class TypeConverterProcessorTest {
-
- private static final String DATASIFT_JSON = "{\"demographic\":{\"gender\":\"female\"},\"interaction\":{\"schema\":{\"version\":3},\"source\":\"Twitter for Android\",\"author\":{\"username\":\"ViiOLeee\",\"name\":\"Violeta Anguita\",\"id\":70931384,\"avatar\":\"http://pbs.twimg.com/profile_images/378800000851401229/bbf480cde2e9923a1d20acd393da0212_normal.jpeg\",\"link\":\"http://twitter.com/ViiOLeee\",\"language\":\"en\"},\"type\":\"twitter\",\"created_at\":\"Tue, 27 May 2014 22:38:15 +0000\",\"received_at\":1.401230295658E9,\"content\":\"RT @AliiAnguita: \\\"@Pharrell: Loved working with @edsheeran on Sing. He's a genius. https://t.co/wB2qKyJMRw\\\" @ViiOLeee look at this!\",\"id\":\"1e3e5ef97532a580e0741841f5746728\",\"link\":\"http://twitter.com/ViiOLeee/status/471420141989666817\",\"mentions\":[\"Pharrell\",\"edsheeran\",\"ViiOLeee\",\"AliiAnguita\"],\"mention_ids\":[338084918,85452649,70931384]},\"klout\":{\"score\":34},\"language\":{\"tag\":\"en\",\"tag_extended\":\"en\",\
"confidence\":98},\"links\":{\"code\":[200],\"created_at\":[\"Tue, 27 May 2014 14:28:06 +0000\"],\"meta\":{\"charset\":[\"UTF-8\"],\"content_type\":[\"text/html\"],\"description\":[\"Official Video for Ed Sheeran's track SING Get this track on iTunes: http://smarturl.it/EdSing Pre-order 'x' on iTunes and get 'One' instantly: http://smartu...\"],\"keywords\":[[\"ed sheeran\",\"ed sheeran sing\",\"ed sheeran new album\",\"Ed Sheeran (Musical Artist)\",\"ed sheeran one\",\"ed sheeran fault in our stars\",\"ed sheeran all of the stars\",\"s...\"]],\"lang\":[\"en\"],\"opengraph\":[{\"site_name\":\"YouTube\",\"url\":\"http://www.youtube.com/watch?v=tlYcUqEPN58\",\"title\":\"Ed Sheeran - SING [Official Video]\",\"image\":\"https://i1.ytimg.com/vi/tlYcUqEPN58/maxresdefault.jpg\",\"description\":\"Official Video for Ed Sheeran's track SING Get this track on iTunes: http://smarturl.it/EdSing Pre-order 'x' on iTunes and get 'One' instantly: http://smartu
...\",\"type\":\"video\"}],\"twitter\":[{\"card\":\"player\",\"site\":\"@youtube\",\"url\":\"http://www.youtube.com/watch?v=tlYcUqEPN58\",\"title\":\"Ed Sheeran - SING [Official Video]\",\"description\":\"Official Video for Ed Sheeran's track SING Get this track on iTunes: http://smarturl.it/EdSing Pre-order 'x' on iTunes and get 'One' instantly: http://smartu...\",\"image\":\"https://i1.ytimg.com/vi/tlYcUqEPN58/maxresdefault.jpg\",\"app\":{\"iphone\":{\"name\":\"YouTube\",\"id\":\"544007664\",\"url\":\"vnd.youtube://watch/tlYcUqEPN58\"},\"ipad\":{\"name\":\"YouTube\",\"id\":\"544007664\",\"url\":\"vnd.youtube://watch/tlYcUqEPN58\"},\"googleplay\":{\"name\":\"YouTube\",\"id\":\"com.google.android.youtube\",\"url\":\"http://www.youtube.com/watch?v=tlYcUqEPN58\"}},\"player\":\"https://www.youtube.com/embed/tlYcUqEPN58\",\"player_width\":\"1280\",\"player_height\":\"720\"}]},\"normalized_url\":[\"https://youtube.com/watch?v=tlYcUqEPN58\"],\"retweet_count\":[0],\"tit
le\":[\"Ed Sheeran - SING [Official Video] - YouTube\"],\"url\":[\"https://www.youtube.com/watch?v=tlYcUqEPN58\"]},\"twitter\":{\"id\":\"471420141989666817\",\"retweet\":{\"text\":\"\\\"@Pharrell: Loved working with @edsheeran on Sing. He's a genius. https://t.co/wB2qKyJMRw\\\" @ViiOLeee look at this!\",\"id\":\"471420141989666817\",\"user\":{\"name\":\"Violeta Anguita\",\"description\":\"La vida no seria la fiesta que todos esperamos, pero mientras estemos aqui debemos BAILAR!!! #ErasmusOnceErasmusForever\",\"location\":\"Espanhaa..Olaa!\",\"statuses_count\":5882,\"followers_count\":249,\"friends_count\":1090,\"screen_name\":\"ViiOLeee\",\"profile_image_url\":\"http://pbs.twimg.com/profile_images/378800000851401229/bbf480cde2e9923a1d20acd393da0212_normal.jpeg\",\"profile_image_url_https\":\"https://pbs.twimg.com/profile_images/378800000851401229/bbf480cde2e9923a1d20acd393da0212_normal.jpeg\",\"lang\":\"en\",\"time_zone\":\"Madrid\",\"utc_offset\":7200,\"listed_count\":1,\"id\":709
31384,\"id_str\":\"70931384\",\"geo_enabled\":false,\"verified\":false,\"favourites_count\":275,\"created_at\":\"Wed, 02 Sep 2009 10:19:59 +0000\"},\"source\":\"<a href=\\\"http://twitter.com/download/android\\\" rel=\\\"nofollow\\\">Twitter for Android</a>\",\"count\":1,\"created_at\":\"Tue, 27 May 2014 22:38:15 +0000\",\"mentions\":[\"Pharrell\",\"edsheeran\",\"ViiOLeee\",\"AliiAnguita\"],\"mention_ids\":[338084918,85452649,70931384],\"links\":[\"https://www.youtube.com/watch?v=tlYcUqEPN58\"],\"display_urls\":[\"youtube.com/watch?v=tlYcUq���\"],\"domains\":[\"www.youtube.com\"],\"lang\":\"en\"},\"retweeted\":{\"id\":\"471419867078209536\",\"user\":{\"name\":\"Alicia Anguita \",\"description\":\"Estudiante de Ingenieria de la Edificaci��n en Granada.\",\"statuses_count\":371,\"followers_count\":185,\"friends_count\":404,\"screen_name\":\"AliiAnguita\",\"profile_image_url\":\"http://pbs.twimg.com/profile_images/424248659677442048/qCPZL8c9_normal.jpeg\",\"profile_image_url_
https\":\"https://pbs.twimg.com/profile_images/424248659677442048/qCPZL8c9_normal.jpeg\",\"lang\":\"es\",\"listed_count\":0,\"id\":561201891,\"id_str\":\"561201891\",\"geo_enabled\":false,\"verified\":false,\"favourites_count\":17,\"created_at\":\"Mon, 23 Apr 2012 13:11:44 +0000\"},\"source\":\"<a href=\\\"http://twitter.com/download/android\\\" rel=\\\"nofollow\\\">Twitter for Android</a>\",\"created_at\":\"Tue, 27 May 2014 22:37:09 +0000\"}}}";
-
- public static final String DATASIFT_FORMAT = "EEE, dd MMM yyyy HH:mm:ss Z";
-
- @Test
- public void testTypeConverterStringToString() {
- final String ID = "1";
- StreamsProcessor processor = new TypeConverterProcessor(String.class, Lists.newArrayList(DATASIFT_FORMAT));
- processor.prepare(null);
- StreamsDatum datum = new StreamsDatum(DATASIFT_JSON, ID);
- List<StreamsDatum> result = processor.process(datum);
- assertNotNull(result);
- assertEquals(1, result.size());
- StreamsDatum resultDatum = result.get(0);
- assertNotNull(resultDatum);
- assertNotNull(resultDatum.getDocument());
- assertTrue(resultDatum.getDocument() instanceof String);
- assertEquals(ID, resultDatum.getId());
- }
-
- @Test
- public void testTypeConverterStringToObjectNode() {
- final String ID = "1";
- StreamsProcessor processor = new TypeConverterProcessor(ObjectNode.class, Lists.newArrayList(DATASIFT_FORMAT));
- processor.prepare(null);
- StreamsDatum datum = new StreamsDatum(DATASIFT_JSON, ID);
- List<StreamsDatum> result = processor.process(datum);
- assertNotNull(result);
- assertEquals(1, result.size());
- StreamsDatum resultDatum = result.get(0);
- assertNotNull(resultDatum);
- assertNotNull(resultDatum.getDocument());
- assertTrue(resultDatum.getDocument() instanceof ObjectNode);
- assertEquals(ID, resultDatum.getId());
- }
-
- @Test
- public void testTypeConverterObjectNodeToString() throws IOException {
- final String ID = "1";
- StreamsProcessor processor = new TypeConverterProcessor(String.class, Lists.newArrayList(DATASIFT_FORMAT));
- processor.prepare(null);
- ObjectMapper mapper = StreamsJacksonMapper.getInstance(DATASIFT_FORMAT);
- ObjectNode node = mapper.readValue(DATASIFT_JSON, ObjectNode.class);
- StreamsDatum datum = new StreamsDatum(node, ID);
- List<StreamsDatum> result = processor.process(datum);
- assertNotNull(result);
- assertEquals(1, result.size());
- StreamsDatum resultDatum = result.get(0);
- assertNotNull(resultDatum);
- assertNotNull(resultDatum.getDocument());
- assertTrue(resultDatum.getDocument() instanceof String);
- assertEquals(ID, resultDatum.getId());
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/7afd6e0a/streams-components/streams-http/README.md
----------------------------------------------------------------------
diff --git a/streams-components/streams-http/README.md b/streams-components/streams-http/README.md
index 1322dff..62dd4c1 100644
--- a/streams-components/streams-http/README.md
+++ b/streams-components/streams-http/README.md
@@ -12,14 +12,5 @@ Example SimpleHTTPGetProcessor configuration:
"resourceUri": "1/urls/count.json"
}
-Example SimpleHTTPPostPersistWriter configuration:
-
- "http": {
- "protocol": "http",
- "hostname": "localhost",
- "port": 7474,
- "resourceUri": "db/data/cypher"
- }
-
http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/7afd6e0a/streams-components/streams-http/pom.xml
----------------------------------------------------------------------
diff --git a/streams-components/streams-http/pom.xml b/streams-components/streams-http/pom.xml
index 4011862..f549729 100644
--- a/streams-components/streams-http/pom.xml
+++ b/streams-components/streams-http/pom.xml
@@ -78,23 +78,6 @@
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
</dependency>
-
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- </dependency>
- <dependency>
- <groupId>org.mockito</groupId>
- <artifactId>mockito-all</artifactId>
- </dependency>
- <dependency>
- <groupId>org.powermock</groupId>
- <artifactId>powermock-module-junit4</artifactId>
- </dependency>
- <dependency>
- <groupId>org.powermock</groupId>
- <artifactId>powermock-api-mockito</artifactId>
- </dependency>
</dependencies>
<build>
http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/7afd6e0a/streams-components/streams-http/src/main/java/org/apache/streams/components/http/HttpConfigurator.java
----------------------------------------------------------------------
diff --git a/streams-components/streams-http/src/main/java/org/apache/streams/components/http/HttpConfigurator.java b/streams-components/streams-http/src/main/java/org/apache/streams/components/http/HttpConfigurator.java
index ae17dbe..979a680 100644
--- a/streams-components/streams-http/src/main/java/org/apache/streams/components/http/HttpConfigurator.java
+++ b/streams-components/streams-http/src/main/java/org/apache/streams/components/http/HttpConfigurator.java
@@ -59,17 +59,4 @@ public class HttpConfigurator {
return httpProcessorConfiguration;
}
- public static HttpPersistWriterConfiguration detectPersistWriterConfiguration(Config config) {
-
- HttpPersistWriterConfiguration httpPersistWriterConfiguration = null;
-
- try {
- httpPersistWriterConfiguration = mapper.readValue(config.root().render(ConfigRenderOptions.concise()), HttpPersistWriterConfiguration.class);
- } catch (Exception e) {
- e.printStackTrace();
- LOGGER.warn("Could not parse http configuration", e.getMessage());
- }
- return httpPersistWriterConfiguration;
- }
-
}
http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/7afd6e0a/streams-components/streams-http/src/main/java/org/apache/streams/components/http/persist/SimpleHTTPPostPersistWriter.java
----------------------------------------------------------------------
diff --git a/streams-components/streams-http/src/main/java/org/apache/streams/components/http/persist/SimpleHTTPPostPersistWriter.java b/streams-components/streams-http/src/main/java/org/apache/streams/components/http/persist/SimpleHTTPPostPersistWriter.java
deleted file mode 100644
index 8dd4e4d..0000000
--- a/streams-components/streams-http/src/main/java/org/apache/streams/components/http/persist/SimpleHTTPPostPersistWriter.java
+++ /dev/null
@@ -1,192 +0,0 @@
-package org.apache.streams.components.http.persist;
-
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.node.ObjectNode;
-import com.google.common.base.Preconditions;
-import com.google.common.collect.Maps;
-import org.apache.http.HttpEntity;
-import org.apache.http.client.methods.CloseableHttpResponse;
-import org.apache.http.client.methods.HttpPost;
-import org.apache.http.client.utils.URIBuilder;
-import org.apache.http.entity.StringEntity;
-import org.apache.http.impl.client.CloseableHttpClient;
-import org.apache.http.impl.client.HttpClients;
-import org.apache.http.util.EntityUtils;
-import org.apache.streams.components.http.HttpConfigurator;
-import org.apache.streams.components.http.HttpPersistWriterConfiguration;
-import org.apache.streams.config.StreamsConfigurator;
-import org.apache.streams.core.StreamsDatum;
-import org.apache.streams.core.StreamsPersistWriter;
-import org.apache.streams.jackson.StreamsJacksonMapper;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.io.IOException;
-import java.io.UnsupportedEncodingException;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.Map;
-
-/**
- * Created by steve on 11/12/14.
- */
-public class SimpleHTTPPostPersistWriter implements StreamsPersistWriter {
-
- private final static String STREAMS_ID = "SimpleHTTPPostPersistWriter";
-
- private final static Logger LOGGER = LoggerFactory.getLogger(SimpleHTTPPostPersistWriter.class);
-
- protected ObjectMapper mapper;
-
- protected URIBuilder uriBuilder;
-
- protected CloseableHttpClient httpclient;
-
- protected HttpPersistWriterConfiguration configuration;
-
- public SimpleHTTPPostPersistWriter() {
- this(HttpConfigurator.detectPersistWriterConfiguration(StreamsConfigurator.config.getConfig("http")));
- }
-
- public SimpleHTTPPostPersistWriter(HttpPersistWriterConfiguration configuration) {
- this.configuration = configuration;
- }
-
-
- @Override
- public void write(StreamsDatum entry) {
-
- //TODO: use streams-converters to add support for String and Activity
- Preconditions.checkArgument(entry.getDocument() instanceof ObjectNode);
-
- ObjectNode payload = preparePayload(entry);
-
- Map<String, String> params = prepareParams(entry);
-
- URI uri = prepareURI(params);
-
- HttpPost httppost = prepareHttpPost(uri, payload);
-
- ObjectNode result = executePost(httppost);
-
- try {
- LOGGER.debug(mapper.writeValueAsString(result));
- } catch (JsonProcessingException e) {
- LOGGER.warn("Non-json response", e.getMessage());
- }
- }
-
- /**
- Override this to alter request URI
- */
- protected URI prepareURI(Map<String, String> params) {
- URI uri = null;
- for( Map.Entry<String,String> param : params.entrySet()) {
- uriBuilder = uriBuilder.setParameter(param.getKey(), param.getValue());
- }
- try {
- uri = uriBuilder.build();
- } catch (URISyntaxException e) {
- LOGGER.error("URI error {}", uriBuilder.toString());
- }
- return uri;
- }
-
- /**
- Override this to add parameters to the request
- */
- protected Map<String, String> prepareParams(StreamsDatum entry) {
-
- return Maps.newHashMap();
- }
-
- /**
- Override this to alter json payload on to the request
- */
- protected ObjectNode preparePayload(StreamsDatum entry) {
-
- return (ObjectNode) entry.getDocument();
- }
-
- /**
- Override this to add headers to the request
- */
- public HttpPost prepareHttpPost(URI uri, ObjectNode payload) {
- HttpPost httppost = new HttpPost(uri);
- httppost.addHeader("content-type", this.configuration.getContentType());
-// TODO: add support for authentication
-// if( !Strings.isNullOrEmpty(authHeader))
-// httpget.addHeader("Authorization", String.format("Basic %s", authHeader));
- try {
- String entity = mapper.writeValueAsString(payload);
- httppost.setEntity(new StringEntity(entity));
- } catch (JsonProcessingException e) {
- e.printStackTrace();
- } catch (UnsupportedEncodingException e) {
- e.printStackTrace();
- }
- return httppost;
- }
-
- protected ObjectNode executePost(HttpPost httpPost) {
-
- Preconditions.checkNotNull(httpPost);
-
- ObjectNode result = null;
-
- CloseableHttpResponse response = null;
-
- String entityString = null;
- try {
- response = httpclient.execute(httpPost);
- HttpEntity entity = response.getEntity();
- // TODO: handle retry
- if (response.getStatusLine() != null && response.getStatusLine().getStatusCode() >= 200 && entity != null) {
- entityString = EntityUtils.toString(entity);
- result = mapper.readValue(entityString, ObjectNode.class);
- }
- } catch (IOException e) {
- LOGGER.error("IO error:\n{}\n{}\n{}", httpPost.toString(), response, e.getMessage());
- } finally {
- try {
- response.close();
- } catch (IOException e) {}
- }
- return result;
- }
-
- @Override
- public void prepare(Object configurationObject) {
-
- mapper = StreamsJacksonMapper.getInstance();
-
- uriBuilder = new URIBuilder()
- .setScheme(this.configuration.getProtocol())
- .setHost(this.configuration.getHostname())
- .setPort(this.configuration.getPort().intValue())
- .setPath(this.configuration.getResourcePath());
-
- httpclient = HttpClients.createDefault();
-
- }
-
- @Override
- public void cleanUp() {
-
- LOGGER.info("shutting down SimpleHTTPPostPersistWriter");
- try {
- httpclient.close();
- } catch (IOException e) {
- e.printStackTrace();
- } finally {
- try {
- httpclient.close();
- } catch (IOException e) {
- e.printStackTrace();
- } finally {
- httpclient = null;
- }
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/7afd6e0a/streams-components/streams-http/src/main/java/org/apache/streams/components/http/processor/SimpleHTTPGetProcessor.java
----------------------------------------------------------------------
diff --git a/streams-components/streams-http/src/main/java/org/apache/streams/components/http/processor/SimpleHTTPGetProcessor.java b/streams-components/streams-http/src/main/java/org/apache/streams/components/http/processor/SimpleHTTPGetProcessor.java
index 18ba157..b8c957c 100644
--- a/streams-components/streams-http/src/main/java/org/apache/streams/components/http/processor/SimpleHTTPGetProcessor.java
+++ b/streams-components/streams-http/src/main/java/org/apache/streams/components/http/processor/SimpleHTTPGetProcessor.java
@@ -154,7 +154,16 @@ public class SimpleHTTPGetProcessor implements StreamsProcessor {
Map<String, String> params = prepareParams(entry);
- URI uri = prepareURI(params);
+ URI uri;
+ for( Map.Entry<String,String> param : params.entrySet()) {
+ uriBuilder = uriBuilder.setParameter(param.getKey(), param.getValue());
+ }
+ try {
+ uri = uriBuilder.build();
+ } catch (URISyntaxException e) {
+ LOGGER.error("URI error {}", uriBuilder.toString());
+ return result;
+ }
HttpGet httpget = prepareHttpGet(uri);
@@ -199,23 +208,6 @@ public class SimpleHTTPGetProcessor implements StreamsProcessor {
}
/**
- Override this to alter request URI
- */
- protected URI prepareURI(Map<String, String> params) {
-
- URI uri = null;
- for( Map.Entry<String,String> param : params.entrySet()) {
- uriBuilder = uriBuilder.setParameter(param.getKey(), param.getValue());
- }
- try {
- uri = uriBuilder.build();
- } catch (URISyntaxException e) {
- LOGGER.error("URI error {}", uriBuilder.toString());
- }
- return uri;
- }
-
- /**
Override this to add parameters to the request
*/
protected Map<String, String> prepareParams(StreamsDatum entry) {
@@ -223,12 +215,6 @@ public class SimpleHTTPGetProcessor implements StreamsProcessor {
return Maps.newHashMap();
}
- /**
- Override this to set a payload on the request
- */
- protected ObjectNode preparePayload(StreamsDatum entry) {
- return null;
- }
public HttpGet prepareHttpGet(URI uri) {
HttpGet httpget = new HttpGet(uri);
http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/7afd6e0a/streams-components/streams-http/src/main/jsonschema/org/apache/streams/components/http/HttpPersistWriterConfiguration.json
----------------------------------------------------------------------
diff --git a/streams-components/streams-http/src/main/jsonschema/org/apache/streams/components/http/HttpPersistWriterConfiguration.json b/streams-components/streams-http/src/main/jsonschema/org/apache/streams/components/http/HttpPersistWriterConfiguration.json
deleted file mode 100644
index 14b8015..0000000
--- a/streams-components/streams-http/src/main/jsonschema/org/apache/streams/components/http/HttpPersistWriterConfiguration.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "type": "object",
- "$schema": "http://json-schema.org/draft-03/schema",
- "id": "#",
- "javaType" : "org.apache.streams.components.http.HttpPersistWriterConfiguration",
- "javaInterfaces": ["java.io.Serializable"],
- "extends": { "$ref": "HttpConfiguration.json" },
- "properties": {
- "resourcePostfixPattern": {
- "type": "string",
- "description": "Pattern for supplying final path for write",
- "required" : false
- }
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/7afd6e0a/streams-components/streams-http/src/test/java/SimpleHTTPPostPersistWriterTest.java
----------------------------------------------------------------------
diff --git a/streams-components/streams-http/src/test/java/SimpleHTTPPostPersistWriterTest.java b/streams-components/streams-http/src/test/java/SimpleHTTPPostPersistWriterTest.java
deleted file mode 100644
index 1733b43..0000000
--- a/streams-components/streams-http/src/test/java/SimpleHTTPPostPersistWriterTest.java
+++ /dev/null
@@ -1,119 +0,0 @@
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.node.ObjectNode;
-import org.apache.http.client.methods.CloseableHttpResponse;
-import org.apache.http.client.methods.HttpUriRequest;
-import org.apache.http.impl.client.CloseableHttpClient;
-import org.apache.http.impl.client.HttpClients;
-import org.apache.streams.components.http.HttpPersistWriterConfiguration;
-import org.apache.streams.components.http.persist.SimpleHTTPPostPersistWriter;
-import org.apache.streams.core.StreamsDatum;
-import org.apache.streams.jackson.StreamsJacksonMapper;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mockito;
-import org.powermock.api.mockito.PowerMockito;
-import org.powermock.core.classloader.annotations.PrepareForTest;
-import org.powermock.modules.junit4.PowerMockRunner;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-
-import static org.mockito.Matchers.any;
-
-/**
- * Created by steve on 11/22/14.
- */
-@RunWith(PowerMockRunner.class)
-@PrepareForTest({HttpClients.class, CloseableHttpResponse.class, CloseableHttpResponse.class})
-public class SimpleHTTPPostPersistWriterTest {
-
- private ObjectMapper mapper = StreamsJacksonMapper.getInstance();
-
- /**
- * test port.
- */
- private static final int PORT = 18080;
-
- /**
- * test hosts.
- */
- private static final String HOSTNAME = "localhost";
-
- /**
- * test protocol.
- */
- private static final String PROTOCOL = "http";
-
- /**
- * HttpClients mock.
- */
- private HttpClients httpClients;
-
- /**
- * CloseableHttpClient mock.
- */
- private CloseableHttpClient client;
-
- /**
- * CloseableHttpClient mock.
- */
- private CloseableHttpResponse response = Mockito.mock(CloseableHttpResponse.class);
-
- /**
- * Our output.
- */
- private ByteArrayOutputStream output;
-
- /**
- * Our input.
- */
- private ByteArrayInputStream input;
-
- /**
- * Instance under tests.
- */
- private SimpleHTTPPostPersistWriter writer;
-
- @Before
- public void setUp() throws Exception
- {
- this.httpClients = PowerMockito.mock(HttpClients.class);
- this.client = PowerMockito.mock(CloseableHttpClient.class);
-
- PowerMockito.mockStatic(HttpClients.class);
-
- PowerMockito.when(HttpClients.createDefault())
- .thenReturn(client);
-
- PowerMockito.when(client.execute(any(HttpUriRequest.class)))
- .thenReturn(response);
-
- Mockito.when(response.getEntity()).thenReturn(null);
- Mockito.doNothing().when(response).close();
-
- }
-
- @Test
- public void testPersist() throws Exception
- {
- HttpPersistWriterConfiguration configuration = new HttpPersistWriterConfiguration();
- configuration.setProtocol(PROTOCOL);
- configuration.setHostname(HOSTNAME);
- configuration.setPort(new Long(PORT));
- configuration.setResourcePath("/");
-
- this.writer = new SimpleHTTPPostPersistWriter(configuration);
-
- this.writer.prepare(null);
-
- StreamsDatum testDatum = new StreamsDatum(mapper.readValue("{\"message\":\"ping\"}", ObjectNode.class));
-
- this.writer.write(testDatum);
-
- Mockito.verify(this.client).execute(any(HttpUriRequest.class));
-
- Mockito.verify(this.response).close();
-
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/7afd6e0a/streams-contrib/pom.xml
----------------------------------------------------------------------
diff --git a/streams-contrib/pom.xml b/streams-contrib/pom.xml
index 0fbbd77..fcec297 100644
--- a/streams-contrib/pom.xml
+++ b/streams-contrib/pom.xml
@@ -40,7 +40,6 @@
<module>streams-persist-cassandra</module>
<module>streams-persist-console</module>
<module>streams-persist-elasticsearch</module>
- <module>streams-persist-graph</module>
<module>streams-persist-hbase</module>
<module>streams-persist-hdfs</module>
<module>streams-persist-kafka</module>
@@ -48,6 +47,7 @@
<module>streams-amazon-aws</module>
<!--<module>streams-processor-lucene</module>-->
<!--<module>streams-processor-tika</module>-->
+ <module>streams-processor-jackson</module>
<module>streams-processor-json</module>
<module>streams-processor-urls</module>
<module>streams-processor-peoplepattern</module>
http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/7afd6e0a/streams-contrib/streams-persist-graph/README.md
----------------------------------------------------------------------
diff --git a/streams-contrib/streams-persist-graph/README.md b/streams-contrib/streams-persist-graph/README.md
deleted file mode 100644
index 086f5b5..0000000
--- a/streams-contrib/streams-persist-graph/README.md
+++ /dev/null
@@ -1,44 +0,0 @@
-streams-persist-graph
-=====================
-
-Build graph index of stream
-
-Example Neo4J configuration:
-
- {
- "graph": {
- "type": "neo4j",
- "protocol": "http",
- "hostname": "localhost",
- "port": 7474,
- "graph": "data"
- "vertices": {
- "verbs": [
- "post",
- "share",
- "tweet"
- ],
- "objectType": "page"
- }
- },
- }
-
-Example Rexster configuration:
-
- {
- "graph": {
- "type": "rexster",
- "protocol": "http",
- "hostname": "localhost",
- "port": 8182,
- "graph": "data",
- "vertices": {
- "verbs": [
- "post",
- "share",
- "tweet"
- ],
- "objectType": "page"
- }
- },
- }
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/7afd6e0a/streams-contrib/streams-persist-graph/pom.xml
----------------------------------------------------------------------
diff --git a/streams-contrib/streams-persist-graph/pom.xml b/streams-contrib/streams-persist-graph/pom.xml
deleted file mode 100644
index 86458a5..0000000
--- a/streams-contrib/streams-persist-graph/pom.xml
+++ /dev/null
@@ -1,96 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <parent>
- <artifactId>streams-contrib</artifactId>
- <groupId>org.apache.streams</groupId>
- <version>0.1-SNAPSHOT</version>
- </parent>
- <modelVersion>4.0.0</modelVersion>
-
- <artifactId>streams-persist-graph</artifactId>
- <name>streams-persist-graph</name>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.streams</groupId>
- <artifactId>streams-config</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>com.typesafe</groupId>
- <artifactId>config</artifactId>
- <version>1.2.0</version>
- </dependency>
- <dependency>
- <groupId>org.apache.streams</groupId>
- <artifactId>streams-core</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.streams</groupId>
- <artifactId>streams-pojo</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.streams</groupId>
- <artifactId>streams-util</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.streams</groupId>
- <artifactId>streams-http</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.antlr</groupId>
- <artifactId>stringtemplate</artifactId>
- <version>4.0.2</version>
- </dependency>
- </dependencies>
- <build>
- <plugins>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>build-helper-maven-plugin</artifactId>
- <executions>
- <execution>
- <id>add-source</id>
- <phase>generate-sources</phase>
- <goals>
- <goal>add-source</goal>
- </goals>
- <configuration>
- <sources>
- <source>target/generated-sources/jsonschema2pojo</source>
- </sources>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.jsonschema2pojo</groupId>
- <artifactId>jsonschema2pojo-maven-plugin</artifactId>
- <configuration>
- <addCompileSourceRoot>true</addCompileSourceRoot>
- <generateBuilders>true</generateBuilders>
- <sourcePaths>
- <sourcePath>src/main/jsonschema</sourcePath>
- </sourcePaths>
- <outputDirectory>target/generated-sources/jsonschema2pojo</outputDirectory>
- <targetPackage>org.apache.streams.graph.pojo</targetPackage>
- <useLongIntegers>true</useLongIntegers>
- <useJodaDates>true</useJodaDates>
- </configuration>
- <executions>
- <execution>
- <goals>
- <goal>generate</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
-</project>
\ No newline at end of file