Repository: incubator-streams-master
Updated Branches:
  refs/heads/streams-master-0.3-incubating-rc1 [created] 425ac1f60


STREAMS-406

apache licenses
rat plugin


Project: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/commit/f46eef10
Tree: 
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/tree/f46eef10
Diff: 
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/diff/f46eef10

Branch: refs/heads/streams-master-0.3-incubating-rc1
Commit: f46eef107a7f7d522be87acffb6d1f020e6dc357
Parents: 4a4c78e
Author: Steve Blackmon @steveblackmon <sblack...@apache.org>
Authored: Sat Jun 11 20:07:48 2016 -0500
Committer: Steve Blackmon @steveblackmon <sblack...@apache.org>
Committed: Sat Jun 11 20:32:45 2016 -0500

----------------------------------------------------------------------
 CHANGELOG                                 |  10 +-
 pom.xml                                   |   7 +
 src/site/markdown/architecture.md         |   1 +
 src/site/markdown/concepts.md             |   1 +
 src/site/markdown/dependency-info.md      |   2 +
 src/site/markdown/downloads.md            |   2 +
 src/site/markdown/faq.md                  |   4 +-
 src/site/markdown/index.md                |   2 +
 src/site/markdown/integration.md          |   2 +
 src/site/markdown/release-setup.md        |   2 +
 src/site/markdown/release.md              |  95 ++++++--
 src/site/markdown/source-repository.md    |   2 +
 src/site/markdown/tutorial/build.md       |  16 +-
 src/site/markdown/tutorial/database.md    |   9 +-
 src/site/markdown/tutorial/docker.md      |   3 +-
 src/site/markdown/tutorial/environment.md |   6 +-
 src/site/markdown/website.md              |  24 +-
 src/site/markdown/who.md                  |   2 +
 src/site/resources/PPMC_Combined.txt      |  37 ---
 src/site/resources/architecture.dot       |  18 ++
 src/site/resources/architecture.dot.svg   | 150 ++++++++-----
 src/site/resources/example.dot            |  18 ++
 src/site/resources/example.dot.svg        | 299 +++++++++++++++++++++++++
 23 files changed, 571 insertions(+), 141 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/f46eef10/CHANGELOG
----------------------------------------------------------------------
diff --git a/CHANGELOG b/CHANGELOG
index 4563faf..4e52c68 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,7 +1,7 @@
 Apache Streams (Incubating)
 +++++++++++++++++++++++++++++++
 
-Apache Streams is be a lightweight server for ActivityStreams 
(activitystrea.ms). The role of Apache Streams is to provide a central point of 
aggregation, filtering and querying for Activities that have been submitted by 
disparate systems. Apache Streams also intends to include a mechanism for 
intelligent filtering and recommendation to reduce the noise to end users.
+Apache Streams is a lightweight server for ActivityStreams (activitystrea.ms). 
The role of Apache Streams is to provide a central point of aggregation, 
filtering and querying for Activities that have been submitted by disparate 
systems. Apache Streams also intends to include a mechanism for intelligent 
filtering and recommendation to reduce the noise to end users.
 
 
 Apache Streams will bring together individuals who are or are looking to 
increase and centralize the production, consumption and federation of 
ActivityStreams throughout enterprise organizations and the Internet as a 
whole. The target features include:
@@ -30,3 +30,11 @@ RELEASE 0.1: Streams Master POM
 +++++++++++++++++++++++++++++++++
 
 Initial release of project master POM that defines global meta-data and build 
processes for sub-modules and Streams project.
+
++++++++++++++++++++++++++++++++++
+
+RELEASE 0.3: Streams Master POM
+
++++++++++++++++++++++++++++++++++
+
+Consolidate dependency and plugin management into streams-master

http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/f46eef10/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 91e9586..603b9b9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -270,6 +270,7 @@
         <remote-resources.plugin.version>1.4</remote-resources.plugin.version>
         <reports.plugin.version>2.9</reports.plugin.version>
         <resources.plugin.version>2.7</resources.plugin.version>
+        <scala.plugin.version>3.2.2</scala.plugin.version>
         <scm.plugin.version>1.9.4</scm.plugin.version>
         <shade.plugin.version>2.4.3</shade.plugin.version>
         <site.plugin.version>3.5</site.plugin.version>
@@ -577,6 +578,11 @@
                     </dependencies>
                 </plugin>
                 <plugin>
+                    <groupId>net.alchim31.maven</groupId>
+                    <artifactId>scala-maven-plugin</artifactId>
+                    <version>${scala.plugin.version}</version>
+                </plugin>
+                <plugin>
                     <groupId>org.apache.maven.plugins</groupId>
                     <artifactId>maven-source-plugin</artifactId>
                     <version>${source.plugin.version}</version>
@@ -1058,6 +1064,7 @@
                                 <exclude>**/overlays/**</exclude>
                                 <exclude>**/src/main/resources/**</exclude>
                                 <exclude>**/src/test/resources/**</exclude>
+                                <exclude>**/src/site/resources/**</exclude>
                                 <exclude>**/.gitignore</exclude>
                                 <exclude>**/*.properties</exclude>
                                 <exclude>**/*.iml</exclude>

http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/f46eef10/src/site/markdown/architecture.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/architecture.md 
b/src/site/markdown/architecture.md
index 9f457a4..0921b8d 100644
--- a/src/site/markdown/architecture.md
+++ b/src/site/markdown/architecture.md
@@ -32,3 +32,4 @@ A standard usage of Apache Streams is to collect, normalize, 
and archive activit
 
 ![Example](example.dot.svg)
 
+###### Licensed under Apache License 2.0 - 
http://www.apache.org/licenses/LICENSE-2.0

http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/f46eef10/src/site/markdown/concepts.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/concepts.md b/src/site/markdown/concepts.md
index 9a580e6..8f76712 100644
--- a/src/site/markdown/concepts.md
+++ b/src/site/markdown/concepts.md
@@ -54,3 +54,4 @@ A Pipeline is a set of collection, processing, and storage 
components structured
 
 A Runtime is a module containing bindings that help setup and run a pipeline.  
Runtimes may submit pipeline binaries to an existing cluster, or may launch the 
process(es) to execute the stream directly.  
 
+###### Licensed under Apache License 2.0 - 
http://www.apache.org/licenses/LICENSE-2.0

http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/f46eef10/src/site/markdown/dependency-info.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/dependency-info.md 
b/src/site/markdown/dependency-info.md
index b674b8a..b053cae 100644
--- a/src/site/markdown/dependency-info.md
+++ b/src/site/markdown/dependency-info.md
@@ -103,3 +103,5 @@ Browse the "Project Modules" index of streams-project to 
find artifacts you migh
 </div>
 
 </div>
+
+###### Licensed under Apache License 2.0 - 
http://www.apache.org/licenses/LICENSE-2.0

http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/f46eef10/src/site/markdown/downloads.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/downloads.md b/src/site/markdown/downloads.md
index e1f6fff..a1e9815 100644
--- a/src/site/markdown/downloads.md
+++ b/src/site/markdown/downloads.md
@@ -6,3 +6,5 @@ All downloads can be verified using Apache Streams code signing.
 | Artifact | Version | Source | asc | md5 | sha1 |
 |----------|---------|
 | streams-project | 0.2-incubating | <a class="externalLink" 
href="dist.apache.org/repos/dist/release/incubator/streams/releases/streams-project/streams-project/streams-project-0.2-incubating-source-release.zip">zip</a>
 | <a class="externalLink" 
href="dist.apache.org/repos/dist/release/incubator/streams/releases/0.2-incubating/streams-project/streams-project-0.2-incubating-source-release.zip.asc">asc</a>
 | <a class="externalLink" 
href="dist.apache.org/repos/dist/release/incubator/streams/releases/0.2-incubating/streams-project/streams-project-0.2-incubating-source-release.zip.md5">md5</a>
 | <a class="externalLink" 
href="dist.apache.org/repos/dist/release/incubator/streams/releases/0.2-incubating/streams-project/streams-project-0.2-incubating-source-release.zip.sha1">sha1</a>
 |
+
+###### Licensed under Apache License 2.0 - 
http://www.apache.org/licenses/LICENSE-2.0

http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/f46eef10/src/site/markdown/faq.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/faq.md b/src/site/markdown/faq.md
index 6d41649..49f5feb 100644
--- a/src/site/markdown/faq.md
+++ b/src/site/markdown/faq.md
@@ -36,7 +36,7 @@ Apache Streams is not
 * only useful for projects fully dedicated to activity streams datasets
 
 The primary Streams git repository incubator-streams 
(org.apache.streams:streams-project) contains
- 
+
 * core interfaces and utilities
 * plugins for transforming schemas into source code and other artifacts
 * a library of modules for acquiring, transforming, and enriching data streams.
@@ -134,3 +134,5 @@ Then browse the 'Other Resources' menu to learn more about 
how streams works and
 * Write a new provider using an existing provider as a template.
 * Add new features (and / or tests) to an existing module you intend to use.
 * Build and contributing a new example.
+
+###### Licensed under Apache License 2.0 - 
http://www.apache.org/licenses/LICENSE-2.0

http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/f46eef10/src/site/markdown/index.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/index.md b/src/site/markdown/index.md
index bbff087..d5e24f1 100644
--- a/src/site/markdown/index.md
+++ b/src/site/markdown/index.md
@@ -13,3 +13,5 @@ The project aims to provide simple two-way data interchange 
with all popular RES
 
 ### Disclaimer
 Apache Streams is an effort undergoing incubation at [The Apache Software 
Foundation (ASF)](apache.org) sponsored by the [Apache Incubator 
PMC](incubator.apache.org). Incubation is required of all newly accepted 
projects until a further review indicates that the infrastructure, 
communications, and decision making process have stabilized in a manner 
consistent with other successful ASF projects. While incubation status is not 
necessarily a reflection of the completeness or stability of the code, it does 
indicate that the project has yet to be fully endorsed by the ASF.
+
+###### Licensed under Apache License 2.0 - 
http://www.apache.org/licenses/LICENSE-2.0

http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/f46eef10/src/site/markdown/integration.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/integration.md b/src/site/markdown/integration.md
index fe1b367..ae12471 100644
--- a/src/site/markdown/integration.md
+++ b/src/site/markdown/integration.md
@@ -13,3 +13,5 @@ This project uses [Jenkins](http://jenkins-ci.org/ "Jenkins") 
for continuous int
 ###streams-examples
 
 
[streams-examples](http://streams.incubator.apache.org/site/0.2-incubating/streams-examples
 "streams-examples") builds run at [builds.apache.com/job/Streams 
Examples](https://builds.apache.org/job/Streams%20Examples/ 
"builds.apache.com/job/Streams%20Examples")
+
+###### Licensed under Apache License 2.0 - 
http://www.apache.org/licenses/LICENSE-2.0

http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/f46eef10/src/site/markdown/release-setup.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/release-setup.md 
b/src/site/markdown/release-setup.md
index 1638643..d9dd778 100644
--- a/src/site/markdown/release-setup.md
+++ b/src/site/markdown/release-setup.md
@@ -72,3 +72,5 @@ Developers using Linux workstations can skip over the 
references to Cygwin. If u
 ####Configure Maven
 
 1. Update your ~/.m2/settings.xml with the properties from [Publishing Maven 
Artifacts](http://www.apache.org/dev/publishing-maven-artifacts.html#dev-env)
+
+###### Licensed under Apache License 2.0 - 
http://www.apache.org/licenses/LICENSE-2.0

http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/f46eef10/src/site/markdown/release.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/release.md b/src/site/markdown/release.md
index 6f8563a..20aaccd 100644
--- a/src/site/markdown/release.md
+++ b/src/site/markdown/release.md
@@ -23,7 +23,7 @@ As an alternative to releasing separately, the projects MAY 
be released together
     1. Increase the default Java heap available to Maven (required for Java SE 
6)   
 
             export MAVEN_OPTS="-Xmx1024m -XX:MaxPermSize=256m"
-    
+
     2. Use the latest Sun 1.7.0 JDK
     3. Use Maven 3.2.1 or later
     4. Make sure the [Release Setup](release-setup.html) steps have been 
performed.
@@ -39,14 +39,14 @@ As an alternative to releasing separately, the projects MAY 
be released together
 
 3. Create a release candidate branch from master.
    X should start at 1 and increment if early release candidates fail to 
complete the release cycle.
-    
+
         git checkout master
         git branch ${project.name}-${project.version}-rcX
-    
+
 4. Verify the source has the required license headers before trying to release:
 
         mvn -P apache-release clean rat:check -e -DskipTests
-    
+
 5. Do a dry run of the release:prepare step:  
 
         mvn -P apache-release release:prepare -DautoVersionSubmodules=true 
-DdryRun=true
@@ -70,22 +70,22 @@ As an alternative to releasing separately, the projects MAY 
be released together
 7. Cleanup the release prepare files again:  
 
         mvn -P apache-release release:clean
-    
+
 8. Prepare the release
     1. Run the "release:prepare" step for real this time. You'll be prompted 
for the same version information.
-    
+
             mvn -P apache-release -U clean release:prepare 
-DautoVersionSubmodules=true
-    
+
     2. Backup (zip or tar) your local release candidate directory in case you 
need to rollback the release after the next step is performed.
 9. Perform the release
     * This step will create a maven staging repository and site for use in 
testing and voting.
-    
+
             mvn -Papache-release -Darguments='-Dmaven.test.skip.exec=true' 
release:perform -Dgoals=deploy -DlocalRepoDirectory=. -DlocalCheckout=true
-    
+
     * If your local OS userid doesn't match your Apache userid, then you'll 
have to also override the value provided by the OS to Maven for the site-deploy 
step to work. This is known to work for Linux, but not for Mac and unknown for 
Windows.*
 
             -Duser.name=[your_apache_uid]
-    
+
 10. Verify the Nexus release artifacts
     1. Verify the staged artifacts in the nexus repo     
         * https://repository.apache.org/index.html
@@ -96,7 +96,7 @@ As an alternative to releasing separately, the projects MAY 
be released together
         * Staging repositories (under Build Promotion) --> Name column --> 
org.apache.streams
         * Click checkbox for the open staging repo (org.apache.streams-XXX) 
and press Close in the menu bar.
 11. Put the release candidate up for a vote
-     1. Create a VOTE email thread on dev@ to record votes as replies
+     1. Create a VOTE email thread on dev@ to record votes as replies using 
the template below.
      2. Create a DISCUSS email thread on dev@ for any vote questions
      3. Perform a review of the release and cast your vote. See the following 
for more details on Apache releases
            
[http://www.apache.org/dev/release.html](http://www.apache.org/dev/release.html)
  
@@ -105,6 +105,38 @@ As an alternative to releasing separately, the projects 
MAY be released together
          * reply to the initial email and prepend to the original subject 
"[RESULT]"
          * Include a list of everyone who voted +1, 0 or -1.
      6. If there are fewer than 3 +1 (binding) votes from IPMC members, submit 
a vote to gene...@incubator.apache.org requesting additional IPMC member votes.
+
+            I've created a ${project.name} ${project.version} release 
candidate, with the following artifacts up for a vote:
+
+            Git tag ${project.name}-${project.version}-${release.revision} 
(commit xxxxxxxx)
+            
https://git-wip-us.apache.org/repos/asf?p=${project.name}.git;a=commit;h=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+
+            Maven staging repo:
+            
https://repository.apache.org/content/repositories/${release.repository}
+
+            The source zip, including signatures, digests, etc. can be found 
at:
+            
http://repository.apache.org/content/repositories/${release.repository}/org/apache/streams/${project.name}/${project.version}
+
+            Source release:
+            
http://repository.apache.org/content/repositories/${release.repository}/org/apache/streams/${project.name}/${project.version}/${project.name}-${project.version}-incubating-source-release.zip
+
+            Checksums of 
${project.name}-${project.version}-incubating-source-release.zip:
+            MD5: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+            SHA1: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+
+            Release artifacts are signed with the following key:
+            https://people.apache.org/keys/committer/xxxxxxxxx.asc
+
+            (miscellaneous notes)
+
+            Please take the time to verify the artifacts before casting your 
vote.
+
+            Vote will be open for 72 hours.
+
+            [ ] +1  approve
+            [ ] +0  no opinion
+            [ ] -1  disapprove (and reason why)
+
 12. Finalizing a release
     1. Promote the staged nexus artifacts  
         * https://repository.apache.org/index.html
@@ -121,13 +153,13 @@ As an alternative to releasing separately, the projects 
MAY be released together
             wget 
https://repository.apache.org/content/repositories/releases/org/apache/streams/${project.name}/${project.version}/${project.name}-${project.version}-source-release.zip.md5
   
             svn add ${project.name}-*
             svn commit -m "Committing Source Release for 
${project.name}-${project.version}
-    
+
     3. Create an official release tag from the successful release candidate 
tag.
-    
+
             git checkout ${project.name}-${project.version}-rcX
             git tag -a ${project.name}-${project.version} -m 'release tag 
${project.name}-${project.version}'
             git push origin :refs/tags/streams-project-${project.version}
-    
+
     4. Update the staged website
         *  Update the downloads page (downloads.md) to add new version using 
the mirrored URLs
         *  Modify the URL for the prior release to the archived URL for the 
release
@@ -193,4 +225,37 @@ In order to perform a combined release of the 
streams-master and streams-project
       *  Build the streams-master FIRST
       *  When prompted to change dependencies on SNAPSHOTs, do so to the 
corresponding releases that you just built
   *  Execute the remaining steps using the following e-mail templates  
-      * [PMC Release Vote](PPMC_Combined.txt)  
+
+    to: streams-...@incubator.apache.org
+    subject: [VOTE] Apache Streams ${release.version} Release Candidate
+
+    I've created a combined ${release.version} release candidate, with the
+    following artifacts up for a vote:
+
+    GIT source tags:
+    
https://git.apache.org/repos/${release.master.repository}/tags/${release.master.repository}-${release.version}-rc${release.revision}/
+    
https://git.apache.org/repos/${release.project.repository}/tags/${release.project.repository}-${release.version}-rc${release.revision}/
+    
https://git.apache.org/repos/${release.examples.repository}/tags/${release.examples.repository}-${release.version}-rc${release.revision}/
+
+    Maven staging repo:
+    
https://repository.apache.org/content/repositories/${release.master.repository}/
+    
https://repository.apache.org/content/repositories/${release.project.repository}/
+    
https://repository.apache.org/content/repositories/${release.examples.repository}/
+
+    Source releases:
+    
https://repository.apache.org/content/repositories/${release.master.repository}/org/apache/streams/streams-master/${release.version}/streams-master-${release.version}-source-release.zip
+    
https://repository.apache.org/content/repositories/${release.project.repository}/org/apache/streams/streams-project/${release.version}/streams-project-${release.version}-source-release.zip
+    
https://repository.apache.org/content/repositories/${release.examples.repository}/org/apache/streams/streams-examples/${release.version}/streams-examples-${release.version}-source-release.zip
+
+    PGP release keys:
+    https://svn.apache.org/repos/asf/streams/KEYS
+
+    Please take the time to verify the artifacts before casting your vote.
+
+    Vote will be open for 72 hours.
+
+    [ ] +1  approve
+    [ ] +0  no opinion
+    [ ] -1  disapprove (and reason why)
+
+###### Licensed under Apache License 2.0 - 
http://www.apache.org/licenses/LICENSE-2.0

http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/f46eef10/src/site/markdown/source-repository.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/source-repository.md 
b/src/site/markdown/source-repository.md
index 8f817fa..f94e7fb 100644
--- a/src/site/markdown/source-repository.md
+++ b/src/site/markdown/source-repository.md
@@ -23,3 +23,5 @@ However, anyone may open pull requests via github.org.
 
[streams-examples](http://streams.incubator.apache.org/site/0.2-incubating/streams-project
 "streams-examples") source is officially hosted at 
[git-wip-us.apache.org/repos/asf/incubator-streams-examples.git](https://git-wip-us.apache.org/repos/asf/incubator-streams-examples.git
 "https://git-wip-us.apache.org/repos/asf/incubator-streams-examples.git";)
 
 
[streams-examples](http://streams.incubator.apache.org/site/0.2-incubating/streams-project
 "streams-examples") source is also hosted at 
[github.com/apache/incubator-streams-examples.git](https://github.com/apache/incubator-streams-examples.git
 "https://github.com/apache/incubator-streams-examples.git";)
+
+###### Licensed under Apache License 2.0 - 
http://www.apache.org/licenses/LICENSE-2.0

http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/f46eef10/src/site/markdown/tutorial/build.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/tutorial/build.md 
b/src/site/markdown/tutorial/build.md
index a940bdc..dbccb80 100644
--- a/src/site/markdown/tutorial/build.md
+++ b/src/site/markdown/tutorial/build.md
@@ -7,14 +7,14 @@ This tutorial assumes you are using linux or Mac OS X.
 You'll need the following tools installed in your command line:
 
 * Git
-* Java SDK 
+* Java SDK
 * Maven
 * Docker
 
 #### Git
 
     git -version
-    
+
 | Possible result | Explanation |
 |-----------------|-------------|
 | bash: git: No such file or directory | You need to install git |
@@ -58,7 +58,7 @@ Run from your command line:
 
     git clone https://github.com/apache/incubator-streams
     git clone https://github.com/apache/incubator-streams-examples
-  
+
 ### Build Projects
 
 Run from your command line:
@@ -66,16 +66,18 @@ Run from your command line:
     export MAVEN_OPTS="-Xmx2G"
     cd incubator-streams
     mvn clean install -Dmaven.test.skip.exec=true
-  
+
 | Possible result | Explanation |
 |-----------------|-------------|
 | BUILD SUCCESSFUL | You are all good |
 | BUILD FAILED | Check yourself |
-  
+
     cd ../incubator-streams-examples
     mvn clean package
-  
+
 | Possible result | Explanation |
 |-----------------|-------------|
 | BUILD SUCCESSFUL | You are all good |
-| BUILD FAILED | Check yourself |
\ No newline at end of file
+| BUILD FAILED | Check yourself |
+
+###### Licensed under Apache License 2.0 - 
http://www.apache.org/licenses/LICENSE-2.0

http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/f46eef10/src/site/markdown/tutorial/database.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/tutorial/database.md 
b/src/site/markdown/tutorial/database.md
index 1d7d752..1c24579 100644
--- a/src/site/markdown/tutorial/database.md
+++ b/src/site/markdown/tutorial/database.md
@@ -9,7 +9,7 @@ We'll assume you've got docker up and running.
 Run from your command line:
 
     docker ps
-  
+
 If you see a (possibly empty) list of running containers, you are good.
 
 ### Run Elasticsearch
@@ -17,11 +17,11 @@ If you see a (possibly empty) list of running containers, 
you are good.
 Elasticsearch is a great database for storing content from your streams.
 
     docker run -d --name elasticsearch elasticsearch
-  
-### Add Elasticsearch container details to your configuration 
+
+### Add Elasticsearch container details to your configuration
 
     echo $(docker-machine ip)
-  
+
 Put the following into elasticsearch.conf (in the same directory as 
reference.conf)
 
     include "reference.conf"
@@ -41,3 +41,4 @@ Put the following into elasticsearch.conf (in the same 
directory as reference.co
         ]
     }  
 
+###### Licensed under Apache License 2.0 - 
http://www.apache.org/licenses/LICENSE-2.0

http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/f46eef10/src/site/markdown/tutorial/docker.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/tutorial/docker.md 
b/src/site/markdown/tutorial/docker.md
index 132986b..4144404 100644
--- a/src/site/markdown/tutorial/docker.md
+++ b/src/site/markdown/tutorial/docker.md
@@ -13,6 +13,7 @@ We'll assume you've got docker up and running.
 Run from your command line:
 
     docker ps
-  
+
 If you see a (possibly empty) list of running containers, you are good.
 
+###### Licensed under Apache License 2.0 - 
http://www.apache.org/licenses/LICENSE-2.0

http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/f46eef10/src/site/markdown/tutorial/environment.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/tutorial/environment.md 
b/src/site/markdown/tutorial/environment.md
index 902c330..d353a52 100644
--- a/src/site/markdown/tutorial/environment.md
+++ b/src/site/markdown/tutorial/environment.md
@@ -8,10 +8,10 @@ Create a new empty folder there and export the path to a 
variables.
     export STREAMS=$(cd ~streams; pwd)
 
 Next, create a configuration file to hold secrets for your streams to use.
-  
+
     cd $STREAMS
     touch reference.conf
-  
+
 To get started, put the following into reference.conf
 
     twitter {
@@ -31,4 +31,4 @@ The accessToken and accessTokenSecret are per-user.  They can 
be obtained by nav
 
     
https://api.twitter.com/oauth/authenticate?oauth_token=UIJ0AUxCJatpKDUyFt0OTSEP4asZgqxRwUCT0AMSwc&oauth_callback=http%3A%2F%2Foauth.streamstutorial.w2odata.com%3A8080%2Fsocialauthdemo%2FsocialAuthSuccessAction.do
 
-
+###### Licensed under Apache License 2.0 - 
http://www.apache.org/licenses/LICENSE-2.0

http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/f46eef10/src/site/markdown/website.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/website.md b/src/site/markdown/website.md
index 4b8c3e5..e329df0 100644
--- a/src/site/markdown/website.md
+++ b/src/site/markdown/website.md
@@ -2,7 +2,7 @@
 
 http://streams.incubator.apache.org is a set of interconnected websites 
generated
 by the maven site plugin.  The front page, this page, and most pages linked in 
the
-top nav of the site are part of incubator-streams-master.  incubator-streams 
and 
+top nav of the site are part of incubator-streams-master.  incubator-streams 
and
 incubator-streams-examples also contain documentation of specific modules and 
examples that
 are part of the project webpage.
 
@@ -21,7 +21,7 @@ Most HTML pages are generated from markdown.  The 
maven-site-plugin does this du
 * src/main/jsonschema
 * src/main/xmlschema
 
-JSON and XML Schemas through-out the project are copied to the web page of 
their respective modules so they can be 
+JSON and XML Schemas through-out the project are copied to the web page of 
their respective modules so they can be
 linked to in other projects.
 
 This allows users to extend the canonical streams schemas incrementally and/or 
re-use specific fields as they see fit.
@@ -31,7 +31,7 @@ This allows users to extend the canonical streams schemas 
incrementally and/or r
 * src/main/resources
 * src/test/resources
 
-Other resources including .conf and .properties files are copied to the web 
page of their respective modules so 
+Other resources including .conf and .properties files are copied to the web 
page of their respective modules so
 they can be linked to across projects and in external projects.
 
 This allows users to import HOCON from modules outside their sphere of control 
and adapt to changes upstream.
@@ -67,7 +67,7 @@ If this is a brand new snapshot or release version, you first 
need to create a d
     mkdir site/${project.version}
     svn add site/${project.version}
     svn commit -m "svn add site/${project.version}"
-    
+
 The first time a specific site is being published for this version, you must 
create the directory where it will be published.
 
     mkdir site/${project.version}/${project.artifactId}
@@ -94,7 +94,7 @@ This policy of removing old snapshots keeps external projects 
from linking to sn
 Release artifacts should be retained indefinitely.
 
 #### Generating and committing a new website version
- 
+
 The instructions below presume:
 
 * you have a shell open in the root of a project repository
@@ -115,11 +115,11 @@ First, ensure that you have local credentials capable of 
publishing the site.
 Next, generate SVG resources for all DOT diagrams in the source tree
 
     for dot in $(find . -name *.dot); do dot -Tsvg $dot -o $dot.svg; done
-   
+
 Then, generate the site that will be published
-     
+
     mvn clean generate-sources package -Dmaven.test.skip.exec=true site:site 
site:stage
-    
+
 At this point you can open target/staging/index.html and do a sanity check on 
the site you intend to publish.
 
 Finally, publish the site.
@@ -143,11 +143,11 @@ Typically you can use Get streams Working Copy, although 
you might need to Force
 You'll probably need to 'Update this directory' if you want to inspect the 
changes you committed above.
 
 'View Staging Builds' should show a build around the time of the previous 
commit.  This means the change has been staged.
- 
+
 You should now be able to access and review the published site(s) via the 
staging URL:
 
 * http://streams.staging.apache.org/
-    
+
 At this point use explicit versions to access and review the new 
documentation, i.e.
 
 * 
http://streams.staging.apache.org/site/0.3-incubating-SNAPSHOT/streams-master/index.html
@@ -180,7 +180,7 @@ You should now be able to use 'latest' as an alias for the 
docs you are deployin
 * http://streams.staging.apache.org/site/latest/streams-project/index.html
 * http://streams.staging.apache.org/site/latest/streams-examples/index.html
 
-#### Promoting a new website version 
+#### Promoting a new website version
 
 All that's left at this point is to promote from staging to production.
 
@@ -188,3 +188,5 @@ If a release is happening, this should happen just prior to 
the release announce
 
 If you are just updating content associated with a snapshot, use good 
judgement to determine whether the list should have a chance to review
 and/or vote on the changes in staging prior to promotion.
+
+###### Licensed under Apache License 2.0 - 
http://www.apache.org/licenses/LICENSE-2.0

http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/f46eef10/src/site/markdown/who.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/who.md b/src/site/markdown/who.md
index 7635a20..4add70f 100644
--- a/src/site/markdown/who.md
+++ b/src/site/markdown/who.md
@@ -8,3 +8,5 @@
 | Twitter (Gnip) | [Activity Streams 
Intro](http://support.gnip.com/articles/activity-streams-intro.html "Activity 
Streams Intro") |
 
 If your organization supports activity streams, please let us know on the 
project mailing list.
+
+###### Licensed under Apache License 2.0 - 
http://www.apache.org/licenses/LICENSE-2.0

http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/f46eef10/src/site/resources/PPMC_Combined.txt
----------------------------------------------------------------------
diff --git a/src/site/resources/PPMC_Combined.txt 
b/src/site/resources/PPMC_Combined.txt
deleted file mode 100644
index cf2a03d..0000000
--- a/src/site/resources/PPMC_Combined.txt
+++ /dev/null
@@ -1,37 +0,0 @@
-to: streams-...@incubator.apache.org
-subject: [VOTE] Apache Streams 0.1-incubating Release Candidate
-
-I've created a combined ${release.version} release candidate, with the
-following artifacts up for a vote:
-
-SVN source tag (r${release.master.revision}):
-https://svn.apache.org/repos/asf/rave/rave-master-pom/tags/${release.version}/
-
-SVN source tag (r${release.project.revision}):
-
-https://svn.apache.org/repos/asf/rave/tags/${release.version}/
-
-Maven staging repo:
-https://repository.apache.org/content/repositories/${release.master.repository}/
-https://repository.apache.org/content/repositories/${release.project.repository}/
-
-
-Source releases:
-https://repository.apache.org/content/repositories/${release.master.repository}/org/apache/rave/rave-master/0.1-incubating/rave-master-0.1-incubating-source-release.zip
-https://repository.apache.org/content/repositories/${release.project.repository}/org/apache/rave/rave-project/0.1-incubating/rave-project-0.1-incubating-source-release.zip
-
-Demo Artifacts
-http://people.apache.org/builds/incubator/rave/${release.version}/rave-${release.version}-bin.tar.gz
-http://people.apache.org/builds/incubator/rave/${release.version}/rave-${release.version}-bin.zip
-
-PGP release keys:
-https://svn.apache.org/repos/asf/rave/KEYS
-
-Please take the time to verify the artifacts before casting your vote.
-
-Vote will be open for 72 hours.
-
-[ ] +1  approve
-[ ] +0  no opinion
-[ ] -1  disapprove (and reason why)
-

http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/f46eef10/src/site/resources/architecture.dot
----------------------------------------------------------------------
diff --git a/src/site/resources/architecture.dot 
b/src/site/resources/architecture.dot
index 6aaa8a6..1a0e79e 100644
--- a/src/site/resources/architecture.dot
+++ b/src/site/resources/architecture.dot
@@ -1,3 +1,21 @@
+/*
+  ~ 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.
+  */
+
 digraph g {
 
   graph [compound = true];

http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/f46eef10/src/site/resources/architecture.dot.svg
----------------------------------------------------------------------
diff --git a/src/site/resources/architecture.dot.svg 
b/src/site/resources/architecture.dot.svg
index ea6726f..ab73d2a 100644
--- a/src/site/resources/architecture.dot.svg
+++ b/src/site/resources/architecture.dot.svg
@@ -4,133 +4,161 @@
 <!-- Generated by graphviz version 2.39.20160214.2135 (20160214.2135)
  -->
 <!-- Title: g Pages: 1 -->
-<svg width="340pt" height="406pt"
- viewBox="0.00 0.00 340.00 406.00" xmlns="http://www.w3.org/2000/svg"; 
xmlns:xlink="http://www.w3.org/1999/xlink";>
+<svg width="475pt" height="406pt"
+ viewBox="0.00 0.00 475.00 406.00" xmlns="http://www.w3.org/2000/svg"; 
xmlns:xlink="http://www.w3.org/1999/xlink";>
 <g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 402)">
 <title>g</title>
-<polygon fill="white" stroke="transparent" points="-4,4 -4,-402 336,-402 336,4 
-4,4"/>
+<polygon fill="white" stroke="transparent" points="-4,4 -4,-402 471,-402 471,4 
-4,4"/>
 <g id="clust1" class="cluster">
 <title>cluster_upstream</title>
-<polygon fill="none" stroke="black" points="8,-316 8,-390 324,-390 324,-316 
8,-316"/>
-<text text-anchor="middle" x="166" y="-374.8" font-family="Times,serif" 
font-size="14.00">Upstream Systems</text>
+<polygon fill="none" stroke="black" points="33,-316 33,-390 459,-390 459,-316 
33,-316"/>
+<text text-anchor="middle" x="246" y="-374.8" font-family="Times,serif" 
font-size="14.00">Upstream Systems</text>
 </g>
 <g id="clust2" class="cluster">
 <title>cluster_streams</title>
-<polygon fill="none" stroke="black" points="73,-90 73,-308 319,-308 319,-90 
73,-90"/>
-<text text-anchor="middle" x="196" y="-292.8" font-family="Times,serif" 
font-size="14.00">Apache Streams Pipelines</text>
+<polygon fill="none" stroke="black" points="87,-90 87,-308 333,-308 333,-90 
87,-90"/>
+<text text-anchor="middle" x="210" y="-292.8" font-family="Times,serif" 
font-size="14.00">Apache Streams Pipelines</text>
 </g>
 <g id="clust3" class="cluster">
 <title>cluster_downstream</title>
-<polygon fill="none" stroke="black" points="52,-8 52,-82 252,-82 252,-8 
52,-8"/>
-<text text-anchor="middle" x="152" y="-66.8" font-family="Times,serif" 
font-size="14.00">Downstream Systems</text>
+<polygon fill="none" stroke="black" points="8,-8 8,-82 318,-82 318,-8 8,-8"/>
+<text text-anchor="middle" x="163" y="-66.8" font-family="Times,serif" 
font-size="14.00">Downstream Systems</text>
 </g>
 <!-- upstream_databases -->
 <g id="node1" class="node">
 <title>upstream_databases</title>
-<ellipse fill="none" stroke="black" cx="154" cy="-342" rx="45.9114" ry="18"/>
-<text text-anchor="middle" x="154" y="-337.8" font-family="Times,serif" 
font-size="14.00">Databases</text>
+<path fill="none" stroke="black" d="M451.252,-356.727C451.252,-358.533 
435.003,-360 415,-360 394.997,-360 378.748,-358.533 378.748,-356.727 
378.748,-356.727 378.748,-327.273 378.748,-327.273 378.748,-325.467 
394.997,-324 415,-324 435.003,-324 451.252,-325.467 451.252,-327.273 
451.252,-327.273 451.252,-356.727 451.252,-356.727"/>
+<path fill="none" stroke="black" d="M451.252,-356.727C451.252,-354.921 
435.003,-353.455 415,-353.455 394.997,-353.455 378.748,-354.921 
378.748,-356.727"/>
+<text text-anchor="middle" x="415" y="-337.8" font-family="Times,serif" 
font-size="14.00">Databases</text>
 </g>
 <!-- persistReaders -->
-<g id="node5" class="node">
+<g id="node6" class="node">
 <title>persistReaders</title>
-<ellipse fill="none" stroke="black" cx="143" cy="-260" rx="62.3494" ry="18"/>
-<text text-anchor="middle" x="143" y="-255.8" font-family="Times,serif" 
font-size="14.00">PersistReaders</text>
+<ellipse fill="none" stroke="black" cx="263" cy="-260" rx="62.3494" ry="18"/>
+<text text-anchor="middle" x="263" y="-255.8" font-family="Times,serif" 
font-size="14.00">PersistReaders</text>
 </g>
 <!-- upstream_databases&#45;&gt;persistReaders -->
-<g id="edge3" class="edge">
+<g id="edge2" class="edge">
 <title>upstream_databases&#45;&gt;persistReaders</title>
-<path fill="none" stroke="black" d="M151.559,-323.802C150.163,-313.398 
148.382,-300.122 146.807,-288.377"/>
-<polygon fill="black" stroke="black" points="150.233,-287.593 145.434,-278.148 
143.295,-288.524 150.233,-287.593"/>
+<path fill="none" stroke="black" d="M385.569,-324.76C380.401,-321.801 
375.059,-318.784 370,-316 348.017,-303.904 323.204,-290.879 303.012,-280.438"/>
+<polygon fill="black" stroke="black" points="304.578,-277.307 294.086,-275.835 
301.369,-283.529 304.578,-277.307"/>
 </g>
-<!-- upstream_generators -->
+<!-- upstream_filesystems -->
 <g id="node2" class="node">
+<title>upstream_filesystems</title>
+<polygon fill="none" stroke="black" points="361.117,-360 290.883,-360 
290.883,-364 278.883,-364 278.883,-324 361.117,-324 361.117,-360"/>
+<polyline fill="none" stroke="black" points="278.883,-360 290.883,-360 "/>
+<text text-anchor="middle" x="320" y="-337.8" font-family="Times,serif" 
font-size="14.00">Filesystems</text>
+</g>
+<!-- upstream_filesystems&#45;&gt;persistReaders -->
+<g id="edge3" class="edge">
+<title>upstream_filesystems&#45;&gt;persistReaders</title>
+<path fill="none" stroke="black" d="M307.35,-323.802C299.696,-312.791 
289.806,-298.563 281.308,-286.338"/>
+<polygon fill="black" stroke="black" points="284,-284.079 275.419,-277.865 
278.253,-288.074 284,-284.079"/>
+</g>
+<!-- upstream_generators -->
+<g id="node3" class="node">
 <title>upstream_generators</title>
-<ellipse fill="none" stroke="black" cx="267" cy="-342" rx="48.8014" ry="18"/>
-<text text-anchor="middle" x="267" y="-337.8" font-family="Times,serif" 
font-size="14.00">Generators</text>
+<ellipse fill="none" stroke="black" cx="90" cy="-342" rx="48.8014" ry="18"/>
+<text text-anchor="middle" x="90" y="-337.8" font-family="Times,serif" 
font-size="14.00">Generators</text>
 </g>
 <!-- providers -->
-<g id="node4" class="node">
+<g id="node5" class="node">
 <title>providers</title>
-<ellipse fill="none" stroke="black" cx="267" cy="-260" rx="44.0078" ry="18"/>
-<text text-anchor="middle" x="267" y="-255.8" font-family="Times,serif" 
font-size="14.00">Providers</text>
+<ellipse fill="none" stroke="black" cx="139" cy="-260" rx="44.0078" ry="18"/>
+<text text-anchor="middle" x="139" y="-255.8" font-family="Times,serif" 
font-size="14.00">Providers</text>
 </g>
 <!-- upstream_generators&#45;&gt;providers -->
 <g id="edge1" class="edge">
 <title>upstream_generators&#45;&gt;providers</title>
-<path fill="none" stroke="black" d="M267,-323.802C267,-313.398 267,-300.122 
267,-288.377"/>
-<polygon fill="black" stroke="black" points="270.5,-288.148 267,-278.148 
263.5,-288.148 270.5,-288.148"/>
+<path fill="none" stroke="black" d="M100.632,-324.207C107.182,-313.247 
115.703,-298.987 123.05,-286.691"/>
+<polygon fill="black" stroke="black" points="126.263,-288.138 128.388,-277.758 
120.254,-284.547 126.263,-288.138"/>
 </g>
 <!-- upstream_queues -->
-<g id="node3" class="node">
+<g id="node4" class="node">
 <title>upstream_queues</title>
-<ellipse fill="none" stroke="black" cx="53" cy="-342" rx="36.7576" ry="18"/>
-<text text-anchor="middle" x="53" y="-337.8" font-family="Times,serif" 
font-size="14.00">Queues</text>
+<polygon fill="none" stroke="black" points="239.136,-360 178.864,-360 
157.398,-324 260.602,-324 239.136,-360"/>
+<text text-anchor="middle" x="209" y="-337.8" font-family="Times,serif" 
font-size="14.00">Queues</text>
 </g>
 <!-- upstream_queues&#45;&gt;persistReaders -->
-<g id="edge2" class="edge">
+<g id="edge4" class="edge">
 <title>upstream_queues&#45;&gt;persistReaders</title>
-<path fill="none" stroke="black" d="M70.7811,-325.799C83.7482,-313.985 
101.545,-297.77 116.227,-284.393"/>
-<polygon fill="black" stroke="black" points="118.978,-286.621 124.013,-277.299 
114.264,-281.447 118.978,-286.621"/>
+<path fill="none" stroke="black" d="M220.984,-323.802C228.235,-312.791 
237.605,-298.563 245.655,-286.338"/>
+<polygon fill="black" stroke="black" points="248.658,-288.142 251.235,-277.865 
242.812,-284.292 248.658,-288.142"/>
 </g>
 <!-- processors -->
-<g id="node6" class="node">
+<g id="node7" class="node">
 <title>processors</title>
-<ellipse fill="none" stroke="black" cx="146" cy="-188" rx="47.8668" ry="18"/>
-<text text-anchor="middle" x="146" y="-183.8" font-family="Times,serif" 
font-size="14.00">Processors</text>
+<ellipse fill="none" stroke="black" cx="179" cy="-188" rx="47.8668" ry="18"/>
+<text text-anchor="middle" x="179" y="-183.8" font-family="Times,serif" 
font-size="14.00">Processors</text>
 </g>
 <!-- providers&#45;&gt;processors -->
-<g id="edge4" class="edge">
+<g id="edge5" class="edge">
 <title>providers&#45;&gt;processors</title>
-<path fill="none" stroke="black" d="M241.929,-245.082C224.16,-234.509 
200.097,-220.19 180.516,-208.539"/>
-<polygon fill="black" stroke="black" points="182.257,-205.502 171.874,-203.396 
178.678,-211.518 182.257,-205.502"/>
+<path fill="none" stroke="black" d="M148.888,-242.202C153.503,-233.894 
159.094,-223.832 164.198,-214.643"/>
+<polygon fill="black" stroke="black" points="167.291,-216.284 169.087,-205.843 
161.171,-212.884 167.291,-216.284"/>
 </g>
 <!-- persistReaders&#45;&gt;processors -->
-<g id="edge5" class="edge">
+<g id="edge6" class="edge">
 <title>persistReaders&#45;&gt;processors</title>
-<path fill="none" stroke="black" d="M143.757,-241.831C144.078,-234.131 
144.459,-224.974 144.816,-216.417"/>
-<polygon fill="black" stroke="black" points="148.313,-216.55 145.233,-206.413 
141.319,-216.259 148.313,-216.55"/>
+<path fill="none" stroke="black" d="M243.093,-242.937C232.135,-233.544 
218.371,-221.747 206.41,-211.494"/>
+<polygon fill="black" stroke="black" points="208.345,-208.543 198.474,-204.692 
203.789,-213.857 208.345,-208.543"/>
 </g>
 <!-- processors&#45;&gt;processors -->
-<g id="edge6" class="edge">
+<g id="edge7" class="edge">
 <title>processors&#45;&gt;processors</title>
-<path fill="none" stroke="black" d="M179.246,-201.025C196.437,-203.029 
211.933,-198.688 211.933,-188 211.933,-179.483 202.093,-174.996 
189.397,-174.539"/>
-<polygon fill="black" stroke="black" points="189.087,-171.049 179.246,-174.975 
189.387,-178.042 189.087,-171.049"/>
+<path fill="none" stroke="black" d="M212.246,-201.025C229.437,-203.029 
244.933,-198.688 244.933,-188 244.933,-179.483 235.093,-174.996 
222.397,-174.539"/>
+<polygon fill="black" stroke="black" points="222.087,-171.049 212.246,-174.975 
222.387,-178.042 222.087,-171.049"/>
 </g>
 <!-- persistWriters -->
-<g id="node7" class="node">
+<g id="node8" class="node">
 <title>persistWriters</title>
-<ellipse fill="none" stroke="black" cx="146" cy="-116" rx="59.7202" ry="18"/>
-<text text-anchor="middle" x="146" y="-111.8" font-family="Times,serif" 
font-size="14.00">PersistWriters</text>
+<ellipse fill="none" stroke="black" cx="179" cy="-116" rx="59.7202" ry="18"/>
+<text text-anchor="middle" x="179" y="-111.8" font-family="Times,serif" 
font-size="14.00">PersistWriters</text>
 </g>
 <!-- processors&#45;&gt;persistWriters -->
-<g id="edge7" class="edge">
+<g id="edge8" class="edge">
 <title>processors&#45;&gt;persistWriters</title>
-<path fill="none" stroke="black" d="M146,-169.831C146,-162.131 146,-152.974 
146,-144.417"/>
-<polygon fill="black" stroke="black" points="149.5,-144.413 146,-134.413 
142.5,-144.413 149.5,-144.413"/>
+<path fill="none" stroke="black" d="M179,-169.831C179,-162.131 179,-152.974 
179,-144.417"/>
+<polygon fill="black" stroke="black" points="182.5,-144.413 179,-134.413 
175.5,-144.413 182.5,-144.413"/>
 </g>
 <!-- downstream_databases -->
-<g id="node8" class="node">
+<g id="node9" class="node">
 <title>downstream_databases</title>
-<ellipse fill="none" stroke="black" cx="198" cy="-34" rx="45.9114" ry="18"/>
-<text text-anchor="middle" x="198" y="-29.8" font-family="Times,serif" 
font-size="14.00">Databases</text>
+<path fill="none" stroke="black" d="M310.252,-48.7273C310.252,-50.5331 
294.003,-52 274,-52 253.997,-52 237.748,-50.5331 237.748,-48.7273 
237.748,-48.7273 237.748,-19.2727 237.748,-19.2727 237.748,-17.4669 253.997,-16 
274,-16 294.003,-16 310.252,-17.4669 310.252,-19.2727 310.252,-19.2727 
310.252,-48.7273 310.252,-48.7273"/>
+<path fill="none" stroke="black" d="M310.252,-48.7273C310.252,-46.9214 
294.003,-45.4545 274,-45.4545 253.997,-45.4545 237.748,-46.9214 
237.748,-48.7273"/>
+<text text-anchor="middle" x="274" y="-29.8" font-family="Times,serif" 
font-size="14.00">Databases</text>
 </g>
 <!-- persistWriters&#45;&gt;downstream_databases -->
-<g id="edge8" class="edge">
+<g id="edge9" class="edge">
 <title>persistWriters&#45;&gt;downstream_databases</title>
-<path fill="none" stroke="black" d="M157.283,-98.2072C164.35,-87.0636 
173.579,-72.5096 181.464,-60.0761"/>
-<polygon fill="black" stroke="black" points="184.518,-61.7959 186.917,-51.4764 
178.606,-58.047 184.518,-61.7959"/>
+<path fill="none" stroke="black" d="M205.231,-99.7444C213.138,-94.4324 
221.66,-88.2762 229,-82 236.778,-75.3492 244.624,-67.4744 251.537,-60.0471"/>
+<polygon fill="black" stroke="black" points="254.493,-61.9981 258.625,-52.2422 
249.311,-57.292 254.493,-61.9981"/>
+</g>
+<!-- downstream_filesystems -->
+<g id="node10" class="node">
+<title>downstream_filesystems</title>
+<polygon fill="none" stroke="black" points="220.117,-52 149.883,-52 
149.883,-56 137.883,-56 137.883,-16 220.117,-16 220.117,-52"/>
+<polyline fill="none" stroke="black" points="137.883,-52 149.883,-52 "/>
+<text text-anchor="middle" x="179" y="-29.8" font-family="Times,serif" 
font-size="14.00">Filesystems</text>
+</g>
+<!-- persistWriters&#45;&gt;downstream_filesystems -->
+<g id="edge10" class="edge">
+<title>persistWriters&#45;&gt;downstream_filesystems</title>
+<path fill="none" stroke="black" d="M179,-97.8015C179,-87.3976 179,-74.1215 
179,-62.3768"/>
+<polygon fill="black" stroke="black" points="182.5,-62.1476 179,-52.1476 
175.5,-62.1476 182.5,-62.1476"/>
 </g>
 <!-- downstream_queues -->
-<g id="node9" class="node">
+<g id="node11" class="node">
 <title>downstream_queues</title>
-<ellipse fill="none" stroke="black" cx="97" cy="-34" rx="36.7576" ry="18"/>
-<text text-anchor="middle" x="97" y="-29.8" font-family="Times,serif" 
font-size="14.00">Queues</text>
+<polygon fill="none" stroke="black" points="98.1365,-52 37.8635,-52 16.398,-16 
119.602,-16 98.1365,-52"/>
+<text text-anchor="middle" x="68" y="-29.8" font-family="Times,serif" 
font-size="14.00">Queues</text>
 </g>
 <!-- persistWriters&#45;&gt;downstream_queues -->
-<g id="edge9" class="edge">
+<g id="edge11" class="edge">
 <title>persistWriters&#45;&gt;downstream_queues</title>
-<path fill="none" stroke="black" d="M135.368,-98.2072C128.709,-87.0636 
120.012,-72.5096 112.582,-60.0761"/>
-<polygon fill="black" stroke="black" points="115.577,-58.2652 107.443,-51.4764 
109.568,-61.8559 115.577,-58.2652"/>
+<path fill="none" stroke="black" d="M154.094,-99.5613C146.007,-94.0917 
137.047,-87.8908 129,-82 118.806,-74.5372 107.898,-66.1031 98.1652,-58.4098"/>
+<polygon fill="black" stroke="black" points="100.313,-55.6458 90.308,-52.1593 
95.9549,-61.1239 100.313,-55.6458"/>
 </g>
 </g>
 </svg>

http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/f46eef10/src/site/resources/example.dot
----------------------------------------------------------------------
diff --git a/src/site/resources/example.dot b/src/site/resources/example.dot
index ece7b5c..7dde493 100644
--- a/src/site/resources/example.dot
+++ b/src/site/resources/example.dot
@@ -1,3 +1,21 @@
+/*
+  ~ 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.
+  */
+  
 digraph g {
 
   graph [compound = true];

http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/f46eef10/src/site/resources/example.dot.svg
----------------------------------------------------------------------
diff --git a/src/site/resources/example.dot.svg 
b/src/site/resources/example.dot.svg
new file mode 100644
index 0000000..e9cd80b
--- /dev/null
+++ b/src/site/resources/example.dot.svg
@@ -0,0 +1,299 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd";>
+<!-- Generated by graphviz version 2.39.20160214.2135 (20160214.2135)
+ -->
+<!-- Title: g Pages: 1 -->
+<svg width="1018pt" height="896pt"
+ viewBox="0.00 0.00 1018.00 896.00" xmlns="http://www.w3.org/2000/svg"; 
xmlns:xlink="http://www.w3.org/1999/xlink";>
+<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 892)">
+<title>g</title>
+<polygon fill="white" stroke="transparent" points="-4,4 -4,-892 1014,-892 
1014,4 -4,4"/>
+<g id="clust1" class="cluster">
+<title>cluster_generators</title>
+<polygon fill="none" stroke="black" points="269,-806 269,-880 691,-880 
691,-806 269,-806"/>
+<text text-anchor="middle" x="480" y="-864.8" font-family="Times,serif" 
font-size="14.00">generators</text>
+</g>
+<g id="clust2" class="cluster">
+<title>cluster_providers</title>
+<polygon fill="none" stroke="black" points="8,-675 8,-787 1002,-787 1002,-675 
8,-675"/>
+<text text-anchor="middle" x="505" y="-771.8" font-family="Times,serif" 
font-size="14.00">providers</text>
+</g>
+<g id="clust3" class="cluster">
+<title>cluster_providers_youtube</title>
+<polygon fill="none" stroke="black" points="16,-683 16,-757 481,-757 481,-683 
16,-683"/>
+<text text-anchor="middle" x="248.5" y="-741.8" font-family="Times,serif" 
font-size="14.00">youtube</text>
+</g>
+<g id="clust4" class="cluster">
+<title>cluster_providers_instagram</title>
+<polygon fill="none" stroke="black" points="489,-683 489,-757 994,-757 
994,-683 489,-683"/>
+<text text-anchor="middle" x="741.5" y="-741.8" font-family="Times,serif" 
font-size="14.00">instagram</text>
+</g>
+<g id="clust5" class="cluster">
+<title>cluster_processors</title>
+<polygon fill="none" stroke="black" points="58,-571 58,-645 892,-645 892,-571 
58,-571"/>
+<text text-anchor="middle" x="475" y="-629.8" font-family="Times,serif" 
font-size="14.00">processors</text>
+</g>
+<g id="clust6" class="cluster">
+<title>cluster_persisters_1</title>
+<polygon fill="none" stroke="black" points="272,-437 272,-511 454,-511 
454,-437 272,-437"/>
+<text text-anchor="middle" x="363" y="-495.8" font-family="Times,serif" 
font-size="14.00">persisters</text>
+</g>
+<g id="clust7" class="cluster">
+<title>cluster_queues</title>
+<polygon fill="none" stroke="black" points="180,-331 180,-405 314,-405 
314,-331 180,-331"/>
+<text text-anchor="middle" x="247" y="-389.8" font-family="Times,serif" 
font-size="14.00">queues</text>
+</g>
+<g id="clust8" class="cluster">
+<title>cluster_persisters_2</title>
+<polygon fill="none" stroke="black" points="58,-114 58,-299 478,-299 478,-114 
58,-114"/>
+<text text-anchor="middle" x="268" y="-283.8" font-family="Times,serif" 
font-size="14.00">persisters</text>
+</g>
+<g id="clust9" class="cluster">
+<title>cluster_dbs</title>
+<polygon fill="none" stroke="black" points="193,-8 193,-82 369,-82 369,-8 
193,-8"/>
+<text text-anchor="middle" x="281" y="-66.8" font-family="Times,serif" 
font-size="14.00">dbs</text>
+</g>
+<!-- generators_youtube -->
+<g id="node1" class="node">
+<title>generators_youtube</title>
+<ellipse fill="none" stroke="black" cx="371" cy="-832" rx="93.7378" ry="18"/>
+<text text-anchor="middle" x="371" y="-827.8" font-family="Times,serif" 
font-size="14.00">https://api.youtube.com</text>
+</g>
+<!-- providers_youtube_channel -->
+<g id="node3" class="node">
+<title>providers_youtube_channel</title>
+<ellipse fill="none" stroke="black" cx="124" cy="-709" rx="99.7162" ry="18"/>
+<text text-anchor="middle" x="124" y="-704.8" font-family="Times,serif" 
font-size="14.00">YoutubeChannelProvider</text>
+</g>
+<!-- generators_youtube&#45;&gt;providers_youtube_channel -->
+<g id="edge1" class="edge">
+<title>generators_youtube&#45;&gt;providers_youtube_channel</title>
+<path fill="none" stroke="black" d="M313.269,-817.697C287.642,-810.25 
257.564,-799.963 232,-787 203.045,-772.318 173.373,-750.286 152.475,-733.379"/>
+<polygon fill="black" stroke="black" points="154.589,-730.586 144.64,-726.946 
150.148,-735.996 154.589,-730.586"/>
+</g>
+<!-- providers_youtube_video -->
+<g id="node4" class="node">
+<title>providers_youtube_video</title>
+<ellipse fill="none" stroke="black" cx="357" cy="-709" rx="115.637" ry="18"/>
+<text text-anchor="middle" x="357" y="-704.8" font-family="Times,serif" 
font-size="14.00">YoutubeUserActivityProvider</text>
+</g>
+<!-- generators_youtube&#45;&gt;providers_youtube_video -->
+<g id="edge2" class="edge">
+<title>generators_youtube&#45;&gt;providers_youtube_video</title>
+<path fill="none" stroke="black" d="M368.934,-813.851C366.639,-793.684 
362.903,-760.864 360.223,-737.313"/>
+<polygon fill="black" stroke="black" points="363.683,-736.764 359.074,-727.224 
356.728,-737.555 363.683,-736.764"/>
+</g>
+<!-- generators_instagram -->
+<g id="node2" class="node">
+<title>generators_instagram</title>
+<ellipse fill="none" stroke="black" cx="583" cy="-832" rx="100.002" ry="18"/>
+<text text-anchor="middle" x="583" y="-827.8" font-family="Times,serif" 
font-size="14.00">https://api.instagram.com</text>
+</g>
+<!-- providers_instagram_userinfo -->
+<g id="node5" class="node">
+<title>providers_instagram_userinfo</title>
+<ellipse fill="none" stroke="black" cx="607" cy="-709" rx="109.615" ry="18"/>
+<text text-anchor="middle" x="607" y="-704.8" font-family="Times,serif" 
font-size="14.00">InstagramUserInfoCollector</text>
+</g>
+<!-- generators_instagram&#45;&gt;providers_instagram_userinfo -->
+<g id="edge5" class="edge">
+<title>generators_instagram&#45;&gt;providers_instagram_userinfo</title>
+<path fill="none" stroke="black" d="M586.541,-813.851C590.476,-793.684 
596.88,-760.864 601.475,-737.313"/>
+<polygon fill="black" stroke="black" points="604.964,-737.709 603.444,-727.224 
598.094,-736.368 604.964,-737.709"/>
+</g>
+<!-- providers_instagram_media -->
+<g id="node6" class="node">
+<title>providers_instagram_media</title>
+<ellipse fill="none" stroke="black" cx="860" cy="-709" rx="125.542" ry="18"/>
+<text text-anchor="middle" x="860" y="-704.8" font-family="Times,serif" 
font-size="14.00">InstagramRecentMediaCollector</text>
+</g>
+<!-- generators_instagram&#45;&gt;providers_instagram_media -->
+<g id="edge6" class="edge">
+<title>generators_instagram&#45;&gt;providers_instagram_media</title>
+<path fill="none" stroke="black" d="M640.093,-817.192C666.709,-809.494 
698.503,-799.148 726,-787 761.173,-771.461 798.817,-748.976 825.222,-732.136"/>
+<polygon fill="black" stroke="black" points="827.213,-735.016 833.726,-726.659 
823.423,-729.131 827.213,-735.016"/>
+</g>
+<!-- processors_youtube_activityobject -->
+<g id="node8" class="node">
+<title>processors_youtube_activityobject</title>
+<ellipse fill="none" stroke="black" cx="159" cy="-597" rx="92.691" ry="18"/>
+<text text-anchor="middle" x="159" y="-592.8" font-family="Times,serif" 
font-size="14.00">YoutubeTypeConverter</text>
+</g>
+<!-- providers_youtube_channel&#45;&gt;processors_youtube_activityobject -->
+<g id="edge3" class="edge">
+<title>providers_youtube_channel&#45;&gt;processors_youtube_activityobject</title>
+<path fill="none" stroke="black" d="M129.623,-691.005C135.178,-673.231 
143.754,-645.786 150.209,-625.131"/>
+<polygon fill="black" stroke="black" points="153.632,-625.911 153.274,-615.322 
146.951,-623.823 153.632,-625.911"/>
+<text text-anchor="middle" x="184.704" y="-655.8" font-family="Times,serif" 
font-size="14.00">o.a.s.y.Channel</text>
+</g>
+<!-- processors_youtube_activity -->
+<g id="node7" class="node">
+<title>processors_youtube_activity</title>
+<ellipse fill="none" stroke="black" cx="362" cy="-597" rx="92.691" ry="18"/>
+<text text-anchor="middle" x="362" y="-592.8" font-family="Times,serif" 
font-size="14.00">YoutubeTypeConverter</text>
+</g>
+<!-- providers_youtube_video&#45;&gt;processors_youtube_activity -->
+<g id="edge4" class="edge">
+<title>providers_youtube_video&#45;&gt;processors_youtube_activity</title>
+<path fill="none" stroke="black" d="M357.826,-690.505C358.619,-672.728 
359.83,-645.618 360.743,-625.159"/>
+<polygon fill="black" stroke="black" points="364.24,-625.297 361.19,-615.15 
357.247,-624.984 364.24,-625.297"/>
+<text text-anchor="middle" x="396.066" y="-655.8" font-family="Times,serif" 
font-size="14.00">o.a.s.y.Video</text>
+</g>
+<!-- processors_instagram_activityobject -->
+<g id="node10" class="node">
+<title>processors_instagram_activityobject</title>
+<ellipse fill="none" stroke="black" cx="571" cy="-597" rx="98.2636" ry="18"/>
+<text text-anchor="middle" x="571" y="-592.8" font-family="Times,serif" 
font-size="14.00">InstagramTypeConverter</text>
+</g>
+<!-- providers_instagram_userinfo&#45;&gt;processors_instagram_activityobject 
-->
+<g id="edge7" class="edge">
+<title>providers_instagram_userinfo&#45;&gt;processors_instagram_activityobject</title>
+<path fill="none" stroke="black" d="M601.216,-691.005C595.477,-673.15 
586.601,-645.535 579.951,-624.848"/>
+<polygon fill="black" stroke="black" points="583.282,-623.771 576.889,-615.322 
576.617,-625.914 583.282,-623.771"/>
+<text text-anchor="middle" x="649.369" y="-655.8" font-family="Times,serif" 
font-size="14.00">o.a.s.i.UserInfoData</text>
+</g>
+<!-- processors_instagram_activity -->
+<g id="node9" class="node">
+<title>processors_instagram_activity</title>
+<ellipse fill="none" stroke="black" cx="786" cy="-597" rx="98.2636" ry="18"/>
+<text text-anchor="middle" x="786" y="-592.8" font-family="Times,serif" 
font-size="14.00">InstagramTypeConverter</text>
+</g>
+<!-- providers_instagram_media&#45;&gt;processors_instagram_activity -->
+<g id="edge8" class="edge">
+<title>providers_instagram_media&#45;&gt;processors_instagram_activity</title>
+<path fill="none" stroke="black" d="M848.111,-691.005C836.028,-672.717 
817.18,-644.191 803.414,-623.356"/>
+<polygon fill="black" stroke="black" points="806.293,-621.364 797.86,-614.95 
800.452,-625.223 806.293,-621.364"/>
+<text text-anchor="middle" x="893.979" y="-655.8" font-family="Times,serif" 
font-size="14.00">o.a.s.i.MediaFeedData</text>
+</g>
+<!-- persisters_kinesis_writer -->
+<g id="node11" class="node">
+<title>persisters_kinesis_writer</title>
+<ellipse fill="none" stroke="black" cx="363" cy="-463" rx="82.8977" ry="18"/>
+<text text-anchor="middle" x="363" y="-458.8" font-family="Times,serif" 
font-size="14.00">KinesisPersistWriter</text>
+</g>
+<!-- processors_youtube_activity&#45;&gt;persisters_kinesis_writer -->
+<g id="edge10" class="edge">
+<title>processors_youtube_activity&#45;&gt;persisters_kinesis_writer</title>
+<path fill="none" stroke="black" d="M362.135,-578.928C362.303,-556.45 
362.591,-517.817 362.788,-491.375"/>
+<polygon fill="black" stroke="black" points="366.289,-491.239 362.864,-481.213 
359.289,-491.187 366.289,-491.239"/>
+<text text-anchor="middle" x="414.136" y="-542.8" font-family="Times,serif" 
font-size="14.00">o.a.s.p.j.Video</text>
+<text text-anchor="middle" x="414.136" y="-528.8" font-family="Times,serif" 
font-size="14.00">o.a.s.p.j.Comment</text>
+</g>
+<!-- processors_youtube_activityobject&#45;&gt;persisters_kinesis_writer -->
+<g id="edge9" class="edge">
+<title>processors_youtube_activityobject&#45;&gt;persisters_kinesis_writer</title>
+<path fill="none" stroke="black" d="M185.669,-579.482C222.295,-555.424 
288.197,-512.135 328.526,-485.645"/>
+<polygon fill="black" stroke="black" points="330.532,-488.514 336.969,-480.099 
326.689,-482.664 330.532,-488.514"/>
+<text text-anchor="middle" x="311.133" y="-535.8" font-family="Times,serif" 
font-size="14.00">o.a.s.p.j.Page</text>
+</g>
+<!-- processors_instagram_activity&#45;&gt;persisters_kinesis_writer -->
+<g id="edge12" class="edge">
+<title>processors_instagram_activity&#45;&gt;persisters_kinesis_writer</title>
+<path fill="none" stroke="black" d="M751.272,-580.048C714.97,-562.842 
656.013,-536.337 603,-519 548.139,-501.059 484.451,-486.475 436.474,-476.693"/>
+<polygon fill="black" stroke="black" points="436.978,-473.224 426.483,-474.679 
435.594,-480.086 436.978,-473.224"/>
+<text text-anchor="middle" x="759.136" y="-549.8" font-family="Times,serif" 
font-size="14.00">o.a.s.p.j.Photo</text>
+<text text-anchor="middle" x="759.136" y="-535.8" font-family="Times,serif" 
font-size="14.00">o.a.s.p.j.Video</text>
+<text text-anchor="middle" x="759.136" y="-521.8" font-family="Times,serif" 
font-size="14.00">o.a.s.p.j.Comment</text>
+</g>
+<!-- processors_instagram_activityobject&#45;&gt;persisters_kinesis_writer -->
+<g id="edge11" class="edge">
+<title>processors_instagram_activityobject&#45;&gt;persisters_kinesis_writer</title>
+<path fill="none" stroke="black" d="M549.875,-579.176C529.758,-562.613 
498.289,-537.75 469,-519 449.177,-506.31 426.182,-493.903 406.686,-484.006"/>
+<polygon fill="black" stroke="black" points="408.22,-480.86 397.713,-479.501 
405.08,-487.116 408.22,-480.86"/>
+<text text-anchor="middle" x="562.133" y="-535.8" font-family="Times,serif" 
font-size="14.00">o.a.s.p.j.Page</text>
+</g>
+<!-- kinesis -->
+<g id="node12" class="node">
+<title>kinesis</title>
+<polygon fill="none" stroke="black" points="281.7,-375 212.3,-375 187.583,-339 
306.417,-339 281.7,-375"/>
+<text text-anchor="middle" x="247" y="-352.8" font-family="Times,serif" 
font-size="14.00">kinesis://</text>
+</g>
+<!-- persisters_kinesis_writer&#45;&gt;kinesis -->
+<g id="edge13" class="edge">
+<title>persisters_kinesis_writer&#45;&gt;kinesis</title>
+<path fill="none" stroke="black" d="M302.093,-450.713C278.354,-444.591 
255.132,-436.467 248.065,-427 239.317,-415.28 238.557,-399.113 
240.209,-385.268"/>
+<polygon fill="black" stroke="black" points="243.688,-385.68 241.85,-375.245 
236.78,-384.549 243.688,-385.68"/>
+<text text-anchor="middle" x="295.467" y="-415.8" font-family="Times,serif" 
font-size="14.00">o.a.s.p.j.Activity</text>
+</g>
+<!-- persisters_kinesis_writer&#45;&gt;kinesis -->
+<g id="edge15" class="edge">
+<title>persisters_kinesis_writer&#45;&gt;kinesis</title>
+<path fill="none" stroke="black" d="M358.031,-444.821C354.541,-434.594 
349.041,-422.094 341,-413 327.835,-398.111 309.73,-386.038 292.922,-376.967"/>
+<polygon fill="black" stroke="black" points="294.249,-373.713 283.758,-372.237 
291.039,-379.934 294.249,-373.713"/>
+<text text-anchor="middle" x="416.126" y="-415.8" font-family="Times,serif" 
font-size="14.00">o.a.s.p.j.ActivityObject</text>
+</g>
+<!-- persisters_kinesis_reader -->
+<g id="node15" class="node">
+<title>persisters_kinesis_reader</title>
+<ellipse fill="none" stroke="black" cx="230" cy="-251" rx="85.0273" ry="18"/>
+<text text-anchor="middle" x="230" y="-246.8" font-family="Times,serif" 
font-size="14.00">KinesisPersistReader</text>
+</g>
+<!-- kinesis&#45;&gt;persisters_kinesis_reader -->
+<g id="edge14" class="edge">
+<title>kinesis&#45;&gt;persisters_kinesis_reader</title>
+<path fill="none" stroke="black" d="M237.252,-338.799C234.744,-333.242 
232.384,-327.008 231.065,-321 228.095,-307.459 227.56,-292.088 
227.88,-279.206"/>
+<polygon fill="black" stroke="black" points="231.383,-279.206 228.315,-269.065 
224.389,-278.906 231.383,-279.206"/>
+<text text-anchor="middle" x="278.467" y="-309.8" font-family="Times,serif" 
font-size="14.00">o.a.s.p.j.Activity</text>
+</g>
+<!-- kinesis&#45;&gt;persisters_kinesis_reader -->
+<g id="edge16" class="edge">
+<title>kinesis&#45;&gt;persisters_kinesis_reader</title>
+<path fill="none" stroke="black" d="M306.248,-339.6C321.646,-331.732 
331.954,-320.997 324,-307 315.135,-291.399 300.013,-279.687 284.46,-271.118"/>
+<polygon fill="black" stroke="black" points="285.793,-267.868 275.297,-266.43 
282.605,-274.1 285.793,-267.868"/>
+<text text-anchor="middle" x="392.126" y="-309.8" font-family="Times,serif" 
font-size="14.00">o.a.s.p.j.ActivityObject</text>
+</g>
+<!-- persisters_elasticsearch -->
+<g id="node13" class="node">
+<title>persisters_elasticsearch</title>
+<ellipse fill="none" stroke="black" cx="169" cy="-140" rx="103.134" ry="18"/>
+<text text-anchor="middle" x="169" y="-135.8" font-family="Times,serif" 
font-size="14.00">ElasticsearchPersistWriter</text>
+</g>
+<!-- elasticsearch -->
+<g id="node16" class="node">
+<title>elasticsearch</title>
+<path fill="none" stroke="black" d="M288.512,-48.7273C288.512,-50.5331 
269.009,-52 245,-52 220.991,-52 201.488,-50.5331 201.488,-48.7273 
201.488,-48.7273 201.488,-19.2727 201.488,-19.2727 201.488,-17.4669 220.991,-16 
245,-16 269.009,-16 288.512,-17.4669 288.512,-19.2727 288.512,-19.2727 
288.512,-48.7273 288.512,-48.7273"/>
+<path fill="none" stroke="black" d="M288.512,-48.7273C288.512,-46.9214 
269.009,-45.4545 245,-45.4545 220.991,-45.4545 201.488,-46.9214 
201.488,-48.7273"/>
+<text text-anchor="middle" x="245" y="-29.8" font-family="Times,serif" 
font-size="14.00">elasticsearch</text>
+</g>
+<!-- persisters_elasticsearch&#45;&gt;elasticsearch -->
+<g id="edge19" class="edge">
+<title>persisters_elasticsearch&#45;&gt;elasticsearch</title>
+<path fill="none" stroke="black" d="M181.892,-122.019C194.012,-105.115 
212.298,-79.6103 226.072,-60.3997"/>
+<polygon fill="black" stroke="black" points="229.062,-62.2361 232.044,-52.0697 
223.373,-58.1572 229.062,-62.2361"/>
+<text text-anchor="middle" x="216.666" y="-92.8" font-family="Times,serif" 
font-size="14.00">es://</text>
+</g>
+<!-- persisters_hdfs -->
+<g id="node14" class="node">
+<title>persisters_hdfs</title>
+<ellipse fill="none" stroke="black" cx="380" cy="-140" rx="89.7062" ry="18"/>
+<text text-anchor="middle" x="380" y="-135.8" font-family="Times,serif" 
font-size="14.00">WebHdfsPersistWriter</text>
+</g>
+<!-- hdfs -->
+<g id="node17" class="node">
+<title>hdfs</title>
+<polygon fill="none" stroke="black" points="361,-52 319,-52 319,-56 307,-56 
307,-16 361,-16 361,-52"/>
+<polyline fill="none" stroke="black" points="307,-52 319,-52 "/>
+<text text-anchor="middle" x="334" y="-29.8" font-family="Times,serif" 
font-size="14.00">hdfs</text>
+</g>
+<!-- persisters_hdfs&#45;&gt;hdfs -->
+<g id="edge20" class="edge">
+<title>persisters_hdfs&#45;&gt;hdfs</title>
+<path fill="none" stroke="black" d="M372.197,-122.019C364.994,-105.42 
354.191,-80.5266 345.91,-61.4442"/>
+<polygon fill="black" stroke="black" points="349.033,-59.8498 341.842,-52.0697 
342.612,-62.6365 349.033,-59.8498"/>
+<text text-anchor="middle" x="381.89" y="-92.8" font-family="Times,serif" 
font-size="14.00">hdfs://</text>
+</g>
+<!-- persisters_kinesis_reader&#45;&gt;persisters_elasticsearch -->
+<g id="edge17" class="edge">
+<title>persisters_kinesis_reader&#45;&gt;persisters_elasticsearch</title>
+<path fill="none" stroke="black" d="M219.927,-232.671C210.067,-214.729 
194.936,-187.195 183.727,-166.798"/>
+<polygon fill="black" stroke="black" points="186.769,-165.066 178.885,-157.988 
180.634,-168.438 186.769,-165.066"/>
+</g>
+<!-- persisters_kinesis_reader&#45;&gt;persisters_hdfs -->
+<g id="edge18" class="edge">
+<title>persisters_kinesis_reader&#45;&gt;persisters_hdfs</title>
+<path fill="none" stroke="black" d="M253.438,-233.656C278.826,-214.869 
319.494,-184.774 347.856,-163.787"/>
+<polygon fill="black" stroke="black" points="350.276,-166.35 356.232,-157.588 
346.112,-160.723 350.276,-166.35"/>
+</g>
+</g>
+</svg>

Reply via email to