You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by mc...@apache.org on 2015/07/16 16:46:54 UTC

[01/50] [abbrv] incubator-nifi git commit: NIFI-683: - Fixing typo.

Repository: incubator-nifi
Updated Branches:
  refs/heads/master fdc801bc1 -> de8ec6f92


NIFI-683:
- Fixing typo.

Project: http://git-wip-us.apache.org/repos/asf/incubator-nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-nifi/commit/0df351dc
Tree: http://git-wip-us.apache.org/repos/asf/incubator-nifi/tree/0df351dc
Diff: http://git-wip-us.apache.org/repos/asf/incubator-nifi/diff/0df351dc

Branch: refs/heads/master
Commit: 0df351dcb47432dd0cacf31a2ed5e5765aa96f03
Parents: 3a05a7d
Author: Matt Gilman <ma...@gmail.com>
Authored: Wed Jun 24 09:13:29 2015 -0400
Committer: Matt Gilman <ma...@gmail.com>
Committed: Wed Jun 24 09:13:29 2015 -0400

----------------------------------------------------------------------
 .../nifi-web/nifi-web-ui/src/main/webapp/js/nf/nf-common.js        | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/0df351dc/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/nf-common.js
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/nf-common.js b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/nf-common.js
index fa43b29..110d383 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/nf-common.js
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/nf-common.js
@@ -186,7 +186,7 @@ nf.Common = {
     handleAjaxError: function (xhr, status, error) {
         // if an error occurs while the splash screen is visible close the canvas show the error message
         if ($('#splash').is(':visible')) {
-            $('#message-title').text('An unexcepted error has occurred');
+            $('#message-title').text('An unexpected error has occurred');
             if ($.trim(xhr.responseText) === '') {
                 $('#message-content').text('Please check the logs.');
             } else {


[08/50] [abbrv] incubator-nifi git commit: Merge branch 'develop' into NIFI-632

Posted by mc...@apache.org.
Merge branch 'develop' into NIFI-632


Project: http://git-wip-us.apache.org/repos/asf/incubator-nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-nifi/commit/40b55efb
Tree: http://git-wip-us.apache.org/repos/asf/incubator-nifi/tree/40b55efb
Diff: http://git-wip-us.apache.org/repos/asf/incubator-nifi/diff/40b55efb

Branch: refs/heads/master
Commit: 40b55efbd7082935accb37c17bacbcb8d1f1cd38
Parents: 28bfb70 f58972e
Author: danbress <db...@onyxconsults.com>
Authored: Fri Jun 26 19:14:23 2015 -0400
Committer: danbress <db...@onyxconsults.com>
Committed: Fri Jun 26 19:14:23 2015 -0400

----------------------------------------------------------------------
 .../nifi/provenance/lineage/LineageNode.java    |   1 +
 nifi/nifi-assembly/pom.xml                      |   1 +
 .../nifi/provenance/lineage/EventNode.java      |   2 +
 .../nifi/provenance/lineage/FlowFileNode.java   |   1 +
 .../language/antlr/AttributeExpressionLexer.g   |   1 +
 .../language/antlr/AttributeExpressionParser.g  |   3 +-
 .../attribute/expression/language/Query.java    | 255 ++++++++++------
 .../language/evaluation/BooleanEvaluator.java   |  11 +
 .../language/evaluation/DateEvaluator.java      |  11 +
 .../language/evaluation/Evaluator.java          |  12 +
 .../language/evaluation/NumberEvaluator.java    |  10 +
 .../language/evaluation/StringEvaluator.java    |  11 +
 .../evaluation/functions/AndEvaluator.java      |   6 +-
 .../evaluation/functions/AppendEvaluator.java   |   6 +-
 .../functions/AttributeEvaluator.java           |   4 +-
 .../evaluation/functions/ContainsEvaluator.java |   7 +-
 .../evaluation/functions/DivideEvaluator.java   |   6 +-
 .../evaluation/functions/EndsWithEvaluator.java |   7 +-
 .../evaluation/functions/FindEvaluator.java     |   7 +-
 .../evaluation/functions/FormatEvaluator.java   |   4 +-
 .../functions/GreaterThanEvaluator.java         |   7 +-
 .../functions/GreaterThanOrEqualEvaluator.java  |   7 +-
 .../evaluation/functions/IndexOfEvaluator.java  |   7 +-
 .../functions/LastIndexOfEvaluator.java         |   7 +-
 .../evaluation/functions/LengthEvaluator.java   |   7 +-
 .../evaluation/functions/LessThanEvaluator.java |   7 +-
 .../functions/LessThanOrEqualEvaluator.java     |   7 +-
 .../evaluation/functions/MatchesEvaluator.java  |   7 +-
 .../evaluation/functions/MinusEvaluator.java    |   6 +-
 .../evaluation/functions/ModEvaluator.java      |   6 +-
 .../evaluation/functions/MultiplyEvaluator.java |   6 +-
 .../evaluation/functions/NotEvaluator.java      |   4 +-
 .../functions/NumberToDateEvaluator.java        |   5 +-
 .../evaluation/functions/OrEvaluator.java       |   6 +-
 .../evaluation/functions/PlusEvaluator.java     |   6 +-
 .../evaluation/functions/PrependEvaluator.java  |   6 +-
 .../functions/ReplaceAllEvaluator.java          |   8 +-
 .../functions/ReplaceEmptyEvaluator.java        |   6 +-
 .../evaluation/functions/ReplaceEvaluator.java  |   8 +-
 .../functions/ReplaceNullEvaluator.java         |   6 +-
 .../functions/StartsWithEvaluator.java          |   7 +-
 .../functions/StringToDateEvaluator.java        |   7 +-
 .../functions/SubstringAfterEvaluator.java      |   6 +-
 .../functions/SubstringAfterLastEvaluator.java  |   6 +-
 .../functions/SubstringBeforeEvaluator.java     |   6 +-
 .../functions/SubstringBeforeLastEvaluator.java |   6 +-
 .../functions/SubstringEvaluator.java           |  11 +-
 .../evaluation/functions/ToLowerEvaluator.java  |   6 +-
 .../evaluation/functions/ToNumberEvaluator.java |   7 +-
 .../evaluation/functions/ToRadixEvaluator.java  |  11 +-
 .../evaluation/functions/ToUpperEvaluator.java  |   6 +-
 .../evaluation/functions/TrimEvaluator.java     |   4 +-
 .../functions/UrlDecodeEvaluator.java           |   6 +-
 .../functions/UrlEncodeEvaluator.java           |   6 +-
 .../evaluation/literals/ToLiteralEvaluator.java |  43 +++
 .../evaluation/reduce/JoinEvaluator.java        |   6 +-
 .../selection/AllAttributesEvaluator.java       |   7 +-
 .../selection/AnyAttributeEvaluator.java        |   7 +-
 .../AnyMatchingAttributeEvaluator.java          |  21 --
 .../selection/DelineatedAttributeEvaluator.java |  12 +-
 .../selection/IteratingEvaluator.java           |  33 ++
 .../evaluation/selection/MappingEvaluator.java  |  11 +-
 .../selection/MultiAttributeEvaluator.java      |   3 +-
 .../selection/MultiMatchAttributeEvaluator.java |   5 +
 .../selection/MultiNamedAttributeEvaluator.java |   5 +
 .../expression/language/TestQuery.java          |  54 +++-
 .../org/apache/nifi/util/NiFiProperties.java    |  22 +-
 .../src/main/asciidoc/administration-guide.adoc |   2 +-
 .../asciidoc/expression-language-guide.adoc     |  26 +-
 .../nifi/util/MockConfigurationContext.java     |  18 +-
 .../nifi/util/StandardProcessorTestRunner.java  |  12 +-
 .../java/org/apache/nifi/util/TestRunner.java   |  45 +++
 .../CurrentTestStandardProcessorTestRunner.java |  71 +++++
 .../nifi/cluster/flow/impl/DataFlowDaoImpl.java |  15 +-
 .../repository/StandardProcessSession.java      |   2 +-
 .../repository/StandardProvenanceReporter.java  |   8 +-
 .../src/main/resources/bin/nifi.sh              |   4 +
 .../src/main/resources/conf/nifi.properties     |   3 +
 .../nifi-web-ui/src/main/webapp/css/main.css    |   1 +
 .../src/main/webapp/js/nf/canvas/nf-canvas.js   |   2 +-
 .../js/nf/canvas/nf-controller-service.js       |   4 +-
 .../src/main/webapp/js/nf/nf-common.js          |  17 ++
 .../apache/nifi/processors/kafka/PutKafka.java  | 301 ++++++++++++++-----
 .../nifi/processors/kafka/TestPutKafka.java     | 163 ++++++++++
 .../nifi/provenance/IndexConfiguration.java     |   2 +-
 .../PersistentProvenanceRepository.java         |  90 +++++-
 .../provenance/RepositoryConfiguration.java     |  18 ++
 .../nifi/provenance/StandardRecordReader.java   |  15 +-
 .../provenance/lucene/DeleteIndexAction.java    |   6 +-
 .../nifi/provenance/lucene/DocsReader.java      |   9 +-
 .../nifi/provenance/lucene/IndexSearch.java     |   7 +-
 .../nifi/provenance/lucene/LineageQuery.java    |   6 +-
 .../provenance/serialization/RecordReaders.java |  17 +-
 .../TestPersistentProvenanceRepository.java     |  39 ++-
 .../TestStandardRecordReaderWriter.java         |  10 +-
 .../nifi/processors/standard/ExtractText.java   |   4 +-
 .../nifi/processors/standard/GetHTTP.java       |  17 +-
 .../nifi/processors/standard/MergeContent.java  |  57 ++--
 98 files changed, 1342 insertions(+), 468 deletions(-)
----------------------------------------------------------------------



[09/50] [abbrv] incubator-nifi git commit: Merge branch 'develop' into NIFI-680

Posted by mc...@apache.org.
Merge branch 'develop' into NIFI-680

Conflicts:
	nifi/nifi-mock/src/main/java/org/apache/nifi/util/StandardProcessorTestRunner.java
	nifi/nifi-mock/src/main/java/org/apache/nifi/util/TestRunner.java
	nifi/nifi-mock/src/test/java/org/apache/nifi/util/CurrentTestStandardProcessorTestRunner.java


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

Branch: refs/heads/master
Commit: cc3be416b26c9733f84b2acff590389ed1dd1abc
Parents: 6b4e90d 40b55ef
Author: danbress <db...@onyxconsults.com>
Authored: Fri Jun 26 20:18:56 2015 -0400
Committer: danbress <db...@onyxconsults.com>
Committed: Fri Jun 26 20:18:56 2015 -0400

----------------------------------------------------------------------
 .../nifi/provenance/lineage/LineageNode.java    |   1 +
 nifi/nifi-assembly/pom.xml                      |   1 +
 .../nifi/provenance/lineage/EventNode.java      |   2 +
 .../nifi/provenance/lineage/FlowFileNode.java   |   1 +
 .../language/antlr/AttributeExpressionLexer.g   |   1 +
 .../language/antlr/AttributeExpressionParser.g  |   3 +-
 .../attribute/expression/language/Query.java    | 255 ++++++++++------
 .../language/evaluation/BooleanEvaluator.java   |  11 +
 .../language/evaluation/DateEvaluator.java      |  11 +
 .../language/evaluation/Evaluator.java          |  12 +
 .../language/evaluation/NumberEvaluator.java    |  10 +
 .../language/evaluation/StringEvaluator.java    |  11 +
 .../evaluation/functions/AndEvaluator.java      |   6 +-
 .../evaluation/functions/AppendEvaluator.java   |   6 +-
 .../functions/AttributeEvaluator.java           |   4 +-
 .../evaluation/functions/ContainsEvaluator.java |   7 +-
 .../evaluation/functions/DivideEvaluator.java   |   6 +-
 .../evaluation/functions/EndsWithEvaluator.java |   7 +-
 .../evaluation/functions/FindEvaluator.java     |   7 +-
 .../evaluation/functions/FormatEvaluator.java   |   4 +-
 .../functions/GreaterThanEvaluator.java         |   7 +-
 .../functions/GreaterThanOrEqualEvaluator.java  |   7 +-
 .../evaluation/functions/IndexOfEvaluator.java  |   7 +-
 .../functions/LastIndexOfEvaluator.java         |   7 +-
 .../evaluation/functions/LengthEvaluator.java   |   7 +-
 .../evaluation/functions/LessThanEvaluator.java |   7 +-
 .../functions/LessThanOrEqualEvaluator.java     |   7 +-
 .../evaluation/functions/MatchesEvaluator.java  |   7 +-
 .../evaluation/functions/MinusEvaluator.java    |   6 +-
 .../evaluation/functions/ModEvaluator.java      |   6 +-
 .../evaluation/functions/MultiplyEvaluator.java |   6 +-
 .../evaluation/functions/NotEvaluator.java      |   4 +-
 .../functions/NumberToDateEvaluator.java        |   5 +-
 .../evaluation/functions/OrEvaluator.java       |   6 +-
 .../evaluation/functions/PlusEvaluator.java     |   6 +-
 .../evaluation/functions/PrependEvaluator.java  |   6 +-
 .../functions/ReplaceAllEvaluator.java          |   8 +-
 .../functions/ReplaceEmptyEvaluator.java        |   6 +-
 .../evaluation/functions/ReplaceEvaluator.java  |   8 +-
 .../functions/ReplaceNullEvaluator.java         |   6 +-
 .../functions/StartsWithEvaluator.java          |   7 +-
 .../functions/StringToDateEvaluator.java        |   7 +-
 .../functions/SubstringAfterEvaluator.java      |   6 +-
 .../functions/SubstringAfterLastEvaluator.java  |   6 +-
 .../functions/SubstringBeforeEvaluator.java     |   6 +-
 .../functions/SubstringBeforeLastEvaluator.java |   6 +-
 .../functions/SubstringEvaluator.java           |  11 +-
 .../evaluation/functions/ToLowerEvaluator.java  |   6 +-
 .../evaluation/functions/ToNumberEvaluator.java |   7 +-
 .../evaluation/functions/ToRadixEvaluator.java  |  11 +-
 .../evaluation/functions/ToUpperEvaluator.java  |   6 +-
 .../evaluation/functions/TrimEvaluator.java     |   4 +-
 .../functions/UrlDecodeEvaluator.java           |   6 +-
 .../functions/UrlEncodeEvaluator.java           |   6 +-
 .../evaluation/literals/ToLiteralEvaluator.java |  43 +++
 .../evaluation/reduce/JoinEvaluator.java        |   6 +-
 .../selection/AllAttributesEvaluator.java       |   7 +-
 .../selection/AnyAttributeEvaluator.java        |   7 +-
 .../AnyMatchingAttributeEvaluator.java          |  21 --
 .../selection/DelineatedAttributeEvaluator.java |  12 +-
 .../selection/IteratingEvaluator.java           |  33 ++
 .../evaluation/selection/MappingEvaluator.java  |  11 +-
 .../selection/MultiAttributeEvaluator.java      |   3 +-
 .../selection/MultiMatchAttributeEvaluator.java |   5 +
 .../selection/MultiNamedAttributeEvaluator.java |   5 +
 .../expression/language/TestQuery.java          |  54 +++-
 .../org/apache/nifi/util/NiFiProperties.java    |  22 +-
 .../src/main/asciidoc/administration-guide.adoc |   2 +-
 .../asciidoc/expression-language-guide.adoc     |  26 +-
 .../nifi-nifi-example-nar/pom.xml               |  36 +++
 .../nifi-nifi-example-processors/pom.xml        |  70 +++++
 .../nifi/processors/WriteResourceToStream.java  | 102 +++++++
 .../org.apache.nifi.processor.Processor         |  15 +
 .../src/main/resources/file.txt                 |   1 +
 .../processors/WriteResourceToStreamTest.java   |  47 +++
 nifi/nifi-external/nifi-example-bundle/pom.xml  |  33 ++
 nifi/nifi-external/pom.xml                      |   2 +
 .../nifi/util/MockConfigurationContext.java     |  18 +-
 .../nifi/util/StandardProcessorTestRunner.java  |   6 +-
 .../java/org/apache/nifi/util/TestRunner.java   |   2 +-
 .../CurrentTestStandardProcessorTestRunner.java | 142 ++++-----
 .../nifi-framework/nifi-documentation/pom.xml   |   5 +
 .../apache/nifi/documentation/DocGenerator.java |   5 +-
 .../init/ControllerServiceInitializer.java      |  20 +-
 .../init/ProcessorInitializer.java              |  17 +-
 .../init/ReportingTaskingInitializer.java       |  14 +-
 .../mock/MockConfigurationContext.java          |  38 +++
 .../documentation/mock/MockProcessContext.java  |  85 ++++++
 .../documentation/util/ReflectionUtils.java     | 139 +++++++++
 .../nifi/documentation/DocGeneratorTest.java    |  96 ++++++
 .../FullyDocumentedControllerService.java       |  63 +++-
 .../example/FullyDocumentedProcessor.java       |  49 ++-
 .../example/FullyDocumentedReportingTask.java   |  46 ++-
 .../html/HtmlDocumentationWriterTest.java       |  33 +-
 .../html/ProcessorDocumentationWriterTest.java  |  19 +-
 .../src/test/resources/conf/nifi.properties     | 129 ++++++++
 .../src/test/resources/lib/example.nar          | Bin 0 -> 721040 bytes
 .../src/test/resources/lib/jetty.nar            | Bin 0 -> 4638519 bytes
 .../test/resources/lib/nifi-framework-nar.nar   | Bin 0 -> 406 bytes
 .../nifi/cluster/flow/impl/DataFlowDaoImpl.java |  15 +-
 .../java/org/apache/nifi/nar/NarCloseable.java  |  44 ---
 .../nifi/nar/NarThreadContextClassLoader.java   | 187 ------------
 .../repository/FileSystemRepository.java        |  20 +-
 .../repository/StandardProcessSession.java      |   2 +-
 .../repository/StandardProvenanceReporter.java  |   8 +-
 .../repository/VolatileContentRepository.java   |   8 +-
 ...nifi.controller.repository.ContentRepository |  16 +
 ...ifi.controller.repository.FlowFileRepository |  16 +
 ...fi.controller.repository.FlowFileSwapManager |  15 +
 ...ler.status.history.ComponentStatusRepository |  15 +
 .../java/org/apache/nifi/nar/NarCloseable.java  |  44 +++
 .../nifi/nar/NarThreadContextClassLoader.java   | 187 ++++++++++++
 .../src/main/resources/bin/nifi.sh              |   4 +
 .../src/main/resources/conf/nifi.properties     |   3 +
 .../nifi-web-ui/src/main/webapp/css/main.css    |   1 +
 .../src/main/webapp/js/nf/canvas/nf-canvas.js   |   2 +-
 .../js/nf/canvas/nf-controller-service.js       |   4 +-
 .../src/main/webapp/js/nf/nf-common.js          |  17 ++
 .../apache/nifi/processors/kafka/PutKafka.java  | 301 ++++++++++++++-----
 .../nifi/processors/kafka/TestPutKafka.java     | 163 ++++++++++
 .../nifi/provenance/IndexConfiguration.java     |   2 +-
 .../PersistentProvenanceRepository.java         |  90 +++++-
 .../provenance/RepositoryConfiguration.java     |  18 ++
 .../nifi/provenance/StandardRecordReader.java   |  15 +-
 .../provenance/lucene/DeleteIndexAction.java    |   6 +-
 .../nifi/provenance/lucene/DocsReader.java      |   9 +-
 .../nifi/provenance/lucene/IndexSearch.java     |   7 +-
 .../nifi/provenance/lucene/LineageQuery.java    |   6 +-
 .../provenance/serialization/RecordReaders.java |  17 +-
 .../TestPersistentProvenanceRepository.java     |  39 ++-
 .../TestStandardRecordReaderWriter.java         |  10 +-
 .../nifi/processors/standard/ExtractText.java   |   4 +-
 .../nifi/processors/standard/GetHTTP.java       |  17 +-
 .../nifi/processors/standard/MergeContent.java  |  57 ++--
 134 files changed, 2628 insertions(+), 820 deletions(-)
----------------------------------------------------------------------



[47/50] [abbrv] incubator-nifi git commit: NIFI-656-RC1 prepare release nifi-0.2.0-incubating-RC1

Posted by mc...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-hl7-bundle/nifi-hl7-processors/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-hl7-bundle/nifi-hl7-processors/pom.xml b/nifi/nifi-nar-bundles/nifi-hl7-bundle/nifi-hl7-processors/pom.xml
index 12d2d71..575e3b4 100644
--- a/nifi/nifi-nar-bundles/nifi-hl7-bundle/nifi-hl7-processors/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-hl7-bundle/nifi-hl7-processors/pom.xml
@@ -19,7 +19,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-hl7-bundle</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
 
     <artifactId>nifi-hl7-processors</artifactId>
@@ -52,7 +52,7 @@
         <dependency>
             <groupId>org.apache.nifi</groupId>
             <artifactId>nifi-hl7-query-language</artifactId>
-            <version>0.2.0-incubating-SNAPSHOT</version>
+            <version>0.2.0-incubating</version>
         </dependency>
         
         <dependency>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-hl7-bundle/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-hl7-bundle/pom.xml b/nifi/nifi-nar-bundles/nifi-hl7-bundle/pom.xml
index 7ba20ee..00f5f20 100644
--- a/nifi/nifi-nar-bundles/nifi-hl7-bundle/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-hl7-bundle/pom.xml
@@ -19,7 +19,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-nar-bundles</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
 
     <artifactId>nifi-hl7-bundle</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-jetty-bundle/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-jetty-bundle/pom.xml b/nifi/nifi-nar-bundles/nifi-jetty-bundle/pom.xml
index 702f83a..e9cc8b0 100644
--- a/nifi/nifi-nar-bundles/nifi-jetty-bundle/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-jetty-bundle/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-nar-bundles</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <artifactId>nifi-jetty-bundle</artifactId>
     <packaging>nar</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-kafka-bundle/nifi-kafka-nar/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-kafka-bundle/nifi-kafka-nar/pom.xml b/nifi/nifi-nar-bundles/nifi-kafka-bundle/nifi-kafka-nar/pom.xml
index f725d5b..48a5ef4 100644
--- a/nifi/nifi-nar-bundles/nifi-kafka-bundle/nifi-kafka-nar/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-kafka-bundle/nifi-kafka-nar/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-kafka-bundle</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <artifactId>nifi-kafka-nar</artifactId>
     <packaging>nar</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-kafka-bundle/nifi-kafka-processors/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-kafka-bundle/nifi-kafka-processors/pom.xml b/nifi/nifi-nar-bundles/nifi-kafka-bundle/nifi-kafka-processors/pom.xml
index b1164df..1ca4ef9 100644
--- a/nifi/nifi-nar-bundles/nifi-kafka-bundle/nifi-kafka-processors/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-kafka-bundle/nifi-kafka-processors/pom.xml
@@ -16,7 +16,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-kafka-bundle</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <artifactId>nifi-kafka-processors</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-kafka-bundle/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-kafka-bundle/pom.xml b/nifi/nifi-nar-bundles/nifi-kafka-bundle/pom.xml
index bb2dae3..6e3da78 100644
--- a/nifi/nifi-nar-bundles/nifi-kafka-bundle/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-kafka-bundle/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-nar-bundles</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <artifactId>nifi-kafka-bundle</artifactId>
     <packaging>pom</packaging>
@@ -30,7 +30,7 @@
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-kafka-processors</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
             </dependency>
         </dependencies>
     </dependencyManagement> 

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-kite-bundle/nifi-kite-nar/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-kite-bundle/nifi-kite-nar/pom.xml b/nifi/nifi-nar-bundles/nifi-kite-bundle/nifi-kite-nar/pom.xml
index c7adfe2..eb6a55c 100644
--- a/nifi/nifi-nar-bundles/nifi-kite-bundle/nifi-kite-nar/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-kite-bundle/nifi-kite-nar/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-kite-bundle</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
 
     <artifactId>nifi-kite-nar</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-kite-bundle/nifi-kite-processors/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-kite-bundle/nifi-kite-processors/pom.xml b/nifi/nifi-nar-bundles/nifi-kite-bundle/nifi-kite-processors/pom.xml
index d1c4e36..546724b 100644
--- a/nifi/nifi-nar-bundles/nifi-kite-bundle/nifi-kite-processors/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-kite-bundle/nifi-kite-processors/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-kite-bundle</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
 
     <artifactId>nifi-kite-processors</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-kite-bundle/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-kite-bundle/pom.xml b/nifi/nifi-nar-bundles/nifi-kite-bundle/pom.xml
index 02990d3..e64479d 100644
--- a/nifi/nifi-nar-bundles/nifi-kite-bundle/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-kite-bundle/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-nar-bundles</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
 
     <artifactId>nifi-kite-bundle</artifactId>
@@ -36,7 +36,7 @@
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-kite-processors</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
             </dependency>
         </dependencies>
     </dependencyManagement>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-language-translation-bundle/nifi-language-translation-nar/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-language-translation-bundle/nifi-language-translation-nar/pom.xml b/nifi/nifi-nar-bundles/nifi-language-translation-bundle/nifi-language-translation-nar/pom.xml
index 7d744cc..804d5c4 100644
--- a/nifi/nifi-nar-bundles/nifi-language-translation-bundle/nifi-language-translation-nar/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-language-translation-bundle/nifi-language-translation-nar/pom.xml
@@ -19,7 +19,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-language-translation-bundle</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
 
     <artifactId>nifi-language-translation-nar</artifactId>
@@ -29,7 +29,7 @@
         <dependency>
             <groupId>org.apache.nifi</groupId>
             <artifactId>nifi-yandex-processors</artifactId>
-            <version>0.2.0-incubating-SNAPSHOT</version>
+            <version>0.2.0-incubating</version>
         </dependency>
     </dependencies>
 

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-language-translation-bundle/nifi-yandex-processors/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-language-translation-bundle/nifi-yandex-processors/pom.xml b/nifi/nifi-nar-bundles/nifi-language-translation-bundle/nifi-yandex-processors/pom.xml
index 6411b63..790bf4c 100644
--- a/nifi/nifi-nar-bundles/nifi-language-translation-bundle/nifi-yandex-processors/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-language-translation-bundle/nifi-yandex-processors/pom.xml
@@ -19,7 +19,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-language-translation-bundle</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
 
     <artifactId>nifi-yandex-processors</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-language-translation-bundle/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-language-translation-bundle/pom.xml b/nifi/nifi-nar-bundles/nifi-language-translation-bundle/pom.xml
index 1378886..8db2604 100644
--- a/nifi/nifi-nar-bundles/nifi-language-translation-bundle/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-language-translation-bundle/pom.xml
@@ -19,7 +19,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-nar-bundles</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
 
     <artifactId>nifi-language-translation-bundle</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-mongodb-bundle/nifi-mongodb-nar/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-mongodb-bundle/nifi-mongodb-nar/pom.xml b/nifi/nifi-nar-bundles/nifi-mongodb-bundle/nifi-mongodb-nar/pom.xml
index 255c371..7c3507c 100644
--- a/nifi/nifi-nar-bundles/nifi-mongodb-bundle/nifi-mongodb-nar/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-mongodb-bundle/nifi-mongodb-nar/pom.xml
@@ -19,18 +19,18 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-mongodb-bundle</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
 
     <artifactId>nifi-mongodb-nar</artifactId>
-    <version>0.2.0-incubating-SNAPSHOT</version>
+    <version>0.2.0-incubating</version>
     <packaging>nar</packaging>
 
     <dependencies>
         <dependency>
             <groupId>org.apache.nifi</groupId>
             <artifactId>nifi-mongodb-processors</artifactId>
-            <version>0.2.0-incubating-SNAPSHOT</version>
+            <version>0.2.0-incubating</version>
         </dependency>
     </dependencies>
 

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-mongodb-bundle/nifi-mongodb-processors/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-mongodb-bundle/nifi-mongodb-processors/pom.xml b/nifi/nifi-nar-bundles/nifi-mongodb-bundle/nifi-mongodb-processors/pom.xml
index 0f6c2df..31808ad 100644
--- a/nifi/nifi-nar-bundles/nifi-mongodb-bundle/nifi-mongodb-processors/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-mongodb-bundle/nifi-mongodb-processors/pom.xml
@@ -19,7 +19,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-mongodb-bundle</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
 
     <artifactId>nifi-mongodb-processors</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-mongodb-bundle/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-mongodb-bundle/pom.xml b/nifi/nifi-nar-bundles/nifi-mongodb-bundle/pom.xml
index 66e5a92..6b27b41 100644
--- a/nifi/nifi-nar-bundles/nifi-mongodb-bundle/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-mongodb-bundle/pom.xml
@@ -19,12 +19,12 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-nar-bundles</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
 
     <groupId>org.apache.nifi</groupId>
     <artifactId>nifi-mongodb-bundle</artifactId>
-    <version>0.2.0-incubating-SNAPSHOT</version>
+    <version>0.2.0-incubating</version>
     <packaging>pom</packaging>
 
     <modules>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-provenance-repository-bundle/nifi-persistent-provenance-repository/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-provenance-repository-bundle/nifi-persistent-provenance-repository/pom.xml b/nifi/nifi-nar-bundles/nifi-provenance-repository-bundle/nifi-persistent-provenance-repository/pom.xml
index 14459fc..4d161d5 100644
--- a/nifi/nifi-nar-bundles/nifi-provenance-repository-bundle/nifi-persistent-provenance-repository/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-provenance-repository-bundle/nifi-persistent-provenance-repository/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-provenance-repository-bundle</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <artifactId>nifi-persistent-provenance-repository</artifactId>
     <packaging>jar</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-provenance-repository-bundle/nifi-provenance-repository-nar/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-provenance-repository-bundle/nifi-provenance-repository-nar/pom.xml b/nifi/nifi-nar-bundles/nifi-provenance-repository-bundle/nifi-provenance-repository-nar/pom.xml
index b44b462..82f3eb7 100644
--- a/nifi/nifi-nar-bundles/nifi-provenance-repository-bundle/nifi-provenance-repository-nar/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-provenance-repository-bundle/nifi-provenance-repository-nar/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-provenance-repository-bundle</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <artifactId>nifi-provenance-repository-nar</artifactId>
     <packaging>nar</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-provenance-repository-bundle/nifi-volatile-provenance-repository/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-provenance-repository-bundle/nifi-volatile-provenance-repository/pom.xml b/nifi/nifi-nar-bundles/nifi-provenance-repository-bundle/nifi-volatile-provenance-repository/pom.xml
index e955498..5292495 100644
--- a/nifi/nifi-nar-bundles/nifi-provenance-repository-bundle/nifi-volatile-provenance-repository/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-provenance-repository-bundle/nifi-volatile-provenance-repository/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-provenance-repository-bundle</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <artifactId>nifi-volatile-provenance-repository</artifactId>
     <packaging>jar</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-provenance-repository-bundle/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-provenance-repository-bundle/pom.xml b/nifi/nifi-nar-bundles/nifi-provenance-repository-bundle/pom.xml
index be19f92..8434959 100644
--- a/nifi/nifi-nar-bundles/nifi-provenance-repository-bundle/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-provenance-repository-bundle/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-nar-bundles</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <artifactId>nifi-provenance-repository-bundle</artifactId>
     <packaging>pom</packaging>
@@ -31,12 +31,12 @@
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-persistent-provenance-repository</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-volatile-provenance-repository</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
             </dependency>
         </dependencies>
     </dependencyManagement>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-social-media-bundle/nifi-social-media-nar/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-social-media-bundle/nifi-social-media-nar/pom.xml b/nifi/nifi-nar-bundles/nifi-social-media-bundle/nifi-social-media-nar/pom.xml
index f48e5dc..69a10f2 100644
--- a/nifi/nifi-nar-bundles/nifi-social-media-bundle/nifi-social-media-nar/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-social-media-bundle/nifi-social-media-nar/pom.xml
@@ -19,7 +19,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-social-media-bundle</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
 
     <artifactId>nifi-social-media-nar</artifactId>
@@ -29,7 +29,7 @@
         <dependency>
             <groupId>org.apache.nifi</groupId>
             <artifactId>nifi-twitter-processors</artifactId>
-            <version>0.2.0-incubating-SNAPSHOT</version>
+            <version>0.2.0-incubating</version>
         </dependency>
     </dependencies>
 

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-social-media-bundle/nifi-twitter-processors/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-social-media-bundle/nifi-twitter-processors/pom.xml b/nifi/nifi-nar-bundles/nifi-social-media-bundle/nifi-twitter-processors/pom.xml
index 2ab8380..4abb518 100644
--- a/nifi/nifi-nar-bundles/nifi-social-media-bundle/nifi-twitter-processors/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-social-media-bundle/nifi-twitter-processors/pom.xml
@@ -19,7 +19,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-social-media-bundle</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
 
     <artifactId>nifi-twitter-processors</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-social-media-bundle/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-social-media-bundle/pom.xml b/nifi/nifi-nar-bundles/nifi-social-media-bundle/pom.xml
index f183d5b..8814a91 100644
--- a/nifi/nifi-nar-bundles/nifi-social-media-bundle/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-social-media-bundle/pom.xml
@@ -19,7 +19,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-nar-bundles</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
 
     <artifactId>nifi-social-media-bundle</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-solr-bundle/nifi-solr-nar/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-solr-bundle/nifi-solr-nar/pom.xml b/nifi/nifi-nar-bundles/nifi-solr-bundle/nifi-solr-nar/pom.xml
index cbeba8a..b38d6db 100644
--- a/nifi/nifi-nar-bundles/nifi-solr-bundle/nifi-solr-nar/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-solr-bundle/nifi-solr-nar/pom.xml
@@ -19,7 +19,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-solr-bundle</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
 
     <artifactId>nifi-solr-nar</artifactId>
@@ -29,7 +29,7 @@
         <dependency>
             <groupId>org.apache.nifi</groupId>
             <artifactId>nifi-solr-processors</artifactId>
-            <version>0.2.0-incubating-SNAPSHOT</version>
+            <version>0.2.0-incubating</version>
         </dependency>
     </dependencies>
 

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-solr-bundle/nifi-solr-processors/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-solr-bundle/nifi-solr-processors/pom.xml b/nifi/nifi-nar-bundles/nifi-solr-bundle/nifi-solr-processors/pom.xml
index 35c3b44..7dec80b 100644
--- a/nifi/nifi-nar-bundles/nifi-solr-bundle/nifi-solr-processors/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-solr-bundle/nifi-solr-processors/pom.xml
@@ -19,7 +19,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-solr-bundle</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
 
     <artifactId>nifi-solr-processors</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-solr-bundle/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-solr-bundle/pom.xml b/nifi/nifi-nar-bundles/nifi-solr-bundle/pom.xml
index b40eaee..2cdd28a 100644
--- a/nifi/nifi-nar-bundles/nifi-solr-bundle/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-solr-bundle/pom.xml
@@ -19,7 +19,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-nar-bundles</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
 
     <artifactId>nifi-solr-bundle</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-content-viewer/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-content-viewer/pom.xml b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-content-viewer/pom.xml
index ed97131..66b4b1e 100644
--- a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-content-viewer/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-content-viewer/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-standard-bundle</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <groupId>org.apache.nifi</groupId>
     <artifactId>nifi-standard-content-viewer</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-nar/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-nar/pom.xml b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-nar/pom.xml
index a008753..c656f66 100644
--- a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-nar/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-nar/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-standard-bundle</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <artifactId>nifi-standard-nar</artifactId>
     <packaging>nar</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-prioritizers/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-prioritizers/pom.xml b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-prioritizers/pom.xml
index 8e34515..4fb4e17 100644
--- a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-prioritizers/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-prioritizers/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-standard-bundle</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <groupId>org.apache.nifi</groupId>
     <artifactId>nifi-standard-prioritizers</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/pom.xml b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/pom.xml
index d8cd3d2..5bb0be9 100644
--- a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/pom.xml
@@ -9,13 +9,12 @@
 	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">
+<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>
 	<parent>
 		<groupId>org.apache.nifi</groupId>
 		<artifactId>nifi-standard-bundle</artifactId>
-		<version>0.2.0-incubating-SNAPSHOT</version>
+		<version>0.2.0-incubating</version>
 	</parent>
 	<artifactId>nifi-standard-processors</artifactId>
 	<packaging>jar</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-reporting-tasks/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-reporting-tasks/pom.xml b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-reporting-tasks/pom.xml
index a7d2102..f5b5815 100644
--- a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-reporting-tasks/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-reporting-tasks/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-standard-bundle</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <artifactId>nifi-standard-reporting-tasks</artifactId>
     <packaging>jar</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-standard-bundle/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-bundle/pom.xml b/nifi/nifi-nar-bundles/nifi-standard-bundle/pom.xml
index e7eef65..e8b9f90 100644
--- a/nifi/nifi-nar-bundles/nifi-standard-bundle/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-standard-bundle/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-nar-bundles</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <artifactId>nifi-standard-bundle</artifactId>
     <packaging>pom</packaging>
@@ -35,23 +35,23 @@
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-standard-processors</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-standard-prioritizers</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-standard-reporting-tasks</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-standard-content-viewer</artifactId>
                 <type>war</type>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
             </dependency>
             <dependency>
                 <groupId>com.fasterxml.jackson.core</groupId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-standard-services/nifi-dbcp-service-api/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-services/nifi-dbcp-service-api/pom.xml b/nifi/nifi-nar-bundles/nifi-standard-services/nifi-dbcp-service-api/pom.xml
index b206843..dc1a1f6 100644
--- a/nifi/nifi-nar-bundles/nifi-standard-services/nifi-dbcp-service-api/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-standard-services/nifi-dbcp-service-api/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-standard-services</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     
     <artifactId>nifi-dbcp-service-api</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-standard-services/nifi-dbcp-service-bundle/nifi-dbcp-service-nar/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-services/nifi-dbcp-service-bundle/nifi-dbcp-service-nar/pom.xml b/nifi/nifi-nar-bundles/nifi-standard-services/nifi-dbcp-service-bundle/nifi-dbcp-service-nar/pom.xml
index 23e1950..9b658f0 100644
--- a/nifi/nifi-nar-bundles/nifi-standard-services/nifi-dbcp-service-bundle/nifi-dbcp-service-nar/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-standard-services/nifi-dbcp-service-bundle/nifi-dbcp-service-nar/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-dbcp-service-bundle</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     
     <artifactId>nifi-dbcp-service-nar</artifactId>
@@ -31,7 +31,7 @@
         <dependency>
             <groupId>org.apache.nifi</groupId>
             <artifactId>nifi-dbcp-service</artifactId>
-            <version>0.2.0-incubating-SNAPSHOT</version>
+            <version>0.2.0-incubating</version>
         </dependency>
     </dependencies>
 </project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-standard-services/nifi-dbcp-service-bundle/nifi-dbcp-service/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-services/nifi-dbcp-service-bundle/nifi-dbcp-service/pom.xml b/nifi/nifi-nar-bundles/nifi-standard-services/nifi-dbcp-service-bundle/nifi-dbcp-service/pom.xml
index 70cc1ea..5a81e77 100644
--- a/nifi/nifi-nar-bundles/nifi-standard-services/nifi-dbcp-service-bundle/nifi-dbcp-service/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-standard-services/nifi-dbcp-service-bundle/nifi-dbcp-service/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-dbcp-service-bundle</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     
     <artifactId>nifi-dbcp-service</artifactId>
@@ -26,7 +26,7 @@
         <dependency>
             <groupId>org.apache.nifi</groupId>
             <artifactId>nifi-dbcp-service-api</artifactId>
-            <version>0.2.0-incubating-SNAPSHOT</version>
+            <version>0.2.0-incubating</version>
         </dependency>
         <dependency>
             <groupId>org.apache.nifi</groupId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-standard-services/nifi-dbcp-service-bundle/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-services/nifi-dbcp-service-bundle/pom.xml b/nifi/nifi-nar-bundles/nifi-standard-services/nifi-dbcp-service-bundle/pom.xml
index 7f925cd..75dd365 100644
--- a/nifi/nifi-nar-bundles/nifi-standard-services/nifi-dbcp-service-bundle/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-standard-services/nifi-dbcp-service-bundle/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-standard-services</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     
     <artifactId>nifi-dbcp-service-bundle</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-standard-services/nifi-distributed-cache-client-service-api/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-services/nifi-distributed-cache-client-service-api/pom.xml b/nifi/nifi-nar-bundles/nifi-standard-services/nifi-distributed-cache-client-service-api/pom.xml
index 7054a4d..d8d6fed 100644
--- a/nifi/nifi-nar-bundles/nifi-standard-services/nifi-distributed-cache-client-service-api/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-standard-services/nifi-distributed-cache-client-service-api/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-standard-services</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <artifactId>nifi-distributed-cache-client-service-api</artifactId>
     <packaging>jar</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-standard-services/nifi-distributed-cache-services-bundle/nifi-distributed-cache-client-service/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-services/nifi-distributed-cache-services-bundle/nifi-distributed-cache-client-service/pom.xml b/nifi/nifi-nar-bundles/nifi-standard-services/nifi-distributed-cache-services-bundle/nifi-distributed-cache-client-service/pom.xml
index 7abeda4..b727bc3 100644
--- a/nifi/nifi-nar-bundles/nifi-standard-services/nifi-distributed-cache-services-bundle/nifi-distributed-cache-client-service/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-standard-services/nifi-distributed-cache-services-bundle/nifi-distributed-cache-client-service/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-distributed-cache-services-bundle</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <artifactId>nifi-distributed-cache-client-service</artifactId>
     <packaging>jar</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-standard-services/nifi-distributed-cache-services-bundle/nifi-distributed-cache-protocol/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-services/nifi-distributed-cache-services-bundle/nifi-distributed-cache-protocol/pom.xml b/nifi/nifi-nar-bundles/nifi-standard-services/nifi-distributed-cache-services-bundle/nifi-distributed-cache-protocol/pom.xml
index f4dfa1b..73832b6 100644
--- a/nifi/nifi-nar-bundles/nifi-standard-services/nifi-distributed-cache-services-bundle/nifi-distributed-cache-protocol/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-standard-services/nifi-distributed-cache-services-bundle/nifi-distributed-cache-protocol/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-distributed-cache-services-bundle</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <artifactId>nifi-distributed-cache-protocol</artifactId>
     <description>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-standard-services/nifi-distributed-cache-services-bundle/nifi-distributed-cache-server/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-services/nifi-distributed-cache-services-bundle/nifi-distributed-cache-server/pom.xml b/nifi/nifi-nar-bundles/nifi-standard-services/nifi-distributed-cache-services-bundle/nifi-distributed-cache-server/pom.xml
index 102ae63..06de1a2 100644
--- a/nifi/nifi-nar-bundles/nifi-standard-services/nifi-distributed-cache-services-bundle/nifi-distributed-cache-server/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-standard-services/nifi-distributed-cache-services-bundle/nifi-distributed-cache-server/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-distributed-cache-services-bundle</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <artifactId>nifi-distributed-cache-server</artifactId>
     <description>Provides a Controller Service for hosting Distributed Caches</description>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-standard-services/nifi-distributed-cache-services-bundle/nifi-distributed-cache-services-nar/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-services/nifi-distributed-cache-services-bundle/nifi-distributed-cache-services-nar/pom.xml b/nifi/nifi-nar-bundles/nifi-standard-services/nifi-distributed-cache-services-bundle/nifi-distributed-cache-services-nar/pom.xml
index 68a1e42..3c9f7c4 100644
--- a/nifi/nifi-nar-bundles/nifi-standard-services/nifi-distributed-cache-services-bundle/nifi-distributed-cache-services-nar/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-standard-services/nifi-distributed-cache-services-bundle/nifi-distributed-cache-services-nar/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-distributed-cache-services-bundle</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <artifactId>nifi-distributed-cache-services-nar</artifactId>
     <packaging>nar</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-standard-services/nifi-distributed-cache-services-bundle/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-services/nifi-distributed-cache-services-bundle/pom.xml b/nifi/nifi-nar-bundles/nifi-standard-services/nifi-distributed-cache-services-bundle/pom.xml
index 72b53ac..83bd43e 100644
--- a/nifi/nifi-nar-bundles/nifi-standard-services/nifi-distributed-cache-services-bundle/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-standard-services/nifi-distributed-cache-services-bundle/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-standard-services</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <artifactId>nifi-distributed-cache-services-bundle</artifactId>
     <packaging>pom</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-standard-services/nifi-http-context-map-api/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-services/nifi-http-context-map-api/pom.xml b/nifi/nifi-nar-bundles/nifi-standard-services/nifi-http-context-map-api/pom.xml
index 0b38cc2..b644a52 100644
--- a/nifi/nifi-nar-bundles/nifi-standard-services/nifi-http-context-map-api/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-standard-services/nifi-http-context-map-api/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-standard-services</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
   
     <artifactId>nifi-http-context-map-api</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-standard-services/nifi-http-context-map-bundle/nifi-http-context-map-nar/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-services/nifi-http-context-map-bundle/nifi-http-context-map-nar/pom.xml b/nifi/nifi-nar-bundles/nifi-standard-services/nifi-http-context-map-bundle/nifi-http-context-map-nar/pom.xml
index 4c398e7..b16fb6c 100644
--- a/nifi/nifi-nar-bundles/nifi-standard-services/nifi-http-context-map-bundle/nifi-http-context-map-nar/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-standard-services/nifi-http-context-map-bundle/nifi-http-context-map-nar/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-http-context-map-bundle</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
 	
     <artifactId>nifi-http-context-map-nar</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-standard-services/nifi-http-context-map-bundle/nifi-http-context-map/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-services/nifi-http-context-map-bundle/nifi-http-context-map/pom.xml b/nifi/nifi-nar-bundles/nifi-standard-services/nifi-http-context-map-bundle/nifi-http-context-map/pom.xml
index 2a3c9fe..25d88d4 100644
--- a/nifi/nifi-nar-bundles/nifi-standard-services/nifi-http-context-map-bundle/nifi-http-context-map/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-standard-services/nifi-http-context-map-bundle/nifi-http-context-map/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-http-context-map-bundle</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
 	
     <artifactId>nifi-http-context-map</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-standard-services/nifi-http-context-map-bundle/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-services/nifi-http-context-map-bundle/pom.xml b/nifi/nifi-nar-bundles/nifi-standard-services/nifi-http-context-map-bundle/pom.xml
index ab6a132..3c73155 100644
--- a/nifi/nifi-nar-bundles/nifi-standard-services/nifi-http-context-map-bundle/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-standard-services/nifi-http-context-map-bundle/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-standard-services</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
 
     <artifactId>nifi-http-context-map-bundle</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-standard-services/nifi-load-distribution-service-api/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-services/nifi-load-distribution-service-api/pom.xml b/nifi/nifi-nar-bundles/nifi-standard-services/nifi-load-distribution-service-api/pom.xml
index 639c8b2..93a845e 100644
--- a/nifi/nifi-nar-bundles/nifi-standard-services/nifi-load-distribution-service-api/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-standard-services/nifi-load-distribution-service-api/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-standard-services</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <artifactId>nifi-load-distribution-service-api</artifactId>
     <packaging>jar</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-standard-services/nifi-ssl-context-bundle/nifi-ssl-context-nar/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-services/nifi-ssl-context-bundle/nifi-ssl-context-nar/pom.xml b/nifi/nifi-nar-bundles/nifi-standard-services/nifi-ssl-context-bundle/nifi-ssl-context-nar/pom.xml
index 659637a..8e2a070 100644
--- a/nifi/nifi-nar-bundles/nifi-standard-services/nifi-ssl-context-bundle/nifi-ssl-context-nar/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-standard-services/nifi-ssl-context-bundle/nifi-ssl-context-nar/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-ssl-context-bundle</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <artifactId>nifi-ssl-context-service-nar</artifactId>
     <packaging>nar</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-standard-services/nifi-ssl-context-bundle/nifi-ssl-context-service/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-services/nifi-ssl-context-bundle/nifi-ssl-context-service/pom.xml b/nifi/nifi-nar-bundles/nifi-standard-services/nifi-ssl-context-bundle/nifi-ssl-context-service/pom.xml
index 9921d8b..50bb298 100644
--- a/nifi/nifi-nar-bundles/nifi-standard-services/nifi-ssl-context-bundle/nifi-ssl-context-service/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-standard-services/nifi-ssl-context-bundle/nifi-ssl-context-service/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-ssl-context-bundle</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <artifactId>nifi-ssl-context-service</artifactId>
     <packaging>jar</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-standard-services/nifi-ssl-context-bundle/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-services/nifi-ssl-context-bundle/pom.xml b/nifi/nifi-nar-bundles/nifi-standard-services/nifi-ssl-context-bundle/pom.xml
index ce00c12..da9408b 100644
--- a/nifi/nifi-nar-bundles/nifi-standard-services/nifi-ssl-context-bundle/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-standard-services/nifi-ssl-context-bundle/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-standard-services</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <artifactId>nifi-ssl-context-bundle</artifactId>
     <packaging>pom</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-standard-services/nifi-ssl-context-service-api/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-services/nifi-ssl-context-service-api/pom.xml b/nifi/nifi-nar-bundles/nifi-standard-services/nifi-ssl-context-service-api/pom.xml
index dfde8d1..160282b 100644
--- a/nifi/nifi-nar-bundles/nifi-standard-services/nifi-ssl-context-service-api/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-standard-services/nifi-ssl-context-service-api/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-standard-services</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <artifactId>nifi-ssl-context-service-api</artifactId>
     <packaging>jar</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-standard-services/nifi-standard-services-api-nar/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-services/nifi-standard-services-api-nar/pom.xml b/nifi/nifi-nar-bundles/nifi-standard-services/nifi-standard-services-api-nar/pom.xml
index a80006f..7397a2d 100644
--- a/nifi/nifi-nar-bundles/nifi-standard-services/nifi-standard-services-api-nar/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-standard-services/nifi-standard-services-api-nar/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-standard-services</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <artifactId>nifi-standard-services-api-nar</artifactId>
     <packaging>nar</packaging>
@@ -45,7 +45,7 @@
         <dependency>
             <groupId>org.apache.nifi</groupId>
             <artifactId>nifi-dbcp-service-api</artifactId>
-            <version>0.2.0-incubating-SNAPSHOT</version>
+            <version>0.2.0-incubating</version>
             <scope>compile</scope>
         </dependency>
     </dependencies>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-standard-services/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-services/pom.xml b/nifi/nifi-nar-bundles/nifi-standard-services/pom.xml
index 164e57f..44c878a 100644
--- a/nifi/nifi-nar-bundles/nifi-standard-services/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-standard-services/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-nar-bundles</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <artifactId>nifi-standard-services</artifactId>
     <packaging>pom</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-model/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-model/pom.xml b/nifi/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-model/pom.xml
index 183b50f..eeaed31 100644
--- a/nifi/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-model/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-model/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-update-attribute-bundle</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <groupId>org.apache.nifi</groupId>
     <artifactId>nifi-update-attribute-model</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-nar/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-nar/pom.xml b/nifi/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-nar/pom.xml
index 65d7089..18544b1 100644
--- a/nifi/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-nar/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-nar/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-update-attribute-bundle</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <artifactId>nifi-update-attribute-nar</artifactId>
     <packaging>nar</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-processor/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-processor/pom.xml b/nifi/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-processor/pom.xml
index 4bb940e..851fc06 100644
--- a/nifi/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-processor/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-processor/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-update-attribute-bundle</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <groupId>org.apache.nifi</groupId>
     <artifactId>nifi-update-attribute-processor</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-ui/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-ui/pom.xml b/nifi/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-ui/pom.xml
index bfd8ff8..fd1f47b 100644
--- a/nifi/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-ui/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-ui/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-update-attribute-bundle</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <artifactId>nifi-update-attribute-ui</artifactId>
     <packaging>war</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-update-attribute-bundle/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-update-attribute-bundle/pom.xml b/nifi/nifi-nar-bundles/nifi-update-attribute-bundle/pom.xml
index a7ac428..69533fd 100644
--- a/nifi/nifi-nar-bundles/nifi-update-attribute-bundle/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-update-attribute-bundle/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-nar-bundles</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <artifactId>nifi-update-attribute-bundle</artifactId>
     <packaging>pom</packaging>
@@ -34,18 +34,18 @@
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-update-attribute-model</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-update-attribute-processor</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-update-attribute-ui</artifactId>
                 <type>war</type>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
             </dependency>
         </dependencies>
     </dependencyManagement>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/pom.xml b/nifi/nifi-nar-bundles/pom.xml
index b9be570..b67629e 100644
--- a/nifi/nifi-nar-bundles/pom.xml
+++ b/nifi/nifi-nar-bundles/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <groupId>org.apache.nifi</groupId>
     <artifactId>nifi-nar-bundles</artifactId>
@@ -47,81 +47,81 @@
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-distributed-cache-client-service</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-distributed-cache-client-service-api</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
                 <scope>provided</scope>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-ssl-context-service-api</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
                 <scope>provided</scope>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-load-distribution-service-api</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
                 <scope>provided</scope>
             </dependency>
              <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-http-context-map-api</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
                 <scope>provided</scope>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-distributed-cache-protocol</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-distributed-cache-server</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-ssl-context-service</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-http-context-map</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-volatile-provenance-repository</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
                 <scope>test</scope>
             </dependency>
             <!-- The following dependencies are marked provided because they must be provided by the container.  Nars can assume they are there-->
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-api</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
                 <scope>provided</scope>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-runtime</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
                 <scope>provided</scope>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-nar-utils</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
                 <scope>provided</scope>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-properties</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
                 <scope>provided</scope>
             </dependency>
         </dependencies>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/pom.xml b/nifi/pom.xml
index 0c71ba8..6db495e 100644
--- a/nifi/pom.xml
+++ b/nifi/pom.xml
@@ -22,7 +22,7 @@
         <relativePath />
     </parent>
     <artifactId>nifi</artifactId>
-    <version>0.2.0-incubating-SNAPSHOT</version>
+    <version>0.2.0-incubating</version>
     <packaging>pom</packaging>
     <description>Apache NiFi(incubating) is an easy to use, powerful, and reliable system to process and distribute data.</description>
     <modules>
@@ -619,67 +619,67 @@
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-api</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-utils</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-site-to-site-client</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-web-utils</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-expression-language</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-custom-ui-utilities</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-ui-extension</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-flowfile-packager</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-socket-utils</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-data-provenance-utils</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-runtime</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-bootstrap</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-resources</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
                 <classifier>resources</classifier>
                 <scope>runtime</scope>
                 <type>zip</type>
@@ -687,7 +687,7 @@
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-docs</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
                 <classifier>resources</classifier>
                 <scope>runtime</scope>
                 <type>zip</type>
@@ -695,162 +695,162 @@
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-framework-nar</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
                 <type>nar</type>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-provenance-repository-nar</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
                 <type>nar</type>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-standard-services-api-nar</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
                 <type>nar</type>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-ssl-context-service-nar</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
                 <type>nar</type>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-distributed-cache-services-nar</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
                 <type>nar</type>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-standard-nar</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
                 <type>nar</type>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-jetty-bundle</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
                 <type>nar</type>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-update-attribute-nar</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
                 <type>nar</type>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-hadoop-libraries-nar</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
                 <type>nar</type>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-hadoop-nar</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
                 <type>nar</type>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-kite-nar</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
                 <type>nar</type>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-mongodb-nar</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
                 <type>nar</type>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-solr-nar</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
                 <type>nar</type>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-kafka-nar</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
                 <type>nar</type>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-http-context-map-nar</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
                 <type>nar</type>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-social-media-nar</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
                 <type>nar</type>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-hl7-nar</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
                 <type>nar</type>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-language-translation-nar</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
                 <type>nar</type>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-geo-nar</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
                 <type>nar</type>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-properties</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-security-utils</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-logging-utils</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-nar-utils</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-processor-utils</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-mock</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
                 <scope>test</scope>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-write-ahead-log</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-dbcp-service</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-dbcp-service-api</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
             </dependency>
             <dependency>
                 <groupId>com.jayway.jsonpath</groupId>
@@ -910,4 +910,8 @@
             </plugin>
         </plugins>
     </build>
+
+  <scm>
+    <tag>nifi-0.2.0-incubating-RC1</tag>
+  </scm>
 </project>


[46/50] [abbrv] incubator-nifi git commit: NIFI-705 Preventing the processor from initializing each time it is waiting for the request.

Posted by mc...@apache.org.
NIFI-705 Preventing the processor from initializing each time it is waiting for the request.


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

Branch: refs/heads/master
Commit: df92dff8bb1ca0bdcebd5658aaae1234b2f5f209
Parents: 3125036
Author: Aldrin Piri <al...@apache.org>
Authored: Wed Jul 8 13:12:04 2015 -0400
Committer: Aldrin Piri <al...@apache.org>
Committed: Wed Jul 8 13:12:04 2015 -0400

----------------------------------------------------------------------
 .../org/apache/nifi/processors/standard/TestHandleHttpRequest.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/df92dff8/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestHandleHttpRequest.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestHandleHttpRequest.java b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestHandleHttpRequest.java
index 235ec2d..9aa9772 100644
--- a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestHandleHttpRequest.java
+++ b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestHandleHttpRequest.java
@@ -81,7 +81,7 @@ public class TestHandleHttpRequest {
 
             while ( runner.getFlowFilesForRelationship(HandleHttpRequest.REL_SUCCESS).isEmpty() ) {
                 // process the request.
-                runner.run(1, false);
+                runner.run(1, false, false);
             }
 
             runner.assertAllFlowFilesTransferred(HandleHttpRequest.REL_SUCCESS, 1);


[02/50] [abbrv] incubator-nifi git commit: Merge branch 'develop' of https://git-wip-us.apache.org/repos/asf/incubator-nifi into develop

Posted by mc...@apache.org.
Merge branch 'develop' of https://git-wip-us.apache.org/repos/asf/incubator-nifi into develop


Project: http://git-wip-us.apache.org/repos/asf/incubator-nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-nifi/commit/69297a3a
Tree: http://git-wip-us.apache.org/repos/asf/incubator-nifi/tree/69297a3a
Diff: http://git-wip-us.apache.org/repos/asf/incubator-nifi/diff/69297a3a

Branch: refs/heads/master
Commit: 69297a3aa0608e3be3b6d609e623b0b7bef263d6
Parents: 0df351d 0c5b78f
Author: Matt Gilman <ma...@gmail.com>
Authored: Wed Jun 24 09:15:27 2015 -0400
Committer: Matt Gilman <ma...@gmail.com>
Committed: Wed Jun 24 09:15:27 2015 -0400

----------------------------------------------------------------------
 .../java/org/apache/nifi/processors/standard/ExtractText.java    | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------



[14/50] [abbrv] incubator-nifi git commit: Merge branch 'NIFI-737' into develop

Posted by mc...@apache.org.
Merge branch 'NIFI-737' into develop


Project: http://git-wip-us.apache.org/repos/asf/incubator-nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-nifi/commit/4dc2ea6d
Tree: http://git-wip-us.apache.org/repos/asf/incubator-nifi/tree/4dc2ea6d
Diff: http://git-wip-us.apache.org/repos/asf/incubator-nifi/diff/4dc2ea6d

Branch: refs/heads/master
Commit: 4dc2ea6d477ca0c03d78c42e8958e0af58e084be
Parents: e35f348 846d2f4
Author: danbress <db...@onyxconsults.com>
Authored: Sun Jun 28 16:01:14 2015 -0400
Committer: danbress <db...@onyxconsults.com>
Committed: Sun Jun 28 16:01:14 2015 -0400

----------------------------------------------------------------------
 nifi/nifi-docs/src/main/asciidoc/developer-guide.adoc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------



[48/50] [abbrv] incubator-nifi git commit: NIFI-656-RC1 prepare release nifi-0.2.0-incubating-RC1

Posted by mc...@apache.org.
NIFI-656-RC1 prepare release nifi-0.2.0-incubating-RC1


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

Branch: refs/heads/master
Commit: e4f51eac9d1b9eabbb091a9f2c3eb1fee453cfc6
Parents: df92dff
Author: Matt Gilman <ma...@gmail.com>
Authored: Wed Jul 8 14:44:44 2015 -0400
Committer: Matt Gilman <ma...@gmail.com>
Committed: Wed Jul 8 14:44:44 2015 -0400

----------------------------------------------------------------------
 nifi/nifi-api/pom.xml                           |   2 +-
 nifi/nifi-assembly/pom.xml                      |  12 +-
 nifi/nifi-bootstrap/pom.xml                     |   2 +-
 .../nifi-data-provenance-utils/pom.xml          |   2 +-
 .../nifi-expression-language/pom.xml            |   2 +-
 .../nifi-commons/nifi-flowfile-packager/pom.xml |   2 +-
 .../nifi-hl7-query-language/pom.xml             |   2 +-
 nifi/nifi-commons/nifi-logging-utils/pom.xml    |   2 +-
 .../nifi-processor-utilities/pom.xml            |   2 +-
 nifi/nifi-commons/nifi-properties/pom.xml       |   2 +-
 nifi/nifi-commons/nifi-security-utils/pom.xml   |   2 +-
 .../nifi-site-to-site-client/pom.xml            |   4 +-
 nifi/nifi-commons/nifi-socket-utils/pom.xml     |   2 +-
 nifi/nifi-commons/nifi-utils/pom.xml            |   4 +-
 nifi/nifi-commons/nifi-web-utils/pom.xml        |   2 +-
 nifi/nifi-commons/nifi-write-ahead-log/pom.xml  |   2 +-
 nifi/nifi-commons/pom.xml                       |   2 +-
 nifi/nifi-docs/pom.xml                          |   2 +-
 .../nifi-nifi-example-nar/pom.xml               |  70 +++++-----
 .../nifi-nifi-example-processors/pom.xml        | 140 +++++++++----------
 nifi/nifi-external/nifi-example-bundle/pom.xml  |  84 +++++------
 nifi/nifi-external/nifi-spark-receiver/pom.xml  |   2 +-
 nifi/nifi-external/nifi-storm-spout/pom.xml     |   2 +-
 nifi/nifi-external/pom.xml                      |   2 +-
 .../nifi-processor-bundle-archetype/pom.xml     |   2 +-
 nifi/nifi-maven-archetypes/pom.xml              |   2 +-
 nifi/nifi-mock/pom.xml                          |   2 +-
 .../nifi-aws-bundle/nifi-aws-nar/pom.xml        |   4 +-
 .../nifi-aws-bundle/nifi-aws-processors/pom.xml |   2 +-
 nifi/nifi-nar-bundles/nifi-aws-bundle/pom.xml   |   2 +-
 .../nifi-framework-nar/pom.xml                  |   2 +-
 .../nifi-framework/nifi-administration/pom.xml  |   2 +-
 .../nifi-framework/nifi-client-dto/pom.xml      |   2 +-
 .../nifi-cluster-authorization-provider/pom.xml |   2 +-
 .../nifi-framework/nifi-documentation/pom.xml   |   2 +-
 .../nifi-file-authorization-provider/pom.xml    |   2 +-
 .../nifi-framework-cluster-protocol/pom.xml     |   2 +-
 .../nifi-framework-cluster-web/pom.xml          |   2 +-
 .../nifi-framework-cluster/pom.xml              |   2 +-
 .../nifi-framework-core-api/pom.xml             |   2 +-
 .../nifi-framework/nifi-framework-core/pom.xml  |   2 +-
 .../nifi-framework/nifi-nar-utils/pom.xml       |   2 +-
 .../nifi-framework/nifi-resources/pom.xml       |   2 +-
 .../nifi-framework/nifi-runtime/pom.xml         |   2 +-
 .../nifi-framework/nifi-security/pom.xml        |   2 +-
 .../nifi-framework/nifi-site-to-site/pom.xml    |   2 +-
 .../nifi-framework/nifi-user-actions/pom.xml    |   2 +-
 .../nifi-web/nifi-custom-ui-utilities/pom.xml   |   2 +-
 .../nifi-framework/nifi-web/nifi-jetty/pom.xml  |   2 +-
 .../nifi-web/nifi-ui-extension/pom.xml          |   2 +-
 .../nifi-web/nifi-web-api/pom.xml               |   2 +-
 .../nifi-web/nifi-web-content-access/pom.xml    |   2 +-
 .../nifi-web/nifi-web-content-viewer/pom.xml    |   2 +-
 .../nifi-web/nifi-web-docs/pom.xml              |   2 +-
 .../nifi-web/nifi-web-error/pom.xml             |   2 +-
 .../nifi-web-optimistic-locking/pom.xml         |   2 +-
 .../nifi-web/nifi-web-security/pom.xml          |   2 +-
 .../nifi-framework/nifi-web/nifi-web-ui/pom.xml |   2 +-
 .../nifi-framework/nifi-web/pom.xml             |  12 +-
 .../nifi-framework/pom.xml                      |   2 +-
 .../nifi-framework-bundle/pom.xml               |  38 ++---
 .../nifi-geo-bundle/nifi-geo-nar/pom.xml        |   2 +-
 .../nifi-geo-bundle/nifi-geo-processors/pom.xml |   2 +-
 nifi/nifi-nar-bundles/nifi-geo-bundle/pom.xml   |   4 +-
 .../nifi-hadoop-bundle/nifi-hadoop-nar/pom.xml  |   2 +-
 .../nifi-hdfs-processors/pom.xml                |   2 +-
 .../nifi-nar-bundles/nifi-hadoop-bundle/pom.xml |   4 +-
 .../nifi-hadoop-libraries-nar/pom.xml           |   2 +-
 .../nifi-hadoop-libraries-bundle/pom.xml        |   2 +-
 .../nifi-hl7-bundle/nifi-hl7-nar/pom.xml        |   4 +-
 .../nifi-hl7-bundle/nifi-hl7-processors/pom.xml |   4 +-
 nifi/nifi-nar-bundles/nifi-hl7-bundle/pom.xml   |   2 +-
 nifi/nifi-nar-bundles/nifi-jetty-bundle/pom.xml |   2 +-
 .../nifi-kafka-bundle/nifi-kafka-nar/pom.xml    |   2 +-
 .../nifi-kafka-processors/pom.xml               |   2 +-
 nifi/nifi-nar-bundles/nifi-kafka-bundle/pom.xml |   4 +-
 .../nifi-kite-bundle/nifi-kite-nar/pom.xml      |   2 +-
 .../nifi-kite-processors/pom.xml                |   2 +-
 nifi/nifi-nar-bundles/nifi-kite-bundle/pom.xml  |   4 +-
 .../nifi-language-translation-nar/pom.xml       |   4 +-
 .../nifi-yandex-processors/pom.xml              |   2 +-
 .../nifi-language-translation-bundle/pom.xml    |   2 +-
 .../nifi-mongodb-nar/pom.xml                    |   6 +-
 .../nifi-mongodb-processors/pom.xml             |   2 +-
 .../nifi-mongodb-bundle/pom.xml                 |   4 +-
 .../pom.xml                                     |   2 +-
 .../nifi-provenance-repository-nar/pom.xml      |   2 +-
 .../nifi-volatile-provenance-repository/pom.xml |   2 +-
 .../nifi-provenance-repository-bundle/pom.xml   |   6 +-
 .../nifi-social-media-nar/pom.xml               |   4 +-
 .../nifi-twitter-processors/pom.xml             |   2 +-
 .../nifi-social-media-bundle/pom.xml            |   2 +-
 .../nifi-solr-bundle/nifi-solr-nar/pom.xml      |   4 +-
 .../nifi-solr-processors/pom.xml                |   2 +-
 nifi/nifi-nar-bundles/nifi-solr-bundle/pom.xml  |   2 +-
 .../nifi-standard-content-viewer/pom.xml        |   2 +-
 .../nifi-standard-nar/pom.xml                   |   2 +-
 .../nifi-standard-prioritizers/pom.xml          |   2 +-
 .../nifi-standard-processors/pom.xml            |   5 +-
 .../nifi-standard-reporting-tasks/pom.xml       |   2 +-
 .../nifi-standard-bundle/pom.xml                |  10 +-
 .../nifi-dbcp-service-api/pom.xml               |   2 +-
 .../nifi-dbcp-service-nar/pom.xml               |   4 +-
 .../nifi-dbcp-service/pom.xml                   |   4 +-
 .../nifi-dbcp-service-bundle/pom.xml            |   2 +-
 .../pom.xml                                     |   2 +-
 .../pom.xml                                     |   2 +-
 .../nifi-distributed-cache-protocol/pom.xml     |   2 +-
 .../nifi-distributed-cache-server/pom.xml       |   2 +-
 .../nifi-distributed-cache-services-nar/pom.xml |   2 +-
 .../pom.xml                                     |   2 +-
 .../nifi-http-context-map-api/pom.xml           |   2 +-
 .../nifi-http-context-map-nar/pom.xml           |   2 +-
 .../nifi-http-context-map/pom.xml               |   2 +-
 .../nifi-http-context-map-bundle/pom.xml        |   2 +-
 .../nifi-load-distribution-service-api/pom.xml  |   2 +-
 .../nifi-ssl-context-nar/pom.xml                |   2 +-
 .../nifi-ssl-context-service/pom.xml            |   2 +-
 .../nifi-ssl-context-bundle/pom.xml             |   2 +-
 .../nifi-ssl-context-service-api/pom.xml        |   2 +-
 .../nifi-standard-services-api-nar/pom.xml      |   4 +-
 .../nifi-standard-services/pom.xml              |   2 +-
 .../nifi-update-attribute-model/pom.xml         |   2 +-
 .../nifi-update-attribute-nar/pom.xml           |   2 +-
 .../nifi-update-attribute-processor/pom.xml     |   2 +-
 .../nifi-update-attribute-ui/pom.xml            |   2 +-
 .../nifi-update-attribute-bundle/pom.xml        |   8 +-
 nifi/nifi-nar-bundles/pom.xml                   |  30 ++--
 nifi/pom.xml                                    |  90 ++++++------
 129 files changed, 389 insertions(+), 386 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-api/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-api/pom.xml b/nifi/nifi-api/pom.xml
index 0d6324b..f15e0bb 100644
--- a/nifi/nifi-api/pom.xml
+++ b/nifi/nifi-api/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <artifactId>nifi-api</artifactId>
     <packaging>jar</packaging>    

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-assembly/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-assembly/pom.xml b/nifi/nifi-assembly/pom.xml
index c679d22..111560e 100644
--- a/nifi/nifi-assembly/pom.xml
+++ b/nifi/nifi-assembly/pom.xml
@@ -14,7 +14,7 @@ language governing permissions and limitations under the License. -->
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <artifactId>nifi-assembly</artifactId>
     <packaging>pom</packaging>
@@ -170,7 +170,7 @@ language governing permissions and limitations under the License. -->
         <dependency>
             <groupId>org.apache.nifi</groupId>
             <artifactId>nifi-dbcp-service-nar</artifactId>
-	        <version>0.2.0-incubating-SNAPSHOT</version>
+	        <version>0.2.0-incubating</version>
             <type>nar</type>
         </dependency>
         <dependency>
@@ -186,25 +186,25 @@ language governing permissions and limitations under the License. -->
         <dependency>
             <groupId>org.apache.nifi</groupId>
             <artifactId>nifi-social-media-nar</artifactId>
-            <version>0.2.0-incubating-SNAPSHOT</version>
+            <version>0.2.0-incubating</version>
             <type>nar</type>
         </dependency>
         <dependency>
             <groupId>org.apache.nifi</groupId>
             <artifactId>nifi-hl7-nar</artifactId>
-            <version>0.2.0-incubating-SNAPSHOT</version>
+            <version>0.2.0-incubating</version>
             <type>nar</type>
         </dependency>
         <dependency>
             <groupId>org.apache.nifi</groupId>
             <artifactId>nifi-language-translation-nar</artifactId>
-            <version>0.2.0-incubating-SNAPSHOT</version>
+            <version>0.2.0-incubating</version>
             <type>nar</type>
         </dependency>
         <dependency>
             <groupId>org.apache.nifi</groupId>
             <artifactId>nifi-geo-nar</artifactId>
-            <version>0.2.0-incubating-SNAPSHOT</version>
+            <version>0.2.0-incubating</version>
             <type>nar</type>
         </dependency>
     </dependencies>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-bootstrap/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-bootstrap/pom.xml b/nifi/nifi-bootstrap/pom.xml
index ff27fd3..47669bf 100644
--- a/nifi/nifi-bootstrap/pom.xml
+++ b/nifi/nifi-bootstrap/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <artifactId>nifi-bootstrap</artifactId>
     <packaging>jar</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-commons/nifi-data-provenance-utils/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-commons/nifi-data-provenance-utils/pom.xml b/nifi/nifi-commons/nifi-data-provenance-utils/pom.xml
index 4567ab3..e847150 100644
--- a/nifi/nifi-commons/nifi-data-provenance-utils/pom.xml
+++ b/nifi/nifi-commons/nifi-data-provenance-utils/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-commons</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <artifactId>nifi-data-provenance-utils</artifactId>
     <packaging>jar</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-commons/nifi-expression-language/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-commons/nifi-expression-language/pom.xml b/nifi/nifi-commons/nifi-expression-language/pom.xml
index 155dfe2..c84af55 100644
--- a/nifi/nifi-commons/nifi-expression-language/pom.xml
+++ b/nifi/nifi-commons/nifi-expression-language/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-commons</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <artifactId>nifi-expression-language</artifactId>
     <packaging>jar</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-commons/nifi-flowfile-packager/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-commons/nifi-flowfile-packager/pom.xml b/nifi/nifi-commons/nifi-flowfile-packager/pom.xml
index 694bffd..e71375d 100644
--- a/nifi/nifi-commons/nifi-flowfile-packager/pom.xml
+++ b/nifi/nifi-commons/nifi-flowfile-packager/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-commons</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <artifactId>nifi-flowfile-packager</artifactId>
     <packaging>jar</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-commons/nifi-hl7-query-language/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-commons/nifi-hl7-query-language/pom.xml b/nifi/nifi-commons/nifi-hl7-query-language/pom.xml
index b6ead09..4b3e495 100644
--- a/nifi/nifi-commons/nifi-hl7-query-language/pom.xml
+++ b/nifi/nifi-commons/nifi-hl7-query-language/pom.xml
@@ -19,7 +19,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-commons</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
 	
     <artifactId>nifi-hl7-query-language</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-commons/nifi-logging-utils/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-commons/nifi-logging-utils/pom.xml b/nifi/nifi-commons/nifi-logging-utils/pom.xml
index 30b99d8..99e23f5 100644
--- a/nifi/nifi-commons/nifi-logging-utils/pom.xml
+++ b/nifi/nifi-commons/nifi-logging-utils/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-commons</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <artifactId>nifi-logging-utils</artifactId>
     <description>Utilities for logging</description>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-commons/nifi-processor-utilities/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-commons/nifi-processor-utilities/pom.xml b/nifi/nifi-commons/nifi-processor-utilities/pom.xml
index 97c61c5..e49a875 100644
--- a/nifi/nifi-commons/nifi-processor-utilities/pom.xml
+++ b/nifi/nifi-commons/nifi-processor-utilities/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-commons</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <artifactId>nifi-processor-utils</artifactId>
     <packaging>jar</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-commons/nifi-properties/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-commons/nifi-properties/pom.xml b/nifi/nifi-commons/nifi-properties/pom.xml
index e9bbd9b..903a140 100644
--- a/nifi/nifi-commons/nifi-properties/pom.xml
+++ b/nifi/nifi-commons/nifi-properties/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-commons</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <artifactId>nifi-properties</artifactId>
 </project>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-commons/nifi-security-utils/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-commons/nifi-security-utils/pom.xml b/nifi/nifi-commons/nifi-security-utils/pom.xml
index a4f5898..dc00206 100644
--- a/nifi/nifi-commons/nifi-security-utils/pom.xml
+++ b/nifi/nifi-commons/nifi-security-utils/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-commons</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <artifactId>nifi-security-utils</artifactId>
     <description>Contains security functionality.</description>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-commons/nifi-site-to-site-client/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-commons/nifi-site-to-site-client/pom.xml b/nifi/nifi-commons/nifi-site-to-site-client/pom.xml
index a15d7b4..4e4655e 100644
--- a/nifi/nifi-commons/nifi-site-to-site-client/pom.xml
+++ b/nifi/nifi-commons/nifi-site-to-site-client/pom.xml
@@ -19,7 +19,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-commons</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
 
     <artifactId>nifi-site-to-site-client</artifactId>
@@ -42,7 +42,7 @@
         <dependency>
             <groupId>org.apache.nifi</groupId>
             <artifactId>nifi-client-dto</artifactId>
-            <version>0.2.0-incubating-SNAPSHOT</version>
+            <version>0.2.0-incubating</version>
         </dependency>
 
         <dependency>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-commons/nifi-socket-utils/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-commons/nifi-socket-utils/pom.xml b/nifi/nifi-commons/nifi-socket-utils/pom.xml
index b6325f7..e9d33a4 100644
--- a/nifi/nifi-commons/nifi-socket-utils/pom.xml
+++ b/nifi/nifi-commons/nifi-socket-utils/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-commons</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <artifactId>nifi-socket-utils</artifactId>
     <description>Utilities for socket communication</description>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-commons/nifi-utils/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-commons/nifi-utils/pom.xml b/nifi/nifi-commons/nifi-utils/pom.xml
index f89bba0..7d22bac 100644
--- a/nifi/nifi-commons/nifi-utils/pom.xml
+++ b/nifi/nifi-commons/nifi-utils/pom.xml
@@ -18,10 +18,10 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-commons</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <artifactId>nifi-utils</artifactId>
-    <version>0.2.0-incubating-SNAPSHOT</version>
+    <version>0.2.0-incubating</version>
     <packaging>jar</packaging>
     <!--
     This project intentionally has no additional dependencies beyond that pulled in by the parent.  It is a general purpose utility library

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-commons/nifi-web-utils/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-commons/nifi-web-utils/pom.xml b/nifi/nifi-commons/nifi-web-utils/pom.xml
index 370f43c..7335e34 100644
--- a/nifi/nifi-commons/nifi-web-utils/pom.xml
+++ b/nifi/nifi-commons/nifi-web-utils/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-commons</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <artifactId>nifi-web-utils</artifactId>
     <dependencies>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-commons/nifi-write-ahead-log/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-commons/nifi-write-ahead-log/pom.xml b/nifi/nifi-commons/nifi-write-ahead-log/pom.xml
index 3c1beba..2859c5f 100644
--- a/nifi/nifi-commons/nifi-write-ahead-log/pom.xml
+++ b/nifi/nifi-commons/nifi-write-ahead-log/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-commons</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <artifactId>nifi-write-ahead-log</artifactId>
     <packaging>jar</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-commons/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-commons/pom.xml b/nifi/nifi-commons/pom.xml
index de7f8d5..2ef81bc 100644
--- a/nifi/nifi-commons/pom.xml
+++ b/nifi/nifi-commons/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <groupId>org.apache.nifi</groupId>
     <artifactId>nifi-commons</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-docs/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-docs/pom.xml b/nifi/nifi-docs/pom.xml
index c3d6735..38542d2 100644
--- a/nifi/nifi-docs/pom.xml
+++ b/nifi/nifi-docs/pom.xml
@@ -4,7 +4,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <packaging>pom</packaging>
     <artifactId>nifi-docs</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-external/nifi-example-bundle/nifi-nifi-example-nar/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-external/nifi-example-bundle/nifi-nifi-example-nar/pom.xml b/nifi/nifi-external/nifi-example-bundle/nifi-nifi-example-nar/pom.xml
index 185a6ad..047ee8a 100644
--- a/nifi/nifi-external/nifi-example-bundle/nifi-nifi-example-nar/pom.xml
+++ b/nifi/nifi-external/nifi-example-bundle/nifi-nifi-example-nar/pom.xml
@@ -1,35 +1,35 @@
-<?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 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.
--->
-<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>
-
-    <parent>
-        <groupId>org.apache.nifi</groupId>
-        <artifactId>nifi-example-bundle</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
-    </parent>
-
-    <artifactId>nifi-example-nar</artifactId>
-    <packaging>nar</packaging>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.nifi</groupId>
-            <artifactId>nifi-nifi-example-processors</artifactId>
-        </dependency>
-    </dependencies>
-
-</project>
+<?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 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.
+-->
+<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>
+
+    <parent>
+        <groupId>org.apache.nifi</groupId>
+        <artifactId>nifi-example-bundle</artifactId>
+        <version>0.2.0-incubating</version>
+    </parent>
+
+    <artifactId>nifi-example-nar</artifactId>
+    <packaging>nar</packaging>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.nifi</groupId>
+            <artifactId>nifi-nifi-example-processors</artifactId>
+        </dependency>
+    </dependencies>
+
+</project>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-external/nifi-example-bundle/nifi-nifi-example-processors/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-external/nifi-example-bundle/nifi-nifi-example-processors/pom.xml b/nifi/nifi-external/nifi-example-bundle/nifi-nifi-example-processors/pom.xml
index fecf0bb..f0a5295 100644
--- a/nifi/nifi-external/nifi-example-bundle/nifi-nifi-example-processors/pom.xml
+++ b/nifi/nifi-external/nifi-example-bundle/nifi-nifi-example-processors/pom.xml
@@ -1,70 +1,70 @@
-<?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 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.
--->
-<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>
-
-    <parent>
-        <groupId>org.apache.nifi</groupId>
-        <artifactId>nifi-example-bundle</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
-    </parent>
-
-    <artifactId>nifi-nifi-example-processors</artifactId>
-    <packaging>jar</packaging>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.nifi</groupId>
-            <artifactId>nifi-api</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.nifi</groupId>
-            <artifactId>nifi-processor-utils</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.nifi</groupId>
-            <artifactId>nifi-mock</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-simple</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>commons-io</groupId>
-            <artifactId>commons-io</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>junit</groupId>
-            <artifactId>junit</artifactId>
-            <scope>test</scope>
-        </dependency>
-    </dependencies>
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.rat</groupId>
-                <artifactId>apache-rat-plugin</artifactId>
-                <configuration>
-                    <excludes>
-                        <exclude>src/main/resources/file.txt</exclude>
-                    </excludes>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
-</project>
+<?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 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.
+-->
+<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>
+
+    <parent>
+        <groupId>org.apache.nifi</groupId>
+        <artifactId>nifi-example-bundle</artifactId>
+        <version>0.2.0-incubating</version>
+    </parent>
+
+    <artifactId>nifi-nifi-example-processors</artifactId>
+    <packaging>jar</packaging>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.nifi</groupId>
+            <artifactId>nifi-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.nifi</groupId>
+            <artifactId>nifi-processor-utils</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.nifi</groupId>
+            <artifactId>nifi-mock</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-simple</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>commons-io</groupId>
+            <artifactId>commons-io</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <scope>test</scope>
+        </dependency>
+    </dependencies>
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.rat</groupId>
+                <artifactId>apache-rat-plugin</artifactId>
+                <configuration>
+                    <excludes>
+                        <exclude>src/main/resources/file.txt</exclude>
+                    </excludes>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+</project>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-external/nifi-example-bundle/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-external/nifi-example-bundle/pom.xml b/nifi/nifi-external/nifi-example-bundle/pom.xml
index c724c88..8eb794e 100644
--- a/nifi/nifi-external/nifi-example-bundle/pom.xml
+++ b/nifi/nifi-external/nifi-example-bundle/pom.xml
@@ -1,42 +1,42 @@
-<?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 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.
--->
-<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>
-
-    <parent>
-        <groupId>org.apache.nifi</groupId>
-        <artifactId>nifi-external</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
-    </parent>
-
-    <artifactId>nifi-example-bundle</artifactId>
-    <packaging>pom</packaging>
-
-    <modules>
-        <module>nifi-nifi-example-processors</module>
-        <module>nifi-nifi-example-nar</module>
-    </modules>
-
-    <dependencyManagement>
-        <dependencies>
-            <dependency>
-                <groupId>org.apache.nifi</groupId>
-                <artifactId>nifi-nifi-example-processors</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
-            </dependency>
-        </dependencies>
-    </dependencyManagement>
-</project>
+<?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 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.
+-->
+<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>
+
+    <parent>
+        <groupId>org.apache.nifi</groupId>
+        <artifactId>nifi-external</artifactId>
+        <version>0.2.0-incubating</version>
+    </parent>
+
+    <artifactId>nifi-example-bundle</artifactId>
+    <packaging>pom</packaging>
+
+    <modules>
+        <module>nifi-nifi-example-processors</module>
+        <module>nifi-nifi-example-nar</module>
+    </modules>
+
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.nifi</groupId>
+                <artifactId>nifi-nifi-example-processors</artifactId>
+                <version>0.2.0-incubating</version>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+</project>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-external/nifi-spark-receiver/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-external/nifi-spark-receiver/pom.xml b/nifi/nifi-external/nifi-spark-receiver/pom.xml
index af436c7..1ac232b 100644
--- a/nifi/nifi-external/nifi-spark-receiver/pom.xml
+++ b/nifi/nifi-external/nifi-spark-receiver/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-external</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <groupId>org.apache.nifi</groupId>
     <artifactId>nifi-spark-receiver</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-external/nifi-storm-spout/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-external/nifi-storm-spout/pom.xml b/nifi/nifi-external/nifi-storm-spout/pom.xml
index 353dd2d..aa8a1ea 100644
--- a/nifi/nifi-external/nifi-storm-spout/pom.xml
+++ b/nifi/nifi-external/nifi-storm-spout/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-external</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <groupId>org.apache.nifi</groupId>
     <artifactId>nifi-storm-spout</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-external/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-external/pom.xml b/nifi/nifi-external/pom.xml
index 8a2e585..8b6f3c7 100644
--- a/nifi/nifi-external/pom.xml
+++ b/nifi/nifi-external/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <groupId>org.apache.nifi</groupId>
     <artifactId>nifi-external</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-maven-archetypes/nifi-processor-bundle-archetype/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-maven-archetypes/nifi-processor-bundle-archetype/pom.xml b/nifi/nifi-maven-archetypes/nifi-processor-bundle-archetype/pom.xml
index b782805..8ef95c9 100644
--- a/nifi/nifi-maven-archetypes/nifi-processor-bundle-archetype/pom.xml
+++ b/nifi/nifi-maven-archetypes/nifi-processor-bundle-archetype/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-maven-archetypes</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
 
     <artifactId>nifi-processor-bundle-archetype</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-maven-archetypes/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-maven-archetypes/pom.xml b/nifi/nifi-maven-archetypes/pom.xml
index d6419e9..a934b92 100644
--- a/nifi/nifi-maven-archetypes/pom.xml
+++ b/nifi/nifi-maven-archetypes/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <groupId>org.apache.nifi</groupId>
     <artifactId>nifi-maven-archetypes</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-mock/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-mock/pom.xml b/nifi/nifi-mock/pom.xml
index 3a52fcd..6b110bf 100644
--- a/nifi/nifi-mock/pom.xml
+++ b/nifi/nifi-mock/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <artifactId>nifi-mock</artifactId>
     <dependencies>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-aws-bundle/nifi-aws-nar/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-aws-bundle/nifi-aws-nar/pom.xml b/nifi/nifi-nar-bundles/nifi-aws-bundle/nifi-aws-nar/pom.xml
index 243cbc1..5e262f2 100644
--- a/nifi/nifi-nar-bundles/nifi-aws-bundle/nifi-aws-nar/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-aws-bundle/nifi-aws-nar/pom.xml
@@ -19,7 +19,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-aws-bundle</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
 
     <artifactId>nifi-aws-nar</artifactId>
@@ -29,7 +29,7 @@
         <dependency>
             <groupId>org.apache.nifi</groupId>
             <artifactId>nifi-aws-processors</artifactId>
-            <version>0.2.0-incubating-SNAPSHOT</version>
+            <version>0.2.0-incubating</version>
         </dependency>
     </dependencies>
 

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-aws-bundle/nifi-aws-processors/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-aws-bundle/nifi-aws-processors/pom.xml b/nifi/nifi-nar-bundles/nifi-aws-bundle/nifi-aws-processors/pom.xml
index c69c3c8..b1c7dcf 100644
--- a/nifi/nifi-nar-bundles/nifi-aws-bundle/nifi-aws-processors/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-aws-bundle/nifi-aws-processors/pom.xml
@@ -19,7 +19,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-aws-bundle</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
 
     <artifactId>nifi-aws-processors</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-aws-bundle/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-aws-bundle/pom.xml b/nifi/nifi-nar-bundles/nifi-aws-bundle/pom.xml
index f3e92e6..4ac88c2 100644
--- a/nifi/nifi-nar-bundles/nifi-aws-bundle/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-aws-bundle/pom.xml
@@ -19,7 +19,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-nar-bundles</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
 
     <artifactId>nifi-aws-bundle</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework-nar/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework-nar/pom.xml b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework-nar/pom.xml
index 9b0fd18..880799f 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework-nar/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework-nar/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-framework-bundle</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <artifactId>nifi-framework-nar</artifactId>
     <packaging>nar</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-administration/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-administration/pom.xml b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-administration/pom.xml
index 4ff8e8e..8156ec2 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-administration/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-administration/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-framework</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <artifactId>nifi-administration</artifactId>
     <build>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-client-dto/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-client-dto/pom.xml b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-client-dto/pom.xml
index 90540fd..3358af1 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-client-dto/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-client-dto/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-framework</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <artifactId>nifi-client-dto</artifactId>
     <dependencies>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-cluster-authorization-provider/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-cluster-authorization-provider/pom.xml b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-cluster-authorization-provider/pom.xml
index 772cec4..1981810 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-cluster-authorization-provider/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-cluster-authorization-provider/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-framework</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <artifactId>nifi-cluster-authorization-provider</artifactId>
     <dependencies>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/pom.xml b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/pom.xml
index 340f2c5..65530b3 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/pom.xml
@@ -14,7 +14,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-framework</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <artifactId>nifi-documentation</artifactId>
     <dependencies>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-file-authorization-provider/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-file-authorization-provider/pom.xml b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-file-authorization-provider/pom.xml
index 691663c..45f1969 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-file-authorization-provider/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-file-authorization-provider/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-framework</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <artifactId>nifi-file-authorization-provider</artifactId>
     <build>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-cluster-protocol/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-cluster-protocol/pom.xml b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-cluster-protocol/pom.xml
index 47a6517..20a64e7 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-cluster-protocol/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-cluster-protocol/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-framework</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <artifactId>nifi-framework-cluster-protocol</artifactId>
     <packaging>jar</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-cluster-web/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-cluster-web/pom.xml b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-cluster-web/pom.xml
index 57afd9e..c892a0c 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-cluster-web/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-cluster-web/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-framework</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <artifactId>nifi-framework-cluster-web</artifactId>
     <packaging>jar</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-cluster/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-cluster/pom.xml b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-cluster/pom.xml
index 5ca0dae..d4acd34 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-cluster/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-cluster/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-framework</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <artifactId>nifi-framework-cluster</artifactId>
     <packaging>jar</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core-api/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core-api/pom.xml b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core-api/pom.xml
index 57a579a..18997ae 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core-api/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core-api/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-framework</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <artifactId>nifi-framework-core-api</artifactId>
     <dependencies>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/pom.xml b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/pom.xml
index 56b8ece..68cd8cb 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-framework</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <artifactId>nifi-framework-core</artifactId>
     <packaging>jar</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-nar-utils/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-nar-utils/pom.xml b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-nar-utils/pom.xml
index d5029e5..fa0eb16 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-nar-utils/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-nar-utils/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-framework</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <artifactId>nifi-nar-utils</artifactId>
     <packaging>jar</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-resources/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-resources/pom.xml b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-resources/pom.xml
index 28bb54b..3699616 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-resources/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-resources/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-framework</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <artifactId>nifi-resources</artifactId>
     <packaging>pom</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-runtime/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-runtime/pom.xml b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-runtime/pom.xml
index d96c56e..43c3bad 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-runtime/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-runtime/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-framework</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <artifactId>nifi-runtime</artifactId>
     <packaging>jar</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-security/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-security/pom.xml b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-security/pom.xml
index 0dc055d..7e41b5f 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-security/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-security/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-framework</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <artifactId>nifi-security</artifactId>
     <description>Contains security functionality common to NiFi.</description>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-site-to-site/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-site-to-site/pom.xml b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-site-to-site/pom.xml
index 7d5063e..873bccb 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-site-to-site/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-site-to-site/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-framework</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <artifactId>nifi-site-to-site</artifactId>
     <dependencies>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-user-actions/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-user-actions/pom.xml b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-user-actions/pom.xml
index 21a3250..846c989 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-user-actions/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-user-actions/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-framework</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <artifactId>nifi-user-actions</artifactId>
 </project>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-custom-ui-utilities/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-custom-ui-utilities/pom.xml b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-custom-ui-utilities/pom.xml
index bf5a328..c5a723d 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-custom-ui-utilities/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-custom-ui-utilities/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-web</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <artifactId>nifi-custom-ui-utilities</artifactId>
     <dependencies>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-jetty/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-jetty/pom.xml b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-jetty/pom.xml
index ca90f59..733d362 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-jetty/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-jetty/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-web</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <artifactId>nifi-jetty</artifactId>
     <packaging>jar</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-ui-extension/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-ui-extension/pom.xml b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-ui-extension/pom.xml
index 96d7ac2..c79ce86 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-ui-extension/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-ui-extension/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-web</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <artifactId>nifi-ui-extension</artifactId>
     <packaging>jar</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/pom.xml b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/pom.xml
index f1ec97e..fb2003a 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-web</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <groupId>org.apache.nifi</groupId>
     <artifactId>nifi-web-api</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-content-access/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-content-access/pom.xml b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-content-access/pom.xml
index d296bd1..2142866 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-content-access/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-content-access/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-web</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <groupId>org.apache.nifi</groupId>
     <artifactId>nifi-web-content-access</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-content-viewer/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-content-viewer/pom.xml b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-content-viewer/pom.xml
index a0d3f48..0802c13 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-content-viewer/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-content-viewer/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-web</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <groupId>org.apache.nifi</groupId>
     <artifactId>nifi-web-content-viewer</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-docs/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-docs/pom.xml b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-docs/pom.xml
index 1126479..266d55d 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-docs/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-docs/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-web</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <groupId>org.apache.nifi</groupId>
     <artifactId>nifi-web-docs</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-error/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-error/pom.xml b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-error/pom.xml
index 1c964f1..55c5dfd 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-error/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-error/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-web</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <groupId>org.apache.nifi</groupId>
     <artifactId>nifi-web-error</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-optimistic-locking/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-optimistic-locking/pom.xml b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-optimistic-locking/pom.xml
index 11b8ab7..d880a46 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-optimistic-locking/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-optimistic-locking/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-web</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <groupId>org.apache.nifi</groupId>
     <artifactId>nifi-web-optimistic-locking</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-security/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-security/pom.xml b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-security/pom.xml
index 8909d3e..01a4404 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-security/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-security/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-web</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <groupId>org.apache.nifi</groupId>
     <artifactId>nifi-web-security</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/pom.xml b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/pom.xml
index 84e0f8a..8a617fc 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-web</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <artifactId>nifi-web-ui</artifactId>
     <packaging>war</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/pom.xml b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/pom.xml
index e166e09..27b451d 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-framework</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <artifactId>nifi-web</artifactId>
     <packaging>pom</packaging>
@@ -40,31 +40,31 @@
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-web-api</artifactId>
                 <type>war</type>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-web-error</artifactId>
                 <type>war</type>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-web-docs</artifactId>
                 <type>war</type>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-web-content-viewer</artifactId>
                 <type>war</type>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-web-ui</artifactId>
                 <type>war</type>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
             </dependency>
         </dependencies>
     </dependencyManagement>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/pom.xml b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/pom.xml
index 145a3b0..f16629c 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-framework-bundle</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <artifactId>nifi-framework</artifactId>
     <packaging>pom</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-framework-bundle/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/pom.xml b/nifi/nifi-nar-bundles/nifi-framework-bundle/pom.xml
index 1ae2b49..55987f3 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-nar-bundles</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <artifactId>nifi-framework-bundle</artifactId>
     <packaging>pom</packaging>
@@ -31,92 +31,92 @@
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-framework-cluster-protocol</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-framework-cluster-web</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-file-authorization-provider</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-cluster-authorization-provider</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-framework-cluster</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-runtime</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-client-dto</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-web-content-access</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-security</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-framework-core-api</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-site-to-site</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-framework-core</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-user-actions</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-administration</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-jetty</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-web-optimistic-locking</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-web-security</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-documentation</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
             </dependency>
         </dependencies>
     </dependencyManagement>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-geo-bundle/nifi-geo-nar/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-geo-bundle/nifi-geo-nar/pom.xml b/nifi/nifi-nar-bundles/nifi-geo-bundle/nifi-geo-nar/pom.xml
index 26c94d4..d049b5f 100644
--- a/nifi/nifi-nar-bundles/nifi-geo-bundle/nifi-geo-nar/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-geo-bundle/nifi-geo-nar/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-geo-bundle</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <artifactId>nifi-geo-nar</artifactId>
     <packaging>nar</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-geo-bundle/nifi-geo-processors/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-geo-bundle/nifi-geo-processors/pom.xml b/nifi/nifi-nar-bundles/nifi-geo-bundle/nifi-geo-processors/pom.xml
index 02539df..bc71bd4 100644
--- a/nifi/nifi-nar-bundles/nifi-geo-bundle/nifi-geo-processors/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-geo-bundle/nifi-geo-processors/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-geo-bundle</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <artifactId>nifi-geo-processors</artifactId>
     <dependencies>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-geo-bundle/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-geo-bundle/pom.xml b/nifi/nifi-nar-bundles/nifi-geo-bundle/pom.xml
index 20a07eb..5918c64 100644
--- a/nifi/nifi-nar-bundles/nifi-geo-bundle/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-geo-bundle/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-nar-bundles</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
 
     <artifactId>nifi-geo-bundle</artifactId>
@@ -35,7 +35,7 @@
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-geo-processors</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
             </dependency>
         </dependencies>
     </dependencyManagement>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-hadoop-bundle/nifi-hadoop-nar/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-hadoop-bundle/nifi-hadoop-nar/pom.xml b/nifi/nifi-nar-bundles/nifi-hadoop-bundle/nifi-hadoop-nar/pom.xml
index 83c6dd7..96a133f 100644
--- a/nifi/nifi-nar-bundles/nifi-hadoop-bundle/nifi-hadoop-nar/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-hadoop-bundle/nifi-hadoop-nar/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-hadoop-bundle</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <artifactId>nifi-hadoop-nar</artifactId>
     <packaging>nar</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-hadoop-bundle/nifi-hdfs-processors/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-hadoop-bundle/nifi-hdfs-processors/pom.xml b/nifi/nifi-nar-bundles/nifi-hadoop-bundle/nifi-hdfs-processors/pom.xml
index d5112c6..688c4b2 100644
--- a/nifi/nifi-nar-bundles/nifi-hadoop-bundle/nifi-hdfs-processors/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-hadoop-bundle/nifi-hdfs-processors/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-hadoop-bundle</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <artifactId>nifi-hdfs-processors</artifactId>
     <packaging>jar</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-hadoop-bundle/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-hadoop-bundle/pom.xml b/nifi/nifi-nar-bundles/nifi-hadoop-bundle/pom.xml
index 5945839..9e2bfa7 100644
--- a/nifi/nifi-nar-bundles/nifi-hadoop-bundle/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-hadoop-bundle/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-nar-bundles</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <artifactId>nifi-hadoop-bundle</artifactId>
     <packaging>pom</packaging>
@@ -31,7 +31,7 @@
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-hdfs-processors</artifactId>
-                <version>0.2.0-incubating-SNAPSHOT</version>
+                <version>0.2.0-incubating</version>
             </dependency>
         </dependencies>
     </dependencyManagement>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-hadoop-libraries-bundle/nifi-hadoop-libraries-nar/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-hadoop-libraries-bundle/nifi-hadoop-libraries-nar/pom.xml b/nifi/nifi-nar-bundles/nifi-hadoop-libraries-bundle/nifi-hadoop-libraries-nar/pom.xml
index c238c2a..d7f877d 100644
--- a/nifi/nifi-nar-bundles/nifi-hadoop-libraries-bundle/nifi-hadoop-libraries-nar/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-hadoop-libraries-bundle/nifi-hadoop-libraries-nar/pom.xml
@@ -13,7 +13,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-hadoop-libraries-bundle</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <artifactId>nifi-hadoop-libraries-nar</artifactId>
     <packaging>nar</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-hadoop-libraries-bundle/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-hadoop-libraries-bundle/pom.xml b/nifi/nifi-nar-bundles/nifi-hadoop-libraries-bundle/pom.xml
index 46c1ae8..932b445 100644
--- a/nifi/nifi-nar-bundles/nifi-hadoop-libraries-bundle/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-hadoop-libraries-bundle/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-nar-bundles</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
     <groupId>org.apache.nifi</groupId>
     <artifactId>nifi-hadoop-libraries-bundle</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e4f51eac/nifi/nifi-nar-bundles/nifi-hl7-bundle/nifi-hl7-nar/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-hl7-bundle/nifi-hl7-nar/pom.xml b/nifi/nifi-nar-bundles/nifi-hl7-bundle/nifi-hl7-nar/pom.xml
index 8ff4204..3bf405b 100644
--- a/nifi/nifi-nar-bundles/nifi-hl7-bundle/nifi-hl7-nar/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-hl7-bundle/nifi-hl7-nar/pom.xml
@@ -19,7 +19,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-hl7-bundle</artifactId>
-        <version>0.2.0-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating</version>
     </parent>
 
     <artifactId>nifi-hl7-nar</artifactId>
@@ -29,7 +29,7 @@
         <dependency>
             <groupId>org.apache.nifi</groupId>
             <artifactId>nifi-hl7-processors</artifactId>
-            <version>0.2.0-incubating-SNAPSHOT</version>
+            <version>0.2.0-incubating</version>
         </dependency>
     </dependencies>
 



[38/50] [abbrv] incubator-nifi git commit: NIFI-717: Set working directory to $NIFI_HOME before running starting nifi in linux

Posted by mc...@apache.org.
NIFI-717: Set working directory to $NIFI_HOME before running starting nifi in linux


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

Branch: refs/heads/master
Commit: a2b9d70ac43f6f3162abb7706f9021ce3e3993f0
Parents: 8da7327
Author: Mark Payne <ma...@hotmail.com>
Authored: Fri Jul 3 13:33:06 2015 -0400
Committer: Mark Payne <ma...@hotmail.com>
Committed: Fri Jul 3 13:33:06 2015 -0400

----------------------------------------------------------------------
 .../nifi-framework/nifi-resources/src/main/resources/bin/nifi.sh | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/a2b9d70a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-resources/src/main/resources/bin/nifi.sh
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-resources/src/main/resources/bin/nifi.sh b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-resources/src/main/resources/bin/nifi.sh
index 01a3f81..86e97d8 100755
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-resources/src/main/resources/bin/nifi.sh
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-resources/src/main/resources/bin/nifi.sh
@@ -183,9 +183,9 @@ run() {
     # run 'start' in the background because the process will continue to run, monitoring NiFi.
     # all other commands will terminate quickly so want to just wait for them
     if [ "$1" = "start" ]; then
-        (${sudo_cmd_prefix} "$JAVA" -cp "$NIFI_HOME"/conf/:"$NIFI_HOME"/lib/bootstrap/* -Xms12m -Xmx24m -Dorg.apache.nifi.bootstrap.config.file="$BOOTSTRAP_CONF" org.apache.nifi.bootstrap.RunNiFi $@ &)
+        (cd $NIFI_HOME && ${sudo_cmd_prefix} "$JAVA" -cp "$NIFI_HOME"/conf/:"$NIFI_HOME"/lib/bootstrap/* -Xms12m -Xmx24m -Dorg.apache.nifi.bootstrap.config.file="$BOOTSTRAP_CONF" org.apache.nifi.bootstrap.RunNiFi $@ &)
     else
-        ${sudo_cmd_prefix} "$JAVA" -cp "$NIFI_HOME"/conf/:"$NIFI_HOME"/lib/bootstrap/* -Xms12m -Xmx24m -Dorg.apache.nifi.bootstrap.config.file="$BOOTSTRAP_CONF" org.apache.nifi.bootstrap.RunNiFi $@
+        (cd $NIFI_HOME && ${sudo_cmd_prefix} "$JAVA" -cp "$NIFI_HOME"/conf/:"$NIFI_HOME"/lib/bootstrap/* -Xms12m -Xmx24m -Dorg.apache.nifi.bootstrap.config.file="$BOOTSTRAP_CONF" org.apache.nifi.bootstrap.RunNiFi $@)
     fi
 
     # Wait just a bit (3 secs) to wait for the logging to finish and then echo a new-line.


[43/50] [abbrv] incubator-nifi git commit: Merge branch 'NIFI-735' into develop

Posted by mc...@apache.org.
Merge branch 'NIFI-735' into develop


Project: http://git-wip-us.apache.org/repos/asf/incubator-nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-nifi/commit/9fa03b43
Tree: http://git-wip-us.apache.org/repos/asf/incubator-nifi/tree/9fa03b43
Diff: http://git-wip-us.apache.org/repos/asf/incubator-nifi/diff/9fa03b43

Branch: refs/heads/master
Commit: 9fa03b43245cfba27fe084ac46b44f39856dbcbb
Parents: 0d2842e c769742
Author: danbress <db...@onyxconsults.com>
Authored: Mon Jul 6 20:25:54 2015 -0400
Committer: danbress <db...@onyxconsults.com>
Committed: Mon Jul 6 20:25:54 2015 -0400

----------------------------------------------------------------------
 .../documentation/ConfigurableComponentInitializer.java  |  9 ++++++++-
 .../java/org/apache/nifi/documentation/DocGenerator.java |  2 ++
 .../documentation/init/ControllerServiceInitializer.java | 11 ++++++++---
 .../nifi/documentation/init/ProcessorInitializer.java    | 11 ++++++++---
 .../documentation/init/ReportingTaskingInitializer.java  | 11 ++++++++---
 .../documentation/html/HtmlDocumentationWriterTest.java  | 10 ++++++----
 .../html/ProcessorDocumentationWriterTest.java           |  7 +++++--
 7 files changed, 45 insertions(+), 16 deletions(-)
----------------------------------------------------------------------



[39/50] [abbrv] incubator-nifi git commit: NIFI-743 Moving OnShutdown to OnStopped for GetSolr and GetHttp

Posted by mc...@apache.org.
NIFI-743 Moving OnShutdown to OnStopped for GetSolr and GetHttp

Adding OnRemoved methods to GetSolr and GetHttp

Signed-off-by: Mark Payne <ma...@hotmail.com>


Project: http://git-wip-us.apache.org/repos/asf/incubator-nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-nifi/commit/63a90085
Tree: http://git-wip-us.apache.org/repos/asf/incubator-nifi/tree/63a90085
Diff: http://git-wip-us.apache.org/repos/asf/incubator-nifi/diff/63a90085

Branch: refs/heads/master
Commit: 63a900852769bbd7bedc2b460a291a9de0bd9a15
Parents: 8da7327
Author: Bryan Bende <bb...@apache.org>
Authored: Fri Jul 3 10:52:35 2015 -0400
Committer: Mark Payne <ma...@hotmail.com>
Committed: Fri Jul 3 13:37:44 2015 -0400

----------------------------------------------------------------------
 .../apache/nifi/processors/solr/GetSolr.java    | 15 ++++++++--
 .../nifi/processors/solr/TestGetSolr.java       | 29 +++++++++++++++++---
 .../nifi/processors/standard/GetHTTP.java       | 15 ++++++++--
 .../nifi/processors/standard/TestGetHTTP.java   | 10 +++++--
 4 files changed, 56 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/63a90085/nifi/nifi-nar-bundles/nifi-solr-bundle/nifi-solr-processors/src/main/java/org/apache/nifi/processors/solr/GetSolr.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-solr-bundle/nifi-solr-processors/src/main/java/org/apache/nifi/processors/solr/GetSolr.java b/nifi/nifi-nar-bundles/nifi-solr-bundle/nifi-solr-processors/src/main/java/org/apache/nifi/processors/solr/GetSolr.java
index 6344e2c..ff264a1 100644
--- a/nifi/nifi-nar-bundles/nifi-solr-bundle/nifi-solr-processors/src/main/java/org/apache/nifi/processors/solr/GetSolr.java
+++ b/nifi/nifi-nar-bundles/nifi-solr-bundle/nifi-solr-processors/src/main/java/org/apache/nifi/processors/solr/GetSolr.java
@@ -21,7 +21,8 @@ package org.apache.nifi.processors.solr;
 import org.apache.commons.io.IOUtils;
 import org.apache.nifi.annotation.documentation.CapabilityDescription;
 import org.apache.nifi.annotation.documentation.Tags;
-import org.apache.nifi.annotation.lifecycle.OnShutdown;
+import org.apache.nifi.annotation.lifecycle.OnRemoved;
+import org.apache.nifi.annotation.lifecycle.OnStopped;
 import org.apache.nifi.components.PropertyDescriptor;
 import org.apache.nifi.flowfile.FlowFile;
 import org.apache.nifi.logging.ProcessorLog;
@@ -157,11 +158,19 @@ public class GetSolr extends SolrProcessor {
         lastEndDatedRef.set(UNINITIALIZED_LAST_END_DATE_VALUE);
     }
 
-    @OnShutdown
-    public void onShutdown() {
+    @OnStopped
+    public void onStopped() {
         writeLastEndDate();
     }
 
+    @OnRemoved
+    public void onRemoved() {
+        final File lastEndDateCache = new File(FILE_PREFIX + getIdentifier());
+        if (lastEndDateCache.exists()) {
+            lastEndDateCache.delete();
+        }
+    }
+
     @Override
     public void onTrigger(ProcessContext context, ProcessSession session) throws ProcessException {
         final ProcessorLog logger = getLogger();

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/63a90085/nifi/nifi-nar-bundles/nifi-solr-bundle/nifi-solr-processors/src/test/java/org/apache/nifi/processors/solr/TestGetSolr.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-solr-bundle/nifi-solr-processors/src/test/java/org/apache/nifi/processors/solr/TestGetSolr.java b/nifi/nifi-nar-bundles/nifi-solr-bundle/nifi-solr-processors/src/test/java/org/apache/nifi/processors/solr/TestGetSolr.java
index b0f5e68..d8f6423 100644
--- a/nifi/nifi-nar-bundles/nifi-solr-bundle/nifi-solr-processors/src/test/java/org/apache/nifi/processors/solr/TestGetSolr.java
+++ b/nifi/nifi-nar-bundles/nifi-solr-bundle/nifi-solr-processors/src/test/java/org/apache/nifi/processors/solr/TestGetSolr.java
@@ -104,14 +104,15 @@ public class TestGetSolr {
         File confDir = new File("conf");
         assertTrue(confDir.exists());
         File[] files = confDir.listFiles();
-        assertTrue(files.length > 0);
-        for (File file : files) {
-            assertTrue("Failed to delete " + file.getName(), file.delete());
+        if (files.length > 0) {
+            for (File file : files) {
+                assertTrue("Failed to delete " + file.getName(), file.delete());
+            }
         }
         assertTrue(confDir.delete());
 
         try {
-            solrClient.shutdown();
+            solrClient.close();
         } catch (Exception e) {
         }
     }
@@ -184,6 +185,26 @@ public class TestGetSolr {
         runner.assertAllFlowFilesTransferred(GetSolr.REL_SUCCESS, 0);
     }
 
+    @Test
+    public void testOnRemovedRemovesState() throws IOException, SolrServerException {
+        final TestableProcessor proc = new TestableProcessor(solrClient);
+
+        TestRunner runner = TestRunners.newTestRunner(proc);
+        runner.setProperty(GetSolr.SOLR_TYPE, PutSolrContentStream.SOLR_TYPE_STANDARD.getValue());
+        runner.setProperty(GetSolr.SOLR_LOCATION, "http://localhost:8443/solr");
+        runner.setProperty(GetSolr.SOLR_QUERY, "last:smith");
+        runner.setProperty(GetSolr.RETURN_FIELDS, "created");
+        runner.setProperty(GetSolr.SORT_CLAUSE, "created desc");
+        runner.setProperty(GetSolr.DATE_FIELD, "created");
+        runner.setProperty(GetSolr.BATCH_SIZE, "10");
+
+        runner.run();
+
+        File lastEndDateCache = new File(GetSolr.FILE_PREFIX + proc.getIdentifier());
+        Assert.assertTrue("State file should exist, but doesn't", lastEndDateCache.exists());
+        proc.onRemoved();
+        Assert.assertFalse("State file should have been removed, but wasn't", lastEndDateCache.exists());
+    }
 
     // Override createSolrClient and return the passed in SolrClient
     private class TestableProcessor extends GetSolr {

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/63a90085/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/GetHTTP.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/GetHTTP.java b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/GetHTTP.java
index 1ecd170..7099552 100644
--- a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/GetHTTP.java
+++ b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/GetHTTP.java
@@ -73,7 +73,8 @@ import org.apache.nifi.annotation.behavior.WritesAttribute;
 import org.apache.nifi.annotation.behavior.WritesAttributes;
 import org.apache.nifi.annotation.documentation.CapabilityDescription;
 import org.apache.nifi.annotation.documentation.Tags;
-import org.apache.nifi.annotation.lifecycle.OnShutdown;
+import org.apache.nifi.annotation.lifecycle.OnRemoved;
+import org.apache.nifi.annotation.lifecycle.OnStopped;
 import org.apache.nifi.components.PropertyDescriptor;
 import org.apache.nifi.components.ValidationContext;
 import org.apache.nifi.components.ValidationResult;
@@ -267,8 +268,8 @@ public class GetHTTP extends AbstractSessionFactoryProcessor {
         lastModifiedRef.set(UNINITIALIZED_LAST_MODIFIED_VALUE);
     }
 
-    @OnShutdown
-    public void onShutdown() {
+    @OnStopped
+    public void onStopped() {
         final File httpCache = new File(HTTP_CACHE_FILE_PREFIX + getIdentifier());
         try (FileOutputStream fos = new FileOutputStream(httpCache)) {
             final Properties props = new Properties();
@@ -280,6 +281,14 @@ public class GetHTTP extends AbstractSessionFactoryProcessor {
 
     }
 
+    @OnRemoved
+    public void onRemoved() {
+        final File httpCache = new File(HTTP_CACHE_FILE_PREFIX + getIdentifier());
+        if (httpCache.exists()) {
+            httpCache.delete();
+        }
+    }
+
     @Override
     protected Collection<ValidationResult> customValidate(final ValidationContext context) {
         final Collection<ValidationResult> results = new ArrayList<>();

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/63a90085/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestGetHTTP.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestGetHTTP.java b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestGetHTTP.java
index 9ed9d17..94e0a35 100644
--- a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestGetHTTP.java
+++ b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestGetHTTP.java
@@ -65,9 +65,10 @@ public class TestGetHTTP {
         File confDir = new File("conf");
         assertTrue(confDir.exists());
         File[] files = confDir.listFiles();
-        assertTrue(files.length > 0);
-        for (File file : files) {
-            assertTrue("Failed to delete " + file.getName(), file.delete());
+        if (files.length > 0) {
+            for (File file : files) {
+                assertTrue("Failed to delete " + file.getName(), file.delete());
+            }
         }
         assertTrue(confDir.delete());
     }
@@ -235,6 +236,9 @@ public class TestGetHTTP {
             assertEquals(etag, props.getProperty(GetHTTP.ETAG));
             assertEquals(lastMod, props.getProperty(GetHTTP.LAST_MODIFIED));
 
+            getHTTPProcessor.onRemoved();
+            assertFalse(file.exists());
+
             // shutdown web service
         } finally {
             server.shutdownServer();


[22/50] [abbrv] incubator-nifi git commit: NIFI-694: - Fixing bug when clearing bulletins from the reporting task table. - Allowed ENABLING state to trigger transition to next step of the enable/disable request.

Posted by mc...@apache.org.
NIFI-694:
- Fixing bug when clearing bulletins from the reporting task table.
- Allowed ENABLING state to trigger transition to next step of the enable/disable request.

Project: http://git-wip-us.apache.org/repos/asf/incubator-nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-nifi/commit/4fd1e949
Tree: http://git-wip-us.apache.org/repos/asf/incubator-nifi/tree/4fd1e949
Diff: http://git-wip-us.apache.org/repos/asf/incubator-nifi/diff/4fd1e949

Branch: refs/heads/master
Commit: 4fd1e9494e41bea198dabedacee16ed018a3a7b7
Parents: e7c0461
Author: Matt Gilman <ma...@gmail.com>
Authored: Wed Jul 1 14:25:12 2015 -0400
Committer: Matt Gilman <ma...@gmail.com>
Committed: Wed Jul 1 14:25:12 2015 -0400

----------------------------------------------------------------------
 .../src/main/webapp/js/nf/canvas/nf-controller-service.js      | 6 +++---
 .../nifi-web-ui/src/main/webapp/js/nf/canvas/nf-settings.js    | 2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/4fd1e949/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-controller-service.js
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-controller-service.js b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-controller-service.js
index efcf9fb..078064a 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-controller-service.js
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-controller-service.js
@@ -591,9 +591,9 @@ nf.ControllerService = (function () {
                         }
                     }
                     
-                    // the condition is met once the service is ENABLED/DISABLED
+                    // the condition is met once the service is (ENABLING or ENABLED)/DISABLED
                     if (enabled) {
-                        return service.state === 'ENABLED';
+                        return service.state === 'ENABLING' || service.state === 'ENABLED';
                     } else {
                         return service.state === 'DISABLED';
                     }
@@ -828,7 +828,7 @@ nf.ControllerService = (function () {
             var notEnabled = false;
             $.each(referencingComponents, function(_, referencingComponent) {
                 if (referencingComponent.referenceType === 'ControllerService') {
-                    if (referencingComponent.state !== 'ENABLED') {
+                    if (referencingComponent.state !== 'ENABLING' && referencingComponent.state !== 'ENABLED') {
                         notEnabled = true;
                     } 
                         

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/4fd1e949/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-settings.js
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-settings.js b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-settings.js
index 3715110..476f34b 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-settings.js
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-settings.js
@@ -1741,7 +1741,7 @@ nf.Settings = (function () {
                 // if there are no bulletins clear all
                 var reportingTasks = reportingTasksData.getItems();
                 $.each(reportingTasks, function(_, reportingTask) {
-                    controllerServicesData.updateItem(reportingTask.id, $.extend(reportingTask, {
+                    reportingTasksData.updateItem(reportingTask.id, $.extend(reportingTask, {
                         bulletins: []
                     }));
                 });


[40/50] [abbrv] incubator-nifi git commit: Merge branch 'NIFI-717' into develop

Posted by mc...@apache.org.
Merge branch 'NIFI-717' into develop


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

Branch: refs/heads/master
Commit: f3b55d46d6a374ee27b2decb3ee7284fd294a10d
Parents: 63a9008 a2b9d70
Author: Mark Payne <ma...@hotmail.com>
Authored: Fri Jul 3 13:50:43 2015 -0400
Committer: Mark Payne <ma...@hotmail.com>
Committed: Fri Jul 3 13:50:43 2015 -0400

----------------------------------------------------------------------
 .../nifi-framework/nifi-resources/src/main/resources/bin/nifi.sh | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------



[06/50] [abbrv] incubator-nifi git commit: NIFI-724: merged changes

Posted by mc...@apache.org.
NIFI-724: merged changes


Project: http://git-wip-us.apache.org/repos/asf/incubator-nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-nifi/commit/0a7ab1a0
Tree: http://git-wip-us.apache.org/repos/asf/incubator-nifi/tree/0a7ab1a0
Diff: http://git-wip-us.apache.org/repos/asf/incubator-nifi/diff/0a7ab1a0

Branch: refs/heads/master
Commit: 0a7ab1a06dd8b7164413bdcd0a85a4c457d3da71
Parents: e240e07 f1adb8b
Author: Mark Payne <ma...@hotmail.com>
Authored: Thu Jun 25 10:58:01 2015 -0400
Committer: Mark Payne <ma...@hotmail.com>
Committed: Thu Jun 25 10:58:01 2015 -0400

----------------------------------------------------------------------

----------------------------------------------------------------------



[27/50] [abbrv] incubator-nifi git commit: NIFI-679: Incorporate Basic Authentication handling into InvokeHTTP processor.

Posted by mc...@apache.org.
NIFI-679: Incorporate Basic Authentication handling into InvokeHTTP processor.

Signed-off-by: Matt Gilman <ma...@gmail.com>


Project: http://git-wip-us.apache.org/repos/asf/incubator-nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-nifi/commit/9d6458ab
Tree: http://git-wip-us.apache.org/repos/asf/incubator-nifi/tree/9d6458ab
Diff: http://git-wip-us.apache.org/repos/asf/incubator-nifi/diff/9d6458ab

Branch: refs/heads/master
Commit: 9d6458ab2800add00312e129bf60cd04ead350f9
Parents: eddc071
Author: Joe Skora <js...@gmail.com>
Authored: Fri Jul 3 01:43:55 2015 -0400
Committer: Matt Gilman <ma...@gmail.com>
Committed: Fri Jul 3 08:51:46 2015 -0400

----------------------------------------------------------------------
 .../nifi/processors/standard/InvokeHTTP.java    |  46 +++++++-
 .../processors/standard/TestInvokeHTTP.java     | 109 +++++++++++++++++++
 2 files changed, 154 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/9d6458ab/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/InvokeHTTP.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/InvokeHTTP.java b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/InvokeHTTP.java
index e9eae83..c8a354b 100644
--- a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/InvokeHTTP.java
+++ b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/InvokeHTTP.java
@@ -27,6 +27,7 @@ import java.io.OutputStream;
 import java.net.HttpURLConnection;
 import java.net.URL;
 import java.nio.charset.Charset;
+import java.nio.charset.StandardCharsets;
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.Collections;
@@ -47,6 +48,7 @@ import javax.net.ssl.HttpsURLConnection;
 import javax.net.ssl.SSLContext;
 import javax.net.ssl.SSLSession;
 
+import org.apache.commons.codec.binary.Base64;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.nifi.annotation.behavior.DynamicProperty;
 import org.apache.nifi.annotation.behavior.SupportsBatching;
@@ -244,6 +246,34 @@ public final class InvokeHTTP extends AbstractProcessor {
                 .identifiesControllerService(SSLContextService.class)
                 .build();
 
+        // Per RFC 7235, 2617, and 2616.
+        //      basic-credentials   = base64-user-pass
+        //      base64-user-pass    = userid ":" password
+        //      userid              = *<TEXT excluding ":">
+        //      password            = *TEXT
+        //
+        //      OCTET          = <any 8-bit sequence of data>
+        //      CTL            = <any US-ASCII control character (octets 0 - 31) and DEL (127)>
+        //      LWS            = [CRLF] 1*( SP | HT )
+        //      TEXT           = <any OCTET except CTLs but including LWS>
+        //
+        // Per RFC 7230, username & password in URL are now disallowed in HTTP and HTTPS URIs.
+        public static final PropertyDescriptor PROP_BASIC_AUTH_USERNAME = new PropertyDescriptor.Builder()
+                .name("Basic Authentication Username")
+                .displayName("Basic Authentication Username")
+                .description("The username to be used by the client to authenticate against the Remote URL.  Cannot include control characters (0-31), ':', or DEL (127).")
+                .required(false)
+                .addValidator(StandardValidators.createRegexMatchingValidator(Pattern.compile("^[\\x20-\\x39\\x3b-\\x7e\\x80-\\xff]+$")))
+                .build();
+
+        public static final PropertyDescriptor PROP_BASIC_AUTH_PASSWORD = new PropertyDescriptor.Builder()
+                .name("Basic Authentication Password")
+                .displayName("Basic Authentication Password")
+                .description("The password to be used by the client to authenticate against the Remote URL.")
+                .required(false)
+                .addValidator(StandardValidators.createRegexMatchingValidator(Pattern.compile("^[\\x20-\\x7e\\x80-\\xff]+$")))
+                .build();
+
         public static final List<PropertyDescriptor> PROPERTIES = Collections.unmodifiableList(Arrays.asList(
                 PROP_METHOD,
                 PROP_URL,
@@ -252,7 +282,9 @@ public final class InvokeHTTP extends AbstractProcessor {
                 PROP_READ_TIMEOUT,
                 PROP_DATE_HEADER,
                 PROP_FOLLOW_REDIRECTS,
-                PROP_ATTRIBUTES_TO_SEND
+                PROP_ATTRIBUTES_TO_SEND,
+                PROP_BASIC_AUTH_USERNAME,
+                PROP_BASIC_AUTH_PASSWORD
         ));
 
         // property to allow the hostname verifier to be overridden
@@ -383,9 +415,21 @@ public final class InvokeHTTP extends AbstractProcessor {
             // read the url property from the context
             String urlstr = trimToEmpty(context.getProperty(PROP_URL).evaluateAttributeExpressions(request).getValue());
             URL url = new URL(urlstr);
+            String authuser = trimToEmpty(context.getProperty(PROP_BASIC_AUTH_USERNAME).getValue());
+            String authpass = trimToEmpty(context.getProperty(PROP_BASIC_AUTH_PASSWORD).getValue());
+
+            String authstrencoded = null;
+            if (!authuser.isEmpty()) {
+                String authstr = authuser + ":" + authpass;
+                byte[] bytestrencoded = Base64.encodeBase64(authstr.getBytes(StandardCharsets.UTF_8));
+                authstrencoded = new String(bytestrencoded, StandardCharsets.UTF_8);
+            }
 
             // create the connection
             conn = (HttpURLConnection) url.openConnection();
+            if (authstrencoded != null) {
+                conn.setRequestProperty("Authorization", "Basic " + authstrencoded);
+            }
 
             // set the request method
             String method = trimToEmpty(context.getProperty(PROP_METHOD).evaluateAttributeExpressions(request).getValue()).toUpperCase();

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/9d6458ab/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestInvokeHTTP.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestInvokeHTTP.java b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestInvokeHTTP.java
index 2f8dea9..cb8fe63 100644
--- a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestInvokeHTTP.java
+++ b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestInvokeHTTP.java
@@ -42,6 +42,8 @@ import org.eclipse.jetty.server.handler.AbstractHandler;
 import org.junit.After;
 import org.junit.AfterClass;
 import org.junit.Assert;
+
+import static org.apache.commons.codec.binary.Base64.encodeBase64;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.fail;
 import org.junit.Before;
@@ -170,6 +172,89 @@ public class TestInvokeHTTP {
     }
 
     @Test
+    public void test200auth() throws Exception {
+        addHandler(new BasicAuthHandler());
+
+        String username = "basic_user";
+        String password = "basic_password";
+
+        runner.setProperty(Config.PROP_URL, url + "/status/200");
+        runner.setProperty(Config.PROP_BASIC_AUTH_USERNAME, username);
+        runner.setProperty(Config.PROP_BASIC_AUTH_PASSWORD, password);
+        byte[] creds = String.format("%s:%s", username, password).getBytes(StandardCharsets.UTF_8);
+        final String expAuth = String.format("Basic %s\n", new String(encodeBase64(creds)));
+
+        createFlowFiles(runner);
+
+        runner.run();
+
+        runner.assertTransferCount(Config.REL_SUCCESS_REQ, 1);
+        runner.assertTransferCount(Config.REL_SUCCESS_RESP, 1);
+        runner.assertTransferCount(Config.REL_RETRY, 0);
+        runner.assertTransferCount(Config.REL_NO_RETRY, 0);
+        runner.assertTransferCount(Config.REL_FAILURE, 0);
+
+        //expected in request status.code and status.message
+        //original flow file (+attributes)??????????
+        final MockFlowFile bundle = runner.getFlowFilesForRelationship(Config.REL_SUCCESS_REQ).get(0);
+        bundle.assertAttributeEquals(Config.STATUS_CODE, "200");
+        bundle.assertAttributeEquals(Config.STATUS_MESSAGE, "OK");
+        bundle.assertAttributeEquals("Foo", "Bar");
+        final String actual = new String(bundle.toByteArray(), StandardCharsets.UTF_8);
+        final String expected = "Hello";
+        Assert.assertEquals(expected, actual);
+
+        //expected in response
+        //status code, status message, all headers from server response --> ff attributes
+        //server response message body into payload of ff
+        //should not contain any original ff attributes
+        final MockFlowFile bundle1 = runner.getFlowFilesForRelationship(Config.REL_SUCCESS_RESP).get(0);
+        bundle1.assertContentEquals(expAuth.getBytes("UTF-8"));
+        bundle1.assertAttributeEquals(Config.STATUS_CODE, "200");
+        bundle1.assertAttributeEquals(Config.STATUS_MESSAGE, "OK");
+        bundle1.assertAttributeEquals("Foo", "Bar");
+        bundle1.assertAttributeEquals("Content-Type", "text/plain; charset=ISO-8859-1");
+        final String actual1 = new String(bundle1.toByteArray(), StandardCharsets.UTF_8);
+        Assert.assertEquals(expAuth, actual1);
+
+    }
+
+    @Test
+    public void test401notauth() throws Exception {
+        addHandler(new BasicAuthHandler());
+
+        String username = "basic_user";
+        String password = "basic_password";
+
+        runner.setProperty(Config.PROP_URL, url + "/status/401");
+        runner.setProperty(Config.PROP_BASIC_AUTH_USERNAME, username);
+        runner.setProperty(Config.PROP_BASIC_AUTH_PASSWORD, password);
+
+        createFlowFiles(runner);
+
+        runner.run();
+
+        runner.assertTransferCount(Config.REL_SUCCESS_REQ, 0);
+        runner.assertTransferCount(Config.REL_SUCCESS_RESP, 0);
+        runner.assertTransferCount(Config.REL_RETRY, 0);
+        runner.assertTransferCount(Config.REL_NO_RETRY, 1);
+        runner.assertTransferCount(Config.REL_FAILURE, 0);
+
+        //expected in request status.code and status.message
+        //original flow file (+attributes)??????????
+        final MockFlowFile bundle = runner.getFlowFilesForRelationship(Config.REL_NO_RETRY).get(0);
+        bundle.assertAttributeEquals(Config.STATUS_CODE, "401");
+        bundle.assertAttributeEquals(Config.STATUS_MESSAGE, "Unauthorized");
+        bundle.assertAttributeEquals("Foo", "Bar");
+        final String actual = new String(bundle.toByteArray(), StandardCharsets.UTF_8);
+        final String expected = "Hello";
+        Assert.assertEquals(expected, actual);
+
+        String response = bundle.getAttribute(Config.RESPONSE_BODY);
+        assertEquals(response, "Get off my lawn!");
+    }
+
+    @Test
     public void test500() throws Exception {
         addHandler(new GetOrHeadHandler());
 
@@ -543,4 +628,28 @@ public class TestInvokeHTTP {
         }
     }
 
+    private static class BasicAuthHandler extends AbstractHandler {
+
+        private String authString;
+
+        @Override
+        public void handle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
+            baseRequest.setHandled(true);
+
+            authString = request.getHeader("Authorization");
+
+            int status = Integer.valueOf(target.substring("/status".length() + 1));
+
+            if (status == 200) {
+                response.setStatus(status);
+                response.setContentType("text/plain");
+                response.getWriter().println(authString);
+            } else {
+                response.setStatus(status);
+                response.setContentType("text/plain");
+                response.getWriter().println("Get off my lawn!");
+            }
+        }
+    }
+
 }


[44/50] [abbrv] incubator-nifi git commit: NIFI-753: when truncating value, take null values into account

Posted by mc...@apache.org.
NIFI-753: when truncating value, take null values into account


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

Branch: refs/heads/master
Commit: c0f110467997d1e05e58ef444385478ba05a59e5
Parents: 2084024
Author: Mark Payne <ma...@hotmail.com>
Authored: Tue Jul 7 20:44:03 2015 -0400
Committer: Mark Payne <ma...@hotmail.com>
Committed: Tue Jul 7 20:44:03 2015 -0400

----------------------------------------------------------------------
 .../org/apache/nifi/provenance/StandardRecordReader.java  | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/c0f11046/nifi/nifi-nar-bundles/nifi-provenance-repository-bundle/nifi-persistent-provenance-repository/src/main/java/org/apache/nifi/provenance/StandardRecordReader.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-provenance-repository-bundle/nifi-persistent-provenance-repository/src/main/java/org/apache/nifi/provenance/StandardRecordReader.java b/nifi/nifi-nar-bundles/nifi-provenance-repository-bundle/nifi-persistent-provenance-repository/src/main/java/org/apache/nifi/provenance/StandardRecordReader.java
index 0939107..5221ebc 100644
--- a/nifi/nifi-nar-bundles/nifi-provenance-repository-bundle/nifi-persistent-provenance-repository/src/main/java/org/apache/nifi/provenance/StandardRecordReader.java
+++ b/nifi/nifi-nar-bundles/nifi-provenance-repository-bundle/nifi-persistent-provenance-repository/src/main/java/org/apache/nifi/provenance/StandardRecordReader.java
@@ -369,7 +369,15 @@ public class StandardRecordReader implements RecordReader {
         for (int i = 0; i < numAttributes; i++) {
             final String key = readLongString(dis);
             final String value = valueNullable ? readLongNullableString(dis) : readLongString(dis);
-            final String truncatedValue = value.length() > maxAttributeChars ? value.substring(0, maxAttributeChars) : value;
+            final String truncatedValue;
+            if (value == null) {
+                truncatedValue = null;
+            } else if (value.length() > maxAttributeChars) {
+                truncatedValue = value.substring(0, maxAttributeChars);
+            } else {
+                truncatedValue = value;
+            }
+
             attrs.put(key, truncatedValue);
         }
 


[20/50] [abbrv] incubator-nifi git commit: NIFI-719: merged with develop

Posted by mc...@apache.org.
NIFI-719: merged with develop


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

Branch: refs/heads/master
Commit: a09180799d8a84108c3f5665668bded284768ecf
Parents: 5021570 ba31559
Author: Mark Payne <ma...@hotmail.com>
Authored: Wed Jul 1 10:44:42 2015 -0400
Committer: Mark Payne <ma...@hotmail.com>
Committed: Wed Jul 1 10:44:42 2015 -0400

----------------------------------------------------------------------
 .../nifi/controller/ConfigurationContext.java   | 23 +++++++++++++++--
 .../nifi/util/MockConfigurationContext.java     | 11 +++++++++
 .../mock/MockConfigurationContext.java          | 10 ++++++++
 .../apache/nifi/controller/FlowController.java  | 18 +++++++-------
 .../reporting/AbstractReportingTaskNode.java    |  4 +--
 .../scheduling/StandardProcessScheduler.java    | 24 +++++++++---------
 .../service/StandardConfigurationContext.java   | 26 +++++++++++++++++++-
 .../service/StandardControllerServiceNode.java  |  2 +-
 .../StandardControllerServiceProvider.java      | 10 ++++----
 .../apache/nifi/controller/MonitorMemory.java   | 14 +++--------
 10 files changed, 99 insertions(+), 43 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/a0918079/nifi/nifi-mock/src/main/java/org/apache/nifi/util/MockConfigurationContext.java
----------------------------------------------------------------------
diff --cc nifi/nifi-mock/src/main/java/org/apache/nifi/util/MockConfigurationContext.java
index 742f03b,e9afb32..c90e722
--- a/nifi/nifi-mock/src/main/java/org/apache/nifi/util/MockConfigurationContext.java
+++ b/nifi/nifi-mock/src/main/java/org/apache/nifi/util/MockConfigurationContext.java
@@@ -55,12 -49,13 +56,22 @@@ public class MockConfigurationContext i
          return new HashMap<>(this.properties);
      }
  
 +    private PropertyDescriptor getActualDescriptor(final PropertyDescriptor property) {
 +        if (service == null) {
 +            return property;
 +        }
 +
 +        final PropertyDescriptor resolved = service.getPropertyDescriptor(property.getName());
 +        return resolved == null ? property : resolved;
 +    }
++
+     @Override
+     public String getSchedulingPeriod() {
+         return "0 secs";
+     }
+ 
+     @Override
+     public Long getSchedulingPeriod(final TimeUnit timeUnit) {
+         return 0L;
+     }
  }

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/a0918079/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/mock/MockConfigurationContext.java
----------------------------------------------------------------------
diff --cc nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/mock/MockConfigurationContext.java
index 1ba5499,0000000..6c9ec9d
mode 100644,000000..100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/mock/MockConfigurationContext.java
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/mock/MockConfigurationContext.java
@@@ -1,38 -1,0 +1,48 @@@
 +/*
 + * 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.nifi.documentation.mock;
 +
 +import java.util.Collections;
 +import java.util.Map;
++import java.util.concurrent.TimeUnit;
 +
 +import org.apache.nifi.components.PropertyDescriptor;
 +import org.apache.nifi.components.PropertyValue;
 +import org.apache.nifi.controller.ConfigurationContext;
 +
 +public class MockConfigurationContext implements ConfigurationContext {
 +
 +    @Override
 +    public PropertyValue getProperty(PropertyDescriptor property) {
 +        return null;
 +    }
 +
 +    @Override
 +    public Map<PropertyDescriptor, String> getProperties() {
 +        return Collections.emptyMap();
 +    }
 +
++    @Override
++    public String getSchedulingPeriod() {
++        return "0 secs";
++    }
++
++    @Override
++    public Long getSchedulingPeriod(final TimeUnit timeUnit) {
++        return 0L;
++    }
 +}


[28/50] [abbrv] incubator-nifi git commit: NIFI-733: Make use of Client Name, Zookeeper Timeout, Kafka Timeout properties and add new Group ID property

Posted by mc...@apache.org.
NIFI-733: Make use of Client Name, Zookeeper Timeout, Kafka Timeout properties and add new Group ID property


Project: http://git-wip-us.apache.org/repos/asf/incubator-nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-nifi/commit/786bc1d6
Tree: http://git-wip-us.apache.org/repos/asf/incubator-nifi/tree/786bc1d6
Diff: http://git-wip-us.apache.org/repos/asf/incubator-nifi/diff/786bc1d6

Branch: refs/heads/master
Commit: 786bc1d61260e2d8558747ca206d360aebdd1994
Parents: 063afe2
Author: Mark Payne <ma...@hotmail.com>
Authored: Fri Jul 3 09:04:52 2015 -0400
Committer: Mark Payne <ma...@hotmail.com>
Committed: Fri Jul 3 09:04:52 2015 -0400

----------------------------------------------------------------------
 .../apache/nifi/processors/kafka/GetKafka.java  | 28 +++++++++++++++-----
 1 file changed, 22 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/786bc1d6/nifi/nifi-nar-bundles/nifi-kafka-bundle/nifi-kafka-processors/src/main/java/org/apache/nifi/processors/kafka/GetKafka.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-kafka-bundle/nifi-kafka-processors/src/main/java/org/apache/nifi/processors/kafka/GetKafka.java b/nifi/nifi-nar-bundles/nifi-kafka-bundle/nifi-kafka-processors/src/main/java/org/apache/nifi/processors/kafka/GetKafka.java
index 1b63a46..26590df 100644
--- a/nifi/nifi-nar-bundles/nifi-kafka-bundle/nifi-kafka-processors/src/main/java/org/apache/nifi/processors/kafka/GetKafka.java
+++ b/nifi/nifi-nar-bundles/nifi-kafka-bundle/nifi-kafka-processors/src/main/java/org/apache/nifi/processors/kafka/GetKafka.java
@@ -129,6 +129,7 @@ public class GetKafka extends AbstractProcessor {
             .expressionLanguageSupported(false)
             .defaultValue("\\n")
             .build();
+
     public static final PropertyDescriptor CLIENT_NAME = new PropertyDescriptor.Builder()
             .name("Client Name")
             .description("Client Name to use when communicating with Kafka")
@@ -136,6 +137,13 @@ public class GetKafka extends AbstractProcessor {
             .addValidator(StandardValidators.NON_EMPTY_VALIDATOR)
             .expressionLanguageSupported(false)
             .build();
+    public static final PropertyDescriptor GROUP_ID = new PropertyDescriptor.Builder()
+        .name("Group ID")
+        .description("A Group ID is used to identify consumers that are within the same consumer group")
+        .required(true)
+        .addValidator(StandardValidators.NON_EMPTY_VALIDATOR)
+        .expressionLanguageSupported(false)
+        .build();
 
     public static final Relationship REL_SUCCESS = new Relationship.Builder()
             .name("success")
@@ -152,9 +160,13 @@ public class GetKafka extends AbstractProcessor {
     @Override
     protected List<PropertyDescriptor> getSupportedPropertyDescriptors() {
         final PropertyDescriptor clientNameWithDefault = new PropertyDescriptor.Builder()
-                .fromPropertyDescriptor(CLIENT_NAME)
-                .defaultValue("NiFi-" + getIdentifier())
-                .build();
+            .fromPropertyDescriptor(CLIENT_NAME)
+            .defaultValue("NiFi-" + getIdentifier())
+            .build();
+        final PropertyDescriptor groupIdWithDefault = new PropertyDescriptor.Builder()
+            .fromPropertyDescriptor(GROUP_ID)
+            .defaultValue(getIdentifier())
+            .build();
 
         final List<PropertyDescriptor> props = new ArrayList<>();
         props.add(ZOOKEEPER_CONNECTION_STRING);
@@ -163,6 +175,7 @@ public class GetKafka extends AbstractProcessor {
         props.add(BATCH_SIZE);
         props.add(MESSAGE_DEMARCATOR);
         props.add(clientNameWithDefault);
+        props.add(groupIdWithDefault);
         props.add(KAFKA_TIMEOUT);
         props.add(ZOOKEEPER_TIMEOUT);
         return props;
@@ -184,10 +197,13 @@ public class GetKafka extends AbstractProcessor {
 
         final Properties props = new Properties();
         props.setProperty("zookeeper.connect", context.getProperty(ZOOKEEPER_CONNECTION_STRING).getValue());
-        props.setProperty("group.id", getIdentifier());
+        props.setProperty("group.id", context.getProperty(GROUP_ID).getValue());
+        props.setProperty("client.id", context.getProperty(CLIENT_NAME).getValue());
         props.setProperty("auto.commit.interval.ms", String.valueOf(context.getProperty(ZOOKEEPER_COMMIT_DELAY).asTimePeriod(TimeUnit.MILLISECONDS)));
         props.setProperty("auto.commit.enable", "true"); // just be explicit
         props.setProperty("auto.offset.reset", "smallest");
+        props.setProperty("zk.connectiontimeout.ms", context.getProperty(ZOOKEEPER_TIMEOUT).asTimePeriod(TimeUnit.MILLISECONDS).toString());
+        props.setProperty("socket.timeout.ms", context.getProperty(KAFKA_TIMEOUT).asTimePeriod(TimeUnit.MILLISECONDS).toString());
 
         final ConsumerConfig consumerConfig = new ConsumerConfig(props);
         consumer = Consumer.createJavaConsumerConnector(consumerConfig);
@@ -236,7 +252,7 @@ public class GetKafka extends AbstractProcessor {
 
     @Override
     public void onTrigger(final ProcessContext context, final ProcessSession session) throws ProcessException {
-        ConsumerIterator<byte[], byte[]> iterator = getStreamIterator();
+        final ConsumerIterator<byte[], byte[]> iterator = getStreamIterator();
         if (iterator == null) {
             return;
         }
@@ -293,7 +309,7 @@ public class GetKafka extends AbstractProcessor {
                 }
 
                 // add the message to the FlowFile's contents
-                final boolean firstMessage = (msgCount == 0);
+                final boolean firstMessage = msgCount == 0;
                 flowFile = session.append(flowFile, new OutputStreamCallback() {
                     @Override
                     public void process(final OutputStream out) throws IOException {


[21/50] [abbrv] incubator-nifi git commit: NIFI-724: Ensure that bulletins generated for reporting tasks and controller services are shown at Controller level as well as component level

Posted by mc...@apache.org.
NIFI-724: Ensure that bulletins generated for reporting tasks and controller services are shown at Controller level as well as component level


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

Branch: refs/heads/master
Commit: e7c0461b15bff045d68e7ae8814eda2073cba209
Parents: 59aa8ff
Author: Mark Payne <ma...@hotmail.com>
Authored: Wed Jul 1 12:54:18 2015 -0400
Committer: Mark Payne <ma...@hotmail.com>
Committed: Wed Jul 1 12:54:18 2015 -0400

----------------------------------------------------------------------
 .../nifi/events/VolatileBulletinRepository.java | 105 ++++++++++++++-----
 1 file changed, 78 insertions(+), 27 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e7c0461b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/events/VolatileBulletinRepository.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/events/VolatileBulletinRepository.java b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/events/VolatileBulletinRepository.java
index c18fffd..8aeb34d 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/events/VolatileBulletinRepository.java
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/events/VolatileBulletinRepository.java
@@ -36,6 +36,8 @@ public class VolatileBulletinRepository implements BulletinRepository {
     private static final int CONTROLLER_BUFFER_SIZE = 10;
     private static final int COMPONENT_BUFFER_SIZE = 5;
     private static final String CONTROLLER_BULLETIN_STORE_KEY = "CONTROLLER";
+    private static final String SERVICE_BULLETIN_STORE_KEY = "SERVICE";
+    private static final String REPORTING_TASK_BULLETIN_STORE_KEY = "REPORTING_TASK";
 
     private final ConcurrentMap<String, ConcurrentMap<String, RingBuffer<Bulletin>>> bulletinStoreMap = new ConcurrentHashMap<>();
     private volatile BulletinProcessingStrategy processingStrategy = new DefaultBulletinProcessingStrategy();
@@ -170,18 +172,39 @@ public class VolatileBulletinRepository implements BulletinRepository {
     public List<Bulletin> findBulletinsForController(final int max) {
         final long fiveMinutesAgo = System.currentTimeMillis() - TimeUnit.MINUTES.toMillis(5);
 
-        final ConcurrentMap<String, RingBuffer<Bulletin>> componentMap = bulletinStoreMap.get(CONTROLLER_BULLETIN_STORE_KEY);
-        if (componentMap == null) {
-            return Collections.<Bulletin>emptyList();
-        }
-
-        final RingBuffer<Bulletin> buffer = componentMap.get(CONTROLLER_BULLETIN_STORE_KEY);
-        return buffer == null ? Collections.<Bulletin>emptyList() : buffer.getSelectedElements(new Filter<Bulletin>() {
+        final Filter<Bulletin> filter = new Filter<Bulletin>() {
             @Override
             public boolean select(final Bulletin bulletin) {
                 return bulletin.getTimestamp().getTime() >= fiveMinutesAgo;
             }
-        }, max);
+        };
+
+        final List<Bulletin> controllerBulletins = new ArrayList<>();
+
+        final ConcurrentMap<String, RingBuffer<Bulletin>> controllerBulletinMap = bulletinStoreMap.get(CONTROLLER_BULLETIN_STORE_KEY);
+        if (controllerBulletinMap != null) {
+            final RingBuffer<Bulletin> buffer = controllerBulletinMap.get(CONTROLLER_BULLETIN_STORE_KEY);
+            if (buffer != null) {
+                controllerBulletins.addAll(buffer.getSelectedElements(filter, max));
+            }
+        }
+
+        for (final String key : new String[] { SERVICE_BULLETIN_STORE_KEY, REPORTING_TASK_BULLETIN_STORE_KEY }) {
+            final ConcurrentMap<String, RingBuffer<Bulletin>> bulletinMap = bulletinStoreMap.get(key);
+            if (bulletinMap != null) {
+                for (final RingBuffer<Bulletin> buffer : bulletinMap.values()) {
+                    controllerBulletins.addAll(buffer.getSelectedElements(filter, max));
+                }
+            }
+        }
+
+        // We only want the newest bulletin, so we sort based on time and take the top 'max' entries
+        Collections.sort(controllerBulletins);
+        if (controllerBulletins.size() > max) {
+            return controllerBulletins.subList(0, max);
+        }
+
+        return controllerBulletins;
     }
 
     /**
@@ -203,7 +226,7 @@ public class VolatileBulletinRepository implements BulletinRepository {
         this.processingStrategy = new DefaultBulletinProcessingStrategy();
     }
 
-    private RingBuffer<Bulletin> getBulletinBuffer(final Bulletin bulletin) {
+    private List<RingBuffer<Bulletin>> getBulletinBuffers(final Bulletin bulletin) {
         final String storageKey = getBulletinStoreKey(bulletin);
 
         ConcurrentMap<String, RingBuffer<Bulletin>> componentMap = bulletinStoreMap.get(storageKey);
@@ -215,40 +238,68 @@ public class VolatileBulletinRepository implements BulletinRepository {
             }
         }
 
-        final boolean controllerBulletin = isControllerBulletin(bulletin);
-        final String sourceId = controllerBulletin ? CONTROLLER_BULLETIN_STORE_KEY : bulletin.getSourceId();
-        RingBuffer<Bulletin> bulletinBuffer = componentMap.get(sourceId);
-        if (bulletinBuffer == null) {
-            final int bufferSize = controllerBulletin ? CONTROLLER_BUFFER_SIZE : COMPONENT_BUFFER_SIZE;
-            bulletinBuffer = new RingBuffer<>(bufferSize);
-            final RingBuffer<Bulletin> existingBuffer = componentMap.putIfAbsent(sourceId, bulletinBuffer);
-            if (existingBuffer != null) {
-                bulletinBuffer = existingBuffer;
+        final List<RingBuffer<Bulletin>> buffers = new ArrayList<>(2);
+
+        if (isControllerBulletin(bulletin)) {
+            RingBuffer<Bulletin> bulletinBuffer = componentMap.get(CONTROLLER_BULLETIN_STORE_KEY);
+            if (bulletinBuffer == null) {
+                bulletinBuffer = new RingBuffer<>(CONTROLLER_BUFFER_SIZE);
+                final RingBuffer<Bulletin> existingBuffer = componentMap.putIfAbsent(CONTROLLER_BULLETIN_STORE_KEY, bulletinBuffer);
+                if (existingBuffer != null) {
+                    bulletinBuffer = existingBuffer;
+                }
             }
+
+            buffers.add(bulletinBuffer);
         }
 
-        return bulletinBuffer;
+        if (bulletin.getSourceType() != ComponentType.FLOW_CONTROLLER) {
+            RingBuffer<Bulletin> bulletinBuffer = componentMap.get(bulletin.getSourceId());
+            if (bulletinBuffer == null) {
+                bulletinBuffer = new RingBuffer<>(COMPONENT_BUFFER_SIZE);
+                final RingBuffer<Bulletin> existingBuffer = componentMap.putIfAbsent(bulletin.getSourceId(), bulletinBuffer);
+                if (existingBuffer != null) {
+                    bulletinBuffer = existingBuffer;
+                }
+            }
+
+            buffers.add(bulletinBuffer);
+        }
+
+        return buffers;
     }
 
     private String getBulletinStoreKey(final Bulletin bulletin) {
-        if (isControllerBulletin(bulletin)) {
-            return CONTROLLER_BULLETIN_STORE_KEY;
+        switch (bulletin.getSourceType()) {
+            case FLOW_CONTROLLER:
+                return CONTROLLER_BULLETIN_STORE_KEY;
+            case CONTROLLER_SERVICE:
+                return SERVICE_BULLETIN_STORE_KEY;
+            case REPORTING_TASK:
+                return REPORTING_TASK_BULLETIN_STORE_KEY;
+            default:
+                return bulletin.getGroupId();
         }
-
-        final String groupId = bulletin.getGroupId();
-        return groupId == null ? bulletin.getSourceId() : groupId;
     }
 
     private boolean isControllerBulletin(final Bulletin bulletin) {
-        return ComponentType.FLOW_CONTROLLER.equals(bulletin.getSourceType());
+        switch (bulletin.getSourceType()) {
+            case FLOW_CONTROLLER:
+            case CONTROLLER_SERVICE:
+            case REPORTING_TASK:
+                return true;
+            default:
+                return false;
+        }
     }
 
     private class DefaultBulletinProcessingStrategy implements BulletinProcessingStrategy {
 
         @Override
         public void update(final Bulletin bulletin) {
-            final RingBuffer<Bulletin> bulletinBuffer = getBulletinBuffer(bulletin);
-            bulletinBuffer.add(bulletin);
+            for (final RingBuffer<Bulletin> bulletinBuffer : getBulletinBuffers(bulletin)) {
+                bulletinBuffer.add(bulletin);
+            }
         }
     }
 }


[16/50] [abbrv] incubator-nifi git commit: NIFI-735: removing call to OnRemoved and updating unit tests

Posted by mc...@apache.org.
NIFI-735: removing call to OnRemoved and updating unit tests


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

Branch: refs/heads/master
Commit: c769742d9b10145c26a0b6cd75b9ae75bbdc9589
Parents: 9354676
Author: danbress <db...@onyxconsults.com>
Authored: Sun Jun 28 16:42:52 2015 -0400
Committer: danbress <db...@onyxconsults.com>
Committed: Sun Jun 28 16:42:52 2015 -0400

----------------------------------------------------------------------
 .../documentation/init/ControllerServiceInitializer.java     | 2 --
 .../apache/nifi/documentation/init/ProcessorInitializer.java | 2 --
 .../nifi/documentation/init/ReportingTaskingInitializer.java | 2 --
 .../nifi/documentation/html/HtmlDocumentationWriterTest.java | 8 ++++----
 .../documentation/html/ProcessorDocumentationWriterTest.java | 4 ++--
 5 files changed, 6 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/c769742d/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/init/ControllerServiceInitializer.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/init/ControllerServiceInitializer.java b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/init/ControllerServiceInitializer.java
index 7839254..441033c 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/init/ControllerServiceInitializer.java
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/init/ControllerServiceInitializer.java
@@ -16,7 +16,6 @@
  */
 package org.apache.nifi.documentation.init;
 
-import org.apache.nifi.annotation.lifecycle.OnRemoved;
 import org.apache.nifi.annotation.lifecycle.OnShutdown;
 import org.apache.nifi.components.ConfigurableComponent;
 import org.apache.nifi.controller.ControllerService;
@@ -52,7 +51,6 @@ public class ControllerServiceInitializer implements ConfigurableComponentInitia
 
             final ProcessorLog logger = new MockProcessorLogger();
             final MockConfigurationContext context = new MockConfigurationContext();
-            ReflectionUtils.quietlyInvokeMethodsWithAnnotations(OnRemoved.class, org.apache.nifi.processor.annotation.OnRemoved.class, controllerService, logger, context);
             ReflectionUtils.quietlyInvokeMethodsWithAnnotations(OnShutdown.class, org.apache.nifi.processor.annotation.OnShutdown.class, controllerService, logger, context);
         }
     }

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/c769742d/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/init/ProcessorInitializer.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/init/ProcessorInitializer.java b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/init/ProcessorInitializer.java
index 5808c35..7a0752d 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/init/ProcessorInitializer.java
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/init/ProcessorInitializer.java
@@ -16,7 +16,6 @@
  */
 package org.apache.nifi.documentation.init;
 
-import org.apache.nifi.annotation.lifecycle.OnRemoved;
 import org.apache.nifi.annotation.lifecycle.OnShutdown;
 import org.apache.nifi.components.ConfigurableComponent;
 import org.apache.nifi.documentation.ConfigurableComponentInitializer;
@@ -50,7 +49,6 @@ public class ProcessorInitializer implements ConfigurableComponentInitializer {
 
             final ProcessorLog logger = new MockProcessorLogger();
             final MockProcessContext context = new MockProcessContext();
-            ReflectionUtils.quietlyInvokeMethodsWithAnnotations(OnRemoved.class, org.apache.nifi.processor.annotation.OnRemoved.class, processor, logger, context);
             ReflectionUtils.quietlyInvokeMethodsWithAnnotations(OnShutdown.class, org.apache.nifi.processor.annotation.OnShutdown.class, processor, logger, context);
         }
     }

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/c769742d/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/init/ReportingTaskingInitializer.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/init/ReportingTaskingInitializer.java b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/init/ReportingTaskingInitializer.java
index 23b4500..e9642e3 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/init/ReportingTaskingInitializer.java
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/init/ReportingTaskingInitializer.java
@@ -16,7 +16,6 @@
  */
 package org.apache.nifi.documentation.init;
 
-import org.apache.nifi.annotation.lifecycle.OnRemoved;
 import org.apache.nifi.annotation.lifecycle.OnShutdown;
 import org.apache.nifi.components.ConfigurableComponent;
 import org.apache.nifi.documentation.ConfigurableComponentInitializer;
@@ -49,7 +48,6 @@ public class ReportingTaskingInitializer implements ConfigurableComponentInitial
         try (NarCloseable narCloseable = NarCloseable.withNarLoader()) {
 
             final MockConfigurationContext context = new MockConfigurationContext();
-            ReflectionUtils.quietlyInvokeMethodsWithAnnotations(OnRemoved.class, org.apache.nifi.processor.annotation.OnRemoved.class, reportingTask, new MockProcessorLogger(), context);
             ReflectionUtils.quietlyInvokeMethodsWithAnnotations(OnShutdown.class, org.apache.nifi.processor.annotation.OnShutdown.class, reportingTask, new MockProcessorLogger(), context);
         }
     }

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/c769742d/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/test/java/org/apache/nifi/documentation/html/HtmlDocumentationWriterTest.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/test/java/org/apache/nifi/documentation/html/HtmlDocumentationWriterTest.java b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/test/java/org/apache/nifi/documentation/html/HtmlDocumentationWriterTest.java
index 5a138dc..ae04f46 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/test/java/org/apache/nifi/documentation/html/HtmlDocumentationWriterTest.java
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/test/java/org/apache/nifi/documentation/html/HtmlDocumentationWriterTest.java
@@ -78,8 +78,8 @@ public class HtmlDocumentationWriterTest {
         assertContains(results, "Sensitive Property: true");
 
         // verify the right OnRemoved and OnShutdown methods were called
-        Assert.assertEquals(1, controllerService.getOnRemovedArgs());
-        Assert.assertEquals(1, controllerService.getOnRemovedNoArgs());
+        Assert.assertEquals(0, controllerService.getOnRemovedArgs());
+        Assert.assertEquals(0, controllerService.getOnRemovedNoArgs());
 
         Assert.assertEquals(1, controllerService.getOnShutdownArgs());
         Assert.assertEquals(1, controllerService.getOnShutdownNoArgs());
@@ -115,8 +115,8 @@ public class HtmlDocumentationWriterTest {
         assertContains(results, "false");
 
         // verify the right OnRemoved and OnShutdown methods were called
-        Assert.assertEquals(1, reportingTask.getOnRemovedArgs());
-        Assert.assertEquals(1, reportingTask.getOnRemovedNoArgs());
+        Assert.assertEquals(0, reportingTask.getOnRemovedArgs());
+        Assert.assertEquals(0, reportingTask.getOnRemovedNoArgs());
 
         Assert.assertEquals(1, reportingTask.getOnShutdownArgs());
         Assert.assertEquals(1, reportingTask.getOnShutdownNoArgs());

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/c769742d/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/test/java/org/apache/nifi/documentation/html/ProcessorDocumentationWriterTest.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/test/java/org/apache/nifi/documentation/html/ProcessorDocumentationWriterTest.java b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/test/java/org/apache/nifi/documentation/html/ProcessorDocumentationWriterTest.java
index 31fe73e..447e2e9 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/test/java/org/apache/nifi/documentation/html/ProcessorDocumentationWriterTest.java
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/test/java/org/apache/nifi/documentation/html/ProcessorDocumentationWriterTest.java
@@ -75,8 +75,8 @@ public class ProcessorDocumentationWriterTest {
         assertNotContains(results, "Additional Details...");
 
         // verify the right OnRemoved and OnShutdown methods were called
-        Assert.assertEquals(1, processor.getOnRemovedArgs());
-        Assert.assertEquals(1, processor.getOnRemovedNoArgs());
+        Assert.assertEquals(0, processor.getOnRemovedArgs());
+        Assert.assertEquals(0, processor.getOnRemovedNoArgs());
 
         Assert.assertEquals(1, processor.getOnShutdownArgs());
         Assert.assertEquals(1, processor.getOnShutdownNoArgs());


[50/50] [abbrv] incubator-nifi git commit: NIFI-656-RC1 prepare for next development iteration

Posted by mc...@apache.org.
NIFI-656-RC1 prepare for next development iteration


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

Branch: refs/heads/master
Commit: de8ec6f92c85970b1665765e0b11d04e486cc966
Parents: e4f51ea
Author: Matt Gilman <ma...@gmail.com>
Authored: Wed Jul 8 14:44:55 2015 -0400
Committer: Matt Gilman <ma...@gmail.com>
Committed: Wed Jul 8 14:44:55 2015 -0400

----------------------------------------------------------------------
 nifi/nifi-api/pom.xml                           |  2 +-
 nifi/nifi-assembly/pom.xml                      | 12 +--
 nifi/nifi-bootstrap/pom.xml                     |  2 +-
 .../nifi-data-provenance-utils/pom.xml          |  2 +-
 .../nifi-expression-language/pom.xml            |  2 +-
 .../nifi-commons/nifi-flowfile-packager/pom.xml |  2 +-
 .../nifi-hl7-query-language/pom.xml             |  2 +-
 nifi/nifi-commons/nifi-logging-utils/pom.xml    |  2 +-
 .../nifi-processor-utilities/pom.xml            |  2 +-
 nifi/nifi-commons/nifi-properties/pom.xml       |  2 +-
 nifi/nifi-commons/nifi-security-utils/pom.xml   |  2 +-
 .../nifi-site-to-site-client/pom.xml            |  4 +-
 nifi/nifi-commons/nifi-socket-utils/pom.xml     |  2 +-
 nifi/nifi-commons/nifi-utils/pom.xml            |  4 +-
 nifi/nifi-commons/nifi-web-utils/pom.xml        |  2 +-
 nifi/nifi-commons/nifi-write-ahead-log/pom.xml  |  2 +-
 nifi/nifi-commons/pom.xml                       |  2 +-
 nifi/nifi-docs/pom.xml                          |  2 +-
 .../nifi-nifi-example-nar/pom.xml               |  2 +-
 .../nifi-nifi-example-processors/pom.xml        |  2 +-
 nifi/nifi-external/nifi-example-bundle/pom.xml  |  4 +-
 nifi/nifi-external/nifi-spark-receiver/pom.xml  |  2 +-
 nifi/nifi-external/nifi-storm-spout/pom.xml     |  2 +-
 nifi/nifi-external/pom.xml                      |  2 +-
 .../nifi-processor-bundle-archetype/pom.xml     |  2 +-
 nifi/nifi-maven-archetypes/pom.xml              |  2 +-
 nifi/nifi-mock/pom.xml                          |  2 +-
 .../nifi-aws-bundle/nifi-aws-nar/pom.xml        |  4 +-
 .../nifi-aws-bundle/nifi-aws-processors/pom.xml |  2 +-
 nifi/nifi-nar-bundles/nifi-aws-bundle/pom.xml   |  2 +-
 .../nifi-framework-nar/pom.xml                  |  2 +-
 .../nifi-framework/nifi-administration/pom.xml  |  2 +-
 .../nifi-framework/nifi-client-dto/pom.xml      |  2 +-
 .../nifi-cluster-authorization-provider/pom.xml |  2 +-
 .../nifi-framework/nifi-documentation/pom.xml   |  2 +-
 .../nifi-file-authorization-provider/pom.xml    |  2 +-
 .../nifi-framework-cluster-protocol/pom.xml     |  2 +-
 .../nifi-framework-cluster-web/pom.xml          |  2 +-
 .../nifi-framework-cluster/pom.xml              |  2 +-
 .../nifi-framework-core-api/pom.xml             |  2 +-
 .../nifi-framework/nifi-framework-core/pom.xml  |  2 +-
 .../nifi-framework/nifi-nar-utils/pom.xml       |  2 +-
 .../nifi-framework/nifi-resources/pom.xml       |  2 +-
 .../nifi-framework/nifi-runtime/pom.xml         |  2 +-
 .../nifi-framework/nifi-security/pom.xml        |  2 +-
 .../nifi-framework/nifi-site-to-site/pom.xml    |  2 +-
 .../nifi-framework/nifi-user-actions/pom.xml    |  2 +-
 .../nifi-web/nifi-custom-ui-utilities/pom.xml   |  2 +-
 .../nifi-framework/nifi-web/nifi-jetty/pom.xml  |  2 +-
 .../nifi-web/nifi-ui-extension/pom.xml          |  2 +-
 .../nifi-web/nifi-web-api/pom.xml               |  2 +-
 .../nifi-web/nifi-web-content-access/pom.xml    |  2 +-
 .../nifi-web/nifi-web-content-viewer/pom.xml    |  2 +-
 .../nifi-web/nifi-web-docs/pom.xml              |  2 +-
 .../nifi-web/nifi-web-error/pom.xml             |  2 +-
 .../nifi-web-optimistic-locking/pom.xml         |  2 +-
 .../nifi-web/nifi-web-security/pom.xml          |  2 +-
 .../nifi-framework/nifi-web/nifi-web-ui/pom.xml |  2 +-
 .../nifi-framework/nifi-web/pom.xml             | 12 +--
 .../nifi-framework/pom.xml                      |  2 +-
 .../nifi-framework-bundle/pom.xml               | 38 ++++-----
 .../nifi-geo-bundle/nifi-geo-nar/pom.xml        |  2 +-
 .../nifi-geo-bundle/nifi-geo-processors/pom.xml |  2 +-
 nifi/nifi-nar-bundles/nifi-geo-bundle/pom.xml   |  4 +-
 .../nifi-hadoop-bundle/nifi-hadoop-nar/pom.xml  |  2 +-
 .../nifi-hdfs-processors/pom.xml                |  2 +-
 .../nifi-nar-bundles/nifi-hadoop-bundle/pom.xml |  4 +-
 .../nifi-hadoop-libraries-nar/pom.xml           |  2 +-
 .../nifi-hadoop-libraries-bundle/pom.xml        |  2 +-
 .../nifi-hl7-bundle/nifi-hl7-nar/pom.xml        |  4 +-
 .../nifi-hl7-bundle/nifi-hl7-processors/pom.xml |  4 +-
 nifi/nifi-nar-bundles/nifi-hl7-bundle/pom.xml   |  2 +-
 nifi/nifi-nar-bundles/nifi-jetty-bundle/pom.xml |  2 +-
 .../nifi-kafka-bundle/nifi-kafka-nar/pom.xml    |  2 +-
 .../nifi-kafka-processors/pom.xml               |  2 +-
 nifi/nifi-nar-bundles/nifi-kafka-bundle/pom.xml |  4 +-
 .../nifi-kite-bundle/nifi-kite-nar/pom.xml      |  2 +-
 .../nifi-kite-processors/pom.xml                |  2 +-
 nifi/nifi-nar-bundles/nifi-kite-bundle/pom.xml  |  4 +-
 .../nifi-language-translation-nar/pom.xml       |  4 +-
 .../nifi-yandex-processors/pom.xml              |  2 +-
 .../nifi-language-translation-bundle/pom.xml    |  2 +-
 .../nifi-mongodb-nar/pom.xml                    |  6 +-
 .../nifi-mongodb-processors/pom.xml             |  2 +-
 .../nifi-mongodb-bundle/pom.xml                 |  4 +-
 .../pom.xml                                     |  2 +-
 .../nifi-provenance-repository-nar/pom.xml      |  2 +-
 .../nifi-volatile-provenance-repository/pom.xml |  2 +-
 .../nifi-provenance-repository-bundle/pom.xml   |  6 +-
 .../nifi-social-media-nar/pom.xml               |  4 +-
 .../nifi-twitter-processors/pom.xml             |  2 +-
 .../nifi-social-media-bundle/pom.xml            |  2 +-
 .../nifi-solr-bundle/nifi-solr-nar/pom.xml      |  4 +-
 .../nifi-solr-processors/pom.xml                |  2 +-
 nifi/nifi-nar-bundles/nifi-solr-bundle/pom.xml  |  2 +-
 .../nifi-standard-content-viewer/pom.xml        |  2 +-
 .../nifi-standard-nar/pom.xml                   |  2 +-
 .../nifi-standard-prioritizers/pom.xml          |  2 +-
 .../nifi-standard-processors/pom.xml            |  2 +-
 .../nifi-standard-reporting-tasks/pom.xml       |  2 +-
 .../nifi-standard-bundle/pom.xml                | 10 +--
 .../nifi-dbcp-service-api/pom.xml               |  2 +-
 .../nifi-dbcp-service-nar/pom.xml               |  4 +-
 .../nifi-dbcp-service/pom.xml                   |  4 +-
 .../nifi-dbcp-service-bundle/pom.xml            |  2 +-
 .../pom.xml                                     |  2 +-
 .../pom.xml                                     |  2 +-
 .../nifi-distributed-cache-protocol/pom.xml     |  2 +-
 .../nifi-distributed-cache-server/pom.xml       |  2 +-
 .../nifi-distributed-cache-services-nar/pom.xml |  2 +-
 .../pom.xml                                     |  2 +-
 .../nifi-http-context-map-api/pom.xml           |  2 +-
 .../nifi-http-context-map-nar/pom.xml           |  2 +-
 .../nifi-http-context-map/pom.xml               |  2 +-
 .../nifi-http-context-map-bundle/pom.xml        |  2 +-
 .../nifi-load-distribution-service-api/pom.xml  |  2 +-
 .../nifi-ssl-context-nar/pom.xml                |  2 +-
 .../nifi-ssl-context-service/pom.xml            |  2 +-
 .../nifi-ssl-context-bundle/pom.xml             |  2 +-
 .../nifi-ssl-context-service-api/pom.xml        |  2 +-
 .../nifi-standard-services-api-nar/pom.xml      |  4 +-
 .../nifi-standard-services/pom.xml              |  2 +-
 .../nifi-update-attribute-model/pom.xml         |  2 +-
 .../nifi-update-attribute-nar/pom.xml           |  2 +-
 .../nifi-update-attribute-processor/pom.xml     |  2 +-
 .../nifi-update-attribute-ui/pom.xml            |  2 +-
 .../nifi-update-attribute-bundle/pom.xml        |  8 +-
 nifi/nifi-nar-bundles/pom.xml                   | 30 +++----
 nifi/pom.xml                                    | 90 ++++++++++----------
 129 files changed, 241 insertions(+), 245 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-api/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-api/pom.xml b/nifi/nifi-api/pom.xml
index f15e0bb..d8cb3fa 100644
--- a/nifi/nifi-api/pom.xml
+++ b/nifi/nifi-api/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <artifactId>nifi-api</artifactId>
     <packaging>jar</packaging>    

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-assembly/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-assembly/pom.xml b/nifi/nifi-assembly/pom.xml
index 111560e..ddbc80a 100644
--- a/nifi/nifi-assembly/pom.xml
+++ b/nifi/nifi-assembly/pom.xml
@@ -14,7 +14,7 @@ language governing permissions and limitations under the License. -->
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <artifactId>nifi-assembly</artifactId>
     <packaging>pom</packaging>
@@ -170,7 +170,7 @@ language governing permissions and limitations under the License. -->
         <dependency>
             <groupId>org.apache.nifi</groupId>
             <artifactId>nifi-dbcp-service-nar</artifactId>
-	        <version>0.2.0-incubating</version>
+	        <version>0.2.1-incubating-SNAPSHOT</version>
             <type>nar</type>
         </dependency>
         <dependency>
@@ -186,25 +186,25 @@ language governing permissions and limitations under the License. -->
         <dependency>
             <groupId>org.apache.nifi</groupId>
             <artifactId>nifi-social-media-nar</artifactId>
-            <version>0.2.0-incubating</version>
+            <version>0.2.1-incubating-SNAPSHOT</version>
             <type>nar</type>
         </dependency>
         <dependency>
             <groupId>org.apache.nifi</groupId>
             <artifactId>nifi-hl7-nar</artifactId>
-            <version>0.2.0-incubating</version>
+            <version>0.2.1-incubating-SNAPSHOT</version>
             <type>nar</type>
         </dependency>
         <dependency>
             <groupId>org.apache.nifi</groupId>
             <artifactId>nifi-language-translation-nar</artifactId>
-            <version>0.2.0-incubating</version>
+            <version>0.2.1-incubating-SNAPSHOT</version>
             <type>nar</type>
         </dependency>
         <dependency>
             <groupId>org.apache.nifi</groupId>
             <artifactId>nifi-geo-nar</artifactId>
-            <version>0.2.0-incubating</version>
+            <version>0.2.1-incubating-SNAPSHOT</version>
             <type>nar</type>
         </dependency>
     </dependencies>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-bootstrap/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-bootstrap/pom.xml b/nifi/nifi-bootstrap/pom.xml
index 47669bf..ad84fd7 100644
--- a/nifi/nifi-bootstrap/pom.xml
+++ b/nifi/nifi-bootstrap/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <artifactId>nifi-bootstrap</artifactId>
     <packaging>jar</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-commons/nifi-data-provenance-utils/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-commons/nifi-data-provenance-utils/pom.xml b/nifi/nifi-commons/nifi-data-provenance-utils/pom.xml
index e847150..3d90401 100644
--- a/nifi/nifi-commons/nifi-data-provenance-utils/pom.xml
+++ b/nifi/nifi-commons/nifi-data-provenance-utils/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-commons</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <artifactId>nifi-data-provenance-utils</artifactId>
     <packaging>jar</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-commons/nifi-expression-language/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-commons/nifi-expression-language/pom.xml b/nifi/nifi-commons/nifi-expression-language/pom.xml
index c84af55..d36e462 100644
--- a/nifi/nifi-commons/nifi-expression-language/pom.xml
+++ b/nifi/nifi-commons/nifi-expression-language/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-commons</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <artifactId>nifi-expression-language</artifactId>
     <packaging>jar</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-commons/nifi-flowfile-packager/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-commons/nifi-flowfile-packager/pom.xml b/nifi/nifi-commons/nifi-flowfile-packager/pom.xml
index e71375d..8eaea1e 100644
--- a/nifi/nifi-commons/nifi-flowfile-packager/pom.xml
+++ b/nifi/nifi-commons/nifi-flowfile-packager/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-commons</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <artifactId>nifi-flowfile-packager</artifactId>
     <packaging>jar</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-commons/nifi-hl7-query-language/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-commons/nifi-hl7-query-language/pom.xml b/nifi/nifi-commons/nifi-hl7-query-language/pom.xml
index 4b3e495..e0dd314 100644
--- a/nifi/nifi-commons/nifi-hl7-query-language/pom.xml
+++ b/nifi/nifi-commons/nifi-hl7-query-language/pom.xml
@@ -19,7 +19,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-commons</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
 	
     <artifactId>nifi-hl7-query-language</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-commons/nifi-logging-utils/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-commons/nifi-logging-utils/pom.xml b/nifi/nifi-commons/nifi-logging-utils/pom.xml
index 99e23f5..1bb37b0 100644
--- a/nifi/nifi-commons/nifi-logging-utils/pom.xml
+++ b/nifi/nifi-commons/nifi-logging-utils/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-commons</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <artifactId>nifi-logging-utils</artifactId>
     <description>Utilities for logging</description>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-commons/nifi-processor-utilities/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-commons/nifi-processor-utilities/pom.xml b/nifi/nifi-commons/nifi-processor-utilities/pom.xml
index e49a875..cc8718c 100644
--- a/nifi/nifi-commons/nifi-processor-utilities/pom.xml
+++ b/nifi/nifi-commons/nifi-processor-utilities/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-commons</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <artifactId>nifi-processor-utils</artifactId>
     <packaging>jar</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-commons/nifi-properties/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-commons/nifi-properties/pom.xml b/nifi/nifi-commons/nifi-properties/pom.xml
index 903a140..9432b70 100644
--- a/nifi/nifi-commons/nifi-properties/pom.xml
+++ b/nifi/nifi-commons/nifi-properties/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-commons</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <artifactId>nifi-properties</artifactId>
 </project>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-commons/nifi-security-utils/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-commons/nifi-security-utils/pom.xml b/nifi/nifi-commons/nifi-security-utils/pom.xml
index dc00206..3772fab 100644
--- a/nifi/nifi-commons/nifi-security-utils/pom.xml
+++ b/nifi/nifi-commons/nifi-security-utils/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-commons</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <artifactId>nifi-security-utils</artifactId>
     <description>Contains security functionality.</description>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-commons/nifi-site-to-site-client/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-commons/nifi-site-to-site-client/pom.xml b/nifi/nifi-commons/nifi-site-to-site-client/pom.xml
index 4e4655e..43d5450 100644
--- a/nifi/nifi-commons/nifi-site-to-site-client/pom.xml
+++ b/nifi/nifi-commons/nifi-site-to-site-client/pom.xml
@@ -19,7 +19,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-commons</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
 
     <artifactId>nifi-site-to-site-client</artifactId>
@@ -42,7 +42,7 @@
         <dependency>
             <groupId>org.apache.nifi</groupId>
             <artifactId>nifi-client-dto</artifactId>
-            <version>0.2.0-incubating</version>
+            <version>0.2.1-incubating-SNAPSHOT</version>
         </dependency>
 
         <dependency>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-commons/nifi-socket-utils/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-commons/nifi-socket-utils/pom.xml b/nifi/nifi-commons/nifi-socket-utils/pom.xml
index e9d33a4..80ca860 100644
--- a/nifi/nifi-commons/nifi-socket-utils/pom.xml
+++ b/nifi/nifi-commons/nifi-socket-utils/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-commons</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <artifactId>nifi-socket-utils</artifactId>
     <description>Utilities for socket communication</description>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-commons/nifi-utils/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-commons/nifi-utils/pom.xml b/nifi/nifi-commons/nifi-utils/pom.xml
index 7d22bac..7a1bf01 100644
--- a/nifi/nifi-commons/nifi-utils/pom.xml
+++ b/nifi/nifi-commons/nifi-utils/pom.xml
@@ -18,10 +18,10 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-commons</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <artifactId>nifi-utils</artifactId>
-    <version>0.2.0-incubating</version>
+    <version>0.2.1-incubating-SNAPSHOT</version>
     <packaging>jar</packaging>
     <!--
     This project intentionally has no additional dependencies beyond that pulled in by the parent.  It is a general purpose utility library

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-commons/nifi-web-utils/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-commons/nifi-web-utils/pom.xml b/nifi/nifi-commons/nifi-web-utils/pom.xml
index 7335e34..aed227c 100644
--- a/nifi/nifi-commons/nifi-web-utils/pom.xml
+++ b/nifi/nifi-commons/nifi-web-utils/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-commons</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <artifactId>nifi-web-utils</artifactId>
     <dependencies>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-commons/nifi-write-ahead-log/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-commons/nifi-write-ahead-log/pom.xml b/nifi/nifi-commons/nifi-write-ahead-log/pom.xml
index 2859c5f..b6f4b52 100644
--- a/nifi/nifi-commons/nifi-write-ahead-log/pom.xml
+++ b/nifi/nifi-commons/nifi-write-ahead-log/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-commons</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <artifactId>nifi-write-ahead-log</artifactId>
     <packaging>jar</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-commons/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-commons/pom.xml b/nifi/nifi-commons/pom.xml
index 2ef81bc..c523c67 100644
--- a/nifi/nifi-commons/pom.xml
+++ b/nifi/nifi-commons/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <groupId>org.apache.nifi</groupId>
     <artifactId>nifi-commons</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-docs/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-docs/pom.xml b/nifi/nifi-docs/pom.xml
index 38542d2..41e3ee8 100644
--- a/nifi/nifi-docs/pom.xml
+++ b/nifi/nifi-docs/pom.xml
@@ -4,7 +4,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <packaging>pom</packaging>
     <artifactId>nifi-docs</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-external/nifi-example-bundle/nifi-nifi-example-nar/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-external/nifi-example-bundle/nifi-nifi-example-nar/pom.xml b/nifi/nifi-external/nifi-example-bundle/nifi-nifi-example-nar/pom.xml
index 047ee8a..ceed598 100644
--- a/nifi/nifi-external/nifi-example-bundle/nifi-nifi-example-nar/pom.xml
+++ b/nifi/nifi-external/nifi-example-bundle/nifi-nifi-example-nar/pom.xml
@@ -19,7 +19,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-example-bundle</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
 
     <artifactId>nifi-example-nar</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-external/nifi-example-bundle/nifi-nifi-example-processors/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-external/nifi-example-bundle/nifi-nifi-example-processors/pom.xml b/nifi/nifi-external/nifi-example-bundle/nifi-nifi-example-processors/pom.xml
index f0a5295..730e7ac 100644
--- a/nifi/nifi-external/nifi-example-bundle/nifi-nifi-example-processors/pom.xml
+++ b/nifi/nifi-external/nifi-example-bundle/nifi-nifi-example-processors/pom.xml
@@ -19,7 +19,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-example-bundle</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
 
     <artifactId>nifi-nifi-example-processors</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-external/nifi-example-bundle/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-external/nifi-example-bundle/pom.xml b/nifi/nifi-external/nifi-example-bundle/pom.xml
index 8eb794e..b5d1d08 100644
--- a/nifi/nifi-external/nifi-example-bundle/pom.xml
+++ b/nifi/nifi-external/nifi-example-bundle/pom.xml
@@ -19,7 +19,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-external</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
 
     <artifactId>nifi-example-bundle</artifactId>
@@ -35,7 +35,7 @@
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-nifi-example-processors</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
             </dependency>
         </dependencies>
     </dependencyManagement>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-external/nifi-spark-receiver/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-external/nifi-spark-receiver/pom.xml b/nifi/nifi-external/nifi-spark-receiver/pom.xml
index 1ac232b..90a0600 100644
--- a/nifi/nifi-external/nifi-spark-receiver/pom.xml
+++ b/nifi/nifi-external/nifi-spark-receiver/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-external</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <groupId>org.apache.nifi</groupId>
     <artifactId>nifi-spark-receiver</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-external/nifi-storm-spout/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-external/nifi-storm-spout/pom.xml b/nifi/nifi-external/nifi-storm-spout/pom.xml
index aa8a1ea..899417d 100644
--- a/nifi/nifi-external/nifi-storm-spout/pom.xml
+++ b/nifi/nifi-external/nifi-storm-spout/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-external</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <groupId>org.apache.nifi</groupId>
     <artifactId>nifi-storm-spout</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-external/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-external/pom.xml b/nifi/nifi-external/pom.xml
index 8b6f3c7..06ce36d 100644
--- a/nifi/nifi-external/pom.xml
+++ b/nifi/nifi-external/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <groupId>org.apache.nifi</groupId>
     <artifactId>nifi-external</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-maven-archetypes/nifi-processor-bundle-archetype/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-maven-archetypes/nifi-processor-bundle-archetype/pom.xml b/nifi/nifi-maven-archetypes/nifi-processor-bundle-archetype/pom.xml
index 8ef95c9..49808af 100644
--- a/nifi/nifi-maven-archetypes/nifi-processor-bundle-archetype/pom.xml
+++ b/nifi/nifi-maven-archetypes/nifi-processor-bundle-archetype/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-maven-archetypes</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
 
     <artifactId>nifi-processor-bundle-archetype</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-maven-archetypes/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-maven-archetypes/pom.xml b/nifi/nifi-maven-archetypes/pom.xml
index a934b92..2ab42c8 100644
--- a/nifi/nifi-maven-archetypes/pom.xml
+++ b/nifi/nifi-maven-archetypes/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <groupId>org.apache.nifi</groupId>
     <artifactId>nifi-maven-archetypes</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-mock/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-mock/pom.xml b/nifi/nifi-mock/pom.xml
index 6b110bf..ebbffc6 100644
--- a/nifi/nifi-mock/pom.xml
+++ b/nifi/nifi-mock/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <artifactId>nifi-mock</artifactId>
     <dependencies>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-aws-bundle/nifi-aws-nar/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-aws-bundle/nifi-aws-nar/pom.xml b/nifi/nifi-nar-bundles/nifi-aws-bundle/nifi-aws-nar/pom.xml
index 5e262f2..14b2160 100644
--- a/nifi/nifi-nar-bundles/nifi-aws-bundle/nifi-aws-nar/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-aws-bundle/nifi-aws-nar/pom.xml
@@ -19,7 +19,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-aws-bundle</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
 
     <artifactId>nifi-aws-nar</artifactId>
@@ -29,7 +29,7 @@
         <dependency>
             <groupId>org.apache.nifi</groupId>
             <artifactId>nifi-aws-processors</artifactId>
-            <version>0.2.0-incubating</version>
+            <version>0.2.1-incubating-SNAPSHOT</version>
         </dependency>
     </dependencies>
 

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-aws-bundle/nifi-aws-processors/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-aws-bundle/nifi-aws-processors/pom.xml b/nifi/nifi-nar-bundles/nifi-aws-bundle/nifi-aws-processors/pom.xml
index b1c7dcf..e48f287 100644
--- a/nifi/nifi-nar-bundles/nifi-aws-bundle/nifi-aws-processors/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-aws-bundle/nifi-aws-processors/pom.xml
@@ -19,7 +19,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-aws-bundle</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
 
     <artifactId>nifi-aws-processors</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-aws-bundle/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-aws-bundle/pom.xml b/nifi/nifi-nar-bundles/nifi-aws-bundle/pom.xml
index 4ac88c2..16a64d6 100644
--- a/nifi/nifi-nar-bundles/nifi-aws-bundle/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-aws-bundle/pom.xml
@@ -19,7 +19,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-nar-bundles</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
 
     <artifactId>nifi-aws-bundle</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework-nar/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework-nar/pom.xml b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework-nar/pom.xml
index 880799f..9d89488 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework-nar/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework-nar/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-framework-bundle</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <artifactId>nifi-framework-nar</artifactId>
     <packaging>nar</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-administration/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-administration/pom.xml b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-administration/pom.xml
index 8156ec2..c919e4d 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-administration/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-administration/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-framework</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <artifactId>nifi-administration</artifactId>
     <build>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-client-dto/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-client-dto/pom.xml b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-client-dto/pom.xml
index 3358af1..789a11f 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-client-dto/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-client-dto/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-framework</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <artifactId>nifi-client-dto</artifactId>
     <dependencies>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-cluster-authorization-provider/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-cluster-authorization-provider/pom.xml b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-cluster-authorization-provider/pom.xml
index 1981810..31f1fb0 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-cluster-authorization-provider/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-cluster-authorization-provider/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-framework</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <artifactId>nifi-cluster-authorization-provider</artifactId>
     <dependencies>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/pom.xml b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/pom.xml
index 65530b3..0e2dc13 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/pom.xml
@@ -14,7 +14,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-framework</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <artifactId>nifi-documentation</artifactId>
     <dependencies>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-file-authorization-provider/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-file-authorization-provider/pom.xml b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-file-authorization-provider/pom.xml
index 45f1969..7f2a6b4 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-file-authorization-provider/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-file-authorization-provider/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-framework</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <artifactId>nifi-file-authorization-provider</artifactId>
     <build>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-cluster-protocol/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-cluster-protocol/pom.xml b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-cluster-protocol/pom.xml
index 20a64e7..37042ce 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-cluster-protocol/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-cluster-protocol/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-framework</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <artifactId>nifi-framework-cluster-protocol</artifactId>
     <packaging>jar</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-cluster-web/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-cluster-web/pom.xml b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-cluster-web/pom.xml
index c892a0c..31c96c9 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-cluster-web/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-cluster-web/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-framework</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <artifactId>nifi-framework-cluster-web</artifactId>
     <packaging>jar</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-cluster/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-cluster/pom.xml b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-cluster/pom.xml
index d4acd34..9ae1a9b 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-cluster/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-cluster/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-framework</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <artifactId>nifi-framework-cluster</artifactId>
     <packaging>jar</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core-api/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core-api/pom.xml b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core-api/pom.xml
index 18997ae..5f9cca1 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core-api/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core-api/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-framework</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <artifactId>nifi-framework-core-api</artifactId>
     <dependencies>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/pom.xml b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/pom.xml
index 68cd8cb..fbb22b3 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-framework</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <artifactId>nifi-framework-core</artifactId>
     <packaging>jar</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-nar-utils/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-nar-utils/pom.xml b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-nar-utils/pom.xml
index fa0eb16..58857d8 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-nar-utils/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-nar-utils/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-framework</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <artifactId>nifi-nar-utils</artifactId>
     <packaging>jar</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-resources/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-resources/pom.xml b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-resources/pom.xml
index 3699616..2ba22c7 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-resources/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-resources/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-framework</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <artifactId>nifi-resources</artifactId>
     <packaging>pom</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-runtime/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-runtime/pom.xml b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-runtime/pom.xml
index 43c3bad..2235718 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-runtime/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-runtime/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-framework</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <artifactId>nifi-runtime</artifactId>
     <packaging>jar</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-security/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-security/pom.xml b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-security/pom.xml
index 7e41b5f..b83a48a 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-security/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-security/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-framework</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <artifactId>nifi-security</artifactId>
     <description>Contains security functionality common to NiFi.</description>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-site-to-site/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-site-to-site/pom.xml b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-site-to-site/pom.xml
index 873bccb..d46c4af 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-site-to-site/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-site-to-site/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-framework</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <artifactId>nifi-site-to-site</artifactId>
     <dependencies>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-user-actions/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-user-actions/pom.xml b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-user-actions/pom.xml
index 846c989..b1988bc 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-user-actions/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-user-actions/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-framework</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <artifactId>nifi-user-actions</artifactId>
 </project>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-custom-ui-utilities/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-custom-ui-utilities/pom.xml b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-custom-ui-utilities/pom.xml
index c5a723d..3e36d27 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-custom-ui-utilities/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-custom-ui-utilities/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-web</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <artifactId>nifi-custom-ui-utilities</artifactId>
     <dependencies>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-jetty/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-jetty/pom.xml b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-jetty/pom.xml
index 733d362..9284269 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-jetty/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-jetty/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-web</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <artifactId>nifi-jetty</artifactId>
     <packaging>jar</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-ui-extension/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-ui-extension/pom.xml b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-ui-extension/pom.xml
index c79ce86..fb7d1e6 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-ui-extension/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-ui-extension/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-web</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <artifactId>nifi-ui-extension</artifactId>
     <packaging>jar</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/pom.xml b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/pom.xml
index fb2003a..0e6eeb6 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-web</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <groupId>org.apache.nifi</groupId>
     <artifactId>nifi-web-api</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-content-access/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-content-access/pom.xml b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-content-access/pom.xml
index 2142866..2acf514 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-content-access/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-content-access/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-web</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <groupId>org.apache.nifi</groupId>
     <artifactId>nifi-web-content-access</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-content-viewer/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-content-viewer/pom.xml b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-content-viewer/pom.xml
index 0802c13..a251985 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-content-viewer/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-content-viewer/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-web</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <groupId>org.apache.nifi</groupId>
     <artifactId>nifi-web-content-viewer</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-docs/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-docs/pom.xml b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-docs/pom.xml
index 266d55d..a11af56 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-docs/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-docs/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-web</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <groupId>org.apache.nifi</groupId>
     <artifactId>nifi-web-docs</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-error/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-error/pom.xml b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-error/pom.xml
index 55c5dfd..198d76c 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-error/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-error/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-web</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <groupId>org.apache.nifi</groupId>
     <artifactId>nifi-web-error</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-optimistic-locking/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-optimistic-locking/pom.xml b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-optimistic-locking/pom.xml
index d880a46..d5f2299 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-optimistic-locking/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-optimistic-locking/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-web</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <groupId>org.apache.nifi</groupId>
     <artifactId>nifi-web-optimistic-locking</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-security/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-security/pom.xml b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-security/pom.xml
index 01a4404..7bcaddb 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-security/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-security/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-web</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <groupId>org.apache.nifi</groupId>
     <artifactId>nifi-web-security</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/pom.xml b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/pom.xml
index 8a617fc..15b623c 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-web</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <artifactId>nifi-web-ui</artifactId>
     <packaging>war</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/pom.xml b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/pom.xml
index 27b451d..2f332ed 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-framework</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <artifactId>nifi-web</artifactId>
     <packaging>pom</packaging>
@@ -40,31 +40,31 @@
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-web-api</artifactId>
                 <type>war</type>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-web-error</artifactId>
                 <type>war</type>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-web-docs</artifactId>
                 <type>war</type>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-web-content-viewer</artifactId>
                 <type>war</type>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-web-ui</artifactId>
                 <type>war</type>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
             </dependency>
         </dependencies>
     </dependencyManagement>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/pom.xml b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/pom.xml
index f16629c..344a583 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-framework-bundle</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <artifactId>nifi-framework</artifactId>
     <packaging>pom</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-framework-bundle/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/pom.xml b/nifi/nifi-nar-bundles/nifi-framework-bundle/pom.xml
index 55987f3..afaac0a 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-nar-bundles</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <artifactId>nifi-framework-bundle</artifactId>
     <packaging>pom</packaging>
@@ -31,92 +31,92 @@
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-framework-cluster-protocol</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-framework-cluster-web</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-file-authorization-provider</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-cluster-authorization-provider</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-framework-cluster</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-runtime</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-client-dto</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-web-content-access</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-security</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-framework-core-api</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-site-to-site</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-framework-core</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-user-actions</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-administration</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-jetty</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-web-optimistic-locking</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-web-security</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-documentation</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
             </dependency>
         </dependencies>
     </dependencyManagement>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-geo-bundle/nifi-geo-nar/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-geo-bundle/nifi-geo-nar/pom.xml b/nifi/nifi-nar-bundles/nifi-geo-bundle/nifi-geo-nar/pom.xml
index d049b5f..2aca707 100644
--- a/nifi/nifi-nar-bundles/nifi-geo-bundle/nifi-geo-nar/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-geo-bundle/nifi-geo-nar/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-geo-bundle</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <artifactId>nifi-geo-nar</artifactId>
     <packaging>nar</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-geo-bundle/nifi-geo-processors/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-geo-bundle/nifi-geo-processors/pom.xml b/nifi/nifi-nar-bundles/nifi-geo-bundle/nifi-geo-processors/pom.xml
index bc71bd4..79a343b 100644
--- a/nifi/nifi-nar-bundles/nifi-geo-bundle/nifi-geo-processors/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-geo-bundle/nifi-geo-processors/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-geo-bundle</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <artifactId>nifi-geo-processors</artifactId>
     <dependencies>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-geo-bundle/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-geo-bundle/pom.xml b/nifi/nifi-nar-bundles/nifi-geo-bundle/pom.xml
index 5918c64..fab6a98 100644
--- a/nifi/nifi-nar-bundles/nifi-geo-bundle/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-geo-bundle/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-nar-bundles</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
 
     <artifactId>nifi-geo-bundle</artifactId>
@@ -35,7 +35,7 @@
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-geo-processors</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
             </dependency>
         </dependencies>
     </dependencyManagement>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-hadoop-bundle/nifi-hadoop-nar/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-hadoop-bundle/nifi-hadoop-nar/pom.xml b/nifi/nifi-nar-bundles/nifi-hadoop-bundle/nifi-hadoop-nar/pom.xml
index 96a133f..dacf00e 100644
--- a/nifi/nifi-nar-bundles/nifi-hadoop-bundle/nifi-hadoop-nar/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-hadoop-bundle/nifi-hadoop-nar/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-hadoop-bundle</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <artifactId>nifi-hadoop-nar</artifactId>
     <packaging>nar</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-hadoop-bundle/nifi-hdfs-processors/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-hadoop-bundle/nifi-hdfs-processors/pom.xml b/nifi/nifi-nar-bundles/nifi-hadoop-bundle/nifi-hdfs-processors/pom.xml
index 688c4b2..59024b5 100644
--- a/nifi/nifi-nar-bundles/nifi-hadoop-bundle/nifi-hdfs-processors/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-hadoop-bundle/nifi-hdfs-processors/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-hadoop-bundle</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <artifactId>nifi-hdfs-processors</artifactId>
     <packaging>jar</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-hadoop-bundle/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-hadoop-bundle/pom.xml b/nifi/nifi-nar-bundles/nifi-hadoop-bundle/pom.xml
index 9e2bfa7..faed289 100644
--- a/nifi/nifi-nar-bundles/nifi-hadoop-bundle/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-hadoop-bundle/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-nar-bundles</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <artifactId>nifi-hadoop-bundle</artifactId>
     <packaging>pom</packaging>
@@ -31,7 +31,7 @@
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-hdfs-processors</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
             </dependency>
         </dependencies>
     </dependencyManagement>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-hadoop-libraries-bundle/nifi-hadoop-libraries-nar/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-hadoop-libraries-bundle/nifi-hadoop-libraries-nar/pom.xml b/nifi/nifi-nar-bundles/nifi-hadoop-libraries-bundle/nifi-hadoop-libraries-nar/pom.xml
index d7f877d..7cfdd31 100644
--- a/nifi/nifi-nar-bundles/nifi-hadoop-libraries-bundle/nifi-hadoop-libraries-nar/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-hadoop-libraries-bundle/nifi-hadoop-libraries-nar/pom.xml
@@ -13,7 +13,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-hadoop-libraries-bundle</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <artifactId>nifi-hadoop-libraries-nar</artifactId>
     <packaging>nar</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-hadoop-libraries-bundle/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-hadoop-libraries-bundle/pom.xml b/nifi/nifi-nar-bundles/nifi-hadoop-libraries-bundle/pom.xml
index 932b445..4fdb5a1 100644
--- a/nifi/nifi-nar-bundles/nifi-hadoop-libraries-bundle/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-hadoop-libraries-bundle/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-nar-bundles</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <groupId>org.apache.nifi</groupId>
     <artifactId>nifi-hadoop-libraries-bundle</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-hl7-bundle/nifi-hl7-nar/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-hl7-bundle/nifi-hl7-nar/pom.xml b/nifi/nifi-nar-bundles/nifi-hl7-bundle/nifi-hl7-nar/pom.xml
index 3bf405b..247892b 100644
--- a/nifi/nifi-nar-bundles/nifi-hl7-bundle/nifi-hl7-nar/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-hl7-bundle/nifi-hl7-nar/pom.xml
@@ -19,7 +19,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-hl7-bundle</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
 
     <artifactId>nifi-hl7-nar</artifactId>
@@ -29,7 +29,7 @@
         <dependency>
             <groupId>org.apache.nifi</groupId>
             <artifactId>nifi-hl7-processors</artifactId>
-            <version>0.2.0-incubating</version>
+            <version>0.2.1-incubating-SNAPSHOT</version>
         </dependency>
     </dependencies>
 

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-hl7-bundle/nifi-hl7-processors/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-hl7-bundle/nifi-hl7-processors/pom.xml b/nifi/nifi-nar-bundles/nifi-hl7-bundle/nifi-hl7-processors/pom.xml
index 575e3b4..0aea73b 100644
--- a/nifi/nifi-nar-bundles/nifi-hl7-bundle/nifi-hl7-processors/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-hl7-bundle/nifi-hl7-processors/pom.xml
@@ -19,7 +19,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-hl7-bundle</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
 
     <artifactId>nifi-hl7-processors</artifactId>
@@ -52,7 +52,7 @@
         <dependency>
             <groupId>org.apache.nifi</groupId>
             <artifactId>nifi-hl7-query-language</artifactId>
-            <version>0.2.0-incubating</version>
+            <version>0.2.1-incubating-SNAPSHOT</version>
         </dependency>
         
         <dependency>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-hl7-bundle/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-hl7-bundle/pom.xml b/nifi/nifi-nar-bundles/nifi-hl7-bundle/pom.xml
index 00f5f20..9cfc703 100644
--- a/nifi/nifi-nar-bundles/nifi-hl7-bundle/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-hl7-bundle/pom.xml
@@ -19,7 +19,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-nar-bundles</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
 
     <artifactId>nifi-hl7-bundle</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-jetty-bundle/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-jetty-bundle/pom.xml b/nifi/nifi-nar-bundles/nifi-jetty-bundle/pom.xml
index e9cc8b0..f2dd798 100644
--- a/nifi/nifi-nar-bundles/nifi-jetty-bundle/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-jetty-bundle/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-nar-bundles</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <artifactId>nifi-jetty-bundle</artifactId>
     <packaging>nar</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-kafka-bundle/nifi-kafka-nar/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-kafka-bundle/nifi-kafka-nar/pom.xml b/nifi/nifi-nar-bundles/nifi-kafka-bundle/nifi-kafka-nar/pom.xml
index 48a5ef4..597e291 100644
--- a/nifi/nifi-nar-bundles/nifi-kafka-bundle/nifi-kafka-nar/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-kafka-bundle/nifi-kafka-nar/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-kafka-bundle</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <artifactId>nifi-kafka-nar</artifactId>
     <packaging>nar</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-kafka-bundle/nifi-kafka-processors/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-kafka-bundle/nifi-kafka-processors/pom.xml b/nifi/nifi-nar-bundles/nifi-kafka-bundle/nifi-kafka-processors/pom.xml
index 1ca4ef9..64502bd 100644
--- a/nifi/nifi-nar-bundles/nifi-kafka-bundle/nifi-kafka-processors/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-kafka-bundle/nifi-kafka-processors/pom.xml
@@ -16,7 +16,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-kafka-bundle</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <artifactId>nifi-kafka-processors</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-kafka-bundle/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-kafka-bundle/pom.xml b/nifi/nifi-nar-bundles/nifi-kafka-bundle/pom.xml
index 6e3da78..a306b1b 100644
--- a/nifi/nifi-nar-bundles/nifi-kafka-bundle/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-kafka-bundle/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-nar-bundles</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <artifactId>nifi-kafka-bundle</artifactId>
     <packaging>pom</packaging>
@@ -30,7 +30,7 @@
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-kafka-processors</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
             </dependency>
         </dependencies>
     </dependencyManagement> 

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-kite-bundle/nifi-kite-nar/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-kite-bundle/nifi-kite-nar/pom.xml b/nifi/nifi-nar-bundles/nifi-kite-bundle/nifi-kite-nar/pom.xml
index eb6a55c..220d56b 100644
--- a/nifi/nifi-nar-bundles/nifi-kite-bundle/nifi-kite-nar/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-kite-bundle/nifi-kite-nar/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-kite-bundle</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
 
     <artifactId>nifi-kite-nar</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-kite-bundle/nifi-kite-processors/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-kite-bundle/nifi-kite-processors/pom.xml b/nifi/nifi-nar-bundles/nifi-kite-bundle/nifi-kite-processors/pom.xml
index 546724b..6fd707c 100644
--- a/nifi/nifi-nar-bundles/nifi-kite-bundle/nifi-kite-processors/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-kite-bundle/nifi-kite-processors/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-kite-bundle</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
 
     <artifactId>nifi-kite-processors</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-kite-bundle/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-kite-bundle/pom.xml b/nifi/nifi-nar-bundles/nifi-kite-bundle/pom.xml
index e64479d..f945687 100644
--- a/nifi/nifi-nar-bundles/nifi-kite-bundle/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-kite-bundle/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-nar-bundles</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
 
     <artifactId>nifi-kite-bundle</artifactId>
@@ -36,7 +36,7 @@
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-kite-processors</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
             </dependency>
         </dependencies>
     </dependencyManagement>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-language-translation-bundle/nifi-language-translation-nar/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-language-translation-bundle/nifi-language-translation-nar/pom.xml b/nifi/nifi-nar-bundles/nifi-language-translation-bundle/nifi-language-translation-nar/pom.xml
index 804d5c4..8c322c1 100644
--- a/nifi/nifi-nar-bundles/nifi-language-translation-bundle/nifi-language-translation-nar/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-language-translation-bundle/nifi-language-translation-nar/pom.xml
@@ -19,7 +19,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-language-translation-bundle</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
 
     <artifactId>nifi-language-translation-nar</artifactId>
@@ -29,7 +29,7 @@
         <dependency>
             <groupId>org.apache.nifi</groupId>
             <artifactId>nifi-yandex-processors</artifactId>
-            <version>0.2.0-incubating</version>
+            <version>0.2.1-incubating-SNAPSHOT</version>
         </dependency>
     </dependencies>
 

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-language-translation-bundle/nifi-yandex-processors/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-language-translation-bundle/nifi-yandex-processors/pom.xml b/nifi/nifi-nar-bundles/nifi-language-translation-bundle/nifi-yandex-processors/pom.xml
index 790bf4c..a0f2d36 100644
--- a/nifi/nifi-nar-bundles/nifi-language-translation-bundle/nifi-yandex-processors/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-language-translation-bundle/nifi-yandex-processors/pom.xml
@@ -19,7 +19,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-language-translation-bundle</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
 
     <artifactId>nifi-yandex-processors</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-language-translation-bundle/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-language-translation-bundle/pom.xml b/nifi/nifi-nar-bundles/nifi-language-translation-bundle/pom.xml
index 8db2604..9008e9a 100644
--- a/nifi/nifi-nar-bundles/nifi-language-translation-bundle/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-language-translation-bundle/pom.xml
@@ -19,7 +19,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-nar-bundles</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
 
     <artifactId>nifi-language-translation-bundle</artifactId>



[32/50] [abbrv] incubator-nifi git commit: NIFI-749: Ignore line endings in unit test

Posted by mc...@apache.org.
NIFI-749: Ignore line endings in unit test


Project: http://git-wip-us.apache.org/repos/asf/incubator-nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-nifi/commit/74b48009
Tree: http://git-wip-us.apache.org/repos/asf/incubator-nifi/tree/74b48009
Diff: http://git-wip-us.apache.org/repos/asf/incubator-nifi/diff/74b48009

Branch: refs/heads/master
Commit: 74b48009376e950bfa455be31e15f13cde7d27b9
Parents: 136974a
Author: Mark Payne <ma...@hotmail.com>
Authored: Fri Jul 3 10:07:19 2015 -0400
Committer: Mark Payne <ma...@hotmail.com>
Committed: Fri Jul 3 12:45:33 2015 -0400

----------------------------------------------------------------------
 .../processors/standard/TestInvokeHTTP.java     | 44 ++++++++++----------
 1 file changed, 22 insertions(+), 22 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/74b48009/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestInvokeHTTP.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestInvokeHTTP.java b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestInvokeHTTP.java
index cb8fe63..acff14b 100644
--- a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestInvokeHTTP.java
+++ b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestInvokeHTTP.java
@@ -45,7 +45,9 @@ import org.junit.Assert;
 
 import static org.apache.commons.codec.binary.Base64.encodeBase64;
 import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
+
 import org.junit.Before;
 import org.junit.BeforeClass;
 import org.junit.Test;
@@ -103,7 +105,7 @@ public class TestInvokeHTTP {
 
     @Test
     public void testDateGeneration() throws Exception {
-        DateHandler dh = new DateHandler();
+        final DateHandler dh = new DateHandler();
         addHandler(dh);
 
         runner.setProperty(Config.PROP_URL, url);
@@ -112,8 +114,8 @@ public class TestInvokeHTTP {
 
         // extract the date string sent to the server
         // and store it as a java.util.Date
-        SimpleDateFormat sdf = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss z", Locale.US);
-        Date date = sdf.parse(dh.dateString);
+        final SimpleDateFormat sdf = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss z", Locale.US);
+        final Date date = sdf.parse(dh.dateString);
 
         // calculate the difference between the date string sent by the client and
         // the current system time -- these should be within a second or two
@@ -121,8 +123,8 @@ public class TestInvokeHTTP {
         //
         // If the difference is more like in hours, it's likely that a timezone
         // conversion caused a problem.
-        long diff = Math.abs(System.currentTimeMillis() - date.getTime());
-        long threshold = 15000; // 15 seconds
+        final long diff = Math.abs(System.currentTimeMillis() - date.getTime());
+        final long threshold = 15000; // 15 seconds
         if (diff > threshold) {
             fail("Difference (" + diff + ") was greater than threshold (" + threshold + ")");
         }
@@ -175,14 +177,14 @@ public class TestInvokeHTTP {
     public void test200auth() throws Exception {
         addHandler(new BasicAuthHandler());
 
-        String username = "basic_user";
-        String password = "basic_password";
+        final String username = "basic_user";
+        final String password = "basic_password";
 
         runner.setProperty(Config.PROP_URL, url + "/status/200");
         runner.setProperty(Config.PROP_BASIC_AUTH_USERNAME, username);
         runner.setProperty(Config.PROP_BASIC_AUTH_PASSWORD, password);
-        byte[] creds = String.format("%s:%s", username, password).getBytes(StandardCharsets.UTF_8);
-        final String expAuth = String.format("Basic %s\n", new String(encodeBase64(creds)));
+        final byte[] creds = String.format("%s:%s", username, password).getBytes(StandardCharsets.UTF_8);
+        final String expAuth = String.format("Basic %s", new String(encodeBase64(creds)));
 
         createFlowFiles(runner);
 
@@ -209,22 +211,20 @@ public class TestInvokeHTTP {
         //server response message body into payload of ff
         //should not contain any original ff attributes
         final MockFlowFile bundle1 = runner.getFlowFilesForRelationship(Config.REL_SUCCESS_RESP).get(0);
-        bundle1.assertContentEquals(expAuth.getBytes("UTF-8"));
+        final String bundle1Content = new String(bundle1.toByteArray(), StandardCharsets.UTF_8);
+        assertTrue(bundle1Content.startsWith(expAuth)); // use startsWith instead of equals so we can ignore line endings
         bundle1.assertAttributeEquals(Config.STATUS_CODE, "200");
         bundle1.assertAttributeEquals(Config.STATUS_MESSAGE, "OK");
         bundle1.assertAttributeEquals("Foo", "Bar");
         bundle1.assertAttributeEquals("Content-Type", "text/plain; charset=ISO-8859-1");
-        final String actual1 = new String(bundle1.toByteArray(), StandardCharsets.UTF_8);
-        Assert.assertEquals(expAuth, actual1);
-
     }
 
     @Test
     public void test401notauth() throws Exception {
         addHandler(new BasicAuthHandler());
 
-        String username = "basic_user";
-        String password = "basic_password";
+        final String username = "basic_user";
+        final String password = "basic_password";
 
         runner.setProperty(Config.PROP_URL, url + "/status/401");
         runner.setProperty(Config.PROP_BASIC_AUTH_USERNAME, username);
@@ -250,7 +250,7 @@ public class TestInvokeHTTP {
         final String expected = "Hello";
         Assert.assertEquals(expected, actual);
 
-        String response = bundle.getAttribute(Config.RESPONSE_BODY);
+        final String response = bundle.getAttribute(Config.RESPONSE_BODY);
         assertEquals(response, "Get off my lawn!");
     }
 
@@ -505,7 +505,7 @@ public class TestInvokeHTTP {
         addHandler(new GetOrHeadHandler());
 
         // this is the bad urls
-        String badurlport = "https://localhost:" + 445;
+        final String badurlport = "https://localhost:" + 445;
 
         runner.setProperty(Config.PROP_URL, badurlport + "/doesnotExist");
         createFlowFiles(runner);
@@ -529,7 +529,7 @@ public class TestInvokeHTTP {
     public void testConnectFailBadHost() throws Exception {
         addHandler(new GetOrHeadHandler());
 
-        String badurlhost = "https://localhOOst:" + 445;
+        final String badurlhost = "https://localhOOst:" + 445;
 
         runner.setProperty(Config.PROP_URL, badurlhost + "/doesnotExist");
         createFlowFiles(runner);
@@ -550,7 +550,7 @@ public class TestInvokeHTTP {
     }
 
     private static Map<String, String> createSslProperties() {
-        Map<String, String> map = new HashMap<>();
+        final Map<String, String> map = new HashMap<>();
         map.put(StandardSSLContextService.KEYSTORE.getName(), "src/test/resources/localhost-ks.jks");
         map.put(StandardSSLContextService.KEYSTORE_PASSWORD.getName(), "localtest");
         map.put(StandardSSLContextService.KEYSTORE_TYPE.getName(), "JKS");
@@ -583,7 +583,7 @@ public class TestInvokeHTTP {
 
             assertEquals("/post", target);
 
-            String body = request.getReader().readLine();
+            final String body = request.getReader().readLine();
             assertEquals("Hello", body);
 
         }
@@ -595,7 +595,7 @@ public class TestInvokeHTTP {
         public void handle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
             baseRequest.setHandled(true);
 
-            int status = Integer.valueOf(target.substring("/status".length() + 1));
+            final int status = Integer.valueOf(target.substring("/status".length() + 1));
             response.setStatus(status);
 
             response.setContentType("text/plain");
@@ -638,7 +638,7 @@ public class TestInvokeHTTP {
 
             authString = request.getHeader("Authorization");
 
-            int status = Integer.valueOf(target.substring("/status".length() + 1));
+            final int status = Integer.valueOf(target.substring("/status".length() + 1));
 
             if (status == 200) {
                 response.setStatus(status);


[15/50] [abbrv] incubator-nifi git commit: Merge branch 'develop' into NIFI-735

Posted by mc...@apache.org.
Merge branch 'develop' into NIFI-735


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

Branch: refs/heads/master
Commit: 93546760be2223f40215a0aeb9614dbb9bdb148f
Parents: bd9782c 4dc2ea6
Author: danbress <db...@onyxconsults.com>
Authored: Sun Jun 28 16:03:32 2015 -0400
Committer: danbress <db...@onyxconsults.com>
Committed: Sun Jun 28 16:03:32 2015 -0400

----------------------------------------------------------------------
 nifi/nifi-docs/src/main/asciidoc/developer-guide.adoc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------



[11/50] [abbrv] incubator-nifi git commit: NIFI-632 removed logs dir that showed up - root issue still unknown

Posted by mc...@apache.org.
NIFI-632 removed logs dir that showed up - root issue still unknown


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

Branch: refs/heads/master
Commit: e35f348b831f5a27960d0d2dec4787860941fe29
Parents: 8f36ba1
Author: joewitt <jo...@apache.org>
Authored: Sat Jun 27 13:55:33 2015 -0400
Committer: joewitt <jo...@apache.org>
Committed: Sat Jun 27 13:55:33 2015 -0400

----------------------------------------------------------------------
 nifi/logs/nifi-app.log       | 0
 nifi/logs/nifi-bootstrap.log | 6 ------
 nifi/logs/nifi-user.log      | 0
 3 files changed, 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e35f348b/nifi/logs/nifi-app.log
----------------------------------------------------------------------
diff --git a/nifi/logs/nifi-app.log b/nifi/logs/nifi-app.log
deleted file mode 100644
index e69de29..0000000

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e35f348b/nifi/logs/nifi-bootstrap.log
----------------------------------------------------------------------
diff --git a/nifi/logs/nifi-bootstrap.log b/nifi/logs/nifi-bootstrap.log
deleted file mode 100644
index 3d2aba2..0000000
--- a/nifi/logs/nifi-bootstrap.log
+++ /dev/null
@@ -1,6 +0,0 @@
-2015-06-27 13:43:15,941 INFO [main] org.apache.nifi.bootstrap.Command Starting Apache NiFi...
-2015-06-27 13:43:15,944 INFO [main] org.apache.nifi.bootstrap.Command Working Directory: /development/git-repo/nifi/nifi-assembly/target/nifi-0.2.0-incubating-SNAPSHOT-bin/nifi-0.2.0-incubating-SNAPSHOT
-2015-06-27 13:43:15,945 INFO [main] org.apache.nifi.bootstrap.Command Command: /usr/java/latest/bin/java -classpath /development/git-repo/nifi/nifi-assembly/target/nifi-0.2.0-incubating-SNAPSHOT-bin/nifi-0.2.0-incubating-SNAPSHOT/./conf:/development/git-repo/nifi/nifi-assembly/target/nifi-0.2.0-incubating-SNAPSHOT-bin/nifi-0.2.0-incubating-SNAPSHOT/./lib/nifi-runtime-0.2.0-incubating-SNAPSHOT.jar:/development/git-repo/nifi/nifi-assembly/target/nifi-0.2.0-incubating-SNAPSHOT-bin/nifi-0.2.0-incubating-SNAPSHOT/./lib/logback-core-1.1.3.jar:/development/git-repo/nifi/nifi-assembly/target/nifi-0.2.0-incubating-SNAPSHOT-bin/nifi-0.2.0-incubating-SNAPSHOT/./lib/slf4j-api-1.7.12.jar:/development/git-repo/nifi/nifi-assembly/target/nifi-0.2.0-incubating-SNAPSHOT-bin/nifi-0.2.0-incubating-SNAPSHOT/./lib/nifi-api-0.2.0-incubating-SNAPSHOT.jar:/development/git-repo/nifi/nifi-assembly/target/nifi-0.2.0-incubating-SNAPSHOT-bin/nifi-0.2.0-incubating-SNAPSHOT/./lib/nifi-properties-0.2.0-incubating-S
 NAPSHOT.jar:/development/git-repo/nifi/nifi-assembly/target/nifi-0.2.0-incubating-SNAPSHOT-bin/nifi-0.2.0-incubating-SNAPSHOT/./lib/log4j-over-slf4j-1.7.12.jar:/development/git-repo/nifi/nifi-assembly/target/nifi-0.2.0-incubating-SNAPSHOT-bin/nifi-0.2.0-incubating-SNAPSHOT/./lib/jul-to-slf4j-1.7.12.jar:/development/git-repo/nifi/nifi-assembly/target/nifi-0.2.0-incubating-SNAPSHOT-bin/nifi-0.2.0-incubating-SNAPSHOT/./lib/nifi-documentation-0.2.0-incubating-SNAPSHOT.jar:/development/git-repo/nifi/nifi-assembly/target/nifi-0.2.0-incubating-SNAPSHOT-bin/nifi-0.2.0-incubating-SNAPSHOT/./lib/jcl-over-slf4j-1.7.12.jar:/development/git-repo/nifi/nifi-assembly/target/nifi-0.2.0-incubating-SNAPSHOT-bin/nifi-0.2.0-incubating-SNAPSHOT/./lib/logback-classic-1.1.3.jar:/development/git-repo/nifi/nifi-assembly/target/nifi-0.2.0-incubating-SNAPSHOT-bin/nifi-0.2.0-incubating-SNAPSHOT/./lib/nifi-nar-utils-0.2.0-incubating-SNAPSHOT.jar -Djava.net.preferIPv4Stack=true -Dsun.net.http.allowRestrictedHeade
 rs=true -Djava.protocol.handler.pkgs=sun.net.www.protocol -Dorg.apache.jasper.compiler.disablejsr199=true -Xmx512m -Xms512m -Dnifi.properties.file.path=/development/git-repo/nifi/nifi-assembly/target/nifi-0.2.0-incubating-SNAPSHOT-bin/nifi-0.2.0-incubating-SNAPSHOT/./conf/nifi.properties -Dnifi.bootstrap.listen.port=59379 -Dapp=NiFi org.apache.nifi.NiFi 
-2015-06-27 13:43:16,332 INFO [NiFi Bootstrap Command Listener] org.apache.nifi.bootstrap.RunNiFi Apache NiFi now running and listening for Bootstrap requests on port 38812
-2015-06-27 13:44:24,728 INFO [main] org.apache.nifi.bootstrap.Command Apache NiFi has accepted the Shutdown Command and is shutting down now
-2015-06-27 13:44:24,758 INFO [main] org.apache.nifi.bootstrap.Command NiFi has finished shutting down.

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e35f348b/nifi/logs/nifi-user.log
----------------------------------------------------------------------
diff --git a/nifi/logs/nifi-user.log b/nifi/logs/nifi-user.log
deleted file mode 100644
index e69de29..0000000


[13/50] [abbrv] incubator-nifi git commit: NIFI-737: Typo in developer guide 'lot message'

Posted by mc...@apache.org.
NIFI-737: Typo in developer guide 'lot message'


Project: http://git-wip-us.apache.org/repos/asf/incubator-nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-nifi/commit/846d2f44
Tree: http://git-wip-us.apache.org/repos/asf/incubator-nifi/tree/846d2f44
Diff: http://git-wip-us.apache.org/repos/asf/incubator-nifi/diff/846d2f44

Branch: refs/heads/master
Commit: 846d2f4472edd0795f1647686821576669ee1cb3
Parents: e35f348
Author: danbress <db...@onyxconsults.com>
Authored: Sat Jun 27 15:13:03 2015 -0400
Committer: danbress <db...@onyxconsults.com>
Committed: Sat Jun 27 15:13:03 2015 -0400

----------------------------------------------------------------------
 nifi/nifi-docs/src/main/asciidoc/developer-guide.adoc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/846d2f44/nifi/nifi-docs/src/main/asciidoc/developer-guide.adoc
----------------------------------------------------------------------
diff --git a/nifi/nifi-docs/src/main/asciidoc/developer-guide.adoc b/nifi/nifi-docs/src/main/asciidoc/developer-guide.adoc
index 35a4eb8..b372562 100644
--- a/nifi/nifi-docs/src/main/asciidoc/developer-guide.adoc
+++ b/nifi/nifi-docs/src/main/asciidoc/developer-guide.adoc
@@ -485,7 +485,7 @@ Methods with this annotation will be called when a Processor or
 ReportingTask is no longer scheduled to run
 and all threads have returned from the `onTrigger` method. If such a
 method throws an Exception,
-a lot message will be generated, and the Exception will otherwise be
+a log message will be generated, and the Exception will otherwise be
 ignored; other methods with
 this annotation will still be invoked. Methods with this annotation
 must take zero arguments.


[24/50] [abbrv] incubator-nifi git commit: NIFI-695: - Providing immediate feedback when canceling a request to [en|dis]able a controller service. - Reporting to the user after a request has been canceled.

Posted by mc...@apache.org.
NIFI-695:
- Providing immediate feedback when canceling a request to [en|dis]able a controller service.
- Reporting to the user after a request has been canceled.

Project: http://git-wip-us.apache.org/repos/asf/incubator-nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-nifi/commit/566c4fe8
Tree: http://git-wip-us.apache.org/repos/asf/incubator-nifi/tree/566c4fe8
Diff: http://git-wip-us.apache.org/repos/asf/incubator-nifi/diff/566c4fe8

Branch: refs/heads/master
Commit: 566c4fe8d78b769fc31c8d5bed90daccbc817e27
Parents: c3dff40
Author: Matt Gilman <ma...@gmail.com>
Authored: Thu Jul 2 13:45:14 2015 -0400
Committer: Matt Gilman <ma...@gmail.com>
Committed: Thu Jul 2 13:45:14 2015 -0400

----------------------------------------------------------------------
 .../disable-controller-service-dialog.jsp       |  3 +++
 .../canvas/enable-controller-service-dialog.jsp |  3 +++
 .../src/main/webapp/css/controller-service.css  |  6 +++++
 .../js/nf/canvas/nf-controller-service.js       | 24 ++++++++++++++++++++
 4 files changed, 36 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/566c4fe8/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/canvas/disable-controller-service-dialog.jsp
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/canvas/disable-controller-service-dialog.jsp b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/canvas/disable-controller-service-dialog.jsp
index 1ecb730..0c77a10 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/canvas/disable-controller-service-dialog.jsp
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/canvas/disable-controller-service-dialog.jsp
@@ -70,4 +70,7 @@
             </div>
         </div>
     </div>
+    <div class="controller-service-canceling hidden unset">
+        Canceling...
+    </div>
 </div>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/566c4fe8/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/canvas/enable-controller-service-dialog.jsp
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/canvas/enable-controller-service-dialog.jsp b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/canvas/enable-controller-service-dialog.jsp
index 6613a04..0121e21 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/canvas/enable-controller-service-dialog.jsp
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/canvas/enable-controller-service-dialog.jsp
@@ -69,4 +69,7 @@
             </div>
         </div>
     </div>
+    <div class="controller-service-canceling hidden unset">
+        Canceling...
+    </div>
 </div>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/566c4fe8/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/css/controller-service.css
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/css/controller-service.css b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/css/controller-service.css
index 9d87994..b0d980b 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/css/controller-service.css
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/css/controller-service.css
@@ -161,6 +161,12 @@ div.referencing-component-references {
     clear: left;
 }
 
+div.controller-service-canceling {
+    position: absolute;
+    bottom: 10px;
+    right: 8px;
+}
+
 /*
     Comments
 */

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/566c4fe8/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-controller-service.js
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-controller-service.js b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-controller-service.js
index 078064a..75c7bee 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-controller-service.js
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-controller-service.js
@@ -1032,6 +1032,8 @@ nf.ControllerService = (function () {
             handler: {
                 click: function () {
                     canceled = true;
+                    disableDialog.modal('setButtonModel', []);
+                    $('#disable-controller-service-dialog div.controller-service-canceling').show();
                 }
             }
         }]);
@@ -1053,6 +1055,7 @@ nf.ControllerService = (function () {
         
         // sets the close button on the dialog
         var setCloseButton = function () {
+            $('#disable-controller-service-dialog div.controller-service-canceling').hide();
             disableDialog.modal('setButtonModel', [{
                 buttonText: 'Close',
                 handler: {
@@ -1100,6 +1103,15 @@ nf.ControllerService = (function () {
         }).always(function () {
             reloadControllerServiceAndReferencingComponents(controllerService);
             setCloseButton();
+            
+            // inform the user if the action was canceled
+            if (canceled === true && $('#nf-ok-dialog').not(':visible')) {
+                nf.Dialog.showOkDialog({
+                    overlayBackground: false,
+                    headerText: 'Action Canceled',
+                    dialogContent: 'The request to disable has been canceled. Parts of this request may have already completed. Please verify the state of this service and all referencing components.'
+                });
+            }
         });
     };
     
@@ -1116,6 +1128,8 @@ nf.ControllerService = (function () {
             handler: {
                 click: function () {
                     canceled = true;
+                    enableDialog.modal('setButtonModel', []);
+                    $('#enable-controller-service-dialog div.controller-service-canceling').show();
                 }
             }
         }]);
@@ -1143,6 +1157,7 @@ nf.ControllerService = (function () {
 
         // sets the button to close
         var setCloseButton = function () {
+            $('#enable-controller-service-dialog div.controller-service-canceling').hide();
             enableDialog.modal('setButtonModel', [{
                 buttonText: 'Close',
                 handler: {
@@ -1200,6 +1215,15 @@ nf.ControllerService = (function () {
         }).always(function () {
             reloadControllerServiceAndReferencingComponents(controllerService);
             setCloseButton();
+            
+            // inform the user if the action was canceled
+            if (canceled === true && $('#nf-ok-dialog').not(':visible')) {
+                nf.Dialog.showOkDialog({
+                    overlayBackground: false,
+                    headerText: 'Action Canceled',
+                    dialogContent: 'The request to enable has been canceled. Parts of this request may have already completed. Please verify the state of this service and all referencing components.'
+                });
+            }
         });
     };
     


[41/50] [abbrv] incubator-nifi git commit: NIFI-745: Only call methods with @OnDisabled once, regardless of whether or not they succeed

Posted by mc...@apache.org.
NIFI-745: Only call methods with @OnDisabled once, regardless of whether or not they succeed


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

Branch: refs/heads/master
Commit: 208402472dd99c629afc056f4464b925b8f834ab
Parents: f3b55d4
Author: Mark Payne <ma...@hotmail.com>
Authored: Fri Jul 3 14:35:59 2015 -0400
Committer: Mark Payne <ma...@hotmail.com>
Committed: Fri Jul 3 15:00:31 2015 -0400

----------------------------------------------------------------------
 .../nifi/annotation/lifecycle/OnDisabled.java   | 10 ++---
 .../scheduling/StandardProcessScheduler.java    | 39 +++++++++-----------
 2 files changed, 22 insertions(+), 27 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/20840247/nifi/nifi-api/src/main/java/org/apache/nifi/annotation/lifecycle/OnDisabled.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-api/src/main/java/org/apache/nifi/annotation/lifecycle/OnDisabled.java b/nifi/nifi-api/src/main/java/org/apache/nifi/annotation/lifecycle/OnDisabled.java
index f205bc7..f8ca038 100644
--- a/nifi/nifi-api/src/main/java/org/apache/nifi/annotation/lifecycle/OnDisabled.java
+++ b/nifi/nifi-api/src/main/java/org/apache/nifi/annotation/lifecycle/OnDisabled.java
@@ -36,11 +36,11 @@ import org.apache.nifi.controller.ConfigurationContext;
  * Methods using this annotation are permitted to take zero arguments or to take
  * a single argument of type {@link ConfigurationContext}. If a method with this
  * annotation throws a Throwable, a log message and bulletin will be issued for
- * the service, and the service will remain in a 'DISABLING' state. When this
- * occurs, the method with this annotation will be called again after some
- * period of time. This will continue until the method returns without throwing
- * any Throwable. Until that time, the service will remain in a 'DISABLING'
- * state and cannot be enabled again.
+ * the service, but the service will still be marked as Disabled. The failing
+ * method will not be called again until the service is enabled and disabled again.
+ * This is done in order to prevent a ControllerService from continually failing
+ * in such a way that the service could not be disabled and updated without
+ * restarting the instance of NiFi.
  * </p>
  *
  * <p>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/20840247/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/scheduling/StandardProcessScheduler.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/scheduling/StandardProcessScheduler.java b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/scheduling/StandardProcessScheduler.java
index d976bd0..5ac4a0b 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/scheduling/StandardProcessScheduler.java
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/scheduling/StandardProcessScheduler.java
@@ -685,33 +685,28 @@ public final class StandardProcessScheduler implements ProcessScheduler {
                 try (final NarCloseable x = NarCloseable.withNarLoader()) {
                     final ConfigurationContext configContext = new StandardConfigurationContext(service, controllerServiceProvider, null);
 
-                    while (true) {
-                        try {
-                            ReflectionUtils.invokeMethodsWithAnnotation(OnDisabled.class, service.getControllerServiceImplementation(), configContext);
-                            heartbeater.heartbeat();
-                            service.setState(ControllerServiceState.DISABLED);
-                            return;
-                        } catch (final Exception e) {
-                            final Throwable cause = e instanceof InvocationTargetException ? e.getCause() : e;
-                            final ComponentLog componentLog = new SimpleProcessLogger(service.getIdentifier(), service);
-                            componentLog.error("Failed to invoke @OnDisabled method due to {}", cause);
-
-                            LOG.error("Failed to invoke @OnDisabled method of {} due to {}", service.getControllerServiceImplementation(), cause.toString());
-                            if (LOG.isDebugEnabled()) {
-                                LOG.error("", cause);
-                            }
+                    try {
+                        ReflectionUtils.invokeMethodsWithAnnotation(OnDisabled.class, service.getControllerServiceImplementation(), configContext);
+                    } catch (final Exception e) {
+                        final Throwable cause = e instanceof InvocationTargetException ? e.getCause() : e;
+                        final ComponentLog componentLog = new SimpleProcessLogger(service.getIdentifier(), service);
+                        componentLog.error("Failed to invoke @OnDisabled method due to {}", cause);
 
-                            ReflectionUtils.quietlyInvokeMethodsWithAnnotation(OnDisabled.class, service.getControllerServiceImplementation(), configContext);
-                            try {
-                                Thread.sleep(administrativeYieldMillis);
-                            } catch (final InterruptedException ie) {
-                            }
+                        LOG.error("Failed to invoke @OnDisabled method of {} due to {}", service.getControllerServiceImplementation(), cause.toString());
+                        if (LOG.isDebugEnabled()) {
+                            LOG.error("", cause);
+                        }
 
-                            continue;
+                        ReflectionUtils.quietlyInvokeMethodsWithAnnotation(OnDisabled.class, service.getControllerServiceImplementation(), configContext);
+                        try {
+                            Thread.sleep(administrativeYieldMillis);
+                        } catch (final InterruptedException ie) {
                         }
+                    } finally {
+                        service.setState(ControllerServiceState.DISABLED);
+                        heartbeater.heartbeat();
                     }
                 }
-
             }
         };
 


[42/50] [abbrv] incubator-nifi git commit: NIFI-750 adding a way to specify attribute names when constructing the spout

Posted by mc...@apache.org.
NIFI-750 adding a way to specify attribute names when constructing the spout


Project: http://git-wip-us.apache.org/repos/asf/incubator-nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-nifi/commit/0d2842e4
Tree: http://git-wip-us.apache.org/repos/asf/incubator-nifi/tree/0d2842e4
Diff: http://git-wip-us.apache.org/repos/asf/incubator-nifi/diff/0d2842e4

Branch: refs/heads/master
Commit: 0d2842e4f9df2c1734c409d80511601765d8dc1b
Parents: 2084024
Author: Bryan Bende <bb...@apache.org>
Authored: Sat Jul 4 12:38:33 2015 -0400
Committer: Bryan Bende <bb...@apache.org>
Committed: Sat Jul 4 12:38:33 2015 -0400

----------------------------------------------------------------------
 nifi/nifi-external/nifi-storm-spout/pom.xml     |  2 +-
 .../java/org/apache/nifi/storm/NiFiSpout.java   | 38 ++++++++++++++++++--
 2 files changed, 37 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/0d2842e4/nifi/nifi-external/nifi-storm-spout/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-external/nifi-storm-spout/pom.xml b/nifi/nifi-external/nifi-storm-spout/pom.xml
index c55c698..353dd2d 100644
--- a/nifi/nifi-external/nifi-storm-spout/pom.xml
+++ b/nifi/nifi-external/nifi-storm-spout/pom.xml
@@ -27,7 +27,7 @@
         <dependency>
             <groupId>org.apache.storm</groupId>
             <artifactId>storm-core</artifactId>
-            <version>0.9.4</version>
+            <version>0.9.5</version>
             <scope>provided</scope>
         </dependency>
         <dependency>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/0d2842e4/nifi/nifi-external/nifi-storm-spout/src/main/java/org/apache/nifi/storm/NiFiSpout.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-external/nifi-storm-spout/src/main/java/org/apache/nifi/storm/NiFiSpout.java b/nifi/nifi-external/nifi-storm-spout/src/main/java/org/apache/nifi/storm/NiFiSpout.java
index 5063123..64dac6f 100644
--- a/nifi/nifi-external/nifi-storm-spout/src/main/java/org/apache/nifi/storm/NiFiSpout.java
+++ b/nifi/nifi-external/nifi-storm-spout/src/main/java/org/apache/nifi/storm/NiFiSpout.java
@@ -112,14 +112,35 @@ public class NiFiSpout extends BaseRichSpout {
 
     public static final Logger LOGGER = LoggerFactory.getLogger(NiFiSpout.class);
 
+    public static final String NIFI_DATA_PACKET = "nifiDataPacket";
+
     private NiFiSpoutReceiver spoutReceiver;
     private LinkedBlockingQueue<NiFiDataPacket> queue;
     private SpoutOutputCollector spoutOutputCollector;
 
     private final SiteToSiteClientConfig clientConfig;
+    private final List<String> attributeNames;
 
+    /**
+     * @param clientConfig
+     *              configuration used to build the SiteToSiteClient
+     */
     public NiFiSpout(SiteToSiteClientConfig clientConfig) {
+        this(clientConfig, null);
+    }
+
+    /**
+     *
+     * @param clientConfig
+     *              configuration used to build the SiteToSiteClient
+     * @param attributeNames
+     *              names of FlowFile attributes to be added as values to each tuple, in addition
+     *                  to the nifiDataPacket value on all tuples
+     *
+     */
+    public NiFiSpout(SiteToSiteClientConfig clientConfig, List<String> attributeNames) {
         this.clientConfig = clientConfig;
+        this.attributeNames = (attributeNames == null ? new ArrayList<String>() : attributeNames);
     }
 
     @Override
@@ -139,13 +160,26 @@ public class NiFiSpout extends BaseRichSpout {
         if (data == null) {
             Utils.sleep(50);
         } else {
-            spoutOutputCollector.emit(new Values(data));
+            // always start with the data packet
+            Values values = new Values(data);
+
+            // add additional values based on the specified attribute names
+            for (String attributeName : attributeNames) {
+                if (data.getAttributes().containsKey(attributeName)) {
+                    values.add(data.getAttributes().get(attributeName));
+                }
+            }
+
+            spoutOutputCollector.emit(values);
         }
     }
 
     @Override
     public void declareOutputFields(OutputFieldsDeclarer outputFieldsDeclarer) {
-        outputFieldsDeclarer.declare(new Fields("nifiDataPacket"));
+        final List<String> fieldNames = new ArrayList<>();
+        fieldNames.add(NIFI_DATA_PACKET);
+        fieldNames.addAll(attributeNames);
+        outputFieldsDeclarer.declare(new Fields(fieldNames));
     }
 
     @Override


[34/50] [abbrv] incubator-nifi git commit: newline

Posted by mc...@apache.org.
newline


Project: http://git-wip-us.apache.org/repos/asf/incubator-nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-nifi/commit/05772a07
Tree: http://git-wip-us.apache.org/repos/asf/incubator-nifi/tree/05772a07
Diff: http://git-wip-us.apache.org/repos/asf/incubator-nifi/diff/05772a07

Branch: refs/heads/master
Commit: 05772a07cf9a8c14143d805c9698634326d5024f
Parents: 159615b
Author: Andrew Hulbert <an...@ccri.com>
Authored: Fri Jun 5 23:32:59 2015 -0400
Committer: Mark Payne <ma...@hotmail.com>
Committed: Fri Jul 3 12:48:45 2015 -0400

----------------------------------------------------------------------
 .../main/java/org/apache/nifi/processors/standard/PostHTTP.java    | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/05772a07/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/PostHTTP.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/PostHTTP.java b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/PostHTTP.java
index 31b5698..98056cb 100644
--- a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/PostHTTP.java
+++ b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/PostHTTP.java
@@ -504,7 +504,7 @@ public class PostHTTP extends AbstractProcessor {
                     final int port = context.getProperty(PROXY_PORT).asInteger();
                     clientBuilder.setProxy(new HttpHost(host, port));
                 }
-                
+
                 client = clientBuilder.build();
 
                 // determine whether or not destination accepts flowfile/gzip


[25/50] [abbrv] incubator-nifi git commit: Merge branch 'develop' into NIFI-724

Posted by mc...@apache.org.
Merge branch 'develop' into NIFI-724


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

Branch: refs/heads/master
Commit: eddc071b8efc3c6ca86e373b56f214514b2abd0a
Parents: 566c4fe a091807
Author: Matt Gilman <ma...@gmail.com>
Authored: Thu Jul 2 16:27:05 2015 -0400
Committer: Matt Gilman <ma...@gmail.com>
Committed: Thu Jul 2 16:27:05 2015 -0400

----------------------------------------------------------------------
 .../nifi/controller/ConfigurationContext.java   |  23 ++-
 .../src/main/asciidoc/developer-guide.adoc      |   2 +-
 .../nifi-nifi-example-nar/pom.xml               |  35 ++++
 .../nifi-nifi-example-processors/pom.xml        |  70 +++++++
 .../nifi/processors/WriteResourceToStream.java  | 102 ++++++++++
 .../org.apache.nifi.processor.Processor         |  15 ++
 .../src/main/resources/file.txt                 |   1 +
 .../processors/WriteResourceToStreamTest.java   |  47 +++++
 nifi/nifi-external/nifi-example-bundle/pom.xml  |  42 +++++
 nifi/nifi-external/pom.xml                      |   2 +
 .../nifi/util/MockConfigurationContext.java     |  29 ++-
 .../nifi/util/StandardProcessorTestRunner.java  |   4 +-
 .../nifi-framework/nifi-documentation/pom.xml   |   5 +
 .../apache/nifi/documentation/DocGenerator.java |   5 +-
 .../html/HtmlDocumentationWriter.java           |  75 ++++++--
 .../init/ControllerServiceInitializer.java      |  20 +-
 .../init/ProcessorInitializer.java              |  17 +-
 .../init/ReportingTaskingInitializer.java       |  14 +-
 .../mock/MockConfigurationContext.java          |  48 +++++
 .../documentation/mock/MockProcessContext.java  |  85 +++++++++
 .../documentation/util/ReflectionUtils.java     | 139 ++++++++++++++
 .../nifi/documentation/DocGeneratorTest.java    |  96 ++++++++++
 .../FullyDocumentedControllerService.java       |  63 +++++--
 .../example/FullyDocumentedProcessor.java       |  49 ++++-
 .../example/FullyDocumentedReportingTask.java   |  46 ++++-
 .../html/HtmlDocumentationWriterTest.java       |  33 +++-
 .../html/ProcessorDocumentationWriterTest.java  |  19 +-
 .../src/test/resources/conf/nifi.properties     | 129 +++++++++++++
 .../src/test/resources/lib/example.nar          | Bin 0 -> 721040 bytes
 .../src/test/resources/lib/jetty.nar            | Bin 0 -> 4638519 bytes
 .../test/resources/lib/nifi-framework-nar.nar   | Bin 0 -> 406 bytes
 .../java/org/apache/nifi/nar/NarCloseable.java  |  44 -----
 .../nifi/nar/NarThreadContextClassLoader.java   | 187 -------------------
 .../apache/nifi/controller/FlowController.java  |   2 +-
 .../reporting/AbstractReportingTaskNode.java    |   4 +-
 .../repository/FileSystemRepository.java        |  20 +-
 .../repository/VolatileContentRepository.java   |   8 +-
 .../scheduling/StandardProcessScheduler.java    |  24 +--
 .../service/StandardConfigurationContext.java   |  26 ++-
 .../service/StandardControllerServiceNode.java  |   2 +-
 .../StandardControllerServiceProvider.java      |  10 +-
 ...nifi.controller.repository.ContentRepository |  16 ++
 ...ifi.controller.repository.FlowFileRepository |  16 ++
 ...fi.controller.repository.FlowFileSwapManager |  15 ++
 ...ler.status.history.ComponentStatusRepository |  15 ++
 .../java/org/apache/nifi/nar/NarCloseable.java  |  44 +++++
 .../nifi/nar/NarThreadContextClassLoader.java   | 187 +++++++++++++++++++
 .../nifi-web-ui/src/main/webapp/css/main.css    |   1 +
 .../src/main/webapp/js/nf/canvas/nf-canvas.js   |   2 +-
 .../js/nf/canvas/nf-controller-service.js       |   4 +-
 .../src/main/webapp/js/nf/nf-common.js          |  17 ++
 .../nifi/processors/kite/ConvertCSVToAvro.java  |  76 ++++++--
 .../nifi/processors/kite/ConvertJSONToAvro.java |  95 ++++++----
 .../nifi/processors/kite/FailureTracker.java    |  83 ++++++++
 .../processors/kite/TestCSVToAvroProcessor.java |  96 +++++++++-
 .../kite/TestJSONToAvroProcessor.java           | 101 +++++++++-
 .../nifi/processors/standard/ExtractText.java   |   4 +-
 .../apache/nifi/controller/MonitorMemory.java   |  14 +-
 58 files changed, 1923 insertions(+), 405 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/eddc071b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/FlowController.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/eddc071b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-canvas.js
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/eddc071b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-controller-service.js
----------------------------------------------------------------------


[23/50] [abbrv] incubator-nifi git commit: NIFI-694: - Ensuring bulletins are not lost when updating a reporting task.

Posted by mc...@apache.org.
NIFI-694:
- Ensuring bulletins are not lost when updating a reporting task.

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

Branch: refs/heads/master
Commit: c3dff409024d00208c68323ad1989bd2b93b7c0c
Parents: 4fd1e94
Author: Matt Gilman <ma...@gmail.com>
Authored: Thu Jul 2 10:22:42 2015 -0400
Committer: Matt Gilman <ma...@gmail.com>
Committed: Thu Jul 2 10:22:42 2015 -0400

----------------------------------------------------------------------
 .../src/main/webapp/js/nf/canvas/nf-reporting-task.js           | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/c3dff409/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-reporting-task.js
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-reporting-task.js b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-reporting-task.js
index 998213e..da78e82 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-reporting-task.js
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-reporting-task.js
@@ -177,7 +177,10 @@ nf.ReportingTask = (function () {
         // get the table and update the row accordingly
         var reportingTaskGrid = $('#reporting-tasks-table').data('gridInstance');
         var reportingTaskData = reportingTaskGrid.getData();
-        reportingTaskData.updateItem(reportingTask.id, reportingTask);
+        var currentReportingTask = reportingTaskData.getItemById(reportingTask.id);
+        reportingTaskData.updateItem(reportingTask.id, $.extend({
+            bulletins: currentReportingTask.bulletins
+        }, reportingTask));
     };
     
     /**


[04/50] [abbrv] incubator-nifi git commit: NIFI-728: Allow Mock Framework to use property descriptors from subclasses that are created for unit testing

Posted by mc...@apache.org.
NIFI-728: Allow Mock Framework to use property descriptors from subclasses that are created for unit testing


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

Branch: refs/heads/master
Commit: f58972e566448886cdf984e6c8a34c83674b0705
Parents: 69297a3
Author: Mark Payne <ma...@hotmail.com>
Authored: Thu Jun 25 09:46:16 2015 -0400
Committer: Mark Payne <ma...@hotmail.com>
Committed: Thu Jun 25 09:56:07 2015 -0400

----------------------------------------------------------------------
 .../nifi/util/MockConfigurationContext.java       | 18 +++++++++++++++++-
 .../nifi/util/StandardProcessorTestRunner.java    |  4 ++--
 2 files changed, 19 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/f58972e5/nifi/nifi-mock/src/main/java/org/apache/nifi/util/MockConfigurationContext.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-mock/src/main/java/org/apache/nifi/util/MockConfigurationContext.java b/nifi/nifi-mock/src/main/java/org/apache/nifi/util/MockConfigurationContext.java
index 61af49d..742f03b 100644
--- a/nifi/nifi-mock/src/main/java/org/apache/nifi/util/MockConfigurationContext.java
+++ b/nifi/nifi-mock/src/main/java/org/apache/nifi/util/MockConfigurationContext.java
@@ -22,14 +22,21 @@ import java.util.Map;
 import org.apache.nifi.components.PropertyDescriptor;
 import org.apache.nifi.components.PropertyValue;
 import org.apache.nifi.controller.ConfigurationContext;
+import org.apache.nifi.controller.ControllerService;
 import org.apache.nifi.controller.ControllerServiceLookup;
 
 public class MockConfigurationContext implements ConfigurationContext {
 
     private final Map<PropertyDescriptor, String> properties;
     private final ControllerServiceLookup serviceLookup;
+    private final ControllerService service;
 
     public MockConfigurationContext(final Map<PropertyDescriptor, String> properties, final ControllerServiceLookup serviceLookup) {
+        this(null, properties, serviceLookup);
+    }
+
+    public MockConfigurationContext(final ControllerService service, final Map<PropertyDescriptor, String> properties, final ControllerServiceLookup serviceLookup) {
+        this.service = service;
         this.properties = properties;
         this.serviceLookup = serviceLookup;
     }
@@ -38,7 +45,7 @@ public class MockConfigurationContext implements ConfigurationContext {
     public PropertyValue getProperty(final PropertyDescriptor property) {
         String value = properties.get(property);
         if (value == null) {
-            value = property.getDefaultValue();
+            value = getActualDescriptor(property).getDefaultValue();
         }
         return new MockPropertyValue(value, serviceLookup);
     }
@@ -47,4 +54,13 @@ public class MockConfigurationContext implements ConfigurationContext {
     public Map<PropertyDescriptor, String> getProperties() {
         return new HashMap<>(this.properties);
     }
+
+    private PropertyDescriptor getActualDescriptor(final PropertyDescriptor property) {
+        if (service == null) {
+            return property;
+        }
+
+        final PropertyDescriptor resolved = service.getPropertyDescriptor(property.getName());
+        return resolved == null ? property : resolved;
+    }
 }

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/f58972e5/nifi/nifi-mock/src/main/java/org/apache/nifi/util/StandardProcessorTestRunner.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-mock/src/main/java/org/apache/nifi/util/StandardProcessorTestRunner.java b/nifi/nifi-mock/src/main/java/org/apache/nifi/util/StandardProcessorTestRunner.java
index 8938547..048e2b9 100644
--- a/nifi/nifi-mock/src/main/java/org/apache/nifi/util/StandardProcessorTestRunner.java
+++ b/nifi/nifi-mock/src/main/java/org/apache/nifi/util/StandardProcessorTestRunner.java
@@ -215,7 +215,7 @@ public class StandardProcessorTestRunner implements TestRunner {
             executorService.shutdown();
             try {
                 executorService.awaitTermination(runWait, TimeUnit.MILLISECONDS);
-            } catch (InterruptedException e1) {
+            } catch (final InterruptedException e1) {
             }
 
             int finishedCount = 0;
@@ -609,7 +609,7 @@ public class StandardProcessorTestRunner implements TestRunner {
         }
 
         try {
-            final ConfigurationContext configContext = new MockConfigurationContext(configuration.getProperties(), context);
+            final ConfigurationContext configContext = new MockConfigurationContext(service, configuration.getProperties(), context);
             ReflectionUtils.invokeMethodsWithAnnotation(OnEnabled.class, service, configContext);
         } catch (final InvocationTargetException ite) {
             ite.getCause().printStackTrace();


[07/50] [abbrv] incubator-nifi git commit: NIFI-694: - Showing bulletins for services and referencing components when enabling and disabling.

Posted by mc...@apache.org.
NIFI-694:
- Showing bulletins for services and referencing components when enabling and disabling.

Project: http://git-wip-us.apache.org/repos/asf/incubator-nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-nifi/commit/7a289034
Tree: http://git-wip-us.apache.org/repos/asf/incubator-nifi/tree/7a289034
Diff: http://git-wip-us.apache.org/repos/asf/incubator-nifi/diff/7a289034

Branch: refs/heads/master
Commit: 7a28903402192819accaded9a90adfdfad852776
Parents: 0a7ab1a
Author: Matt Gilman <ma...@gmail.com>
Authored: Thu Jun 25 14:38:47 2015 -0400
Committer: Matt Gilman <ma...@gmail.com>
Committed: Thu Jun 25 14:38:47 2015 -0400

----------------------------------------------------------------------
 .../disable-controller-service-dialog.jsp       |   4 +-
 .../canvas/enable-controller-service-dialog.jsp |   4 +-
 .../src/main/webapp/css/controller-service.css  |  35 +++
 .../js/nf/canvas/nf-controller-service.js       | 222 ++++++++++++++++---
 4 files changed, 230 insertions(+), 35 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/7a289034/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/canvas/disable-controller-service-dialog.jsp
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/canvas/disable-controller-service-dialog.jsp b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/canvas/disable-controller-service-dialog.jsp
index dc76282..1ecb730 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/canvas/disable-controller-service-dialog.jsp
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/canvas/disable-controller-service-dialog.jsp
@@ -22,7 +22,9 @@
                 <div class="setting-name">Service</div>
                 <div class="setting-field">
                     <span id="disable-controller-service-id" class="hidden"></span>
-                    <span id="disable-controller-service-name"></span>
+                    <div id="disable-controller-service-name"></div>
+                    <div id="disable-controller-service-bulletins"></div>
+                    <div class="clear"></div>
                 </div>
             </div>
             <div id="disable-controller-service-scope-container" class="setting">

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/7a289034/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/canvas/enable-controller-service-dialog.jsp
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/canvas/enable-controller-service-dialog.jsp b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/canvas/enable-controller-service-dialog.jsp
index 14fe658..6613a04 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/canvas/enable-controller-service-dialog.jsp
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/canvas/enable-controller-service-dialog.jsp
@@ -22,7 +22,9 @@
                 <div class="setting-name">Service</div>
                 <div class="setting-field">
                     <span id="enable-controller-service-id" class="hidden"></span>
-                    <span id="enable-controller-service-name"></span>
+                    <div id="enable-controller-service-name"></div>
+                    <div id="enable-controller-service-bulletins"></div>
+                    <div class="clear"></div>
                 </div>
             </div>
             <div id="enable-controller-service-scope-container" class="setting">

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/7a289034/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/css/controller-service.css
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/css/controller-service.css b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/css/controller-service.css
index 3d722cd..4a82810 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/css/controller-service.css
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/css/controller-service.css
@@ -124,6 +124,15 @@ div.referencing-component-state {
     margin-top: -2px;
 }
 
+div.referencing-component-bulletins {
+    float: left;
+    margin-left: 5px;
+    width: 12px;
+    height: 12px;
+    background-color: transparent;
+    display: none;
+}
+
 span.service.expansion-button {
     margin-right: 4px;
     margin-top: 2px;
@@ -186,6 +195,19 @@ div.referencing-component-references {
     margin-right: 40px;
 }
 
+#disable-controller-service-name {
+    float: left;
+}
+
+#disable-controller-service-bulletins {
+    float: left;
+    margin-left: 5px;
+    width: 12px;
+    height: 12px;
+    background-color: transparent;
+    display: none;
+}
+
 #disable-controller-service-referencing-components {
     border: 0 solid #CCCCCC;
     padding: 2px;
@@ -222,6 +244,19 @@ div.referencing-component-references {
     margin-right: 40px;
 }
 
+#enable-controller-service-name {
+    float: left;
+}
+
+#enable-controller-service-bulletins {
+    float: left;
+    margin-left: 5px;
+    width: 12px;
+    height: 12px;
+    background-color: transparent;
+    display: none;
+}
+
 #enable-controller-service-scope {
     float: left;
     width: 225px;

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/7a289034/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-controller-service.js
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-controller-service.js b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-controller-service.js
index e8a111d..baa9edc 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-controller-service.js
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-controller-service.js
@@ -241,6 +241,40 @@ nf.ControllerService = (function () {
     };
     
     /**
+     * Updates the specified bulletinIcon with the specified bulletins if necessary.
+     * 
+     * @param {array} bulletins
+     * @param {jQuery} bulletinIcon
+     */
+    var updateBulletins = function (bulletins, bulletinIcon) {
+        var currentBulletins = bulletinIcon.data('bulletins');
+        
+        // update the bulletins if necessary
+        if (nf.Common.doBulletinsDiffer(currentBulletins, bulletins)) {
+            bulletinIcon.data('bulletins', bulletins);
+            
+            // format the new bulletins
+            var formattedBulletins = nf.Common.getFormattedBulletins(bulletins);
+            
+            // if there are bulletins update them
+            if (bulletins.length > 0) {
+                var list = nf.Common.formatUnorderedList(formattedBulletins);
+
+                // update existing tooltip or initialize a new one if appropriate
+                if (bulletinIcon.data('qtip')) {
+                    bulletinIcon.qtip('option', 'content.text', list);
+                } else {
+                    bulletinIcon.addClass('has-bulletins').show().qtip($.extend({
+                        content: list
+                    }, nf.CanvasUtils.config.systemTooltipConfig));
+                }
+            } else if (bulletinIcon.data('qtip')) {
+                bulletinIcon.removeClass('has-bulletins').removeData('bulletins').hide().qtip('api').destroy(true);
+            }
+        }
+    };
+    
+    /**
      * Updates the referencingComponentState using the specified referencingComponent.
      * 
      * @param {jQuery} referencingComponentState
@@ -301,6 +335,23 @@ nf.ControllerService = (function () {
     };
     
     /**
+     * Updates the bulletins for all referencing components.
+     * 
+     * @param {array} bulletins
+     */
+    var updateReferencingComponentBulletins = function(bulletins) {
+        var bulletinsBySource = d3.nest()
+            .key(function(d) { return d.sourceId; })
+            .map(bulletins, d3.map);
+
+        bulletinsBySource.forEach(function(sourceId, sourceBulletins) {
+            $('div.' + sourceId + '-bulletins').each(function() {
+                updateBulletins(sourceBulletins, $(this));
+            });
+        });
+    };
+    
+    /**
      * Adds the specified reference for this controller service.
      * 
      * @param {jQuery} referenceContainer 
@@ -323,10 +374,13 @@ nf.ControllerService = (function () {
             }
         };
         
+        var referencingComponentIds = [];
         var processors = $('<ul class="referencing-component-listing clear"></ul>');
         var services = $('<ul class="referencing-component-listing clear"></ul>');
         var tasks = $('<ul class="referencing-component-listing clear"></ul>');
         $.each(referencingComponents, function (_, referencingComponent) {
+            referencingComponentIds.push(referencingComponent.id);
+            
             if (referencingComponent.referenceType === 'Processor') {
                 var processorLink = $('<span class="referencing-component-name link"></span>').text(referencingComponent.name).on('click', function () {
                     // show the component
@@ -340,6 +394,9 @@ nf.ControllerService = (function () {
                 // state
                 var processorState = $('<div class="referencing-component-state"></div>').addClass(referencingComponent.id + '-state');
                 updateReferencingSchedulableComponentState(processorState, referencingComponent);
+
+                // bulletin
+                var processorBulletins = $('<div class="referencing-component-bulletins"></div>').addClass(referencingComponent.id + '-bulletins');
                 
                 // type
                 var processorType = $('<span class="referencing-component-type"></span>').text(nf.Common.substringAfterLast(referencingComponent.type, '.'));
@@ -351,7 +408,7 @@ nf.ControllerService = (function () {
                 }
                 
                 // processor
-                var processorItem = $('<li></li>').append(processorState).append(processorLink).append(processorType).append(processorActiveThreadCount);
+                var processorItem = $('<li></li>').append(processorState).append(processorBulletins).append(processorLink).append(processorType).append(processorActiveThreadCount);
                 processors.append(processorItem);
             } else if (referencingComponent.referenceType === 'ControllerService') {
                 var serviceLink = $('<span class="referencing-component-name link"></span>').text(referencingComponent.name).on('click', function () {
@@ -392,11 +449,14 @@ nf.ControllerService = (function () {
                 var serviceState = $('<div class="referencing-component-state"></div>').addClass(referencingComponent.id + '-state');
                 updateReferencingServiceState(serviceState, referencingComponent);
                 
+                // bulletin
+                var serviceBulletins = $('<div class="referencing-component-bulletins"></div>').addClass(referencingComponent.id + '-bulletins');
+                
                 // type
                 var serviceType = $('<span class="referencing-component-type"></span>').text(nf.Common.substringAfterLast(referencingComponent.type, '.'));
                 
                 // service
-                var serviceItem = $('<li></li>').append(serviceTwist).append(serviceState).append(serviceLink).append(serviceType).append(referencingServiceReferencesContainer);
+                var serviceItem = $('<li></li>').append(serviceTwist).append(serviceState).append(serviceBulletins).append(serviceLink).append(serviceType).append(referencingServiceReferencesContainer);
                 
                 services.append(serviceItem);
             } else if (referencingComponent.referenceType === 'ReportingTask') {
@@ -420,6 +480,9 @@ nf.ControllerService = (function () {
                 var reportingTaskState = $('<div class="referencing-component-state"></div>').addClass(referencingComponent.id + '-state');
                 updateReferencingSchedulableComponentState(reportingTaskState, referencingComponent);
                 
+                // bulletins
+                var reportingTaskBulletins = $('<div class="referencing-component-bulletins"></div>').addClass(referencingComponent.id + '-bulletins');
+                
                 // type
                 var reportingTaskType = $('<span class="referencing-component-type"></span>').text(nf.Common.substringAfterLast(referencingComponent.type, '.'));
                 
@@ -430,11 +493,17 @@ nf.ControllerService = (function () {
                 }
                 
                 // reporting task
-                var reportingTaskItem = $('<li></li>').append(reportingTaskState).append(reportingTaskLink).append(reportingTaskType).append(reportingTaskActiveThreadCount);
+                var reportingTaskItem = $('<li></li>').append(reportingTaskState).append(reportingTaskBulletins).append(reportingTaskLink).append(reportingTaskType).append(reportingTaskActiveThreadCount);
                 tasks.append(reportingTaskItem);
             }
         });
         
+        // query for the bulletins
+        queryBulletins(referencingComponentIds).done(function(response) {
+            var bulletins = response.bulletinBoard.bulletins;
+            updateReferencingComponentBulletins(bulletins);
+        });
+        
         // create the collapsable listing for each type
         var createReferenceBlock = function (titleText, list) {
             if (list.is(':empty')) {
@@ -466,6 +535,25 @@ nf.ControllerService = (function () {
     };
     
     /**
+     * Queries for bulletins for the specified components.
+     * 
+     * @param {array} componentIds
+     * @returns {deferred}
+     */
+    var queryBulletins = function(componentIds) {
+        var ids = componentIds.join('|');
+        
+        return $.ajax({
+            type: 'GET',
+            url: '../nifi-api/controller/bulletin-board',
+            data: {
+                sourceId: ids
+            },
+            dataType: 'json'
+        }).fail(nf.Common.handleAjaxError);
+    };
+    
+    /**
      * Sets whether the specified controller service is enabled.
      * 
      * @param {object} controllerService
@@ -491,13 +579,23 @@ nf.ControllerService = (function () {
         // wait unil the polling of each service finished
         return $.Deferred(function(deferred) {
             updated.done(function() {
-                var serviceUpdated = pollService(controllerService, function (service) {
+                var serviceUpdated = pollService(controllerService, function (service, bulletins) {
+                    if ($.isArray(bulletins)) {
+                        if (enabled) {
+                            updateBulletins(bulletins, $('#enable-controller-service-bulletins'));
+                        } else {
+                            updateBulletins(bulletins, $('#disable-controller-service-bulletins'));
+                        }
+                    }
+                    
                     // the condition is met once the service is ENABLED/DISABLED
                     if (enabled) {
                         return service.state === 'ENABLED';
                     } else {
                         return service.state === 'DISABLED';
                     }
+                }, function(service) {
+                    return queryBulletins([service.id]);
                 }, pollCondition);
 
                 // once the service has updated, resolve and render the updated service
@@ -608,9 +706,10 @@ nf.ControllerService = (function () {
      * 
      * @param {object} controllerService
      * @param {function} completeCondition
+     * @param {function} bulletinDeferred
      * @param {function} pollCondition
      */
-    var pollService = function (controllerService, completeCondition, pollCondition) {
+    var pollService = function (controllerService, completeCondition, bulletinDeferred, pollCondition) {
         // we want to keep polling until the condition is met
         return $.Deferred(function(deferred) {
             var current = 2;
@@ -618,19 +717,24 @@ nf.ControllerService = (function () {
                 var val = current;
                 
                 // update the current timeout for the next time
-                current = Math.max(current * 2, 8);
+                current = Math.min(current * 2, 4);
                 
                 return val * 1000;
             };
             
             // polls for the current status of the referencing components
             var poll = function() {
-                $.ajax({
+                var bulletins = bulletinDeferred(controllerService);
+                var service =  $.ajax({
                     type: 'GET',
                     url: controllerService.uri,
                     dataType: 'json'
-                }).done(function (response) {
-                    conditionMet(response.controllerService);
+                });
+                
+                $.when(bulletins, service).done(function (bulletinResult, serviceResult) {
+                    var bulletinResponse = bulletinResult[0];
+                    var serviceResponse = serviceResult[0];
+                    conditionMet(serviceResponse.controllerService, bulletinResponse.bulletinBoard.bulletins);
                 }).fail(function (xhr, status, error) {
                     deferred.reject();
                     nf.Common.handleAjaxError(xhr, status, error);
@@ -638,8 +742,8 @@ nf.ControllerService = (function () {
             };
             
             // tests to if the condition has been met
-            var conditionMet = function (service) {
-                if (completeCondition(service)) {
+            var conditionMet = function (service, bulletins) {
+                if (completeCondition(service, bulletins)) {
                     deferred.resolve();
                 } else {
                     if (typeof pollCondition === 'function' && pollCondition()) {
@@ -651,7 +755,12 @@ nf.ControllerService = (function () {
             };
             
             // poll for the status of the referencing components
-            conditionMet(controllerService);
+            bulletinDeferred(controllerService).done(function(response) {
+                conditionMet(controllerService, response.bulletinBoard.bulletins);
+            }).fail(function (xhr, status, error) {
+                deferred.reject();
+                nf.Common.handleAjaxError(xhr, status, error);
+            });
         }).promise();
     };
     
@@ -664,7 +773,7 @@ nf.ControllerService = (function () {
      */
     var stopReferencingSchedulableComponents = function (controllerService, pollCondition) {
         // continue to poll the service until all schedulable components have stopped
-        return pollService(controllerService, function (service) {
+        return pollService(controllerService, function (service, bulletins) {
             var referencingComponents = service.referencingComponents;
             
             var stillRunning = false;
@@ -682,9 +791,23 @@ nf.ControllerService = (function () {
                     updateReferencingSchedulableComponentState(referencingComponentState, referencingComponent);
                 }
             });
+            
+            // query for the bulletins
+            updateReferencingComponentBulletins(bulletins);
 
             // condition is met once all referencing are not running
             return stillRunning === false;
+        }, function(service) {
+            var referencingSchedulableComponents = [];
+            
+            var referencingComponents = service.referencingComponents;
+            $.each(referencingComponents, function(_, referencingComponent) {
+                if (referencingComponent.referenceType === 'Processor' || referencingComponent.referenceType === 'ReportingTask') {
+                    referencingSchedulableComponents.push(referencingComponent.id);
+                }
+            });
+            
+            return queryBulletins(referencingSchedulableComponents);
         }, pollCondition);
     };
     
@@ -696,7 +819,7 @@ nf.ControllerService = (function () {
      */
     var enableReferencingServices = function (controllerService, pollCondition) {
         // continue to poll the service until all referencing services are enabled
-        return pollService(controllerService, function (service) {
+        return pollService(controllerService, function (service, bulletins) {
             var referencingComponents = service.referencingComponents;
             
             var notEnabled = false;
@@ -711,9 +834,23 @@ nf.ControllerService = (function () {
                     updateReferencingServiceState(referencingServiceState, referencingComponent);
                 }
             });
+            
+            // query for the bulletins
+            updateReferencingComponentBulletins(bulletins);
 
             // condition is met once all referencing are not disabled
             return notEnabled === false;
+        }, function(service) {
+            var referencingSchedulableComponents = [];
+            
+            var referencingComponents = service.referencingComponents;
+            $.each(referencingComponents, function(_, referencingComponent) {
+                if (referencingComponent.referenceType === 'ControllerService') {
+                    referencingSchedulableComponents.push(referencingComponent.id);
+                }
+            });
+            
+            return queryBulletins(referencingSchedulableComponents);
         }, pollCondition);
     };
     
@@ -725,7 +862,7 @@ nf.ControllerService = (function () {
      */
     var disableReferencingServices = function (controllerService, pollCondition) {
         // continue to poll the service until all referencing services are disabled
-        return pollService(controllerService, function (service) {
+        return pollService(controllerService, function (service, bulletins) {
             var referencingComponents = service.referencingComponents;
             
             var notDisabled = false;
@@ -740,9 +877,23 @@ nf.ControllerService = (function () {
                     updateReferencingServiceState(referencingServiceState, referencingComponent);
                 }
             });
+            
+            // query for the bulletins
+            updateReferencingComponentBulletins(bulletins);
 
             // condition is met once all referencing are not enabled
             return notDisabled === false;
+        }, function(service) {
+            var referencingSchedulableComponents = [];
+            
+            var referencingComponents = service.referencingComponents;
+            $.each(referencingComponents, function(_, referencingComponent) {
+                if (referencingComponent.referenceType === 'ControllerService') {
+                    referencingSchedulableComponents.push(referencingComponent.id);
+                }
+            });
+            
+            return queryBulletins(referencingSchedulableComponents);
         }, pollCondition);
     };
     
@@ -823,6 +974,11 @@ nf.ControllerService = (function () {
         // show the dialog
         $('#disable-controller-service-dialog').modal('show');
         
+        // load the bulletins
+        queryBulletins([controllerService.id]).done(function(response) {
+            updateBulletins(response.bulletinBoard.bulletins, $('#disable-controller-service-bulletins'));
+        });
+        
         // update the border if necessary
         updateReferencingComponentsBorder(referencingComponentsContainer);
     };
@@ -844,6 +1000,11 @@ nf.ControllerService = (function () {
         // show the dialog
         $('#enable-controller-service-dialog').modal('show');
         
+        // load the bulletins
+        queryBulletins([controllerService.id]).done(function(response) {
+            updateBulletins(response.bulletinBoard.bulletins, $('#enable-controller-service-bulletins'));
+        });
+        
         // update the border if necessary
         updateReferencingComponentsBorder(referencingComponentsContainer);
     };
@@ -873,7 +1034,6 @@ nf.ControllerService = (function () {
         }]);
 
         // show the progress
-        $('#disable-controller-service-service-container').hide();
         $('#disable-controller-service-scope-container').hide();
         $('#disable-controller-service-progress-container').show();
 
@@ -964,7 +1124,6 @@ nf.ControllerService = (function () {
         }
 
         // show the progress
-        $('#enable-controller-service-service-container').hide();
         $('#enable-controller-service-scope-container').hide();
         $('#enable-controller-service-progress-container').show();
 
@@ -1223,6 +1382,7 @@ nf.ControllerService = (function () {
                         // empty the referencing components list
                         var referencingComponents = $('#controller-service-referencing-components');
                         nf.Common.cleanUpTooltips(referencingComponents, 'div.referencing-component-state');
+                        nf.Common.cleanUpTooltips(referencingComponents, 'div.referencing-component-bulletins');
                         referencingComponents.css('border-width', '0').empty();
                         
                         // cancel any active edits
@@ -1271,7 +1431,6 @@ nf.ControllerService = (function () {
                         var disableDialog = $(this);
                         
                         // reset visibility
-                        $('#disable-controller-service-service-container').show();
                         $('#disable-controller-service-scope-container').show();
                         $('#disable-controller-service-progress-container').hide();
                         
@@ -1279,12 +1438,17 @@ nf.ControllerService = (function () {
                         $('#disable-controller-service-id').text('');
                         $('#disable-controller-service-name').text('');
                         
+                        // bulletins
+                        $('#disable-controller-service-bulletins').removeClass('has-bulletins').removeData('bulletins').hide();
+                        nf.Common.cleanUpTooltips($('#disable-controller-service-service-container'), '#disable-controller-service-bulletins');
+                        
                         // reset progress
                         $('div.disable-referencing-components').removeClass('ajax-loading ajax-complete ajax-error');
                         
                         // referencing components
                         var referencingComponents = $('#disable-controller-service-referencing-components');
                         nf.Common.cleanUpTooltips(referencingComponents, 'div.referencing-component-state');
+                        nf.Common.cleanUpTooltips(referencingComponents, 'div.referencing-component-bulletins');
                         referencingComponents.css('border-width', '0').empty();
                         
                         // reset dialog
@@ -1339,7 +1503,6 @@ nf.ControllerService = (function () {
                         var enableDialog = $(this);
                         
                         // reset visibility
-                        $('#enable-controller-service-service-container').show();
                         $('#enable-controller-service-scope-container').show();
                         $('#enable-controller-service-progress-container').hide();
                         $('#enable-controller-service-progress li.referencing-component').show();
@@ -1348,12 +1511,17 @@ nf.ControllerService = (function () {
                         $('#enable-controller-service-id').text('');
                         $('#enable-controller-service-name').text('');
                         
+                        // bulletins
+                        $('#enable-controller-service-bulletins').removeClass('has-bulletins').removeData('bulletins').hide();
+                        nf.Common.cleanUpTooltips($('#enable-controller-service-service-container'), '#enable-controller-service-bulletins');
+                        
                         // reset progress
                         $('div.enable-referencing-components').removeClass('ajax-loading ajax-complete ajax-error');
                         
                         // referencing components
                         var referencingComponents = $('#enable-controller-service-referencing-components');
                         nf.Common.cleanUpTooltips(referencingComponents, 'div.referencing-component-state');
+                        nf.Common.cleanUpTooltips(referencingComponents, 'div.referencing-component-bulletins');
                         referencingComponents.css('border-width', '0').empty();
                         
                         // reset dialog
@@ -1654,13 +1822,7 @@ nf.ControllerService = (function () {
          * @param {object} controllerService
          */
         enable: function(controllerService) {
-            if (nf.Common.isEmpty(controllerService.referencingComponents)) {
-                setEnabled(controllerService, true).always(function () {
-                    reloadControllerServiceAndReferencingComponents(controllerService);
-                });
-            } else {
-                showEnableControllerServiceDialog(controllerService);
-            }
+            showEnableControllerServiceDialog(controllerService);
         },
         
         /**
@@ -1669,13 +1831,7 @@ nf.ControllerService = (function () {
          * @param {object} controllerService
          */
         disable: function(controllerService) {
-            if (nf.Common.isEmpty(controllerService.referencingComponents)) {
-                setEnabled(controllerService, false).always(function () {
-                    reloadControllerServiceAndReferencingComponents(controllerService);
-                });
-            } else {
-                showDisableControllerServiceDialog(controllerService);
-            }
+            showDisableControllerServiceDialog(controllerService);
         },
         
         /**


[37/50] [abbrv] incubator-nifi git commit: NIFI-720: Ensure that if Reporting Task stopped while @OnScheduled method is failing that it does not start running when configuration is fixed

Posted by mc...@apache.org.
NIFI-720: Ensure that if Reporting Task stopped while @OnScheduled method is failing that it does not start running when configuration is fixed


Project: http://git-wip-us.apache.org/repos/asf/incubator-nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-nifi/commit/8da73271
Tree: http://git-wip-us.apache.org/repos/asf/incubator-nifi/tree/8da73271
Diff: http://git-wip-us.apache.org/repos/asf/incubator-nifi/diff/8da73271

Branch: refs/heads/master
Commit: 8da7327188ebdb3cbadda257429e4967be07bf77
Parents: 2a4e5e1
Author: Mark Payne <ma...@hotmail.com>
Authored: Tue Jun 23 16:23:01 2015 -0400
Committer: Mark Payne <ma...@hotmail.com>
Committed: Fri Jul 3 13:14:16 2015 -0400

----------------------------------------------------------------------
 .../scheduling/StandardProcessScheduler.java    |  74 ++++++++-----
 .../TestStandardProcessScheduler.java           | 107 +++++++++++++++++++
 .../src/test/resources/nifi.properties          |   2 +-
 3 files changed, 154 insertions(+), 29 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/8da73271/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/scheduling/StandardProcessScheduler.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/scheduling/StandardProcessScheduler.java b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/scheduling/StandardProcessScheduler.java
index cf644ed..d976bd0 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/scheduling/StandardProcessScheduler.java
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/scheduling/StandardProcessScheduler.java
@@ -174,31 +174,45 @@ public final class StandardProcessScheduler implements ProcessScheduler {
             @SuppressWarnings("deprecation")
             @Override
             public void run() {
+                final long lastStopTime = scheduleState.getLastStopTime();
+                final ReportingTask reportingTask = taskNode.getReportingTask();
+
                 // Continually attempt to start the Reporting Task, and if we fail sleep for a bit each time.
                 while (true) {
-                    final ReportingTask reportingTask = taskNode.getReportingTask();
-
                     try {
-                        try (final NarCloseable x = NarCloseable.withNarLoader()) {
-                            ReflectionUtils.invokeMethodsWithAnnotations(OnScheduled.class, OnConfigured.class, reportingTask, taskNode.getConfigurationContext());
-                        }
+                        synchronized (scheduleState) {
+                            // if no longer scheduled to run, then we're finished. This can happen, for example,
+                            // if the @OnScheduled method throws an Exception and the user stops the reporting task
+                            // while we're administratively yielded.
+                            // we also check if the schedule state's last start time is equal to what it was before.
+                            // if not, then means that the reporting task has been stopped and started again, so we should just
+                            // bail; another thread will be responsible for invoking the @OnScheduled methods.
+                            if (!scheduleState.isScheduled() || scheduleState.getLastStopTime() != lastStopTime) {
+                                return;
+                            }
+
+                            try (final NarCloseable x = NarCloseable.withNarLoader()) {
+                                ReflectionUtils.invokeMethodsWithAnnotations(OnScheduled.class, OnConfigured.class, reportingTask, taskNode.getConfigurationContext());
+                            }
 
-                        break;
+                            agent.schedule(taskNode, scheduleState);
+                            return;
+                        }
                     } catch (final Exception e) {
                         final Throwable cause = e instanceof InvocationTargetException ? e.getCause() : e;
                         final ComponentLog componentLog = new SimpleProcessLogger(reportingTask.getIdentifier(), reportingTask);
                         componentLog.error("Failed to invoke @OnEnabled method due to {}", cause);
 
-                        LOG.error("Failed to invoke the On-Scheduled Lifecycle methods of {} due to {}; administratively yielding this ReportingTask and will attempt to schedule it again after {}",
-                                new Object[]{reportingTask, e.toString(), administrativeYieldDuration}, e);
+                        LOG.error("Failed to invoke the On-Scheduled Lifecycle methods of {} due to {}; administratively yielding this "
+                            + "ReportingTask and will attempt to schedule it again after {}",
+                            new Object[] { reportingTask, e.toString(), administrativeYieldDuration }, e);
+
                         try {
                             Thread.sleep(administrativeYieldMillis);
                         } catch (final InterruptedException ie) {
                         }
                     }
                 }
-
-                agent.schedule(taskNode, scheduleState);
             }
         };
 
@@ -216,7 +230,6 @@ public final class StandardProcessScheduler implements ProcessScheduler {
         taskNode.verifyCanStop();
         final SchedulingAgent agent = getSchedulingAgent(taskNode.getSchedulingStrategy());
         final ReportingTask reportingTask = taskNode.getReportingTask();
-        scheduleState.setScheduled(false);
         taskNode.setScheduledState(ScheduledState.STOPPED);
 
         final Runnable unscheduleReportingTaskRunnable = new Runnable() {
@@ -225,29 +238,33 @@ public final class StandardProcessScheduler implements ProcessScheduler {
             public void run() {
                 final ConfigurationContext configurationContext = taskNode.getConfigurationContext();
 
-                try {
-                    try (final NarCloseable x = NarCloseable.withNarLoader()) {
-                        ReflectionUtils.invokeMethodsWithAnnotations(OnUnscheduled.class, org.apache.nifi.processor.annotation.OnUnscheduled.class, reportingTask, configurationContext);
-                    }
-                } catch (final Exception e) {
-                    final Throwable cause = e instanceof InvocationTargetException ? e.getCause() : e;
-                    final ComponentLog componentLog = new SimpleProcessLogger(reportingTask.getIdentifier(), reportingTask);
-                    componentLog.error("Failed to invoke @OnUnscheduled method due to {}", cause);
+                synchronized (scheduleState) {
+                    scheduleState.setScheduled(false);
+
+                    try {
+                        try (final NarCloseable x = NarCloseable.withNarLoader()) {
+                            ReflectionUtils.invokeMethodsWithAnnotations(OnUnscheduled.class, org.apache.nifi.processor.annotation.OnUnscheduled.class, reportingTask, configurationContext);
+                        }
+                    } catch (final Exception e) {
+                        final Throwable cause = e instanceof InvocationTargetException ? e.getCause() : e;
+                        final ComponentLog componentLog = new SimpleProcessLogger(reportingTask.getIdentifier(), reportingTask);
+                        componentLog.error("Failed to invoke @OnUnscheduled method due to {}", cause);
 
-                    LOG.error("Failed to invoke the @OnUnscheduled methods of {} due to {}; administratively yielding this ReportingTask and will attempt to schedule it again after {}",
+                        LOG.error("Failed to invoke the @OnUnscheduled methods of {} due to {}; administratively yielding this ReportingTask and will attempt to schedule it again after {}",
                             reportingTask, cause.toString(), administrativeYieldDuration);
-                    LOG.error("", cause);
+                        LOG.error("", cause);
 
-                    try {
-                        Thread.sleep(administrativeYieldMillis);
-                    } catch (final InterruptedException ie) {
+                        try {
+                            Thread.sleep(administrativeYieldMillis);
+                        } catch (final InterruptedException ie) {
+                        }
                     }
-                }
 
-                agent.unschedule(taskNode, scheduleState);
+                    agent.unschedule(taskNode, scheduleState);
 
-                if (scheduleState.getActiveThreadCount() == 0 && scheduleState.mustCallOnStoppedMethods()) {
-                    ReflectionUtils.quietlyInvokeMethodsWithAnnotations(OnStopped.class, org.apache.nifi.processor.annotation.OnStopped.class, reportingTask, configurationContext);
+                    if (scheduleState.getActiveThreadCount() == 0 && scheduleState.mustCallOnStoppedMethods()) {
+                        ReflectionUtils.quietlyInvokeMethodsWithAnnotations(OnStopped.class, org.apache.nifi.processor.annotation.OnStopped.class, reportingTask, configurationContext);
+                    }
                 }
             }
         };
@@ -694,6 +711,7 @@ public final class StandardProcessScheduler implements ProcessScheduler {
                         }
                     }
                 }
+
             }
         };
 

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/8da73271/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/java/org/apache/nifi/controller/scheduling/TestStandardProcessScheduler.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/java/org/apache/nifi/controller/scheduling/TestStandardProcessScheduler.java b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/java/org/apache/nifi/controller/scheduling/TestStandardProcessScheduler.java
new file mode 100644
index 0000000..72eaa84
--- /dev/null
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/java/org/apache/nifi/controller/scheduling/TestStandardProcessScheduler.java
@@ -0,0 +1,107 @@
+/*
+ * 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.nifi.controller.scheduling;
+
+import static org.junit.Assert.assertTrue;
+
+import java.util.UUID;
+import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.concurrent.atomic.AtomicInteger;
+
+import org.apache.nifi.annotation.lifecycle.OnScheduled;
+import org.apache.nifi.controller.Heartbeater;
+import org.apache.nifi.controller.ReportingTaskNode;
+import org.apache.nifi.controller.ValidationContextFactory;
+import org.apache.nifi.controller.reporting.StandardReportingInitializationContext;
+import org.apache.nifi.controller.reporting.StandardReportingTaskNode;
+import org.apache.nifi.controller.service.ControllerServiceProvider;
+import org.apache.nifi.logging.ComponentLog;
+import org.apache.nifi.processor.StandardValidationContextFactory;
+import org.apache.nifi.reporting.AbstractReportingTask;
+import org.apache.nifi.reporting.InitializationException;
+import org.apache.nifi.reporting.ReportingContext;
+import org.apache.nifi.reporting.ReportingInitializationContext;
+import org.apache.nifi.scheduling.SchedulingStrategy;
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.Mockito;
+
+public class TestStandardProcessScheduler {
+    private StandardProcessScheduler scheduler = null;
+    private ReportingTaskNode taskNode = null;
+    private TestReportingTask reportingTask = null;
+
+    @Before
+    public void setup() throws InitializationException {
+        System.setProperty("nifi.properties.file.path", "src/test/resources/nifi.properties");
+        scheduler = new StandardProcessScheduler(Mockito.mock(Heartbeater.class), Mockito.mock(ControllerServiceProvider.class), null);
+        scheduler.setSchedulingAgent(SchedulingStrategy.TIMER_DRIVEN, Mockito.mock(SchedulingAgent.class));
+
+        reportingTask = new TestReportingTask();
+        final ReportingInitializationContext config = new StandardReportingInitializationContext(UUID.randomUUID().toString(), "Test", SchedulingStrategy.TIMER_DRIVEN, "5 secs",
+            Mockito.mock(ComponentLog.class), null);
+        reportingTask.initialize(config);
+
+        final ValidationContextFactory validationContextFactory = new StandardValidationContextFactory(null);
+        taskNode = new StandardReportingTaskNode(reportingTask, UUID.randomUUID().toString(), null, scheduler, validationContextFactory);
+    }
+
+    /**
+     * We have run into an issue where a Reporting Task is scheduled to run but throws an Exception
+     * from a method with the @OnScheduled annotation. User stops Reporting Task, updates configuration
+     * to fix the issue. Reporting Task then finishes running @OnSchedule method and is then scheduled to run.
+     * This unit test is intended to verify that we have this resolved.
+     */
+    @Test
+    public void testReportingTaskDoesntKeepRunningAfterStop() throws InterruptedException, InitializationException {
+        scheduler.schedule(taskNode);
+
+        // Let it try to run a few times.
+        Thread.sleep(1000L);
+
+        scheduler.unschedule(taskNode);
+
+        final int attempts = reportingTask.onScheduleAttempts.get();
+        // give it a sec to make sure that it's finished running.
+        Thread.sleep(1500L);
+        final int attemptsAfterStop = reportingTask.onScheduleAttempts.get() - attempts;
+
+        // allow 1 extra run, due to timing issues that could call it as it's being stopped.
+        assertTrue("After unscheduling Reporting Task, task ran an additional " + attemptsAfterStop + " times", attemptsAfterStop <= 1);
+    }
+
+
+    private class TestReportingTask extends AbstractReportingTask {
+        private final AtomicBoolean failOnScheduled = new AtomicBoolean(true);
+        private final AtomicInteger onScheduleAttempts = new AtomicInteger(0);
+        private final AtomicInteger triggerCount = new AtomicInteger(0);
+
+        @OnScheduled
+        public void onScheduled() {
+            onScheduleAttempts.incrementAndGet();
+
+            if (failOnScheduled.get()) {
+                throw new RuntimeException("Intentional Exception for testing purposes");
+            }
+        }
+
+        @Override
+        public void onTrigger(final ReportingContext context) {
+            triggerCount.getAndIncrement();
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/8da73271/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/resources/nifi.properties
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/resources/nifi.properties b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/resources/nifi.properties
index e7ea9b6..5d3344d 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/resources/nifi.properties
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/resources/nifi.properties
@@ -20,7 +20,7 @@ nifi.flow.configuration.archive.dir=./target/archive/
 nifi.flowcontroller.autoResumeState=true
 nifi.flowcontroller.graceful.shutdown.period=10 sec
 nifi.flowservice.writedelay.interval=2 sec
-nifi.administrative.yield.duration=30 sec
+nifi.administrative.yield.duration=500 millis
 
 nifi.reporting.task.configuration.file=./target/reporting-tasks.xml
 nifi.controller.service.configuration.file=./target/controller-services.xml


[17/50] [abbrv] incubator-nifi git commit: NIFI-738: Improve error handling for CSV and JSON conversion.

Posted by mc...@apache.org.
NIFI-738: Improve error handling for CSV and JSON conversion.

Changes:
* Send bad record information on the "incompatible" relationship
* Use an attribute, "errors" for summarized error messages
* Send no error content for now, original content can't be accessed
* Summarize similar error messages with "N similar failures"
* Add similar error handling to CSV conversion

Signed-off-by: joewitt <jo...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/incubator-nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-nifi/commit/2e32e0e2
Tree: http://git-wip-us.apache.org/repos/asf/incubator-nifi/tree/2e32e0e2
Diff: http://git-wip-us.apache.org/repos/asf/incubator-nifi/diff/2e32e0e2

Branch: refs/heads/master
Commit: 2e32e0e2b82e071734919589ed680513edfd39ed
Parents: 4dc2ea6
Author: Ryan Blue <bl...@apache.org>
Authored: Sat Jun 27 17:36:42 2015 -0700
Committer: joewitt <jo...@apache.org>
Committed: Mon Jun 29 22:00:22 2015 -0400

----------------------------------------------------------------------
 .../nifi/processors/kite/ConvertCSVToAvro.java  |  76 ++++++++++----
 .../nifi/processors/kite/ConvertJSONToAvro.java |  95 ++++++++++-------
 .../nifi/processors/kite/FailureTracker.java    |  83 +++++++++++++++
 .../processors/kite/TestCSVToAvroProcessor.java |  96 +++++++++++++++++-
 .../kite/TestJSONToAvroProcessor.java           | 101 +++++++++++++++++--
 5 files changed, 384 insertions(+), 67 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/2e32e0e2/nifi/nifi-nar-bundles/nifi-kite-bundle/nifi-kite-processors/src/main/java/org/apache/nifi/processors/kite/ConvertCSVToAvro.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-kite-bundle/nifi-kite-processors/src/main/java/org/apache/nifi/processors/kite/ConvertCSVToAvro.java b/nifi/nifi-nar-bundles/nifi-kite-bundle/nifi-kite-processors/src/main/java/org/apache/nifi/processors/kite/ConvertCSVToAvro.java
index 564a203..6c20a8f 100644
--- a/nifi/nifi-nar-bundles/nifi-kite-bundle/nifi-kite-processors/src/main/java/org/apache/nifi/processors/kite/ConvertCSVToAvro.java
+++ b/nifi/nifi-nar-bundles/nifi-kite-bundle/nifi-kite-processors/src/main/java/org/apache/nifi/processors/kite/ConvertCSVToAvro.java
@@ -44,6 +44,7 @@ import org.apache.nifi.processor.Relationship;
 import org.apache.nifi.processor.exception.ProcessException;
 import org.apache.nifi.processor.io.StreamCallback;
 import org.apache.nifi.processor.util.StandardValidators;
+import org.apache.nifi.util.LongHolder;
 import org.kitesdk.data.DatasetException;
 import org.kitesdk.data.DatasetIOException;
 import org.kitesdk.data.DatasetRecordException;
@@ -76,12 +77,17 @@ public class ConvertCSVToAvro extends AbstractKiteProcessor {
 
     private static final Relationship SUCCESS = new Relationship.Builder()
             .name("success")
-            .description("FlowFile content has been successfully saved")
+            .description("Avro content that was converted successfully from CSV")
             .build();
 
     private static final Relationship FAILURE = new Relationship.Builder()
             .name("failure")
-            .description("FlowFile content could not be processed")
+            .description("CSV content that could not be processed")
+            .build();
+
+    private static final Relationship INCOMPATIBLE = new Relationship.Builder()
+            .name("incompatible")
+            .description("CSV content that could not be converted")
             .build();
 
     @VisibleForTesting
@@ -164,6 +170,7 @@ public class ConvertCSVToAvro extends AbstractKiteProcessor {
             = ImmutableSet.<Relationship>builder()
             .add(SUCCESS)
             .add(FAILURE)
+            .add(INCOMPATIBLE)
             .build();
 
     // Immutable configuration
@@ -197,20 +204,20 @@ public class ConvertCSVToAvro extends AbstractKiteProcessor {
     @Override
     public void onTrigger(ProcessContext context, final ProcessSession session)
             throws ProcessException {
-        FlowFile flowFile = session.get();
-        if (flowFile == null) {
+        FlowFile incomingCSV = session.get();
+        if (incomingCSV == null) {
             return;
         }
 
         String schemaProperty = context.getProperty(SCHEMA)
-                .evaluateAttributeExpressions(flowFile)
+                .evaluateAttributeExpressions(incomingCSV)
                 .getValue();
         final Schema schema;
         try {
             schema = getSchema(schemaProperty, DefaultConfiguration.get());
         } catch (SchemaNotFoundException e) {
             getLogger().error("Cannot find schema: " + schemaProperty);
-            session.transfer(flowFile, FAILURE);
+            session.transfer(incomingCSV, FAILURE);
             return;
         }
 
@@ -219,11 +226,13 @@ public class ConvertCSVToAvro extends AbstractKiteProcessor {
         writer.setCodec(CodecFactory.snappyCodec());
 
         try {
-            flowFile = session.write(flowFile, new StreamCallback() {
+            final LongHolder written = new LongHolder(0L);
+            final FailureTracker failures = new FailureTracker();
+
+            FlowFile badRecords = session.clone(incomingCSV);
+            FlowFile outgoingAvro = session.write(incomingCSV, new StreamCallback() {
                 @Override
                 public void process(InputStream in, OutputStream out) throws IOException {
-                    long written = 0L;
-                    long errors = 0L;
                     try (CSVFileReader<Record> reader = new CSVFileReader<>(
                             in, props, schema, Record.class)) {
                         reader.initialize();
@@ -232,29 +241,58 @@ public class ConvertCSVToAvro extends AbstractKiteProcessor {
                                 try {
                                     Record record = reader.next();
                                     w.append(record);
-                                    written += 1;
+                                    written.incrementAndGet();
                                 } catch (DatasetRecordException e) {
-                                    errors += 1;
+                                    failures.add(e);
                                 }
                             }
                         }
                     }
-                    session.adjustCounter("Converted records", written,
-                            false /* update only if file transfer is successful */);
-                    session.adjustCounter("Conversion errors", errors,
-                            false /* update only if file transfer is successful */);
                 }
             });
 
-            session.transfer(flowFile, SUCCESS);
+            long errors = failures.count();
+
+            session.adjustCounter("Converted records", written.get(),
+                    false /* update only if file transfer is successful */);
+            session.adjustCounter("Conversion errors", errors,
+                    false /* update only if file transfer is successful */);
+
+            if (written.get() > 0L) {
+                session.transfer(outgoingAvro, SUCCESS);
+
+                if (errors > 0L) {
+                    getLogger().warn("Failed to convert {}/{} records from CSV to Avro",
+                            new Object[] { errors, errors + written.get() });
+                    badRecords = session.putAttribute(
+                            badRecords, "errors", failures.summary());
+                    session.transfer(badRecords, INCOMPATIBLE);
+                } else {
+                    session.remove(badRecords);
+                }
+
+            } else {
+                session.remove(outgoingAvro);
+
+                if (errors > 0L) {
+                    getLogger().warn("Failed to convert {}/{} records from CSV to Avro",
+                            new Object[] { errors, errors });
+                    badRecords = session.putAttribute(
+                            badRecords, "errors", failures.summary());
+                } else {
+                    badRecords = session.putAttribute(
+                            badRecords, "errors", "No incoming records");
+                }
+
+                session.transfer(badRecords, FAILURE);
+            }
 
-            //session.getProvenanceReporter().send(flowFile, target.getUri().toString());
         } catch (ProcessException | DatasetIOException e) {
             getLogger().error("Failed reading or writing", e);
-            session.transfer(flowFile, FAILURE);
+            session.transfer(incomingCSV, FAILURE);
         } catch (DatasetException e) {
             getLogger().error("Failed to read FlowFile", e);
-            session.transfer(flowFile, FAILURE);
+            session.transfer(incomingCSV, FAILURE);
         }
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/2e32e0e2/nifi/nifi-nar-bundles/nifi-kite-bundle/nifi-kite-processors/src/main/java/org/apache/nifi/processors/kite/ConvertJSONToAvro.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-kite-bundle/nifi-kite-processors/src/main/java/org/apache/nifi/processors/kite/ConvertJSONToAvro.java b/nifi/nifi-nar-bundles/nifi-kite-bundle/nifi-kite-processors/src/main/java/org/apache/nifi/processors/kite/ConvertJSONToAvro.java
index 7969a8f..ec1503c 100644
--- a/nifi/nifi-nar-bundles/nifi-kite-bundle/nifi-kite-processors/src/main/java/org/apache/nifi/processors/kite/ConvertJSONToAvro.java
+++ b/nifi/nifi-nar-bundles/nifi-kite-bundle/nifi-kite-processors/src/main/java/org/apache/nifi/processors/kite/ConvertJSONToAvro.java
@@ -38,8 +38,8 @@ import org.apache.nifi.processor.ProcessContext;
 import org.apache.nifi.processor.ProcessSession;
 import org.apache.nifi.processor.Relationship;
 import org.apache.nifi.processor.exception.ProcessException;
-import org.apache.nifi.processor.io.OutputStreamCallback;
 import org.apache.nifi.processor.io.StreamCallback;
+import org.apache.nifi.util.LongHolder;
 import org.kitesdk.data.DatasetException;
 import org.kitesdk.data.DatasetIOException;
 import org.kitesdk.data.DatasetRecordException;
@@ -54,12 +54,17 @@ public class ConvertJSONToAvro extends AbstractKiteProcessor {
 
     private static final Relationship SUCCESS = new Relationship.Builder()
             .name("success")
-            .description("FlowFile content has been successfully saved")
+            .description("Avro content that was converted successfully from JSON")
             .build();
 
     private static final Relationship FAILURE = new Relationship.Builder()
             .name("failure")
-            .description("FlowFile content could not be processed")
+            .description("JSON content that could not be processed")
+            .build();
+
+    private static final Relationship INCOMPATIBLE = new Relationship.Builder()
+            .name("incompatible")
+            .description("JSON content that could not be converted")
             .build();
 
     @VisibleForTesting
@@ -82,6 +87,7 @@ public class ConvertJSONToAvro extends AbstractKiteProcessor {
             = ImmutableSet.<Relationship>builder()
             .add(SUCCESS)
             .add(FAILURE)
+            .add(INCOMPATIBLE)
             .build();
 
     public ConvertJSONToAvro() {
@@ -100,20 +106,20 @@ public class ConvertJSONToAvro extends AbstractKiteProcessor {
     @Override
     public void onTrigger(final ProcessContext context, final ProcessSession session)
             throws ProcessException {
-        FlowFile successfulRecords = session.get();
-        if (successfulRecords == null) {
+        FlowFile incomingJSON = session.get();
+        if (incomingJSON == null) {
             return;
         }
 
         String schemaProperty = context.getProperty(SCHEMA)
-                .evaluateAttributeExpressions(successfulRecords)
+                .evaluateAttributeExpressions(incomingJSON)
                 .getValue();
         final Schema schema;
         try {
             schema = getSchema(schemaProperty, DefaultConfiguration.get());
         } catch (SchemaNotFoundException e) {
             getLogger().error("Cannot find schema: " + schemaProperty);
-            session.transfer(successfulRecords, FAILURE);
+            session.transfer(incomingJSON, FAILURE);
             return;
         }
 
@@ -122,59 +128,74 @@ public class ConvertJSONToAvro extends AbstractKiteProcessor {
         writer.setCodec(CodecFactory.snappyCodec());
 
         try {
-            successfulRecords = session.write(successfulRecords, new StreamCallback() {
+            final LongHolder written = new LongHolder(0L);
+            final FailureTracker failures = new FailureTracker();
+
+            FlowFile badRecords = session.clone(incomingJSON);
+            FlowFile outgoingAvro = session.write(incomingJSON, new StreamCallback() {
                 @Override
                 public void process(InputStream in, OutputStream out) throws IOException {
-                    FlowFile failedRecords = session.create();
-                    long written = 0L;
-                    long errors = 0L;
-                    long total = 0L;
                     try (JSONFileReader<Record> reader = new JSONFileReader<>(
                             in, schema, Record.class)) {
                         reader.initialize();
                         try (DataFileWriter<Record> w = writer.create(schema, out)) {
                             while (reader.hasNext()) {
-                                total += 1;
                                 try {
                                     Record record = reader.next();
                                     w.append(record);
-                                    written += 1;
+                                    written.incrementAndGet();
+
                                 } catch (final DatasetRecordException e) {
-                                    failedRecords = session.append(failedRecords, new OutputStreamCallback() {
-                                        @Override
-                                        public void process(OutputStream out) throws IOException {
-                                            out.write((e.getMessage() + " ["
-                                                    + e.getCause().getMessage() + "]\n").getBytes());
-                                        }
-                                    });
-                                    errors += 1;
+                                    failures.add(e);
                                 }
                             }
                         }
-                        session.adjustCounter("Converted records", written,
-                                false /* update only if file transfer is successful */);
-                        session.adjustCounter("Conversion errors", errors,
-                                false /* update only if file transfer is successful */);
-
-                        if (errors > 0L) {
-                            getLogger().warn("Failed to convert " + errors + '/' + total + " records from JSON to Avro");
-                        }
                     }
-                    session.transfer(failedRecords, FAILURE);
                 }
             });
 
-            session.transfer(successfulRecords, SUCCESS);
+            long errors = failures.count();
+
+            session.adjustCounter("Converted records", written.get(),
+                    false /* update only if file transfer is successful */);
+            session.adjustCounter("Conversion errors", errors,
+                    false /* update only if file transfer is successful */);
+
+            if (written.get() > 0L) {
+                session.transfer(outgoingAvro, SUCCESS);
+
+                if (errors > 0L) {
+                    getLogger().warn("Failed to convert {}/{} records from JSON to Avro",
+                            new Object[] { errors, errors + written.get() });
+                    badRecords = session.putAttribute(
+                            badRecords, "errors", failures.summary());
+                    session.transfer(badRecords, INCOMPATIBLE);
+                } else {
+                    session.remove(badRecords);
+                }
+
+            } else {
+                session.remove(outgoingAvro);
+
+                if (errors > 0L) {
+                    getLogger().warn("Failed to convert {}/{} records from JSON to Avro",
+                            new Object[] { errors, errors });
+                    badRecords = session.putAttribute(
+                            badRecords, "errors", failures.summary());
+                } else {
+                    badRecords = session.putAttribute(
+                            badRecords, "errors", "No incoming records");
+                }
+
+                session.transfer(badRecords, FAILURE);
+            }
 
-            //session.getProvenanceReporter().send(flowFile, target.getUri().toString());
         } catch (ProcessException | DatasetIOException e) {
             getLogger().error("Failed reading or writing", e);
-            session.transfer(successfulRecords, FAILURE);
-
+            session.transfer(incomingJSON, FAILURE);
         } catch (DatasetException e) {
             getLogger().error("Failed to read FlowFile", e);
-            session.transfer(successfulRecords, FAILURE);
-
+            session.transfer(incomingJSON, FAILURE);
         }
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/2e32e0e2/nifi/nifi-nar-bundles/nifi-kite-bundle/nifi-kite-processors/src/main/java/org/apache/nifi/processors/kite/FailureTracker.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-kite-bundle/nifi-kite-processors/src/main/java/org/apache/nifi/processors/kite/FailureTracker.java b/nifi/nifi-nar-bundles/nifi-kite-bundle/nifi-kite-processors/src/main/java/org/apache/nifi/processors/kite/FailureTracker.java
new file mode 100644
index 0000000..de86761
--- /dev/null
+++ b/nifi/nifi-nar-bundles/nifi-kite-bundle/nifi-kite-processors/src/main/java/org/apache/nifi/processors/kite/FailureTracker.java
@@ -0,0 +1,83 @@
+/*
+ * 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.nifi.processors.kite;
+
+import com.google.common.base.Splitter;
+import com.google.common.collect.Iterators;
+import com.google.common.collect.Maps;
+import java.util.Map;
+
+class FailureTracker {
+    private static final Splitter REASON_SEPARATOR = Splitter.on(':').limit(2);
+
+    private final Map<String, String> examples = Maps.newLinkedHashMap();
+    private final Map<String, Integer> occurrences = Maps.newLinkedHashMap();
+    long count = 0L;
+
+    public void add(Throwable throwable) {
+        add(reason(throwable));
+    }
+
+    public void add(String reason) {
+        count += 1;
+        String problem = Iterators.getNext(REASON_SEPARATOR.split(reason).iterator(), "Unknown");
+        if (examples.containsKey(problem)) {
+            occurrences.put(problem, occurrences.get(problem) + 1);
+        } else {
+            examples.put(problem, reason);
+            occurrences.put(problem, 1);
+        }
+    }
+
+    public long count() {
+        return count;
+    }
+
+    public String summary() {
+        boolean first = true;
+        StringBuilder sb = new StringBuilder();
+        for (String problem : examples.keySet()) {
+            if (first) {
+                first = false;
+            } else {
+                sb.append(", ");
+            }
+            sb.append(examples.get(problem));
+            int similar = occurrences.get(problem) - 1;
+            if (similar == 1) {
+                sb.append(" (1 similar failure)");
+            } else if (similar > 1) {
+                sb.append(" (").append(similar).append(" similar failures)");
+            }
+        }
+        return sb.toString();
+    }
+
+    private static String reason(Throwable t) {
+        StringBuilder sb = new StringBuilder();
+        for (Throwable current = t; current != null; current = current.getCause()) {
+            if (current != t) {
+                sb.append(": ");
+            }
+            sb.append(current.getMessage());
+        }
+        return sb.toString();
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/2e32e0e2/nifi/nifi-nar-bundles/nifi-kite-bundle/nifi-kite-processors/src/test/java/org/apache/nifi/processors/kite/TestCSVToAvroProcessor.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-kite-bundle/nifi-kite-processors/src/test/java/org/apache/nifi/processors/kite/TestCSVToAvroProcessor.java b/nifi/nifi-nar-bundles/nifi-kite-bundle/nifi-kite-processors/src/test/java/org/apache/nifi/processors/kite/TestCSVToAvroProcessor.java
index 753b72b..43dea6e 100644
--- a/nifi/nifi-nar-bundles/nifi-kite-bundle/nifi-kite-processors/src/test/java/org/apache/nifi/processors/kite/TestCSVToAvroProcessor.java
+++ b/nifi/nifi-nar-bundles/nifi-kite-bundle/nifi-kite-processors/src/test/java/org/apache/nifi/processors/kite/TestCSVToAvroProcessor.java
@@ -20,9 +20,11 @@ package org.apache.nifi.processors.kite;
 
 import java.io.IOException;
 import java.nio.charset.Charset;
+import java.nio.charset.StandardCharsets;
 import org.apache.avro.Schema;
 import org.apache.avro.SchemaBuilder;
 import org.apache.nifi.processor.ProcessContext;
+import org.apache.nifi.util.MockFlowFile;
 import org.apache.nifi.util.TestRunner;
 import org.apache.nifi.util.TestRunners;
 import org.junit.Assert;
@@ -43,6 +45,12 @@ public class TestCSVToAvroProcessor {
             + ",blue,\n" + // invalid, ID is missing
             "2,grey,12.95";
 
+    public static final String FAILURE_CONTENT = ""
+            + ",blue,\n"; // invalid, ID is missing
+
+    public static final String FAILURE_SUMMARY = "" +
+            "Field id: cannot make \"long\" value: '': Field id type:LONG pos:0 not set and has no default value";
+
     @Test
     public void testBasicConversion() throws IOException {
         TestRunner runner = TestRunners.newTestRunner(ConvertCSVToAvro.class);
@@ -58,7 +66,17 @@ public class TestCSVToAvroProcessor {
         Assert.assertEquals("Should convert 2 rows", 2, converted);
         Assert.assertEquals("Should reject 1 row", 1, errors);
 
-        runner.assertAllFlowFilesTransferred("success", 1);
+        runner.assertTransferCount("success", 1);
+        runner.assertTransferCount("failure", 0);
+        runner.assertTransferCount("incompatible", 1);
+
+        MockFlowFile incompatible = runner.getFlowFilesForRelationship("incompatible").get(0);
+        String failureContent = new String(runner.getContentAsByteArray(incompatible),
+                StandardCharsets.UTF_8);
+        Assert.assertEquals("Should reject an invalid string and double",
+                CSV_CONTENT, failureContent);
+        Assert.assertEquals("Should accumulate error messages",
+                FAILURE_SUMMARY, incompatible.getAttribute("errors"));
     }
 
     @Test
@@ -76,7 +94,61 @@ public class TestCSVToAvroProcessor {
         Assert.assertEquals("Should convert 2 rows", 2, converted);
         Assert.assertEquals("Should reject 1 row", 1, errors);
 
-        runner.assertAllFlowFilesTransferred("success", 1);
+        runner.assertTransferCount("success", 1);
+        runner.assertTransferCount("failure", 0);
+        runner.assertTransferCount("incompatible", 1);
+
+        MockFlowFile incompatible = runner.getFlowFilesForRelationship("incompatible").get(0);
+        Assert.assertEquals("Should accumulate error messages",
+                FAILURE_SUMMARY, incompatible.getAttribute("errors"));
+    }
+
+    @Test
+    public void testOnlyErrors() throws IOException {
+        TestRunner runner = TestRunners.newTestRunner(ConvertCSVToAvro.class);
+        runner.assertNotValid();
+        runner.setProperty(ConvertCSVToAvro.SCHEMA, SCHEMA.toString());
+        runner.assertValid();
+
+        runner.enqueue(streamFor(FAILURE_CONTENT));
+        runner.run();
+
+        long converted = runner.getCounterValue("Converted records");
+        long errors = runner.getCounterValue("Conversion errors");
+        Assert.assertEquals("Should convert 0 rows", 0, converted);
+        Assert.assertEquals("Should reject 1 row", 1, errors);
+
+        runner.assertTransferCount("success", 0);
+        runner.assertTransferCount("failure", 1);
+        runner.assertTransferCount("incompatible", 0);
+
+        MockFlowFile incompatible = runner.getFlowFilesForRelationship("failure").get(0);
+        Assert.assertEquals("Should set an error message",
+                FAILURE_SUMMARY, incompatible.getAttribute("errors"));
+    }
+
+    @Test
+    public void testEmptyContent() throws IOException {
+        TestRunner runner = TestRunners.newTestRunner(ConvertCSVToAvro.class);
+        runner.assertNotValid();
+        runner.setProperty(ConvertCSVToAvro.SCHEMA, SCHEMA.toString());
+        runner.assertValid();
+
+        runner.enqueue(streamFor(""));
+        runner.run();
+
+        long converted = runner.getCounterValue("Converted records");
+        long errors = runner.getCounterValue("Conversion errors");
+        Assert.assertEquals("Should convert 0 rows", 0, converted);
+        Assert.assertEquals("Should reject 0 row", 0, errors);
+
+        runner.assertTransferCount("success", 0);
+        runner.assertTransferCount("failure", 1);
+        runner.assertTransferCount("incompatible", 0);
+
+        MockFlowFile incompatible = runner.getFlowFilesForRelationship("failure").get(0);
+        Assert.assertEquals("Should set an error message",
+                "No incoming records", incompatible.getAttribute("errors"));
     }
 
     @Test
@@ -122,4 +194,24 @@ public class TestCSVToAvroProcessor {
         Assert.assertEquals("Lines to skip should match",
                 2, processor.props.linesToSkip);
     }
+
+    @Test
+    public void testBasicConversionNoErrors() throws IOException {
+        TestRunner runner = TestRunners.newTestRunner(ConvertCSVToAvro.class);
+        runner.assertNotValid();
+        runner.setProperty(ConvertCSVToAvro.SCHEMA, SCHEMA.toString());
+        runner.assertValid();
+
+        runner.enqueue(streamFor("1,green\n2,blue,\n3,grey,12.95"));
+        runner.run();
+
+        long converted = runner.getCounterValue("Converted records");
+        long errors = runner.getCounterValue("Conversion errors");
+        Assert.assertEquals("Should convert 3 rows", 3, converted);
+        Assert.assertEquals("Should reject 0 row", 0, errors);
+
+        runner.assertTransferCount("success", 1);
+        runner.assertTransferCount("failure", 0);
+        runner.assertTransferCount("incompatible", 0);
+    }
 }

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/2e32e0e2/nifi/nifi-nar-bundles/nifi-kite-bundle/nifi-kite-processors/src/test/java/org/apache/nifi/processors/kite/TestJSONToAvroProcessor.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-kite-bundle/nifi-kite-processors/src/test/java/org/apache/nifi/processors/kite/TestJSONToAvroProcessor.java b/nifi/nifi-nar-bundles/nifi-kite-bundle/nifi-kite-processors/src/test/java/org/apache/nifi/processors/kite/TestJSONToAvroProcessor.java
index 704d998..e0b4a6f 100644
--- a/nifi/nifi-nar-bundles/nifi-kite-bundle/nifi-kite-processors/src/test/java/org/apache/nifi/processors/kite/TestJSONToAvroProcessor.java
+++ b/nifi/nifi-nar-bundles/nifi-kite-bundle/nifi-kite-processors/src/test/java/org/apache/nifi/processors/kite/TestJSONToAvroProcessor.java
@@ -19,10 +19,11 @@
 package org.apache.nifi.processors.kite;
 
 import java.io.IOException;
+import java.nio.charset.StandardCharsets;
 
 import org.apache.avro.Schema;
 import org.apache.avro.SchemaBuilder;
-import org.apache.hadoop.hbase.util.Bytes;
+import org.apache.nifi.util.MockFlowFile;
 import org.apache.nifi.util.TestRunner;
 import org.apache.nifi.util.TestRunners;
 import org.junit.Assert;
@@ -41,11 +42,18 @@ public class TestJSONToAvroProcessor {
     public static final String JSON_CONTENT = ""
             + "{\"id\": 1,\"color\": \"green\"}"
             + "{\"id\": \"120V\", \"color\": \"blue\"}\n" // invalid, ID is a string
-            + "{\"id\": 10, \"color\": 15.23}\n" + // invalid, color as double
-            "{\"id\": 2, \"color\": \"grey\", \"price\": 12.95 }";
+            + "{\"id\": 10, \"color\": 15.23}\n" // invalid, color as double
+            + "{\"id\": 20, \"color\": 34}\n" // invalid, color as int
+            + "{\"id\": 2, \"color\": \"grey\", \"price\": 12.95 }";
 
-    public static final String FAILURE_CONTENT = "Cannot convert field id [Cannot convert to long: \"120V\"]\n"
-            + "Cannot convert field color [Cannot convert to string: 15.23]\n";
+    public static final String FAILURE_CONTENT = ""
+            + "{\"id\": \"120V\", \"color\": \"blue\"}\n"
+            + "{\"id\": 10, \"color\": 15.23}\n"
+            + "{\"id\": 20, \"color\": 34}\n";
+
+    public static final String FAILURE_SUMMARY = ""
+            + "Cannot convert field id: Cannot convert to long: \"120V\", "
+            + "Cannot convert field color: Cannot convert to string: 15.23 (1 similar failure)";
 
     @Test
     public void testBasicConversion() throws IOException {
@@ -60,13 +68,88 @@ public class TestJSONToAvroProcessor {
         long converted = runner.getCounterValue("Converted records");
         long errors = runner.getCounterValue("Conversion errors");
         Assert.assertEquals("Should convert 2 rows", 2, converted);
-        Assert.assertEquals("Should reject 2 rows", 2, errors);
+        Assert.assertEquals("Should reject 3 rows", 3, errors);
 
         runner.assertTransferCount("success", 1);
+        runner.assertTransferCount("failure", 0);
+        runner.assertTransferCount("incompatible", 1);
+
+        MockFlowFile incompatible = runner.getFlowFilesForRelationship("incompatible").get(0);
+        String failureContent = new String(runner.getContentAsByteArray(incompatible),
+                StandardCharsets.UTF_8);
+        Assert.assertEquals("Should reject an invalid string and double",
+                JSON_CONTENT, failureContent);
+        Assert.assertEquals("Should accumulate error messages",
+                FAILURE_SUMMARY, incompatible.getAttribute("errors"));
+    }
+
+    @Test
+    public void testOnlyErrors() throws IOException {
+        TestRunner runner = TestRunners.newTestRunner(ConvertJSONToAvro.class);
+        runner.assertNotValid();
+        runner.setProperty(ConvertJSONToAvro.SCHEMA, SCHEMA.toString());
+        runner.assertValid();
+
+        runner.enqueue(streamFor(FAILURE_CONTENT));
+        runner.run();
+
+        long converted = runner.getCounterValue("Converted records");
+        long errors = runner.getCounterValue("Conversion errors");
+        Assert.assertEquals("Should convert 0 rows", 0, converted);
+        Assert.assertEquals("Should reject 1 row", 3, errors);
+
+        runner.assertTransferCount("success", 0);
         runner.assertTransferCount("failure", 1);
+        runner.assertTransferCount("incompatible", 0);
+
+        MockFlowFile incompatible = runner.getFlowFilesForRelationship("failure").get(0);
+        Assert.assertEquals("Should set an error message",
+                FAILURE_SUMMARY, incompatible.getAttribute("errors"));
+    }
+
+    @Test
+    public void testEmptyContent() throws IOException {
+        TestRunner runner = TestRunners.newTestRunner(ConvertJSONToAvro.class);
+        runner.assertNotValid();
+        runner.setProperty(ConvertJSONToAvro.SCHEMA, SCHEMA.toString());
+        runner.assertValid();
 
-        String failureContent = Bytes.toString(runner.getContentAsByteArray(
-                runner.getFlowFilesForRelationship("failure").get(0)));
-        Assert.assertEquals("Should reject an invalid string and double", FAILURE_CONTENT, failureContent);
+        runner.enqueue(streamFor(""));
+        runner.run();
+
+        long converted = runner.getCounterValue("Converted records");
+        long errors = runner.getCounterValue("Conversion errors");
+        Assert.assertEquals("Should convert 0 rows", 0, converted);
+        Assert.assertEquals("Should reject 0 row", 0, errors);
+
+        runner.assertTransferCount("success", 0);
+        runner.assertTransferCount("failure", 1);
+        runner.assertTransferCount("incompatible", 0);
+
+        MockFlowFile incompatible = runner.getFlowFilesForRelationship("failure").get(0);
+        Assert.assertEquals("Should set an error message",
+                "No incoming records", incompatible.getAttribute("errors"));
+    }
+
+    @Test
+    public void testBasicConversionNoErrors() throws IOException {
+        TestRunner runner = TestRunners.newTestRunner(ConvertJSONToAvro.class);
+        runner.assertNotValid();
+        runner.setProperty(ConvertJSONToAvro.SCHEMA, SCHEMA.toString());
+        runner.assertValid();
+
+        runner.enqueue(streamFor(
+                "{\"id\": 1,\"color\": \"green\"}\n" +
+                        "{\"id\": 2, \"color\": \"grey\", \"price\": 12.95 }"));
+        runner.run();
+
+        long converted = runner.getCounterValue("Converted records");
+        long errors = runner.getCounterValue("Conversion errors");
+        Assert.assertEquals("Should convert 2 rows", 2, converted);
+        Assert.assertEquals("Should reject 0 row", 0, errors);
+
+        runner.assertTransferCount("success", 1);
+        runner.assertTransferCount("failure", 0);
+        runner.assertTransferCount("incompatible", 0);
     }
 }


[35/50] [abbrv] incubator-nifi git commit: Adding a plain socket factory for use with regular proxies

Posted by mc...@apache.org.
Adding a plain socket factory for use with regular proxies


Project: http://git-wip-us.apache.org/repos/asf/incubator-nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-nifi/commit/2ac61c59
Tree: http://git-wip-us.apache.org/repos/asf/incubator-nifi/tree/2ac61c59
Diff: http://git-wip-us.apache.org/repos/asf/incubator-nifi/diff/2ac61c59

Branch: refs/heads/master
Commit: 2ac61c5972d30eb3840ca6d4066f14f87e5adb00
Parents: 05772a0
Author: Andrew Hulbert <an...@ccri.com>
Authored: Mon Jun 8 15:29:14 2015 -0400
Committer: Mark Payne <ma...@hotmail.com>
Committed: Fri Jul 3 12:48:46 2015 -0400

----------------------------------------------------------------------
 .../java/org/apache/nifi/processors/standard/GetHTTP.java    | 8 +++++++-
 .../java/org/apache/nifi/processors/standard/PostHTTP.java   | 8 +++++++-
 2 files changed, 14 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/2ac61c59/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/GetHTTP.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/GetHTTP.java b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/GetHTTP.java
index 6e9acdd..1ecd170 100644
--- a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/GetHTTP.java
+++ b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/GetHTTP.java
@@ -62,6 +62,7 @@ import org.apache.http.config.Registry;
 import org.apache.http.config.RegistryBuilder;
 import org.apache.http.conn.HttpClientConnectionManager;
 import org.apache.http.conn.socket.ConnectionSocketFactory;
+import org.apache.http.conn.socket.PlainConnectionSocketFactory;
 import org.apache.http.conn.ssl.SSLConnectionSocketFactory;
 import org.apache.http.conn.ssl.SSLContexts;
 import org.apache.http.conn.ssl.TrustSelfSignedStrategy;
@@ -358,7 +359,12 @@ public class GetHTTP extends AbstractSessionFactoryProcessor {
 
             final SSLConnectionSocketFactory sslsf = new SSLConnectionSocketFactory(sslContext, new String[]{"TLSv1"}, null, SSLConnectionSocketFactory.BROWSER_COMPATIBLE_HOSTNAME_VERIFIER);
 
-            final Registry<ConnectionSocketFactory> socketFactoryRegistry = RegistryBuilder.<ConnectionSocketFactory>create().register("https", sslsf).build();
+            // Also include a plain socket factory for regular http connections (especially proxies)
+            final Registry<ConnectionSocketFactory> socketFactoryRegistry =
+                    RegistryBuilder.<ConnectionSocketFactory>create()
+                            .register("https", sslsf)
+                            .register("http", PlainConnectionSocketFactory.getSocketFactory())
+                            .build();
 
             conMan = new BasicHttpClientConnectionManager(socketFactoryRegistry);
         }

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/2ac61c59/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/PostHTTP.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/PostHTTP.java b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/PostHTTP.java
index 98056cb..1dc7aba 100644
--- a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/PostHTTP.java
+++ b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/PostHTTP.java
@@ -64,6 +64,7 @@ import org.apache.http.config.RegistryBuilder;
 import org.apache.http.conn.HttpClientConnectionManager;
 import org.apache.http.conn.ManagedHttpClientConnection;
 import org.apache.http.conn.socket.ConnectionSocketFactory;
+import org.apache.http.conn.socket.PlainConnectionSocketFactory;
 import org.apache.http.conn.ssl.SSLConnectionSocketFactory;
 import org.apache.http.conn.ssl.SSLContextBuilder;
 import org.apache.http.conn.ssl.SSLContexts;
@@ -362,7 +363,12 @@ public class PostHTTP extends AbstractProcessor {
 
             final SSLConnectionSocketFactory sslsf = new SSLConnectionSocketFactory(sslContext, new String[]{"TLSv1"}, null, SSLConnectionSocketFactory.BROWSER_COMPATIBLE_HOSTNAME_VERIFIER);
 
-            final Registry<ConnectionSocketFactory> socketFactoryRegistry = RegistryBuilder.<ConnectionSocketFactory>create().register("https", sslsf).build();
+            // Also use a plain socket factory for regular http connections (especially proxies)
+            final Registry<ConnectionSocketFactory> socketFactoryRegistry =
+                    RegistryBuilder.<ConnectionSocketFactory>create()
+                            .register("https", sslsf)
+                            .register("http", PlainConnectionSocketFactory.getSocketFactory())
+                            .build();
 
             conMan = new PoolingHttpClientConnectionManager(socketFactoryRegistry);
         }


[05/50] [abbrv] incubator-nifi git commit: NIFI-724: Enable bulletins for reporting tasks and controller services

Posted by mc...@apache.org.
NIFI-724: Enable bulletins for reporting tasks and controller services


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

Branch: refs/heads/master
Commit: e240e07aaebea1fd66b22fce8aec3f0005fd3f60
Parents: e767f5c
Author: Mark Payne <ma...@hotmail.com>
Authored: Wed Jun 24 14:03:34 2015 -0400
Committer: Mark Payne <ma...@hotmail.com>
Committed: Thu Jun 25 10:56:49 2015 -0400

----------------------------------------------------------------------
 .../org/apache/nifi/reporting/Bulletin.java     | 11 ++-
 .../apache/nifi/reporting/ComponentType.java    | 58 ++++++++++++++
 .../manager/impl/ClusteredReportingContext.java | 46 ++++++++++-
 .../cluster/manager/impl/WebClusterManager.java | 80 ++++++++++++--------
 .../org/apache/nifi/events/BulletinFactory.java | 30 ++++++--
 .../org/apache/nifi/events/SystemBulletin.java  |  2 +
 .../nifi/logging/LogRepositoryFactory.java      |  6 +-
 .../apache/nifi/controller/FlowController.java  | 35 ++++++---
 .../service/ControllerServiceLoader.java        | 11 +--
 .../nifi/events/VolatileBulletinRepository.java | 18 +++--
 .../org/apache/nifi/jaxb/AdaptedBulletin.java   | 10 +++
 .../org/apache/nifi/jaxb/BulletinAdapter.java   |  3 +-
 .../logging/ControllerServiceLogObserver.java   | 45 +++++++++++
 .../nifi/logging/ReportingTaskLogObserver.java  | 45 +++++++++++
 .../nifi/remote/StandardRemoteProcessGroup.java | 16 ++--
 .../nifi/remote/StandardRootGroupPort.java      |  4 +-
 16 files changed, 349 insertions(+), 71 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e240e07a/nifi/nifi-api/src/main/java/org/apache/nifi/reporting/Bulletin.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-api/src/main/java/org/apache/nifi/reporting/Bulletin.java b/nifi/nifi-api/src/main/java/org/apache/nifi/reporting/Bulletin.java
index 87443a3..fe370ae 100644
--- a/nifi/nifi-api/src/main/java/org/apache/nifi/reporting/Bulletin.java
+++ b/nifi/nifi-api/src/main/java/org/apache/nifi/reporting/Bulletin.java
@@ -34,6 +34,7 @@ public abstract class Bulletin implements Comparable<Bulletin> {
     private String groupId;
     private String sourceId;
     private String sourceName;
+    private ComponentType sourceType;
 
     protected Bulletin(final long id) {
         this.timestamp = new Date();
@@ -104,9 +105,17 @@ public abstract class Bulletin implements Comparable<Bulletin> {
         this.sourceName = sourceName;
     }
 
+    public ComponentType getSourceType() {
+        return sourceType;
+    }
+
+    public void setSourceType(ComponentType sourceType) {
+        this.sourceType = sourceType;
+    }
+
     @Override
     public String toString() {
-        return "Bulletin{" + "id=" + id + ", message=" + message + ", sourceName=" + sourceName + '}';
+        return "Bulletin{" + "id=" + id + ", message=" + message + ", sourceName=" + sourceName + ", sourceType=" + sourceType + '}';
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e240e07a/nifi/nifi-api/src/main/java/org/apache/nifi/reporting/ComponentType.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-api/src/main/java/org/apache/nifi/reporting/ComponentType.java b/nifi/nifi-api/src/main/java/org/apache/nifi/reporting/ComponentType.java
new file mode 100644
index 0000000..97f3538
--- /dev/null
+++ b/nifi/nifi-api/src/main/java/org/apache/nifi/reporting/ComponentType.java
@@ -0,0 +1,58 @@
+/*
+ * 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.nifi.reporting;
+
+/**
+ * An Enumeration for indicating which type of component a Bulletin is associated with
+ */
+public enum ComponentType {
+
+    /**
+     * Bulletin is associated with a Processor
+     */
+    PROCESSOR,
+
+    /**
+     * Bulletin is associated with a Remote Process Group
+     */
+    REMOTE_PROCESS_GROUP,
+
+    /**
+     * Bulletin is associated with an Input Port
+     */
+    INPUT_PORT,
+
+    /**
+     * Bulletin is associated with an Output Port
+     */
+    OUTPUT_PORT,
+
+    /**
+     * Bulletin is associated with a Reporting Task
+     */
+    REPORTING_TASK,
+
+    /**
+     * Bulletin is associated with a Controller Service
+     */
+    CONTROLLER_SERVICE,
+
+    /**
+     * Bulletin is a system-level bulletin, associated with the Flow Controller
+     */
+    FLOW_CONTROLLER;
+}

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e240e07a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-cluster/src/main/java/org/apache/nifi/cluster/manager/impl/ClusteredReportingContext.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-cluster/src/main/java/org/apache/nifi/cluster/manager/impl/ClusteredReportingContext.java b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-cluster/src/main/java/org/apache/nifi/cluster/manager/impl/ClusteredReportingContext.java
index e546f87..c6624cc 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-cluster/src/main/java/org/apache/nifi/cluster/manager/impl/ClusteredReportingContext.java
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-cluster/src/main/java/org/apache/nifi/cluster/manager/impl/ClusteredReportingContext.java
@@ -24,15 +24,18 @@ import org.apache.nifi.attribute.expression.language.PreparedQuery;
 import org.apache.nifi.attribute.expression.language.Query;
 import org.apache.nifi.components.PropertyDescriptor;
 import org.apache.nifi.components.PropertyValue;
+import org.apache.nifi.controller.ControllerService;
 import org.apache.nifi.controller.ControllerServiceLookup;
 import org.apache.nifi.controller.service.ControllerServiceProvider;
 import org.apache.nifi.controller.status.PortStatus;
 import org.apache.nifi.controller.status.ProcessGroupStatus;
 import org.apache.nifi.controller.status.ProcessorStatus;
+import org.apache.nifi.controller.status.RemoteProcessGroupStatus;
 import org.apache.nifi.events.BulletinFactory;
 import org.apache.nifi.processor.StandardPropertyValue;
 import org.apache.nifi.reporting.Bulletin;
 import org.apache.nifi.reporting.BulletinRepository;
+import org.apache.nifi.reporting.ComponentType;
 import org.apache.nifi.reporting.EventAccess;
 import org.apache.nifi.reporting.ReportingContext;
 import org.apache.nifi.reporting.Severity;
@@ -85,8 +88,9 @@ public class ClusteredReportingContext implements ReportingContext {
         final ProcessGroupStatus rootGroupStatus = eventAccess.getControllerStatus();
         final String groupId = findGroupId(rootGroupStatus, componentId);
         final String componentName = findComponentName(rootGroupStatus, componentId);
+        final ComponentType componentType = findComponentType(rootGroupStatus, componentId);
 
-        return BulletinFactory.createBulletin(groupId, componentId, componentName, category, severity.name(), message);
+        return BulletinFactory.createBulletin(groupId, componentId, componentType, componentName, category, severity.name(), message);
     }
 
     @Override
@@ -134,6 +138,46 @@ public class ClusteredReportingContext implements ReportingContext {
         return null;
     }
 
+    private ComponentType findComponentType(final ProcessGroupStatus groupStatus, final String componentId) {
+        for (final ProcessorStatus procStatus : groupStatus.getProcessorStatus()) {
+            if (procStatus.getId().equals(componentId)) {
+                return ComponentType.PROCESSOR;
+            }
+        }
+
+        for (final PortStatus portStatus : groupStatus.getInputPortStatus()) {
+            if (portStatus.getId().equals(componentId)) {
+                return ComponentType.INPUT_PORT;
+            }
+        }
+
+        for (final PortStatus portStatus : groupStatus.getOutputPortStatus()) {
+            if (portStatus.getId().equals(componentId)) {
+                return ComponentType.OUTPUT_PORT;
+            }
+        }
+
+        for (final RemoteProcessGroupStatus remoteStatus : groupStatus.getRemoteProcessGroupStatus()) {
+            if (remoteStatus.getId().equals(componentId)) {
+                return ComponentType.REMOTE_PROCESS_GROUP;
+            }
+        }
+
+        for (final ProcessGroupStatus childGroup : groupStatus.getProcessGroupStatus()) {
+            final ComponentType type = findComponentType(childGroup, componentId);
+            if (type != null) {
+                return type;
+            }
+        }
+
+        final ControllerService service = serviceProvider.getControllerService(componentId);
+        if (service != null) {
+            return ComponentType.CONTROLLER_SERVICE;
+        }
+
+        return null;
+    }
+
     private String findComponentName(final ProcessGroupStatus groupStatus, final String componentId) {
         for (final ProcessorStatus procStatus : groupStatus.getProcessorStatus()) {
             if (procStatus.getId().equals(componentId)) {

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e240e07a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-cluster/src/main/java/org/apache/nifi/cluster/manager/impl/WebClusterManager.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-cluster/src/main/java/org/apache/nifi/cluster/manager/impl/WebClusterManager.java b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-cluster/src/main/java/org/apache/nifi/cluster/manager/impl/WebClusterManager.java
index d6ba6db..9edc83f 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-cluster/src/main/java/org/apache/nifi/cluster/manager/impl/WebClusterManager.java
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-cluster/src/main/java/org/apache/nifi/cluster/manager/impl/WebClusterManager.java
@@ -129,6 +129,7 @@ import org.apache.nifi.controller.Heartbeater;
 import org.apache.nifi.controller.ReportingTaskNode;
 import org.apache.nifi.controller.ScheduledState;
 import org.apache.nifi.controller.StandardFlowSerializer;
+import org.apache.nifi.controller.StandardProcessorNode;
 import org.apache.nifi.controller.ValidationContextFactory;
 import org.apache.nifi.controller.exception.ComponentLifeCycleException;
 import org.apache.nifi.controller.reporting.ClusteredReportingTaskNode;
@@ -159,7 +160,12 @@ import org.apache.nifi.events.VolatileBulletinRepository;
 import org.apache.nifi.framework.security.util.SslContextFactory;
 import org.apache.nifi.io.socket.multicast.DiscoverableService;
 import org.apache.nifi.logging.ComponentLog;
+import org.apache.nifi.logging.ControllerServiceLogObserver;
+import org.apache.nifi.logging.LogLevel;
+import org.apache.nifi.logging.LogRepository;
+import org.apache.nifi.logging.LogRepositoryFactory;
 import org.apache.nifi.logging.NiFiLog;
+import org.apache.nifi.logging.ReportingTaskLogObserver;
 import org.apache.nifi.nar.ExtensionManager;
 import org.apache.nifi.nar.NarCloseable;
 import org.apache.nifi.nar.NarThreadContextClassLoader;
@@ -929,7 +935,7 @@ public class WebClusterManager implements HttpClusterManager, ProtocolHandler, C
             //optional properties for all ReportingTasks
             for (final Element taskElement : DomUtils.getChildElementsByTagName(tasksElement, "reportingTask")) {
                 //add global properties common to all tasks
-                Map<String, String> properties = new HashMap<>();
+                final Map<String, String> properties = new HashMap<>();
 
                 //get properties for the specific reporting task - id, name, class,
                 //and schedulingPeriod must be set
@@ -1080,6 +1086,11 @@ public class WebClusterManager implements HttpClusterManager, ProtocolHandler, C
             }
         }
 
+        // Register log observer to provide bulletins when reporting task logs anything at WARN level or above
+        final LogRepository logRepository = LogRepositoryFactory.getRepository(id);
+        logRepository.addObserver(StandardProcessorNode.BULLETIN_OBSERVER_ID, LogLevel.WARN,
+            new ReportingTaskLogObserver(getBulletinRepository(), taskNode));
+
         return taskNode;
     }
 
@@ -1368,7 +1379,14 @@ public class WebClusterManager implements HttpClusterManager, ProtocolHandler, C
 
     @Override
     public ControllerServiceNode createControllerService(final String type, final String id, final boolean firstTimeAdded) {
-        return controllerServiceProvider.createControllerService(type, id, firstTimeAdded);
+        final ControllerServiceNode serviceNode = controllerServiceProvider.createControllerService(type, id, firstTimeAdded);
+
+        // Register log observer to provide bulletins when reporting task logs anything at WARN level or above
+        final LogRepository logRepository = LogRepositoryFactory.getRepository(id);
+        logRepository.addObserver(StandardProcessorNode.BULLETIN_OBSERVER_ID, LogLevel.WARN,
+            new ControllerServiceLogObserver(getBulletinRepository(), serviceNode));
+
+        return serviceNode;
     }
 
     @Override
@@ -1630,7 +1648,7 @@ public class WebClusterManager implements HttpClusterManager, ProtocolHandler, C
         final String nodeAddress = nodeIdentifier.getApiAddress() + ":" + nodeIdentifier.getApiPort();
 
         // unmarshal the message
-        BulletinsPayload payload = BulletinsPayload.unmarshal(bulletins.getPayload());
+        final BulletinsPayload payload = BulletinsPayload.unmarshal(bulletins.getPayload());
         for (final Bulletin bulletin : payload.getBulletins()) {
             bulletin.setNodeAddress(nodeAddress);
             bulletinRepository.addBulletin(bulletin);
@@ -1688,7 +1706,7 @@ public class WebClusterManager implements HttpClusterManager, ProtocolHandler, C
 
             final int numPendingHeartbeats = mostRecentHeartbeats.size();
             if (heartbeatLogger.isDebugEnabled()) {
-                heartbeatLogger.debug(String.format("Handling %s heartbeat%s", numPendingHeartbeats, (numPendingHeartbeats > 1) ? "s" : ""));
+                heartbeatLogger.debug(String.format("Handling %s heartbeat%s", numPendingHeartbeats, numPendingHeartbeats > 1 ? "s" : ""));
             }
 
             for (final Heartbeat mostRecentHeartbeat : mostRecentHeartbeats) {
@@ -2130,7 +2148,7 @@ public class WebClusterManager implements HttpClusterManager, ProtocolHandler, C
         readLock.lock();
         try {
             final ClusterServicesBroadcaster broadcaster = this.servicesBroadcaster;
-            return (broadcaster != null && broadcaster.isRunning());
+            return broadcaster != null && broadcaster.isRunning();
         } finally {
             readLock.unlock("isBroadcasting");
         }
@@ -2323,7 +2341,7 @@ public class WebClusterManager implements HttpClusterManager, ProtocolHandler, C
                                 if (auditService != null) {
                                     try {
                                         auditService.addActions(clusterContext.getActions());
-                                    } catch (Throwable t) {
+                                    } catch (final Throwable t) {
                                         logger.warn("Unable to record actions: " + t.getMessage());
                                         if (logger.isDebugEnabled()) {
                                             logger.warn(StringUtils.EMPTY, t);
@@ -2834,7 +2852,7 @@ public class WebClusterManager implements HttpClusterManager, ProtocolHandler, C
                     continue;
                 }
 
-                final ProcessorEntity nodeResponseEntity = (nodeResponse == clientResponse) ? responseEntity : nodeResponse.getClientResponse().getEntity(ProcessorEntity.class);
+                final ProcessorEntity nodeResponseEntity = nodeResponse == clientResponse ? responseEntity : nodeResponse.getClientResponse().getEntity(ProcessorEntity.class);
                 final ProcessorDTO nodeProcessor = nodeResponseEntity.getProcessor();
                 processorMap.put(nodeResponse.getNodeId(), nodeProcessor);
             }
@@ -2851,7 +2869,7 @@ public class WebClusterManager implements HttpClusterManager, ProtocolHandler, C
                     continue;
                 }
 
-                final ProcessorsEntity nodeResponseEntity = (nodeResponse == clientResponse) ? responseEntity : nodeResponse.getClientResponse().getEntity(ProcessorsEntity.class);
+                final ProcessorsEntity nodeResponseEntity = nodeResponse == clientResponse ? responseEntity : nodeResponse.getClientResponse().getEntity(ProcessorsEntity.class);
                 final Set<ProcessorDTO> nodeProcessors = nodeResponseEntity.getProcessors();
 
                 for (final ProcessorDTO nodeProcessor : nodeProcessors) {
@@ -2892,7 +2910,7 @@ public class WebClusterManager implements HttpClusterManager, ProtocolHandler, C
                         continue;
                     }
 
-                    final ProcessGroupEntity nodeResponseEntity = (nodeResponse == clientResponse) ? responseEntity : nodeResponse.getClientResponse().getEntity(ProcessGroupEntity.class);
+                    final ProcessGroupEntity nodeResponseEntity = nodeResponse == clientResponse ? responseEntity : nodeResponse.getClientResponse().getEntity(ProcessGroupEntity.class);
                     final ProcessGroupDTO nodeProcessGroup = nodeResponseEntity.getProcessGroup();
 
                     for (final ProcessorDTO nodeProcessor : nodeProcessGroup.getContents().getProcessors()) {
@@ -2952,7 +2970,7 @@ public class WebClusterManager implements HttpClusterManager, ProtocolHandler, C
                         continue;
                     }
 
-                    final FlowSnippetEntity nodeResponseEntity = (nodeResponse == clientResponse) ? responseEntity : nodeResponse.getClientResponse().getEntity(FlowSnippetEntity.class);
+                    final FlowSnippetEntity nodeResponseEntity = nodeResponse == clientResponse ? responseEntity : nodeResponse.getClientResponse().getEntity(FlowSnippetEntity.class);
                     final FlowSnippetDTO nodeContents = nodeResponseEntity.getContents();
 
                     for (final ProcessorDTO nodeProcessor : nodeContents.getProcessors()) {
@@ -2995,7 +3013,7 @@ public class WebClusterManager implements HttpClusterManager, ProtocolHandler, C
 
             // create a new client response
             clientResponse = new NodeResponse(clientResponse, responseEntity);
-        } else if (hasSuccessfulClientResponse && (isRemoteProcessGroupEndpoint(uri, method))) {
+        } else if (hasSuccessfulClientResponse && isRemoteProcessGroupEndpoint(uri, method)) {
             final RemoteProcessGroupEntity responseEntity = clientResponse.getClientResponse().getEntity(RemoteProcessGroupEntity.class);
             final RemoteProcessGroupDTO remoteProcessGroup = responseEntity.getRemoteProcessGroup();
 
@@ -3005,7 +3023,7 @@ public class WebClusterManager implements HttpClusterManager, ProtocolHandler, C
                     continue;
                 }
 
-                final RemoteProcessGroupEntity nodeResponseEntity = (nodeResponse == clientResponse) ? responseEntity : nodeResponse.getClientResponse().getEntity(RemoteProcessGroupEntity.class);
+                final RemoteProcessGroupEntity nodeResponseEntity = nodeResponse == clientResponse ? responseEntity : nodeResponse.getClientResponse().getEntity(RemoteProcessGroupEntity.class);
                 final RemoteProcessGroupDTO nodeRemoteProcessGroup = nodeResponseEntity.getRemoteProcessGroup();
 
                 remoteProcessGroupMap.put(nodeResponse.getNodeId(), nodeRemoteProcessGroup);
@@ -3013,7 +3031,7 @@ public class WebClusterManager implements HttpClusterManager, ProtocolHandler, C
             mergeRemoteProcessGroup(remoteProcessGroup, remoteProcessGroupMap);
 
             clientResponse = new NodeResponse(clientResponse, responseEntity);
-        } else if (hasSuccessfulClientResponse && (isRemoteProcessGroupsEndpoint(uri, method))) {
+        } else if (hasSuccessfulClientResponse && isRemoteProcessGroupsEndpoint(uri, method)) {
             final RemoteProcessGroupsEntity responseEntity = clientResponse.getClientResponse().getEntity(RemoteProcessGroupsEntity.class);
             final Set<RemoteProcessGroupDTO> remoteProcessGroups = responseEntity.getRemoteProcessGroups();
 
@@ -3023,7 +3041,7 @@ public class WebClusterManager implements HttpClusterManager, ProtocolHandler, C
                     continue;
                 }
 
-                final RemoteProcessGroupsEntity nodeResponseEntity = (nodeResponse == clientResponse) ? responseEntity : nodeResponse.getClientResponse().getEntity(RemoteProcessGroupsEntity.class);
+                final RemoteProcessGroupsEntity nodeResponseEntity = nodeResponse == clientResponse ? responseEntity : nodeResponse.getClientResponse().getEntity(RemoteProcessGroupsEntity.class);
                 final Set<RemoteProcessGroupDTO> nodeRemoteProcessGroups = nodeResponseEntity.getRemoteProcessGroups();
 
                 for (final RemoteProcessGroupDTO nodeRemoteProcessGroup : nodeRemoteProcessGroups) {
@@ -3056,7 +3074,7 @@ public class WebClusterManager implements HttpClusterManager, ProtocolHandler, C
                     continue;
                 }
 
-                final ProvenanceEntity nodeResponseEntity = (nodeResponse == clientResponse) ? responseEntity : nodeResponse.getClientResponse().getEntity(ProvenanceEntity.class);
+                final ProvenanceEntity nodeResponseEntity = nodeResponse == clientResponse ? responseEntity : nodeResponse.getClientResponse().getEntity(ProvenanceEntity.class);
                 final ProvenanceDTO nodeQuery = nodeResponseEntity.getProvenance();
 
                 resultsMap.put(nodeResponse.getNodeId(), nodeQuery);
@@ -3084,7 +3102,7 @@ public class WebClusterManager implements HttpClusterManager, ProtocolHandler, C
                     continue;
                 }
 
-                final ControllerServiceEntity nodeResponseEntity = (nodeResponse == clientResponse) ? responseEntity : nodeResponse.getClientResponse().getEntity(ControllerServiceEntity.class);
+                final ControllerServiceEntity nodeResponseEntity = nodeResponse == clientResponse ? responseEntity : nodeResponse.getClientResponse().getEntity(ControllerServiceEntity.class);
                 final ControllerServiceDTO nodeControllerService = nodeResponseEntity.getControllerService();
 
                 resultsMap.put(nodeResponse.getNodeId(), nodeControllerService);
@@ -3102,7 +3120,7 @@ public class WebClusterManager implements HttpClusterManager, ProtocolHandler, C
                     continue;
                 }
 
-                final ControllerServicesEntity nodeResponseEntity = (nodeResponse == clientResponse) ? responseEntity : nodeResponse.getClientResponse().getEntity(ControllerServicesEntity.class);
+                final ControllerServicesEntity nodeResponseEntity = nodeResponse == clientResponse ? responseEntity : nodeResponse.getClientResponse().getEntity(ControllerServicesEntity.class);
                 final Set<ControllerServiceDTO> nodeControllerServices = nodeResponseEntity.getControllerServices();
 
                 for (final ControllerServiceDTO nodeControllerService : nodeControllerServices) {
@@ -3136,7 +3154,7 @@ public class WebClusterManager implements HttpClusterManager, ProtocolHandler, C
                 }
 
                 final ControllerServiceReferencingComponentsEntity nodeResponseEntity =
-                        (nodeResponse == clientResponse) ? responseEntity : nodeResponse.getClientResponse().getEntity(ControllerServiceReferencingComponentsEntity.class);
+                        nodeResponse == clientResponse ? responseEntity : nodeResponse.getClientResponse().getEntity(ControllerServiceReferencingComponentsEntity.class);
                 final Set<ControllerServiceReferencingComponentDTO> nodeReferencingComponents = nodeResponseEntity.getControllerServiceReferencingComponents();
 
                 resultsMap.put(nodeResponse.getNodeId(), nodeReferencingComponents);
@@ -3154,7 +3172,7 @@ public class WebClusterManager implements HttpClusterManager, ProtocolHandler, C
                     continue;
                 }
 
-                final ReportingTaskEntity nodeResponseEntity = (nodeResponse == clientResponse) ? responseEntity : nodeResponse.getClientResponse().getEntity(ReportingTaskEntity.class);
+                final ReportingTaskEntity nodeResponseEntity = nodeResponse == clientResponse ? responseEntity : nodeResponse.getClientResponse().getEntity(ReportingTaskEntity.class);
                 final ReportingTaskDTO nodeReportingTask = nodeResponseEntity.getReportingTask();
 
                 resultsMap.put(nodeResponse.getNodeId(), nodeReportingTask);
@@ -3172,7 +3190,7 @@ public class WebClusterManager implements HttpClusterManager, ProtocolHandler, C
                     continue;
                 }
 
-                final ReportingTasksEntity nodeResponseEntity = (nodeResponse == clientResponse) ? responseEntity : nodeResponse.getClientResponse().getEntity(ReportingTasksEntity.class);
+                final ReportingTasksEntity nodeResponseEntity = nodeResponse == clientResponse ? responseEntity : nodeResponse.getClientResponse().getEntity(ReportingTasksEntity.class);
                 final Set<ReportingTaskDTO> nodeReportingTasks = nodeResponseEntity.getReportingTasks();
 
                 for (final ReportingTaskDTO nodeReportingTask : nodeReportingTasks) {
@@ -3428,7 +3446,7 @@ public class WebClusterManager implements HttpClusterManager, ProtocolHandler, C
     }
 
     private boolean canChangeNodeState(final String method, final URI uri) {
-        return (HttpMethod.DELETE.equalsIgnoreCase(method) || HttpMethod.POST.equalsIgnoreCase(method) || HttpMethod.PUT.equalsIgnoreCase(method));
+        return HttpMethod.DELETE.equalsIgnoreCase(method) || HttpMethod.POST.equalsIgnoreCase(method) || HttpMethod.PUT.equalsIgnoreCase(method);
     }
 
     private void notifyDataFlowManagementServiceOfNodeStatusChange() {
@@ -3477,7 +3495,7 @@ public class WebClusterManager implements HttpClusterManager, ProtocolHandler, C
             public void run() {
                 logger.info("Entering safe mode...");
                 final int safeModeSeconds = (int) FormatUtils.getTimeDuration(properties.getClusterManagerSafeModeDuration(), TimeUnit.SECONDS);
-                final long timeToElect = (safeModeSeconds <= 0) ? Long.MAX_VALUE : threadStartTime + TimeUnit.MILLISECONDS.convert(safeModeSeconds, TimeUnit.SECONDS);
+                final long timeToElect = safeModeSeconds <= 0 ? Long.MAX_VALUE : threadStartTime + TimeUnit.MILLISECONDS.convert(safeModeSeconds, TimeUnit.SECONDS);
                 boolean exitSafeMode = false;
                 while (isRunning()) {
 
@@ -3819,7 +3837,7 @@ public class WebClusterManager implements HttpClusterManager, ProtocolHandler, C
 
     public static Date normalizeStatusSnapshotDate(final Date toNormalize, final long numMillis) {
         final long time = toNormalize.getTime();
-        return new Date(time - (time % numMillis));
+        return new Date(time - time % numMillis);
     }
 
     private NodeDTO createNodeDTO(final Node node) {
@@ -3861,8 +3879,8 @@ public class WebClusterManager implements HttpClusterManager, ProtocolHandler, C
         final List<NodeStatusHistoryDTO> nodeHistories = new ArrayList<>();
 
         StatusHistoryDTO lastStatusHistory = null;
-        Set<MetricDescriptor<?>> processorDescriptors = new LinkedHashSet<>();
-        Map<Date, List<StatusSnapshot>> snapshotsToAggregate = new TreeMap<>();
+        final Set<MetricDescriptor<?>> processorDescriptors = new LinkedHashSet<>();
+        final Map<Date, List<StatusSnapshot>> snapshotsToAggregate = new TreeMap<>();
 
         for (final Node node : getRawNodes()) {
             final ComponentStatusRepository statusRepository = componentMetricsRepositoryMap.get(node.getNodeId());
@@ -3942,8 +3960,8 @@ public class WebClusterManager implements HttpClusterManager, ProtocolHandler, C
         final List<NodeStatusHistoryDTO> nodeHistories = new ArrayList<>();
 
         StatusHistoryDTO lastStatusHistory = null;
-        Set<MetricDescriptor<?>> connectionDescriptors = new LinkedHashSet<>();
-        Map<Date, List<StatusSnapshot>> snapshotsToAggregate = new TreeMap<>();
+        final Set<MetricDescriptor<?>> connectionDescriptors = new LinkedHashSet<>();
+        final Map<Date, List<StatusSnapshot>> snapshotsToAggregate = new TreeMap<>();
 
         for (final Node node : getRawNodes()) {
             final ComponentStatusRepository statusRepository = componentMetricsRepositoryMap.get(node.getNodeId());
@@ -4006,8 +4024,8 @@ public class WebClusterManager implements HttpClusterManager, ProtocolHandler, C
         final List<NodeStatusHistoryDTO> nodeHistories = new ArrayList<>();
 
         StatusHistoryDTO lastStatusHistory = null;
-        Set<MetricDescriptor<?>> processGroupDescriptors = new LinkedHashSet<>();
-        Map<Date, List<StatusSnapshot>> snapshotsToAggregate = new TreeMap<>();
+        final Set<MetricDescriptor<?>> processGroupDescriptors = new LinkedHashSet<>();
+        final Map<Date, List<StatusSnapshot>> snapshotsToAggregate = new TreeMap<>();
 
         for (final Node node : getRawNodes()) {
             final ComponentStatusRepository statusRepository = componentMetricsRepositoryMap.get(node.getNodeId());
@@ -4070,8 +4088,8 @@ public class WebClusterManager implements HttpClusterManager, ProtocolHandler, C
         final List<NodeStatusHistoryDTO> nodeHistories = new ArrayList<>();
 
         StatusHistoryDTO lastStatusHistory = null;
-        Set<MetricDescriptor<?>> remoteProcessGroupDescriptors = new LinkedHashSet<>();
-        Map<Date, List<StatusSnapshot>> snapshotsToAggregate = new TreeMap<>();
+        final Set<MetricDescriptor<?>> remoteProcessGroupDescriptors = new LinkedHashSet<>();
+        final Map<Date, List<StatusSnapshot>> snapshotsToAggregate = new TreeMap<>();
 
         for (final Node node : getRawNodes()) {
             final ComponentStatusRepository statusRepository = componentMetricsRepositoryMap.get(node.getNodeId());

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e240e07a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core-api/src/main/java/org/apache/nifi/events/BulletinFactory.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core-api/src/main/java/org/apache/nifi/events/BulletinFactory.java b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core-api/src/main/java/org/apache/nifi/events/BulletinFactory.java
index d1d5e5b..4795827 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core-api/src/main/java/org/apache/nifi/events/BulletinFactory.java
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core-api/src/main/java/org/apache/nifi/events/BulletinFactory.java
@@ -17,24 +17,43 @@
 package org.apache.nifi.events;
 
 import java.util.concurrent.atomic.AtomicLong;
+
 import org.apache.nifi.connectable.Connectable;
 import org.apache.nifi.reporting.Bulletin;
+import org.apache.nifi.reporting.ComponentType;
 
-/**
- *
- */
 public final class BulletinFactory {
 
     private static final AtomicLong currentId = new AtomicLong(0);
 
     public static Bulletin createBulletin(final Connectable connectable, final String category, final String severity, final String message) {
-        return BulletinFactory.createBulletin(connectable.getProcessGroup().getIdentifier(), connectable.getIdentifier(), connectable.getName(), category, severity, message);
+        final ComponentType type;
+        switch (connectable.getConnectableType()) {
+            case REMOTE_INPUT_PORT:
+            case REMOTE_OUTPUT_PORT:
+                type = ComponentType.REMOTE_PROCESS_GROUP;
+                break;
+            case INPUT_PORT:
+                type = ComponentType.INPUT_PORT;
+                break;
+            case OUTPUT_PORT:
+                type = ComponentType.OUTPUT_PORT;
+                break;
+            case PROCESSOR:
+            default:
+                type = ComponentType.PROCESSOR;
+                break;
+        }
+
+        return BulletinFactory.createBulletin(connectable.getProcessGroup().getIdentifier(), connectable.getIdentifier(), type, connectable.getName(), category, severity, message);
     }
 
-    public static Bulletin createBulletin(final String groupId, final String sourceId, final String sourceName, final String category, final String severity, final String message) {
+    public static Bulletin createBulletin(final String groupId, final String sourceId, final ComponentType sourceType, final String sourceName,
+        final String category, final String severity, final String message) {
         final Bulletin bulletin = new ComponentBulletin(currentId.getAndIncrement());
         bulletin.setGroupId(groupId);
         bulletin.setSourceId(sourceId);
+        bulletin.setSourceType(sourceType);
         bulletin.setSourceName(sourceName);
         bulletin.setCategory(category);
         bulletin.setLevel(severity);
@@ -47,6 +66,7 @@ public final class BulletinFactory {
         bulletin.setCategory(category);
         bulletin.setLevel(severity);
         bulletin.setMessage(message);
+        bulletin.setSourceType(ComponentType.FLOW_CONTROLLER);
         return bulletin;
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e240e07a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core-api/src/main/java/org/apache/nifi/events/SystemBulletin.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core-api/src/main/java/org/apache/nifi/events/SystemBulletin.java b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core-api/src/main/java/org/apache/nifi/events/SystemBulletin.java
index f97dc46..3359e7e 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core-api/src/main/java/org/apache/nifi/events/SystemBulletin.java
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core-api/src/main/java/org/apache/nifi/events/SystemBulletin.java
@@ -17,6 +17,7 @@
 package org.apache.nifi.events;
 
 import org.apache.nifi.reporting.Bulletin;
+import org.apache.nifi.reporting.ComponentType;
 
 /**
  *
@@ -25,6 +26,7 @@ public class SystemBulletin extends Bulletin {
 
     SystemBulletin(final long id) {
         super(id);
+        setSourceType(ComponentType.FLOW_CONTROLLER);
     }
 
 }

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e240e07a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core-api/src/main/java/org/apache/nifi/logging/LogRepositoryFactory.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core-api/src/main/java/org/apache/nifi/logging/LogRepositoryFactory.java b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core-api/src/main/java/org/apache/nifi/logging/LogRepositoryFactory.java
index 76ca661..d7fa3fc 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core-api/src/main/java/org/apache/nifi/logging/LogRepositoryFactory.java
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core-api/src/main/java/org/apache/nifi/logging/LogRepositoryFactory.java
@@ -41,8 +41,8 @@ public class LogRepositoryFactory {
         logRepositoryClass = clazz;
     }
 
-    public static LogRepository getRepository(final String processorId) {
-        LogRepository repository = repositoryMap.get(requireNonNull(processorId));
+    public static LogRepository getRepository(final String componentId) {
+        LogRepository repository = repositoryMap.get(requireNonNull(componentId));
         if (repository == null) {
             try {
                 repository = logRepositoryClass.newInstance();
@@ -50,7 +50,7 @@ public class LogRepositoryFactory {
                 throw new RuntimeException(e);
             }
 
-            final LogRepository oldRepository = repositoryMap.putIfAbsent(processorId, repository);
+            final LogRepository oldRepository = repositoryMap.putIfAbsent(componentId, repository);
             if (oldRepository != null) {
                 repository = oldRepository;
             }

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e240e07a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/FlowController.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/FlowController.java b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/FlowController.java
index 2ffdd4e..b6edbbb 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/FlowController.java
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/FlowController.java
@@ -137,11 +137,13 @@ import org.apache.nifi.groups.RemoteProcessGroup;
 import org.apache.nifi.groups.RemoteProcessGroupPortDescriptor;
 import org.apache.nifi.groups.StandardProcessGroup;
 import org.apache.nifi.logging.ComponentLog;
+import org.apache.nifi.logging.ControllerServiceLogObserver;
 import org.apache.nifi.logging.LogLevel;
 import org.apache.nifi.logging.LogRepository;
 import org.apache.nifi.logging.LogRepositoryFactory;
 import org.apache.nifi.logging.ProcessorLog;
 import org.apache.nifi.logging.ProcessorLogObserver;
+import org.apache.nifi.logging.ReportingTaskLogObserver;
 import org.apache.nifi.nar.ExtensionManager;
 import org.apache.nifi.nar.NarCloseable;
 import org.apache.nifi.nar.NarThreadContextClassLoader;
@@ -593,7 +595,7 @@ public class FlowController implements EventAccess, ControllerServiceProvider, R
         writeLock.lock();
         try {
             if (startDelayedComponents) {
-                LOG.info("Starting {} processors/ports/funnels", (startConnectablesAfterInitialization.size() + startRemoteGroupPortsAfterInitialization.size()));
+                LOG.info("Starting {} processors/ports/funnels", startConnectablesAfterInitialization.size() + startRemoteGroupPortsAfterInitialization.size());
                 for (final Connectable connectable : startConnectablesAfterInitialization) {
                     if (connectable.getScheduledState() == ScheduledState.DISABLED) {
                         continue;
@@ -1012,7 +1014,7 @@ public class FlowController implements EventAccess, ControllerServiceProvider, R
     public boolean isTerminated() {
         this.readLock.lock();
         try {
-            return (null == this.timerDrivenEngineRef.get() || this.timerDrivenEngineRef.get().isTerminated());
+            return null == this.timerDrivenEngineRef.get() || this.timerDrivenEngineRef.get().isTerminated();
         } finally {
             this.readLock.unlock();
         }
@@ -1828,9 +1830,9 @@ public class FlowController implements EventAccess, ControllerServiceProvider, R
         } else if (id1.equals(id2)) {
             return true;
         } else {
-            final String comparable1 = (id1.equals(ROOT_GROUP_ID_ALIAS) ? getRootGroupId() : id1);
-            final String comparable2 = (id2.equals(ROOT_GROUP_ID_ALIAS) ? getRootGroupId() : id2);
-            return (comparable1.equals(comparable2));
+            final String comparable1 = id1.equals(ROOT_GROUP_ID_ALIAS) ? getRootGroupId() : id1;
+            final String comparable2 = id2.equals(ROOT_GROUP_ID_ALIAS) ? getRootGroupId() : id2;
+            return comparable1.equals(comparable2);
         }
     }
 
@@ -1964,7 +1966,7 @@ public class FlowController implements EventAccess, ControllerServiceProvider, R
         }
 
         final String searchId = id.equals(ROOT_GROUP_ID_ALIAS) ? getRootGroupId() : id;
-        return (root == null) ? null : root.findProcessGroup(searchId);
+        return root == null ? null : root.findProcessGroup(searchId);
     }
 
     @Override
@@ -2079,8 +2081,8 @@ public class FlowController implements EventAccess, ControllerServiceProvider, R
                 connStatus.setOutputBytes(connectionStatusReport.getContentSizeOut());
                 connStatus.setOutputCount(connectionStatusReport.getFlowFilesOut());
 
-                flowFilesTransferred += (connectionStatusReport.getFlowFilesIn() + connectionStatusReport.getFlowFilesOut());
-                bytesTransferred += (connectionStatusReport.getContentSizeIn() + connectionStatusReport.getContentSizeOut());
+                flowFilesTransferred += connectionStatusReport.getFlowFilesIn() + connectionStatusReport.getFlowFilesOut();
+                bytesTransferred += connectionStatusReport.getContentSizeIn() + connectionStatusReport.getContentSizeOut();
             }
 
             if (StringUtils.isNotBlank(conn.getName())) {
@@ -2552,6 +2554,12 @@ public class FlowController implements EventAccess, ControllerServiceProvider, R
         }
 
         reportingTasks.put(id, taskNode);
+
+        // Register log observer to provide bulletins when reporting task logs anything at WARN level or above
+        final LogRepository logRepository = LogRepositoryFactory.getRepository(id);
+        logRepository.addObserver(StandardProcessorNode.BULLETIN_OBSERVER_ID, LogLevel.WARN,
+            new ReportingTaskLogObserver(getBulletinRepository(), taskNode));
+
         return taskNode;
     }
 
@@ -2616,7 +2624,14 @@ public class FlowController implements EventAccess, ControllerServiceProvider, R
 
     @Override
     public ControllerServiceNode createControllerService(final String type, final String id, final boolean firstTimeAdded) {
-        return controllerServiceProvider.createControllerService(type, id, firstTimeAdded);
+        final ControllerServiceNode serviceNode = controllerServiceProvider.createControllerService(type, id, firstTimeAdded);
+
+        // Register log observer to provide bulletins when reporting task logs anything at WARN level or above
+        final LogRepository logRepository = LogRepositoryFactory.getRepository(id);
+        logRepository.addObserver(StandardProcessorNode.BULLETIN_OBSERVER_ID, LogLevel.WARN,
+            new ControllerServiceLogObserver(getBulletinRepository(), serviceNode));
+
+        return serviceNode;
     }
 
     @Override
@@ -3480,7 +3495,7 @@ public class FlowController implements EventAccess, ControllerServiceProvider, R
                     if (bulletin.getGroupId() == null) {
                         escapedBulletin = BulletinFactory.createBulletin(bulletin.getCategory(), bulletin.getLevel(), escapedBulletinMessage);
                     } else {
-                        escapedBulletin = BulletinFactory.createBulletin(bulletin.getGroupId(), bulletin.getSourceId(),
+                        escapedBulletin = BulletinFactory.createBulletin(bulletin.getGroupId(), bulletin.getSourceId(), bulletin.getSourceType(),
                                 bulletin.getSourceName(), bulletin.getCategory(), bulletin.getLevel(), escapedBulletinMessage);
                     }
                 } else {

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e240e07a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/service/ControllerServiceLoader.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/service/ControllerServiceLoader.java b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/service/ControllerServiceLoader.java
index 92fa3b2..b5c3855 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/service/ControllerServiceLoader.java
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/service/ControllerServiceLoader.java
@@ -48,11 +48,12 @@ public class ControllerServiceLoader {
     private static final Logger logger = LoggerFactory.getLogger(ControllerServiceLoader.class);
 
     public static List<ControllerServiceNode> loadControllerServices(
-            final ControllerServiceProvider provider,
-            final InputStream serializedStream,
-            final StringEncryptor encryptor,
-            final BulletinRepository bulletinRepo,
-            final boolean autoResumeState) throws IOException {
+        final ControllerServiceProvider provider,
+        final InputStream serializedStream,
+        final StringEncryptor encryptor,
+        final BulletinRepository bulletinRepo,
+        final boolean autoResumeState) throws IOException {
+
         final DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
         documentBuilderFactory.setNamespaceAware(true);
 

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e240e07a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/events/VolatileBulletinRepository.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/events/VolatileBulletinRepository.java b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/events/VolatileBulletinRepository.java
index a20e974..5172d34 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/events/VolatileBulletinRepository.java
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/events/VolatileBulletinRepository.java
@@ -27,6 +27,7 @@ import java.util.concurrent.TimeUnit;
 import org.apache.nifi.reporting.Bulletin;
 import org.apache.nifi.reporting.BulletinQuery;
 import org.apache.nifi.reporting.BulletinRepository;
+import org.apache.nifi.reporting.ComponentType;
 import org.apache.nifi.util.RingBuffer;
 import org.apache.nifi.util.RingBuffer.Filter;
 
@@ -167,7 +168,7 @@ public class VolatileBulletinRepository implements BulletinRepository {
         }
 
         final RingBuffer<Bulletin> buffer = componentMap.get(CONTROLLER_BULLETIN_STORE_KEY);
-        return (buffer == null) ? Collections.<Bulletin>emptyList() : buffer.getSelectedElements(new Filter<Bulletin>() {
+        return buffer == null ? Collections.<Bulletin>emptyList() : buffer.getSelectedElements(new Filter<Bulletin>() {
             @Override
             public boolean select(final Bulletin bulletin) {
                 return bulletin.getTimestamp().getTime() >= fiveMinutesAgo;
@@ -194,12 +195,12 @@ public class VolatileBulletinRepository implements BulletinRepository {
     }
 
     private RingBuffer<Bulletin> getBulletinBuffer(final Bulletin bulletin) {
-        final String groupId = getBulletinStoreKey(bulletin);
+        final String storageKey = getBulletinStoreKey(bulletin);
 
-        ConcurrentMap<String, RingBuffer<Bulletin>> componentMap = bulletinStoreMap.get(groupId);
+        ConcurrentMap<String, RingBuffer<Bulletin>> componentMap = bulletinStoreMap.get(storageKey);
         if (componentMap == null) {
             componentMap = new ConcurrentHashMap<>();
-            ConcurrentMap<String, RingBuffer<Bulletin>> existing = bulletinStoreMap.putIfAbsent(groupId, componentMap);
+            final ConcurrentMap<String, RingBuffer<Bulletin>> existing = bulletinStoreMap.putIfAbsent(storageKey, componentMap);
             if (existing != null) {
                 componentMap = existing;
             }
@@ -221,11 +222,16 @@ public class VolatileBulletinRepository implements BulletinRepository {
     }
 
     private String getBulletinStoreKey(final Bulletin bulletin) {
-        return isControllerBulletin(bulletin) ? CONTROLLER_BULLETIN_STORE_KEY : bulletin.getGroupId();
+        if (isControllerBulletin(bulletin)) {
+            return CONTROLLER_BULLETIN_STORE_KEY;
+        }
+
+        final String groupId = bulletin.getGroupId();
+        return groupId == null ? bulletin.getSourceId() : groupId;
     }
 
     private boolean isControllerBulletin(final Bulletin bulletin) {
-        return bulletin.getGroupId() == null;
+        return ComponentType.FLOW_CONTROLLER.equals(bulletin.getSourceType());
     }
 
     private class DefaultBulletinProcessingStrategy implements BulletinProcessingStrategy {

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e240e07a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/jaxb/AdaptedBulletin.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/jaxb/AdaptedBulletin.java b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/jaxb/AdaptedBulletin.java
index 6f1dc45..17c5991 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/jaxb/AdaptedBulletin.java
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/jaxb/AdaptedBulletin.java
@@ -18,6 +18,8 @@ package org.apache.nifi.jaxb;
 
 import java.util.Date;
 
+import org.apache.nifi.reporting.ComponentType;
+
 /**
  *
  */
@@ -32,6 +34,7 @@ public class AdaptedBulletin {
     private String groupId;
     private String sourceId;
     private String sourceName;
+    private ComponentType sourceType;
 
     public String getCategory() {
         return category;
@@ -97,4 +100,11 @@ public class AdaptedBulletin {
         this.timestamp = timestamp;
     }
 
+    public ComponentType getSourceType() {
+        return sourceType;
+    }
+
+    public void setSourceType(ComponentType sourceType) {
+        this.sourceType = sourceType;
+    }
 }

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e240e07a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/jaxb/BulletinAdapter.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/jaxb/BulletinAdapter.java b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/jaxb/BulletinAdapter.java
index b699348..acbe0dd 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/jaxb/BulletinAdapter.java
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/jaxb/BulletinAdapter.java
@@ -34,7 +34,7 @@ public class BulletinAdapter extends XmlAdapter<AdaptedBulletin, Bulletin> {
         if (b.getSourceId() == null) {
             return BulletinFactory.createBulletin(b.getCategory(), b.getLevel(), b.getMessage());
         } else {
-            return BulletinFactory.createBulletin(b.getGroupId(), b.getSourceId(), b.getSourceName(), b.getCategory(), b.getLevel(), b.getMessage());
+            return BulletinFactory.createBulletin(b.getGroupId(), b.getSourceId(), b.getSourceType(), b.getSourceName(), b.getCategory(), b.getLevel(), b.getMessage());
         }
     }
 
@@ -48,6 +48,7 @@ public class BulletinAdapter extends XmlAdapter<AdaptedBulletin, Bulletin> {
         aBulletin.setTimestamp(b.getTimestamp());
         aBulletin.setGroupId(b.getGroupId());
         aBulletin.setSourceId(b.getSourceId());
+        aBulletin.setSourceType(b.getSourceType());
         aBulletin.setSourceName(b.getSourceName());
         aBulletin.setCategory(b.getCategory());
         aBulletin.setLevel(b.getLevel());

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e240e07a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/logging/ControllerServiceLogObserver.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/logging/ControllerServiceLogObserver.java b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/logging/ControllerServiceLogObserver.java
new file mode 100644
index 0000000..837e1c4
--- /dev/null
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/logging/ControllerServiceLogObserver.java
@@ -0,0 +1,45 @@
+/*
+ * 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.nifi.logging;
+
+import org.apache.nifi.controller.service.ControllerServiceNode;
+import org.apache.nifi.events.BulletinFactory;
+import org.apache.nifi.reporting.Bulletin;
+import org.apache.nifi.reporting.BulletinRepository;
+import org.apache.nifi.reporting.ComponentType;
+import org.apache.nifi.reporting.Severity;
+
+public class ControllerServiceLogObserver implements LogObserver {
+    private final BulletinRepository bulletinRepository;
+    private final ControllerServiceNode serviceNode;
+
+    public ControllerServiceLogObserver(final BulletinRepository bulletinRepository, final ControllerServiceNode serviceNode) {
+        this.bulletinRepository = bulletinRepository;
+        this.serviceNode = serviceNode;
+    }
+
+    @Override
+    public void onLogMessage(final LogMessage message) {
+        // Map LogLevel.WARN to Severity.WARNING so that we are consistent with the Severity enumeration. Else, just use whatever
+        // the LogLevel is (INFO and ERROR map directly and all others we will just accept as they are).
+        final String bulletinLevel = message.getLevel() == LogLevel.WARN ? Severity.WARNING.name() : message.getLevel().toString();
+
+        final Bulletin bulletin = BulletinFactory.createBulletin(null, serviceNode.getIdentifier(), ComponentType.REPORTING_TASK,
+            serviceNode.getName(), "Log Message", bulletinLevel, message.getMessage());
+        bulletinRepository.addBulletin(bulletin);
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e240e07a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/logging/ReportingTaskLogObserver.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/logging/ReportingTaskLogObserver.java b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/logging/ReportingTaskLogObserver.java
new file mode 100644
index 0000000..e5638d6
--- /dev/null
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/logging/ReportingTaskLogObserver.java
@@ -0,0 +1,45 @@
+/*
+ * 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.nifi.logging;
+
+import org.apache.nifi.controller.ReportingTaskNode;
+import org.apache.nifi.events.BulletinFactory;
+import org.apache.nifi.reporting.Bulletin;
+import org.apache.nifi.reporting.BulletinRepository;
+import org.apache.nifi.reporting.ComponentType;
+import org.apache.nifi.reporting.Severity;
+
+public class ReportingTaskLogObserver implements LogObserver {
+    private final BulletinRepository bulletinRepository;
+    private final ReportingTaskNode taskNode;
+
+    public ReportingTaskLogObserver(final BulletinRepository bulletinRepository, final ReportingTaskNode taskNode) {
+        this.bulletinRepository = bulletinRepository;
+        this.taskNode = taskNode;
+    }
+
+    @Override
+    public void onLogMessage(final LogMessage message) {
+        // Map LogLevel.WARN to Severity.WARNING so that we are consistent with the Severity enumeration. Else, just use whatever
+        // the LogLevel is (INFO and ERROR map directly and all others we will just accept as they are).
+        final String bulletinLevel = message.getLevel() == LogLevel.WARN ? Severity.WARNING.name() : message.getLevel().toString();
+
+        final Bulletin bulletin = BulletinFactory.createBulletin(null, taskNode.getIdentifier(), ComponentType.REPORTING_TASK,
+            taskNode.getName(), "Log Message", bulletinLevel, message.getMessage());
+        bulletinRepository.addBulletin(bulletin);
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e240e07a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/remote/StandardRemoteProcessGroup.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/remote/StandardRemoteProcessGroup.java b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/remote/StandardRemoteProcessGroup.java
index d19b5c1..61516d0 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/remote/StandardRemoteProcessGroup.java
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/remote/StandardRemoteProcessGroup.java
@@ -57,6 +57,7 @@ import org.apache.nifi.groups.ProcessGroupCounts;
 import org.apache.nifi.groups.RemoteProcessGroup;
 import org.apache.nifi.groups.RemoteProcessGroupPortDescriptor;
 import org.apache.nifi.reporting.BulletinRepository;
+import org.apache.nifi.reporting.ComponentType;
 import org.apache.nifi.reporting.Severity;
 import org.apache.nifi.util.FormatUtils;
 import org.apache.nifi.util.NiFiProperties;
@@ -164,7 +165,8 @@ public class StandardRemoteProcessGroup implements RemoteProcessGroup {
                 final String groupId = StandardRemoteProcessGroup.this.getProcessGroup().getIdentifier();
                 final String sourceId = StandardRemoteProcessGroup.this.getIdentifier();
                 final String sourceName = StandardRemoteProcessGroup.this.getName();
-                bulletinRepository.addBulletin(BulletinFactory.createBulletin(groupId, sourceId, sourceName, category, severity.name(), message));
+                bulletinRepository.addBulletin(BulletinFactory.createBulletin(groupId, sourceId, ComponentType.REMOTE_PROCESS_GROUP,
+                    sourceName, category, severity.name(), message));
             }
         };
 
@@ -227,7 +229,7 @@ public class StandardRemoteProcessGroup implements RemoteProcessGroup {
     @Override
     public String getName() {
         final String name = this.name.get();
-        return (name == null) ? targetUri.toString() : name;
+        return name == null ? targetUri.toString() : name;
     }
 
     @Override
@@ -671,7 +673,7 @@ public class StandardRemoteProcessGroup implements RemoteProcessGroup {
 
     private ProcessGroup getRootGroup(final ProcessGroup context) {
         final ProcessGroup parent = context.getParent();
-        return (parent == null) ? context : getRootGroup(parent);
+        return parent == null ? context : getRootGroup(parent);
     }
 
     private boolean isWebApiSecure() {
@@ -714,7 +716,7 @@ public class StandardRemoteProcessGroup implements RemoteProcessGroup {
     public Date getLastRefreshTime() {
         readLock.lock();
         try {
-            return (refreshContentsTimestamp == null) ? null : new Date(refreshContentsTimestamp);
+            return refreshContentsTimestamp == null ? null : new Date(refreshContentsTimestamp);
         } finally {
             readLock.unlock();
         }
@@ -855,7 +857,7 @@ public class StandardRemoteProcessGroup implements RemoteProcessGroup {
         Set<RemoteProcessGroupPortDescriptor> remotePorts = null;
         if (ports != null) {
             remotePorts = new LinkedHashSet<>(ports.size());
-            for (PortDTO port : ports) {
+            for (final PortDTO port : ports) {
                 final StandardRemoteProcessGroupPortDescriptor descriptor = new StandardRemoteProcessGroupPortDescriptor();
                 final ScheduledState scheduledState = ScheduledState.valueOf(port.getState());
                 descriptor.setId(port.getId());
@@ -1093,7 +1095,7 @@ public class StandardRemoteProcessGroup implements RemoteProcessGroup {
                     }
 
                     final String remoteInstanceId = dto.getInstanceId();
-                    boolean isPointingToCluster = flowController.getInstanceId().equals(remoteInstanceId);
+                    final boolean isPointingToCluster = flowController.getInstanceId().equals(remoteInstanceId);
                     pointsToCluster.set(isPointingToCluster);
                 } else if (statusCode == UNAUTHORIZED_STATUS_CODE) {
                     try {
@@ -1120,7 +1122,7 @@ public class StandardRemoteProcessGroup implements RemoteProcessGroup {
                             new Object[]{this, response.getStatus(), response.getStatusInfo().getReasonPhrase(), message});
                     authorizationIssue = "Unable to determine Site-to-Site availability.";
                 }
-            } catch (Exception e) {
+            } catch (final Exception e) {
                 logger.warn(String.format("Unable to connect to %s due to %s", StandardRemoteProcessGroup.this, e));
                 getEventReporter().reportEvent(Severity.WARNING, "Site to Site", String.format("Unable to connect to %s due to %s",
                         StandardRemoteProcessGroup.this.getTargetUri().toString(), e));

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e240e07a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-site-to-site/src/main/java/org/apache/nifi/remote/StandardRootGroupPort.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-site-to-site/src/main/java/org/apache/nifi/remote/StandardRootGroupPort.java b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-site-to-site/src/main/java/org/apache/nifi/remote/StandardRootGroupPort.java
index 4bb1683..9eadec0 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-site-to-site/src/main/java/org/apache/nifi/remote/StandardRootGroupPort.java
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-site-to-site/src/main/java/org/apache/nifi/remote/StandardRootGroupPort.java
@@ -61,6 +61,7 @@ import org.apache.nifi.remote.exception.TransmissionDisabledException;
 import org.apache.nifi.remote.protocol.CommunicationsSession;
 import org.apache.nifi.remote.protocol.ServerProtocol;
 import org.apache.nifi.reporting.BulletinRepository;
+import org.apache.nifi.reporting.ComponentType;
 import org.apache.nifi.reporting.Severity;
 import org.apache.nifi.scheduling.SchedulingStrategy;
 import org.apache.nifi.user.NiFiUser;
@@ -108,7 +109,8 @@ public class StandardRootGroupPort extends AbstractPort implements RootGroupPort
                 final String groupId = StandardRootGroupPort.this.getProcessGroup().getIdentifier();
                 final String sourceId = StandardRootGroupPort.this.getIdentifier();
                 final String sourceName = StandardRootGroupPort.this.getName();
-                bulletinRepository.addBulletin(BulletinFactory.createBulletin(groupId, sourceId, sourceName, category, severity.name(), message));
+                final ComponentType componentType = direction == TransferDirection.RECEIVE ? ComponentType.INPUT_PORT : ComponentType.OUTPUT_PORT;
+                bulletinRepository.addBulletin(BulletinFactory.createBulletin(groupId, sourceId, componentType, sourceName, category, severity.name(), message));
             }
         };
 


[19/50] [abbrv] incubator-nifi git commit: NIFI-694: - Showing bulletins in the controller service and reporting task tables. - Fixed issue typo when emitting controller service bulletins.

Posted by mc...@apache.org.
NIFI-694:
- Showing bulletins in the controller service and reporting task tables.
- Fixed issue typo when emitting controller service bulletins.

Project: http://git-wip-us.apache.org/repos/asf/incubator-nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-nifi/commit/59aa8ffe
Tree: http://git-wip-us.apache.org/repos/asf/incubator-nifi/tree/59aa8ffe
Diff: http://git-wip-us.apache.org/repos/asf/incubator-nifi/diff/59aa8ffe

Branch: refs/heads/master
Commit: 59aa8ffe100645498fdd4cea2214a203e3a3d433
Parents: 7a28903
Author: Matt Gilman <ma...@gmail.com>
Authored: Tue Jun 30 14:14:57 2015 -0400
Committer: Matt Gilman <ma...@gmail.com>
Committed: Tue Jun 30 14:14:57 2015 -0400

----------------------------------------------------------------------
 .../apache/nifi/reporting/BulletinQuery.java    |  12 ++
 .../web/api/dto/status/ControllerStatusDTO.java |  33 +++-
 .../nifi/events/VolatileBulletinRepository.java |  13 +-
 .../logging/ControllerServiceLogObserver.java   |   5 +-
 .../nifi/web/StandardNiFiServiceFacade.java     |  19 +-
 .../org/apache/nifi/web/api/dto/DtoFactory.java |  22 ++-
 .../nifi/web/controller/ControllerFacade.java   |  43 ++--
 .../src/main/webapp/css/controller-service.css  |   9 +-
 .../src/main/webapp/js/nf/canvas/nf-canvas.js   |   3 +
 .../js/nf/canvas/nf-controller-service.js       |   9 +-
 .../src/main/webapp/js/nf/canvas/nf-settings.js | 194 +++++++++++++++++--
 11 files changed, 313 insertions(+), 49 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/59aa8ffe/nifi/nifi-api/src/main/java/org/apache/nifi/reporting/BulletinQuery.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-api/src/main/java/org/apache/nifi/reporting/BulletinQuery.java b/nifi/nifi-api/src/main/java/org/apache/nifi/reporting/BulletinQuery.java
index cb5d7b3..7ba2089 100644
--- a/nifi/nifi-api/src/main/java/org/apache/nifi/reporting/BulletinQuery.java
+++ b/nifi/nifi-api/src/main/java/org/apache/nifi/reporting/BulletinQuery.java
@@ -23,6 +23,7 @@ import java.util.regex.Pattern;
  */
 public class BulletinQuery {
 
+    private final ComponentType sourceType;
     private final Pattern sourceIdPattern;
     private final Pattern groupIdPattern;
     private final Pattern namePattern;
@@ -31,6 +32,7 @@ public class BulletinQuery {
     private final Integer limit;
 
     private BulletinQuery(final Builder builder) {
+        this.sourceType = builder.sourceType;
         this.sourceIdPattern = builder.sourceIdPattern == null ? null : Pattern.compile(builder.sourceIdPattern);
         this.groupIdPattern = builder.groupIdPattern == null ? null : Pattern.compile(builder.groupIdPattern);
         this.namePattern = builder.namePattern == null ? null : Pattern.compile(builder.namePattern);
@@ -39,6 +41,10 @@ public class BulletinQuery {
         this.limit = builder.limit;
     }
 
+    public ComponentType getSourceType() {
+        return sourceType;
+    }
+
     public Pattern getSourceIdPattern() {
         return sourceIdPattern;
     }
@@ -65,6 +71,7 @@ public class BulletinQuery {
 
     public static class Builder {
 
+        private ComponentType sourceType;
         private String sourceIdPattern;
         private String groupIdPattern;
         private String namePattern;
@@ -87,6 +94,11 @@ public class BulletinQuery {
             return this;
         }
 
+        public Builder sourceType(ComponentType sourceType) {
+            this.sourceType = sourceType;
+            return this;
+        }
+
         public Builder nameMatches(String name) {
             this.namePattern = name;
             return this;

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/59aa8ffe/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-client-dto/src/main/java/org/apache/nifi/web/api/dto/status/ControllerStatusDTO.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-client-dto/src/main/java/org/apache/nifi/web/api/dto/status/ControllerStatusDTO.java b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-client-dto/src/main/java/org/apache/nifi/web/api/dto/status/ControllerStatusDTO.java
index 7afc7bc..5d5eddf 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-client-dto/src/main/java/org/apache/nifi/web/api/dto/status/ControllerStatusDTO.java
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-client-dto/src/main/java/org/apache/nifi/web/api/dto/status/ControllerStatusDTO.java
@@ -40,6 +40,8 @@ public class ControllerStatusDTO {
     private Integer inactiveRemotePortCount;
 
     private List<BulletinDTO> bulletins;
+    private List<BulletinDTO> controllerServiceBulletins;
+    private List<BulletinDTO> reportingTaskBulletins;
 
     /**
      * The active thread count.
@@ -72,7 +74,8 @@ public class ControllerStatusDTO {
     }
 
     /**
-     * @return Used in clustering, will report the number of nodes connected vs the number of nodes in the cluster
+     * @return Used in clustering, will report the number of nodes connected vs
+     * the number of nodes in the cluster
      */
     @ApiModelProperty(
             value = "When clustered, reports the number of nodes connected vs the number of nodes in the cluster."
@@ -100,6 +103,34 @@ public class ControllerStatusDTO {
     }
 
     /**
+     * @return Controller service bulletins to be reported to the user
+     */
+    @ApiModelProperty(
+            value = "Controller service bulletins to be reported to the user."
+    )
+    public List<BulletinDTO> getControllerServiceBulletins() {
+        return controllerServiceBulletins;
+    }
+
+    public void setControllerServiceBulletins(List<BulletinDTO> controllerServiceBulletins) {
+        this.controllerServiceBulletins = controllerServiceBulletins;
+    }
+
+    /**
+     * @return Reporting task bulletins to be reported to the user
+     */
+    @ApiModelProperty(
+            value = "Reporting task bulletins to be reported to the user."
+    )
+    public List<BulletinDTO> getReportingTaskBulletins() {
+        return reportingTaskBulletins;
+    }
+
+    public void setReportingTaskBulletins(List<BulletinDTO> reportingTaskBulletins) {
+        this.reportingTaskBulletins = reportingTaskBulletins;
+    }
+
+    /**
      * @return whether or not there are pending user requests
      */
     @ApiModelProperty(

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/59aa8ffe/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/events/VolatileBulletinRepository.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/events/VolatileBulletinRepository.java b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/events/VolatileBulletinRepository.java
index 5172d34..c18fffd 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/events/VolatileBulletinRepository.java
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/events/VolatileBulletinRepository.java
@@ -102,6 +102,14 @@ public class VolatileBulletinRepository implements BulletinRepository {
                     }
                 }
 
+                // if a source component type was specified see if it should be excluded
+                if (bulletinQuery.getSourceType() != null) {
+                    // exclude if this bulletin source type doesn't match
+                    if (bulletin.getSourceType() == null || !bulletinQuery.getSourceType().equals(bulletin.getSourceType())) {
+                        return false;
+                    }
+                }
+
                 return true;
             }
         };
@@ -177,8 +185,9 @@ public class VolatileBulletinRepository implements BulletinRepository {
     }
 
     /**
-     * Overrides the default bulletin processing strategy. When a custom bulletin strategy is employed, bulletins will not be persisted in this repository and will sent to the specified strategy
-     * instead.
+     * Overrides the default bulletin processing strategy. When a custom
+     * bulletin strategy is employed, bulletins will not be persisted in this
+     * repository and will sent to the specified strategy instead.
      *
      * @param strategy bulletin strategy
      */

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/59aa8ffe/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/logging/ControllerServiceLogObserver.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/logging/ControllerServiceLogObserver.java b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/logging/ControllerServiceLogObserver.java
index 837e1c4..d9eaa12 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/logging/ControllerServiceLogObserver.java
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/logging/ControllerServiceLogObserver.java
@@ -24,6 +24,7 @@ import org.apache.nifi.reporting.ComponentType;
 import org.apache.nifi.reporting.Severity;
 
 public class ControllerServiceLogObserver implements LogObserver {
+
     private final BulletinRepository bulletinRepository;
     private final ControllerServiceNode serviceNode;
 
@@ -38,8 +39,8 @@ public class ControllerServiceLogObserver implements LogObserver {
         // the LogLevel is (INFO and ERROR map directly and all others we will just accept as they are).
         final String bulletinLevel = message.getLevel() == LogLevel.WARN ? Severity.WARNING.name() : message.getLevel().toString();
 
-        final Bulletin bulletin = BulletinFactory.createBulletin(null, serviceNode.getIdentifier(), ComponentType.REPORTING_TASK,
-            serviceNode.getName(), "Log Message", bulletinLevel, message.getMessage());
+        final Bulletin bulletin = BulletinFactory.createBulletin(null, serviceNode.getIdentifier(), ComponentType.CONTROLLER_SERVICE,
+                serviceNode.getName(), "Log Message", bulletinLevel, message.getMessage());
         bulletinRepository.addBulletin(bulletin);
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/59aa8ffe/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/StandardNiFiServiceFacade.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/StandardNiFiServiceFacade.java b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/StandardNiFiServiceFacade.java
index 903b872..4e50ff3 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/StandardNiFiServiceFacade.java
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/StandardNiFiServiceFacade.java
@@ -159,6 +159,7 @@ import org.apache.nifi.controller.ScheduledState;
 import org.apache.nifi.controller.service.ControllerServiceNode;
 import org.apache.nifi.controller.service.ControllerServiceReference;
 import org.apache.nifi.controller.service.ControllerServiceState;
+import org.apache.nifi.reporting.ComponentType;
 import org.apache.nifi.web.api.dto.ControllerServiceDTO;
 import org.apache.nifi.web.api.dto.ControllerServiceReferencingComponentDTO;
 import org.apache.nifi.web.api.dto.PropertyDescriptorDTO;
@@ -1578,12 +1579,15 @@ public class StandardNiFiServiceFacade implements NiFiServiceFacade {
 
             // get the bulletins for the controller
             final BulletinRepository bulletinRepository = clusterManager.getBulletinRepository();
-            final List<Bulletin> results = bulletinRepository.findBulletinsForController();
-            final List<BulletinDTO> bulletinDtos = new ArrayList<>(results.size());
-            for (final Bulletin bulletin : results) {
-                bulletinDtos.add(dtoFactory.createBulletinDto(bulletin));
-            }
-            controllerStatus.setBulletins(bulletinDtos);
+            controllerStatus.setBulletins(dtoFactory.createBulletinDtos(bulletinRepository.findBulletinsForController()));
+
+            // get the controller service bulletins
+            final BulletinQuery controllerServiceQuery = new BulletinQuery.Builder().sourceType(ComponentType.CONTROLLER_SERVICE).build();
+            controllerStatus.setControllerServiceBulletins(dtoFactory.createBulletinDtos(bulletinRepository.findBulletins(controllerServiceQuery)));
+
+            // get the reporting task bulletins
+            final BulletinQuery reportingTaskQuery = new BulletinQuery.Builder().sourceType(ComponentType.REPORTING_TASK).build();
+            controllerStatus.setReportingTaskBulletins(dtoFactory.createBulletinDtos(bulletinRepository.findBulletins(reportingTaskQuery)));
 
             // get the component counts by extracting them from the roots' group status
             final ProcessGroupStatus status = clusterManager.getProcessGroupStatus("root");
@@ -3019,7 +3023,8 @@ public class StandardNiFiServiceFacade implements NiFiServiceFacade {
     }
 
     /**
-     * Utility method for extracting component counts from the specified group status.
+     * Utility method for extracting component counts from the specified group
+     * status.
      */
     private ProcessGroupCounts extractProcessGroupCounts(ProcessGroupStatus groupStatus) {
         int running = 0;

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/59aa8ffe/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/api/dto/DtoFactory.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/api/dto/DtoFactory.java b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/api/dto/DtoFactory.java
index 54f11fb..76bce6f 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/api/dto/DtoFactory.java
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/api/dto/DtoFactory.java
@@ -1487,6 +1487,20 @@ public final class DtoFactory {
     }
 
     /**
+     * Creates BulletinDTOs for the specified Bulletins.
+     *
+     * @param bulletins bulletin
+     * @return dto
+     */
+    public List<BulletinDTO> createBulletinDtos(final List<Bulletin> bulletins) {
+        final List<BulletinDTO> bulletinDtos = new ArrayList<>(bulletins.size());
+        for (final Bulletin bulletin : bulletins) {
+            bulletinDtos.add(createBulletinDto(bulletin));
+        }
+        return bulletinDtos;
+    }
+
+    /**
      * Creates a BulletinDTO for the specified Bulletin.
      *
      * @param bulletin bulletin
@@ -1507,7 +1521,8 @@ public final class DtoFactory {
     }
 
     /**
-     * Creates a ProvenanceEventNodeDTO for the specified ProvenanceEventLineageNode.
+     * Creates a ProvenanceEventNodeDTO for the specified
+     * ProvenanceEventLineageNode.
      *
      * @param node node
      * @return dto
@@ -2158,8 +2173,9 @@ public final class DtoFactory {
     /**
      *
      * @param original orig
-     * @param deep if <code>true</code>, all Connections, ProcessGroups, Ports, Processors, etc. will be copied. If <code>false</code>, the copy will have links to the same objects referenced by
-     * <code>original</code>.
+     * @param deep if <code>true</code>, all Connections, ProcessGroups, Ports,
+     * Processors, etc. will be copied. If <code>false</code>, the copy will
+     * have links to the same objects referenced by <code>original</code>.
      *
      * @return dto
      */

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/59aa8ffe/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/controller/ControllerFacade.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/controller/ControllerFacade.java b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/controller/ControllerFacade.java
index b614f0a..8bf5553 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/controller/ControllerFacade.java
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/controller/ControllerFacade.java
@@ -75,7 +75,6 @@ import org.apache.nifi.provenance.search.SearchTerm;
 import org.apache.nifi.provenance.search.SearchTerms;
 import org.apache.nifi.provenance.search.SearchableField;
 import org.apache.nifi.remote.RootGroupPort;
-import org.apache.nifi.reporting.Bulletin;
 import org.apache.nifi.reporting.BulletinRepository;
 import org.apache.nifi.reporting.ReportingTask;
 import org.apache.nifi.scheduling.SchedulingStrategy;
@@ -88,7 +87,6 @@ import org.apache.nifi.util.FormatUtils;
 import org.apache.nifi.util.NiFiProperties;
 import org.apache.nifi.web.NiFiCoreException;
 import org.apache.nifi.web.ResourceNotFoundException;
-import org.apache.nifi.web.api.dto.BulletinDTO;
 import org.apache.nifi.web.api.dto.DocumentedTypeDTO;
 import org.apache.nifi.web.api.dto.DtoFactory;
 import org.apache.nifi.web.api.dto.provenance.AttributeDTO;
@@ -113,6 +111,8 @@ import org.apache.commons.lang3.StringUtils;
 import org.apache.nifi.admin.service.UserService;
 import org.apache.nifi.authorization.DownloadAuthorization;
 import org.apache.nifi.processor.DataUnit;
+import org.apache.nifi.reporting.BulletinQuery;
+import org.apache.nifi.reporting.ComponentType;
 import org.apache.nifi.web.security.user.NiFiUserUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -441,12 +441,15 @@ public class ControllerFacade {
         controllerStatus.setQueued(FormatUtils.formatCount(controllerQueueSize.getObjectCount()) + " / " + FormatUtils.formatDataSize(controllerQueueSize.getByteCount()));
 
         final BulletinRepository bulletinRepository = getBulletinRepository();
-        final List<Bulletin> results = bulletinRepository.findBulletinsForController();
-        final List<BulletinDTO> bulletinDtos = new ArrayList<>(results.size());
-        for (final Bulletin bulletin : results) {
-            bulletinDtos.add(dtoFactory.createBulletinDto(bulletin));
-        }
-        controllerStatus.setBulletins(bulletinDtos);
+        controllerStatus.setBulletins(dtoFactory.createBulletinDtos(bulletinRepository.findBulletinsForController()));
+
+        // get the controller service bulletins
+        final BulletinQuery controllerServiceQuery = new BulletinQuery.Builder().sourceType(ComponentType.CONTROLLER_SERVICE).build();
+        controllerStatus.setControllerServiceBulletins(dtoFactory.createBulletinDtos(bulletinRepository.findBulletins(controllerServiceQuery)));
+
+        // get the reporting task bulletins
+        final BulletinQuery reportingTaskQuery = new BulletinQuery.Builder().sourceType(ComponentType.REPORTING_TASK).build();
+        controllerStatus.setReportingTaskBulletins(dtoFactory.createBulletinDtos(bulletinRepository.findBulletins(reportingTaskQuery)));
 
         final ProcessGroupCounts counts = rootGroup.getCounts();
         controllerStatus.setRunningCount(counts.getRunningCount());
@@ -494,36 +497,44 @@ public class ControllerFacade {
     }
 
     /**
-     * Returns the socket port that the Cluster Manager is listening on for Site-to-Site communications
+     * Returns the socket port that the Cluster Manager is listening on for
+     * Site-to-Site communications
      *
-     * @return the socket port that the Cluster Manager is listening on for Site-to-Site communications
+     * @return the socket port that the Cluster Manager is listening on for
+     * Site-to-Site communications
      */
     public Integer getClusterManagerRemoteSiteListeningPort() {
         return flowController.getClusterManagerRemoteSiteListeningPort();
     }
 
     /**
-     * Indicates whether or not Site-to-Site communications with the Cluster Manager are secure
+     * Indicates whether or not Site-to-Site communications with the Cluster
+     * Manager are secure
      *
-     * @return whether or not Site-to-Site communications with the Cluster Manager are secure
+     * @return whether or not Site-to-Site communications with the Cluster
+     * Manager are secure
      */
     public Boolean isClusterManagerRemoteSiteCommsSecure() {
         return flowController.isClusterManagerRemoteSiteCommsSecure();
     }
 
     /**
-     * Returns the socket port that the local instance is listening on for Site-to-Site communications
+     * Returns the socket port that the local instance is listening on for
+     * Site-to-Site communications
      *
-     * @return the socket port that the local instance is listening on for Site-to-Site communications
+     * @return the socket port that the local instance is listening on for
+     * Site-to-Site communications
      */
     public Integer getRemoteSiteListeningPort() {
         return flowController.getRemoteSiteListeningPort();
     }
 
     /**
-     * Indicates whether or not Site-to-Site communications with the local instance are secure
+     * Indicates whether or not Site-to-Site communications with the local
+     * instance are secure
      *
-     * @return whether or not Site-to-Site communications with the local instance are secure
+     * @return whether or not Site-to-Site communications with the local
+     * instance are secure
      */
     public Boolean isRemoteSiteCommsSecure() {
         return flowController.isRemoteSiteCommsSecure();

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/59aa8ffe/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/css/controller-service.css
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/css/controller-service.css b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/css/controller-service.css
index 4a82810..9d87994 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/css/controller-service.css
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/css/controller-service.css
@@ -133,9 +133,12 @@ div.referencing-component-bulletins {
     display: none;
 }
 
-span.service.expansion-button {
+div.service.expansion-button {
+    float: left;
     margin-right: 4px;
     margin-top: 2px;
+    width: 10px;
+    height: 10px;
 }
 
 span.referencing-component-active-thread-count {
@@ -197,6 +200,8 @@ div.referencing-component-references {
 
 #disable-controller-service-name {
     float: left;
+    max-width: 280px;
+    text-overflow: ellipsis;
 }
 
 #disable-controller-service-bulletins {
@@ -246,6 +251,8 @@ div.referencing-component-references {
 
 #enable-controller-service-name {
     float: left;
+    max-width: 280px;
+    text-overflow: ellipsis;
 }
 
 #enable-controller-service-bulletins {

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/59aa8ffe/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-canvas.js
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-canvas.js b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-canvas.js
index ca45a3d..06ef89f 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-canvas.js
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-canvas.js
@@ -833,6 +833,9 @@ nf.Canvas = (function () {
                         bulletinIcon.show();
                     }
                 }
+                
+                // update controller service and reporting task bulletins
+                nf.Settings.setBulletins(controllerStatus.controllerServiceBulletins, controllerStatus.reportingTaskBulletins);
 
                 // handle any pending user request
                 if (controllerStatus.hasPendingAccounts === true) {

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/59aa8ffe/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-controller-service.js
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-controller-service.js b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-controller-service.js
index baa9edc..efcf9fb 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-controller-service.js
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-controller-service.js
@@ -149,7 +149,10 @@ nf.ControllerService = (function () {
         // get the table and update the row accordingly
         var controllerServiceGrid = $('#controller-services-table').data('gridInstance');
         var controllerServiceData = controllerServiceGrid.getData();
-        controllerServiceData.updateItem(controllerService.id, controllerService);
+        var currentControllerService = controllerServiceData.getItemById(controllerService.id);
+        controllerServiceData.updateItem(controllerService.id, $.extend({
+            bulletins: currentControllerService.bulletins
+        }, controllerService));
     };
     
     /**
@@ -426,7 +429,7 @@ nf.ControllerService = (function () {
                 
                 // container for this service's references
                 var referencingServiceReferencesContainer = $('<div class="referencing-component-references hidden"></div>');
-                var serviceTwist = $('<span class="service expansion-button collapsed pointer"></span>').on('click', function() {
+                var serviceTwist = $('<div class="service expansion-button collapsed pointer"></div>').on('click', function() {
                     if (serviceTwist.hasClass('collapsed')) {
                         var controllerServiceGrid = $('#controller-services-table').data('gridInstance');
                         var controllerServiceData = controllerServiceGrid.getData();
@@ -511,7 +514,7 @@ nf.ControllerService = (function () {
                 return;
             }
             
-            var twist = $('<span class="expansion-button expanded"></span>');
+            var twist = $('<div class="expansion-button expanded"></div>');
             var title = $('<span class="referencing-component-title"></span>').text(titleText);
             var count = $('<span class="referencing-component-count"></span>').text('(' + list.children().length + ')');
             

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/59aa8ffe/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-settings.js
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-settings.js b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-settings.js
index d323892..3715110 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-settings.js
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-settings.js
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-/* global nf, Slick */
+/* global nf, Slick, d3 */
 
 nf.Settings = (function () {
 
@@ -600,9 +600,21 @@ nf.Settings = (function () {
         // more details formatter
         var moreControllerServiceDetails = function (row, cell, value, columnDef, dataContext) {
             var markup = '<img src="images/iconDetails.png" title="View Details" class="pointer view-controller-service" style="margin-top: 5px; float: left;" />';
-            if (!nf.Common.isEmpty(dataContext.validationErrors)) {
-                markup += '<img src="images/iconAlert.png" class="has-errors" style="margin-top: 4px; margin-left: 4px; float: left;" /><span class="hidden row-id">' + nf.Common.escapeHtml(dataContext.id) + '</span>';
+            var hasErrors = !nf.Common.isEmpty(dataContext.validationErrors);
+            var hasBulletins = !nf.Common.isEmpty(dataContext.bulletins);
+            
+            if (hasErrors) {
+                markup += '<img src="images/iconAlert.png" class="has-errors" style="margin-top: 4px; margin-left: 1px; float: left;" />';
+            }
+            
+            if (hasBulletins) {
+                markup += '<img src="images/iconBulletin.png" class="has-bulletins" style="margin-top: 5px; margin-left: 5px; float: left;"/>';
+            }
+            
+            if (hasErrors || hasBulletins) {
+                markup += '<span class="hidden row-id">' + nf.Common.escapeHtml(dataContext.id) + '</span>';
             }
+            
             return markup;
         };
         
@@ -642,7 +654,12 @@ nf.Settings = (function () {
                     markup += '<img src="images/iconDisable.png" title="Disable" class="pointer disable-controller-service" style="margin-top: 2px;" />&nbsp;';
                 } else if (dataContext.state === 'DISABLED') {
                     markup += '<img src="images/iconEdit.png" title="Edit" class="pointer edit-controller-service" style="margin-top: 2px;" />&nbsp;';
-                    markup += '<img src="images/iconEnable.png" title="Enable" class="pointer enable-controller-service" style="margin-top: 2px;"/>&nbsp;';
+                    
+                    // if there are no validation errors allow enabling
+                    if (nf.Common.isEmpty(dataContext.validationErrors)) {
+                        markup += '<img src="images/iconEnable.png" title="Enable" class="pointer enable-controller-service" style="margin-top: 2px;"/>&nbsp;';
+                    }
+                    
                     markup += '<img src="images/iconDelete.png" title="Remove" class="pointer delete-controller-service" style="margin-top: 2px;" />&nbsp;';
                 }
             }
@@ -655,7 +672,7 @@ nf.Settings = (function () {
 
         // define the column model for the controller services table
         var controllerServicesColumns = [
-            {id: 'moreDetails', name: '&nbsp;', resizable: false, formatter: moreControllerServiceDetails, sortable: false, width: 50, maxWidth: 50},
+            {id: 'moreDetails', name: '&nbsp;', resizable: false, formatter: moreControllerServiceDetails, sortable: false, width: 65, maxWidth: 65},
             {id: 'name', field: 'name', name: 'Name', sortable: true, resizable: true},
             {id: 'type', field: 'type', name: 'Type', formatter: typeFormatter, sortable: true, resizable: true},
             {id: 'state', field: 'state', name: 'State', formatter: controllerServiceStateFormatter, sortable: true, resizeable: true}
@@ -767,6 +784,34 @@ nf.Settings = (function () {
                     }, nf.Common.config.tooltipConfig));
                 }
             }
+            
+            var bulletinIcon = $(this).find('img.has-bulletins');
+            if (bulletinIcon.length && !bulletinIcon.data('qtip')) {
+                var taskId = $(this).find('span.row-id').text();
+
+                // get the task item
+                var item = controllerServicesData.getItemById(taskId);
+                
+                // format the tooltip
+                var bulletins = nf.Common.getFormattedBulletins(item.bulletins);
+                var tooltip = nf.Common.formatUnorderedList(bulletins);
+
+                // show the tooltip
+                if (nf.Common.isDefinedAndNotNull(tooltip)) {
+                    bulletinIcon.qtip($.extend({}, nf.Common.config.tooltipConfig, {
+                        content: tooltip,
+                        position: {
+                            target: 'mouse',
+                            viewport: $(window),
+                            adjust: {
+                                x: 8,
+                                y: 8,
+                                method: 'flipinvert flipinvert'
+                            }
+                        }
+                    }));
+                }
+            }
         });
     };
 
@@ -785,7 +830,9 @@ nf.Settings = (function () {
             var nodeServices = response.controllerServices;
             if (nf.Common.isDefinedAndNotNull(nodeServices)) {
                 $.each(nodeServices, function (_, nodeService) {
-                    services.push(nodeService);
+                    services.push($.extend({
+                        bulletins: []
+                    }, nodeService));
                 });
             }
         });
@@ -801,7 +848,9 @@ nf.Settings = (function () {
                     var ncmServices = response.controllerServices;
                     if (nf.Common.isDefinedAndNotNull(ncmServices)) {
                         $.each(ncmServices, function (_, ncmService) {
-                            services.push(ncmService);
+                            services.push($.extend({
+                                bulletins: []
+                            }, ncmService));
                         });
                     }
                     deferred.resolve();
@@ -817,6 +866,7 @@ nf.Settings = (function () {
         return $.when(nodeControllerServices, ncmControllerServices).done(function () {
             var controllerServicesElement = $('#controller-services-table');
             nf.Common.cleanUpTooltips(controllerServicesElement, 'img.has-errors');
+            nf.Common.cleanUpTooltips(controllerServicesElement, 'img.has-bulletins');
 
             var controllerServicesGrid = controllerServicesElement.data('gridInstance');
             var controllerServicesData = controllerServicesGrid.getData();
@@ -1198,9 +1248,21 @@ nf.Settings = (function () {
 
         var moreReportingTaskDetails = function (row, cell, value, columnDef, dataContext) {
             var markup = '<img src="images/iconDetails.png" title="View Details" class="pointer view-reporting-task" style="margin-top: 5px; float: left;" />';
-            if (!nf.Common.isEmpty(dataContext.validationErrors)) {
-                markup += '<img src="images/iconAlert.png" class="has-errors" style="margin-top: 4px; margin-left: 4px; float: left" /><span class="hidden row-id">' + nf.Common.escapeHtml(dataContext.id) + '</span>';
+            var hasErrors = !nf.Common.isEmpty(dataContext.validationErrors);
+            var hasBulletins = !nf.Common.isEmpty(dataContext.bulletins);
+            
+            if (hasErrors) {
+                markup += '<img src="images/iconAlert.png" class="has-errors" style="margin-top: 4px; margin-left: 1px; float: left;" />';
             }
+            
+            if (hasBulletins) {
+                markup += '<img src="images/iconBulletin.png" class="has-bulletins" style="margin-top: 5px; margin-left: 5px; float: left;"/>';
+            }
+            
+            if (hasErrors || hasBulletins) {
+                markup += '<span class="hidden row-id">' + nf.Common.escapeHtml(dataContext.id) + '</span>';
+            }
+            
             return markup;
         };
         
@@ -1239,7 +1301,12 @@ nf.Settings = (function () {
                     markup += '<img src="images/iconStop.png" title="Stop" class="pointer stop-reporting-task" style="margin-top: 2px;" />&nbsp;';
                 } else if (dataContext.state === 'STOPPED' || dataContext.state === 'DISABLED') {
                     markup += '<img src="images/iconEdit.png" title="Edit" class="pointer edit-reporting-task" style="margin-top: 2px;" />&nbsp;';
-                    markup += '<img src="images/iconRun.png" title="Start" class="pointer start-reporting-task" style="margin-top: 2px;"/>&nbsp;';
+                 
+                    // support starting when stopped and no validation errors
+                    if (dataContext.state === 'STOPPED' && nf.Common.isEmpty(dataContext.validationErrors)) {
+                        markup += '<img src="images/iconRun.png" title="Start" class="pointer start-reporting-task" style="margin-top: 2px;"/>&nbsp;';
+                    }
+                    
                     markup += '<img src="images/iconDelete.png" title="Remove" class="pointer delete-reporting-task" style="margin-top: 2px;" />&nbsp;';
                 }
             }
@@ -1252,7 +1319,7 @@ nf.Settings = (function () {
 
         // define the column model for the reporting tasks table
         var reportingTasksColumnModel = [
-            {id: 'moreDetails', field: 'moreDetails', name: '&nbsp;', resizable: false, formatter: moreReportingTaskDetails, sortable: true, width: 50, maxWidth: 50},
+            {id: 'moreDetails', field: 'moreDetails', name: '&nbsp;', resizable: false, formatter: moreReportingTaskDetails, sortable: true, width: 65, maxWidth: 65},
             {id: 'name', field: 'name', name: 'Name', sortable: true, resizable: true},
             {id: 'type', field: 'type', name: 'Type', sortable: true, resizable: true, formatter: typeFormatter},
             {id: 'state', field: 'state', name: 'Run Status', sortable: true, resizeable: true, formatter: reportingTaskRunStatusFormatter}
@@ -1342,7 +1409,7 @@ nf.Settings = (function () {
             if (errorIcon.length && !errorIcon.data('qtip')) {
                 var taskId = $(this).find('span.row-id').text();
 
-                // get the service item
+                // get the task item
                 var item = reportingTasksData.getItemById(taskId);
 
                 // format the errors
@@ -1364,6 +1431,34 @@ nf.Settings = (function () {
                     }, nf.Common.config.tooltipConfig));
                 }
             }
+            
+            var bulletinIcon = $(this).find('img.has-bulletins');
+            if (bulletinIcon.length && !bulletinIcon.data('qtip')) {
+                var taskId = $(this).find('span.row-id').text();
+
+                // get the task item
+                var item = reportingTasksData.getItemById(taskId);
+                
+                // format the tooltip
+                var bulletins = nf.Common.getFormattedBulletins(item.bulletins);
+                var tooltip = nf.Common.formatUnorderedList(bulletins);
+
+                // show the tooltip
+                if (nf.Common.isDefinedAndNotNull(tooltip)) {
+                    bulletinIcon.qtip($.extend({}, nf.Common.config.tooltipConfig, {
+                        content: tooltip,
+                        position: {
+                            target: 'mouse',
+                            viewport: $(window),
+                            adjust: {
+                                x: 8,
+                                y: 8,
+                                method: 'flipinvert flipinvert'
+                            }
+                        }
+                    }));
+                }
+            }
         });
     };
 
@@ -1382,7 +1477,9 @@ nf.Settings = (function () {
             var nodeTasks = response.reportingTasks;
             if (nf.Common.isDefinedAndNotNull(nodeTasks)) {
                 $.each(nodeTasks, function (_, nodeTask) {
-                    tasks.push(nodeTask);
+                    tasks.push($.extend({
+                        bulletins: []
+                    }, nodeTask));
                 });
             }
         });
@@ -1414,6 +1511,7 @@ nf.Settings = (function () {
         return $.when(nodeReportingTasks, ncmReportingTasks).done(function () {
             var reportingTasksElement = $('#reporting-tasks-table');
             nf.Common.cleanUpTooltips(reportingTasksElement, 'img.has-errors');
+            nf.Common.cleanUpTooltips(reportingTasksElement, 'img.has-bulletins');
 
             var reportingTasksGrid = reportingTasksElement.data('gridInstance');
             var reportingTasksData = reportingTasksGrid.getData();
@@ -1580,7 +1678,75 @@ nf.Settings = (function () {
             var reportingTasks = loadReportingTasks();
 
             // return a deferred for all parts of the settings
-            return $.when(settings, controllerServices, reportingTasks).fail(nf.Common.handleAjaxError);
+            return $.when(settings, controllerServices, reportingTasks).done(nf.Canvas.reloadStatus).fail(nf.Common.handleAjaxError);
+        },
+        
+        /**
+         * Sets the controller service and reporting task bulletins in their respective tables.
+         * 
+         * @param {object} controllerServiceBulletins
+         * @param {object} reportingTaskBulletins
+         */
+        setBulletins: function(controllerServiceBulletins, reportingTaskBulletins) {
+            // controller services
+            var controllerServicesGrid = $('#controller-services-table').data('gridInstance');
+            var controllerServicesData = controllerServicesGrid.getData();
+            controllerServicesData.beginUpdate();
+
+            // if there are some bulletins process them
+            if (!nf.Common.isEmpty(controllerServiceBulletins)) {
+                var controllerServiceBulletinsBySource = d3.nest()
+                    .key(function(d) { return d.sourceId; })
+                    .map(controllerServiceBulletins, d3.map);
+            
+                controllerServiceBulletinsBySource.forEach(function(sourceId, sourceBulletins) {
+                    var controllerService = controllerServicesData.getItemById(sourceId);
+                    if (nf.Common.isDefinedAndNotNull(controllerService)) {
+                        controllerServicesData.updateItem(sourceId, $.extend(controllerService, {
+                            bulletins: sourceBulletins
+                        }));
+                    }
+                });
+            } else {
+                // if there are no bulletins clear all
+                var controllerServices = controllerServicesData.getItems();
+                $.each(controllerServices, function(_, controllerService) {
+                    controllerServicesData.updateItem(controllerService.id, $.extend(controllerService, {
+                        bulletins: []
+                    }));
+                });
+            }
+            controllerServicesData.endUpdate();
+
+            // reporting tasks
+            var reportingTasksGrid = $('#reporting-tasks-table').data('gridInstance');
+            var reportingTasksData = reportingTasksGrid.getData();
+            reportingTasksData.beginUpdate();
+            
+            // if there are some bulletins process them
+            if (!nf.Common.isEmpty(reportingTaskBulletins)) {
+                var reportingTaskBulletinsBySource = d3.nest()
+                    .key(function(d) { return d.sourceId; })
+                    .map(reportingTaskBulletins, d3.map);
+
+                reportingTaskBulletinsBySource.forEach(function(sourceId, sourceBulletins) {
+                    var reportingTask = reportingTasksData.getItemById(sourceId);
+                    if (nf.Common.isDefinedAndNotNull(reportingTask)) {
+                        reportingTasksData.updateItem(sourceId, $.extend(reportingTask, {
+                            bulletins: sourceBulletins
+                        }));
+                    }
+                });
+            } else {
+                // if there are no bulletins clear all
+                var reportingTasks = reportingTasksData.getItems();
+                $.each(reportingTasks, function(_, reportingTask) {
+                    controllerServicesData.updateItem(reportingTask.id, $.extend(reportingTask, {
+                        bulletins: []
+                    }));
+                });
+            }
+            reportingTasksData.endUpdate();
         }
     };
 }());
\ No newline at end of file



[33/50] [abbrv] incubator-nifi git commit: initial proxy server commit

Posted by mc...@apache.org.
initial proxy server commit


Project: http://git-wip-us.apache.org/repos/asf/incubator-nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-nifi/commit/159615bb
Tree: http://git-wip-us.apache.org/repos/asf/incubator-nifi/tree/159615bb
Diff: http://git-wip-us.apache.org/repos/asf/incubator-nifi/diff/159615bb

Branch: refs/heads/master
Commit: 159615bb8e6ca6e48a8418e9059874cdd4b4eee1
Parents: 74b4800
Author: Andrew Hulbert <an...@ccri.com>
Authored: Fri Jun 5 23:10:16 2015 -0400
Committer: Mark Payne <ma...@hotmail.com>
Committed: Fri Jul 3 12:48:44 2015 -0400

----------------------------------------------------------------------
 .../nifi/processors/standard/GetHTTP.java       | 30 ++++++++++++++++
 .../nifi/processors/standard/PostHTTP.java      | 36 +++++++++++++++++---
 2 files changed, 61 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/159615bb/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/GetHTTP.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/GetHTTP.java b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/GetHTTP.java
index 0001bb3..6e9acdd 100644
--- a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/GetHTTP.java
+++ b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/GetHTTP.java
@@ -50,6 +50,7 @@ import java.util.regex.Pattern;
 import javax.net.ssl.SSLContext;
 
 import org.apache.http.Header;
+import org.apache.http.HttpHost;
 import org.apache.http.HttpResponse;
 import org.apache.http.auth.AuthScope;
 import org.apache.http.auth.UsernamePasswordCredentials;
@@ -171,6 +172,18 @@ public class GetHTTP extends AbstractSessionFactoryProcessor {
             .required(false)
             .identifiesControllerService(SSLContextService.class)
             .build();
+    public static final PropertyDescriptor PROXY_HOST = new PropertyDescriptor.Builder()
+            .name("Proxy Host")
+            .description("The fully qualified hostname or IP address of the proxy server")
+            .required(false)
+            .addValidator(StandardValidators.NON_EMPTY_VALIDATOR)
+            .build();
+    public static final PropertyDescriptor PROXY_PORT = new PropertyDescriptor.Builder()
+            .name("Proxy Port")
+            .description("The port of the proxy server")
+            .required(false)
+            .addValidator(StandardValidators.PORT_VALIDATOR)
+            .build();
 
     public static final Relationship REL_SUCCESS = new Relationship.Builder()
             .name("success")
@@ -222,6 +235,8 @@ public class GetHTTP extends AbstractSessionFactoryProcessor {
         properties.add(USER_AGENT);
         properties.add(ACCEPT_CONTENT_TYPE);
         properties.add(FOLLOW_REDIRECTS);
+        properties.add(PROXY_HOST);
+        properties.add(PROXY_PORT);
         this.properties = Collections.unmodifiableList(properties);
 
         // load etag and lastModified from file
@@ -276,6 +291,14 @@ public class GetHTTP extends AbstractSessionFactoryProcessor {
                     .build());
         }
 
+        if (context.getProperty(PROXY_HOST).isSet() && !context.getProperty(PROXY_PORT).isSet()) {
+            results.add(new ValidationResult.Builder()
+                    .explanation("Proxy Host was set but no Proxy Port was specified")
+                    .valid(false)
+                    .subject("Proxy server configuration")
+                    .build());
+        }
+
         return results;
     }
 
@@ -378,6 +401,13 @@ public class GetHTTP extends AbstractSessionFactoryProcessor {
                 clientBuilder.setDefaultCredentialsProvider(credentialsProvider);
             }
 
+            // Set the proxy if specified
+            if (context.getProperty(PROXY_HOST).isSet() && context.getProperty(PROXY_PORT).isSet()) {
+                final String host = context.getProperty(PROXY_HOST).getValue();
+                final int port = context.getProperty(PROXY_PORT).asInteger();
+                clientBuilder.setProxy(new HttpHost(host, port));
+            }
+
             // create the http client
             final HttpClient client = clientBuilder.build();
 

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/159615bb/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/PostHTTP.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/PostHTTP.java b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/PostHTTP.java
index 9509790..31b5698 100644
--- a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/PostHTTP.java
+++ b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/PostHTTP.java
@@ -49,10 +49,7 @@ import javax.net.ssl.SSLSession;
 import javax.security.cert.X509Certificate;
 import javax.servlet.http.HttpServletResponse;
 
-import org.apache.http.Header;
-import org.apache.http.HttpException;
-import org.apache.http.HttpResponse;
-import org.apache.http.HttpResponseInterceptor;
+import org.apache.http.*;
 import org.apache.http.auth.AuthScope;
 import org.apache.http.auth.UsernamePasswordCredentials;
 import org.apache.http.client.CredentialsProvider;
@@ -225,13 +222,24 @@ public class PostHTTP extends AbstractProcessor {
             .allowableValues("true", "false")
             .defaultValue("true")
             .build();
-
     public static final PropertyDescriptor SSL_CONTEXT_SERVICE = new PropertyDescriptor.Builder()
             .name("SSL Context Service")
             .description("The Controller Service to use in order to obtain an SSL Context")
             .required(false)
             .identifiesControllerService(SSLContextService.class)
             .build();
+    public static final PropertyDescriptor PROXY_HOST = new PropertyDescriptor.Builder()
+            .name("Proxy Host")
+            .description("The fully qualified hostname or IP address of the proxy server")
+            .required(false)
+            .addValidator(StandardValidators.NON_EMPTY_VALIDATOR)
+            .build();
+    public static final PropertyDescriptor PROXY_PORT = new PropertyDescriptor.Builder()
+            .name("Proxy Port")
+            .description("The port of the proxy server")
+            .required(false)
+            .addValidator(StandardValidators.PORT_VALIDATOR)
+            .build();
 
     public static final Relationship REL_SUCCESS = new Relationship.Builder()
             .name("success")
@@ -270,6 +278,8 @@ public class PostHTTP extends AbstractProcessor {
         properties.add(DATA_TIMEOUT);
         properties.add(ATTRIBUTES_AS_HEADERS_REGEX);
         properties.add(USER_AGENT);
+        properties.add(PROXY_HOST);
+        properties.add(PROXY_PORT);
         this.properties = Collections.unmodifiableList(properties);
     }
 
@@ -293,6 +303,14 @@ public class PostHTTP extends AbstractProcessor {
                     .valid(false).subject("SSL Context").build());
         }
 
+        if (context.getProperty(PROXY_HOST).isSet() && !context.getProperty(PROXY_PORT).isSet()) {
+            results.add(new ValidationResult.Builder()
+                    .explanation("Proxy Host was set but no Proxy Port was specified")
+                    .valid(false)
+                    .subject("Proxy server configuration")
+                    .build());
+        }
+
         return results;
     }
 
@@ -479,6 +497,14 @@ public class PostHTTP extends AbstractProcessor {
                     }
                     clientBuilder.setDefaultCredentialsProvider(credentialsProvider);
                 }
+
+                // Set the proxy if specified
+                if (context.getProperty(PROXY_HOST).isSet() && context.getProperty(PROXY_PORT).isSet()) {
+                    final String host = context.getProperty(PROXY_HOST).getValue();
+                    final int port = context.getProperty(PROXY_PORT).asInteger();
+                    clientBuilder.setProxy(new HttpHost(host, port));
+                }
+                
                 client = clientBuilder.build();
 
                 // determine whether or not destination accepts flowfile/gzip


[03/50] [abbrv] incubator-nifi git commit: NIFI-724: Enable bulletins for reporting tasks and controller services

Posted by mc...@apache.org.
NIFI-724: Enable bulletins for reporting tasks and controller services


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

Branch: refs/heads/master
Commit: f1adb8bf034a8407dfdd655e441c74c10a61b18f
Parents: e767f5c
Author: Mark Payne <ma...@hotmail.com>
Authored: Wed Jun 24 14:03:34 2015 -0400
Committer: Mark Payne <ma...@hotmail.com>
Committed: Wed Jun 24 14:03:34 2015 -0400

----------------------------------------------------------------------
 .../org/apache/nifi/reporting/Bulletin.java     | 11 ++-
 .../apache/nifi/reporting/ComponentType.java    | 58 ++++++++++++++
 .../manager/impl/ClusteredReportingContext.java | 46 ++++++++++-
 .../cluster/manager/impl/WebClusterManager.java | 80 ++++++++++++--------
 .../org/apache/nifi/events/BulletinFactory.java | 30 ++++++--
 .../org/apache/nifi/events/SystemBulletin.java  |  2 +
 .../nifi/logging/LogRepositoryFactory.java      |  6 +-
 .../apache/nifi/controller/FlowController.java  | 35 ++++++---
 .../service/ControllerServiceLoader.java        | 11 +--
 .../nifi/events/VolatileBulletinRepository.java |  7 +-
 .../org/apache/nifi/jaxb/AdaptedBulletin.java   | 10 +++
 .../org/apache/nifi/jaxb/BulletinAdapter.java   |  3 +-
 .../logging/ControllerServiceLogObserver.java   | 45 +++++++++++
 .../nifi/logging/ReportingTaskLogObserver.java  | 45 +++++++++++
 .../nifi/remote/StandardRemoteProcessGroup.java | 16 ++--
 .../nifi/remote/StandardRootGroupPort.java      |  4 +-
 16 files changed, 341 insertions(+), 68 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/f1adb8bf/nifi/nifi-api/src/main/java/org/apache/nifi/reporting/Bulletin.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-api/src/main/java/org/apache/nifi/reporting/Bulletin.java b/nifi/nifi-api/src/main/java/org/apache/nifi/reporting/Bulletin.java
index 87443a3..fe370ae 100644
--- a/nifi/nifi-api/src/main/java/org/apache/nifi/reporting/Bulletin.java
+++ b/nifi/nifi-api/src/main/java/org/apache/nifi/reporting/Bulletin.java
@@ -34,6 +34,7 @@ public abstract class Bulletin implements Comparable<Bulletin> {
     private String groupId;
     private String sourceId;
     private String sourceName;
+    private ComponentType sourceType;
 
     protected Bulletin(final long id) {
         this.timestamp = new Date();
@@ -104,9 +105,17 @@ public abstract class Bulletin implements Comparable<Bulletin> {
         this.sourceName = sourceName;
     }
 
+    public ComponentType getSourceType() {
+        return sourceType;
+    }
+
+    public void setSourceType(ComponentType sourceType) {
+        this.sourceType = sourceType;
+    }
+
     @Override
     public String toString() {
-        return "Bulletin{" + "id=" + id + ", message=" + message + ", sourceName=" + sourceName + '}';
+        return "Bulletin{" + "id=" + id + ", message=" + message + ", sourceName=" + sourceName + ", sourceType=" + sourceType + '}';
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/f1adb8bf/nifi/nifi-api/src/main/java/org/apache/nifi/reporting/ComponentType.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-api/src/main/java/org/apache/nifi/reporting/ComponentType.java b/nifi/nifi-api/src/main/java/org/apache/nifi/reporting/ComponentType.java
new file mode 100644
index 0000000..97f3538
--- /dev/null
+++ b/nifi/nifi-api/src/main/java/org/apache/nifi/reporting/ComponentType.java
@@ -0,0 +1,58 @@
+/*
+ * 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.nifi.reporting;
+
+/**
+ * An Enumeration for indicating which type of component a Bulletin is associated with
+ */
+public enum ComponentType {
+
+    /**
+     * Bulletin is associated with a Processor
+     */
+    PROCESSOR,
+
+    /**
+     * Bulletin is associated with a Remote Process Group
+     */
+    REMOTE_PROCESS_GROUP,
+
+    /**
+     * Bulletin is associated with an Input Port
+     */
+    INPUT_PORT,
+
+    /**
+     * Bulletin is associated with an Output Port
+     */
+    OUTPUT_PORT,
+
+    /**
+     * Bulletin is associated with a Reporting Task
+     */
+    REPORTING_TASK,
+
+    /**
+     * Bulletin is associated with a Controller Service
+     */
+    CONTROLLER_SERVICE,
+
+    /**
+     * Bulletin is a system-level bulletin, associated with the Flow Controller
+     */
+    FLOW_CONTROLLER;
+}

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/f1adb8bf/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-cluster/src/main/java/org/apache/nifi/cluster/manager/impl/ClusteredReportingContext.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-cluster/src/main/java/org/apache/nifi/cluster/manager/impl/ClusteredReportingContext.java b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-cluster/src/main/java/org/apache/nifi/cluster/manager/impl/ClusteredReportingContext.java
index e546f87..c6624cc 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-cluster/src/main/java/org/apache/nifi/cluster/manager/impl/ClusteredReportingContext.java
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-cluster/src/main/java/org/apache/nifi/cluster/manager/impl/ClusteredReportingContext.java
@@ -24,15 +24,18 @@ import org.apache.nifi.attribute.expression.language.PreparedQuery;
 import org.apache.nifi.attribute.expression.language.Query;
 import org.apache.nifi.components.PropertyDescriptor;
 import org.apache.nifi.components.PropertyValue;
+import org.apache.nifi.controller.ControllerService;
 import org.apache.nifi.controller.ControllerServiceLookup;
 import org.apache.nifi.controller.service.ControllerServiceProvider;
 import org.apache.nifi.controller.status.PortStatus;
 import org.apache.nifi.controller.status.ProcessGroupStatus;
 import org.apache.nifi.controller.status.ProcessorStatus;
+import org.apache.nifi.controller.status.RemoteProcessGroupStatus;
 import org.apache.nifi.events.BulletinFactory;
 import org.apache.nifi.processor.StandardPropertyValue;
 import org.apache.nifi.reporting.Bulletin;
 import org.apache.nifi.reporting.BulletinRepository;
+import org.apache.nifi.reporting.ComponentType;
 import org.apache.nifi.reporting.EventAccess;
 import org.apache.nifi.reporting.ReportingContext;
 import org.apache.nifi.reporting.Severity;
@@ -85,8 +88,9 @@ public class ClusteredReportingContext implements ReportingContext {
         final ProcessGroupStatus rootGroupStatus = eventAccess.getControllerStatus();
         final String groupId = findGroupId(rootGroupStatus, componentId);
         final String componentName = findComponentName(rootGroupStatus, componentId);
+        final ComponentType componentType = findComponentType(rootGroupStatus, componentId);
 
-        return BulletinFactory.createBulletin(groupId, componentId, componentName, category, severity.name(), message);
+        return BulletinFactory.createBulletin(groupId, componentId, componentType, componentName, category, severity.name(), message);
     }
 
     @Override
@@ -134,6 +138,46 @@ public class ClusteredReportingContext implements ReportingContext {
         return null;
     }
 
+    private ComponentType findComponentType(final ProcessGroupStatus groupStatus, final String componentId) {
+        for (final ProcessorStatus procStatus : groupStatus.getProcessorStatus()) {
+            if (procStatus.getId().equals(componentId)) {
+                return ComponentType.PROCESSOR;
+            }
+        }
+
+        for (final PortStatus portStatus : groupStatus.getInputPortStatus()) {
+            if (portStatus.getId().equals(componentId)) {
+                return ComponentType.INPUT_PORT;
+            }
+        }
+
+        for (final PortStatus portStatus : groupStatus.getOutputPortStatus()) {
+            if (portStatus.getId().equals(componentId)) {
+                return ComponentType.OUTPUT_PORT;
+            }
+        }
+
+        for (final RemoteProcessGroupStatus remoteStatus : groupStatus.getRemoteProcessGroupStatus()) {
+            if (remoteStatus.getId().equals(componentId)) {
+                return ComponentType.REMOTE_PROCESS_GROUP;
+            }
+        }
+
+        for (final ProcessGroupStatus childGroup : groupStatus.getProcessGroupStatus()) {
+            final ComponentType type = findComponentType(childGroup, componentId);
+            if (type != null) {
+                return type;
+            }
+        }
+
+        final ControllerService service = serviceProvider.getControllerService(componentId);
+        if (service != null) {
+            return ComponentType.CONTROLLER_SERVICE;
+        }
+
+        return null;
+    }
+
     private String findComponentName(final ProcessGroupStatus groupStatus, final String componentId) {
         for (final ProcessorStatus procStatus : groupStatus.getProcessorStatus()) {
             if (procStatus.getId().equals(componentId)) {

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/f1adb8bf/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-cluster/src/main/java/org/apache/nifi/cluster/manager/impl/WebClusterManager.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-cluster/src/main/java/org/apache/nifi/cluster/manager/impl/WebClusterManager.java b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-cluster/src/main/java/org/apache/nifi/cluster/manager/impl/WebClusterManager.java
index d6ba6db..9edc83f 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-cluster/src/main/java/org/apache/nifi/cluster/manager/impl/WebClusterManager.java
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-cluster/src/main/java/org/apache/nifi/cluster/manager/impl/WebClusterManager.java
@@ -129,6 +129,7 @@ import org.apache.nifi.controller.Heartbeater;
 import org.apache.nifi.controller.ReportingTaskNode;
 import org.apache.nifi.controller.ScheduledState;
 import org.apache.nifi.controller.StandardFlowSerializer;
+import org.apache.nifi.controller.StandardProcessorNode;
 import org.apache.nifi.controller.ValidationContextFactory;
 import org.apache.nifi.controller.exception.ComponentLifeCycleException;
 import org.apache.nifi.controller.reporting.ClusteredReportingTaskNode;
@@ -159,7 +160,12 @@ import org.apache.nifi.events.VolatileBulletinRepository;
 import org.apache.nifi.framework.security.util.SslContextFactory;
 import org.apache.nifi.io.socket.multicast.DiscoverableService;
 import org.apache.nifi.logging.ComponentLog;
+import org.apache.nifi.logging.ControllerServiceLogObserver;
+import org.apache.nifi.logging.LogLevel;
+import org.apache.nifi.logging.LogRepository;
+import org.apache.nifi.logging.LogRepositoryFactory;
 import org.apache.nifi.logging.NiFiLog;
+import org.apache.nifi.logging.ReportingTaskLogObserver;
 import org.apache.nifi.nar.ExtensionManager;
 import org.apache.nifi.nar.NarCloseable;
 import org.apache.nifi.nar.NarThreadContextClassLoader;
@@ -929,7 +935,7 @@ public class WebClusterManager implements HttpClusterManager, ProtocolHandler, C
             //optional properties for all ReportingTasks
             for (final Element taskElement : DomUtils.getChildElementsByTagName(tasksElement, "reportingTask")) {
                 //add global properties common to all tasks
-                Map<String, String> properties = new HashMap<>();
+                final Map<String, String> properties = new HashMap<>();
 
                 //get properties for the specific reporting task - id, name, class,
                 //and schedulingPeriod must be set
@@ -1080,6 +1086,11 @@ public class WebClusterManager implements HttpClusterManager, ProtocolHandler, C
             }
         }
 
+        // Register log observer to provide bulletins when reporting task logs anything at WARN level or above
+        final LogRepository logRepository = LogRepositoryFactory.getRepository(id);
+        logRepository.addObserver(StandardProcessorNode.BULLETIN_OBSERVER_ID, LogLevel.WARN,
+            new ReportingTaskLogObserver(getBulletinRepository(), taskNode));
+
         return taskNode;
     }
 
@@ -1368,7 +1379,14 @@ public class WebClusterManager implements HttpClusterManager, ProtocolHandler, C
 
     @Override
     public ControllerServiceNode createControllerService(final String type, final String id, final boolean firstTimeAdded) {
-        return controllerServiceProvider.createControllerService(type, id, firstTimeAdded);
+        final ControllerServiceNode serviceNode = controllerServiceProvider.createControllerService(type, id, firstTimeAdded);
+
+        // Register log observer to provide bulletins when reporting task logs anything at WARN level or above
+        final LogRepository logRepository = LogRepositoryFactory.getRepository(id);
+        logRepository.addObserver(StandardProcessorNode.BULLETIN_OBSERVER_ID, LogLevel.WARN,
+            new ControllerServiceLogObserver(getBulletinRepository(), serviceNode));
+
+        return serviceNode;
     }
 
     @Override
@@ -1630,7 +1648,7 @@ public class WebClusterManager implements HttpClusterManager, ProtocolHandler, C
         final String nodeAddress = nodeIdentifier.getApiAddress() + ":" + nodeIdentifier.getApiPort();
 
         // unmarshal the message
-        BulletinsPayload payload = BulletinsPayload.unmarshal(bulletins.getPayload());
+        final BulletinsPayload payload = BulletinsPayload.unmarshal(bulletins.getPayload());
         for (final Bulletin bulletin : payload.getBulletins()) {
             bulletin.setNodeAddress(nodeAddress);
             bulletinRepository.addBulletin(bulletin);
@@ -1688,7 +1706,7 @@ public class WebClusterManager implements HttpClusterManager, ProtocolHandler, C
 
             final int numPendingHeartbeats = mostRecentHeartbeats.size();
             if (heartbeatLogger.isDebugEnabled()) {
-                heartbeatLogger.debug(String.format("Handling %s heartbeat%s", numPendingHeartbeats, (numPendingHeartbeats > 1) ? "s" : ""));
+                heartbeatLogger.debug(String.format("Handling %s heartbeat%s", numPendingHeartbeats, numPendingHeartbeats > 1 ? "s" : ""));
             }
 
             for (final Heartbeat mostRecentHeartbeat : mostRecentHeartbeats) {
@@ -2130,7 +2148,7 @@ public class WebClusterManager implements HttpClusterManager, ProtocolHandler, C
         readLock.lock();
         try {
             final ClusterServicesBroadcaster broadcaster = this.servicesBroadcaster;
-            return (broadcaster != null && broadcaster.isRunning());
+            return broadcaster != null && broadcaster.isRunning();
         } finally {
             readLock.unlock("isBroadcasting");
         }
@@ -2323,7 +2341,7 @@ public class WebClusterManager implements HttpClusterManager, ProtocolHandler, C
                                 if (auditService != null) {
                                     try {
                                         auditService.addActions(clusterContext.getActions());
-                                    } catch (Throwable t) {
+                                    } catch (final Throwable t) {
                                         logger.warn("Unable to record actions: " + t.getMessage());
                                         if (logger.isDebugEnabled()) {
                                             logger.warn(StringUtils.EMPTY, t);
@@ -2834,7 +2852,7 @@ public class WebClusterManager implements HttpClusterManager, ProtocolHandler, C
                     continue;
                 }
 
-                final ProcessorEntity nodeResponseEntity = (nodeResponse == clientResponse) ? responseEntity : nodeResponse.getClientResponse().getEntity(ProcessorEntity.class);
+                final ProcessorEntity nodeResponseEntity = nodeResponse == clientResponse ? responseEntity : nodeResponse.getClientResponse().getEntity(ProcessorEntity.class);
                 final ProcessorDTO nodeProcessor = nodeResponseEntity.getProcessor();
                 processorMap.put(nodeResponse.getNodeId(), nodeProcessor);
             }
@@ -2851,7 +2869,7 @@ public class WebClusterManager implements HttpClusterManager, ProtocolHandler, C
                     continue;
                 }
 
-                final ProcessorsEntity nodeResponseEntity = (nodeResponse == clientResponse) ? responseEntity : nodeResponse.getClientResponse().getEntity(ProcessorsEntity.class);
+                final ProcessorsEntity nodeResponseEntity = nodeResponse == clientResponse ? responseEntity : nodeResponse.getClientResponse().getEntity(ProcessorsEntity.class);
                 final Set<ProcessorDTO> nodeProcessors = nodeResponseEntity.getProcessors();
 
                 for (final ProcessorDTO nodeProcessor : nodeProcessors) {
@@ -2892,7 +2910,7 @@ public class WebClusterManager implements HttpClusterManager, ProtocolHandler, C
                         continue;
                     }
 
-                    final ProcessGroupEntity nodeResponseEntity = (nodeResponse == clientResponse) ? responseEntity : nodeResponse.getClientResponse().getEntity(ProcessGroupEntity.class);
+                    final ProcessGroupEntity nodeResponseEntity = nodeResponse == clientResponse ? responseEntity : nodeResponse.getClientResponse().getEntity(ProcessGroupEntity.class);
                     final ProcessGroupDTO nodeProcessGroup = nodeResponseEntity.getProcessGroup();
 
                     for (final ProcessorDTO nodeProcessor : nodeProcessGroup.getContents().getProcessors()) {
@@ -2952,7 +2970,7 @@ public class WebClusterManager implements HttpClusterManager, ProtocolHandler, C
                         continue;
                     }
 
-                    final FlowSnippetEntity nodeResponseEntity = (nodeResponse == clientResponse) ? responseEntity : nodeResponse.getClientResponse().getEntity(FlowSnippetEntity.class);
+                    final FlowSnippetEntity nodeResponseEntity = nodeResponse == clientResponse ? responseEntity : nodeResponse.getClientResponse().getEntity(FlowSnippetEntity.class);
                     final FlowSnippetDTO nodeContents = nodeResponseEntity.getContents();
 
                     for (final ProcessorDTO nodeProcessor : nodeContents.getProcessors()) {
@@ -2995,7 +3013,7 @@ public class WebClusterManager implements HttpClusterManager, ProtocolHandler, C
 
             // create a new client response
             clientResponse = new NodeResponse(clientResponse, responseEntity);
-        } else if (hasSuccessfulClientResponse && (isRemoteProcessGroupEndpoint(uri, method))) {
+        } else if (hasSuccessfulClientResponse && isRemoteProcessGroupEndpoint(uri, method)) {
             final RemoteProcessGroupEntity responseEntity = clientResponse.getClientResponse().getEntity(RemoteProcessGroupEntity.class);
             final RemoteProcessGroupDTO remoteProcessGroup = responseEntity.getRemoteProcessGroup();
 
@@ -3005,7 +3023,7 @@ public class WebClusterManager implements HttpClusterManager, ProtocolHandler, C
                     continue;
                 }
 
-                final RemoteProcessGroupEntity nodeResponseEntity = (nodeResponse == clientResponse) ? responseEntity : nodeResponse.getClientResponse().getEntity(RemoteProcessGroupEntity.class);
+                final RemoteProcessGroupEntity nodeResponseEntity = nodeResponse == clientResponse ? responseEntity : nodeResponse.getClientResponse().getEntity(RemoteProcessGroupEntity.class);
                 final RemoteProcessGroupDTO nodeRemoteProcessGroup = nodeResponseEntity.getRemoteProcessGroup();
 
                 remoteProcessGroupMap.put(nodeResponse.getNodeId(), nodeRemoteProcessGroup);
@@ -3013,7 +3031,7 @@ public class WebClusterManager implements HttpClusterManager, ProtocolHandler, C
             mergeRemoteProcessGroup(remoteProcessGroup, remoteProcessGroupMap);
 
             clientResponse = new NodeResponse(clientResponse, responseEntity);
-        } else if (hasSuccessfulClientResponse && (isRemoteProcessGroupsEndpoint(uri, method))) {
+        } else if (hasSuccessfulClientResponse && isRemoteProcessGroupsEndpoint(uri, method)) {
             final RemoteProcessGroupsEntity responseEntity = clientResponse.getClientResponse().getEntity(RemoteProcessGroupsEntity.class);
             final Set<RemoteProcessGroupDTO> remoteProcessGroups = responseEntity.getRemoteProcessGroups();
 
@@ -3023,7 +3041,7 @@ public class WebClusterManager implements HttpClusterManager, ProtocolHandler, C
                     continue;
                 }
 
-                final RemoteProcessGroupsEntity nodeResponseEntity = (nodeResponse == clientResponse) ? responseEntity : nodeResponse.getClientResponse().getEntity(RemoteProcessGroupsEntity.class);
+                final RemoteProcessGroupsEntity nodeResponseEntity = nodeResponse == clientResponse ? responseEntity : nodeResponse.getClientResponse().getEntity(RemoteProcessGroupsEntity.class);
                 final Set<RemoteProcessGroupDTO> nodeRemoteProcessGroups = nodeResponseEntity.getRemoteProcessGroups();
 
                 for (final RemoteProcessGroupDTO nodeRemoteProcessGroup : nodeRemoteProcessGroups) {
@@ -3056,7 +3074,7 @@ public class WebClusterManager implements HttpClusterManager, ProtocolHandler, C
                     continue;
                 }
 
-                final ProvenanceEntity nodeResponseEntity = (nodeResponse == clientResponse) ? responseEntity : nodeResponse.getClientResponse().getEntity(ProvenanceEntity.class);
+                final ProvenanceEntity nodeResponseEntity = nodeResponse == clientResponse ? responseEntity : nodeResponse.getClientResponse().getEntity(ProvenanceEntity.class);
                 final ProvenanceDTO nodeQuery = nodeResponseEntity.getProvenance();
 
                 resultsMap.put(nodeResponse.getNodeId(), nodeQuery);
@@ -3084,7 +3102,7 @@ public class WebClusterManager implements HttpClusterManager, ProtocolHandler, C
                     continue;
                 }
 
-                final ControllerServiceEntity nodeResponseEntity = (nodeResponse == clientResponse) ? responseEntity : nodeResponse.getClientResponse().getEntity(ControllerServiceEntity.class);
+                final ControllerServiceEntity nodeResponseEntity = nodeResponse == clientResponse ? responseEntity : nodeResponse.getClientResponse().getEntity(ControllerServiceEntity.class);
                 final ControllerServiceDTO nodeControllerService = nodeResponseEntity.getControllerService();
 
                 resultsMap.put(nodeResponse.getNodeId(), nodeControllerService);
@@ -3102,7 +3120,7 @@ public class WebClusterManager implements HttpClusterManager, ProtocolHandler, C
                     continue;
                 }
 
-                final ControllerServicesEntity nodeResponseEntity = (nodeResponse == clientResponse) ? responseEntity : nodeResponse.getClientResponse().getEntity(ControllerServicesEntity.class);
+                final ControllerServicesEntity nodeResponseEntity = nodeResponse == clientResponse ? responseEntity : nodeResponse.getClientResponse().getEntity(ControllerServicesEntity.class);
                 final Set<ControllerServiceDTO> nodeControllerServices = nodeResponseEntity.getControllerServices();
 
                 for (final ControllerServiceDTO nodeControllerService : nodeControllerServices) {
@@ -3136,7 +3154,7 @@ public class WebClusterManager implements HttpClusterManager, ProtocolHandler, C
                 }
 
                 final ControllerServiceReferencingComponentsEntity nodeResponseEntity =
-                        (nodeResponse == clientResponse) ? responseEntity : nodeResponse.getClientResponse().getEntity(ControllerServiceReferencingComponentsEntity.class);
+                        nodeResponse == clientResponse ? responseEntity : nodeResponse.getClientResponse().getEntity(ControllerServiceReferencingComponentsEntity.class);
                 final Set<ControllerServiceReferencingComponentDTO> nodeReferencingComponents = nodeResponseEntity.getControllerServiceReferencingComponents();
 
                 resultsMap.put(nodeResponse.getNodeId(), nodeReferencingComponents);
@@ -3154,7 +3172,7 @@ public class WebClusterManager implements HttpClusterManager, ProtocolHandler, C
                     continue;
                 }
 
-                final ReportingTaskEntity nodeResponseEntity = (nodeResponse == clientResponse) ? responseEntity : nodeResponse.getClientResponse().getEntity(ReportingTaskEntity.class);
+                final ReportingTaskEntity nodeResponseEntity = nodeResponse == clientResponse ? responseEntity : nodeResponse.getClientResponse().getEntity(ReportingTaskEntity.class);
                 final ReportingTaskDTO nodeReportingTask = nodeResponseEntity.getReportingTask();
 
                 resultsMap.put(nodeResponse.getNodeId(), nodeReportingTask);
@@ -3172,7 +3190,7 @@ public class WebClusterManager implements HttpClusterManager, ProtocolHandler, C
                     continue;
                 }
 
-                final ReportingTasksEntity nodeResponseEntity = (nodeResponse == clientResponse) ? responseEntity : nodeResponse.getClientResponse().getEntity(ReportingTasksEntity.class);
+                final ReportingTasksEntity nodeResponseEntity = nodeResponse == clientResponse ? responseEntity : nodeResponse.getClientResponse().getEntity(ReportingTasksEntity.class);
                 final Set<ReportingTaskDTO> nodeReportingTasks = nodeResponseEntity.getReportingTasks();
 
                 for (final ReportingTaskDTO nodeReportingTask : nodeReportingTasks) {
@@ -3428,7 +3446,7 @@ public class WebClusterManager implements HttpClusterManager, ProtocolHandler, C
     }
 
     private boolean canChangeNodeState(final String method, final URI uri) {
-        return (HttpMethod.DELETE.equalsIgnoreCase(method) || HttpMethod.POST.equalsIgnoreCase(method) || HttpMethod.PUT.equalsIgnoreCase(method));
+        return HttpMethod.DELETE.equalsIgnoreCase(method) || HttpMethod.POST.equalsIgnoreCase(method) || HttpMethod.PUT.equalsIgnoreCase(method);
     }
 
     private void notifyDataFlowManagementServiceOfNodeStatusChange() {
@@ -3477,7 +3495,7 @@ public class WebClusterManager implements HttpClusterManager, ProtocolHandler, C
             public void run() {
                 logger.info("Entering safe mode...");
                 final int safeModeSeconds = (int) FormatUtils.getTimeDuration(properties.getClusterManagerSafeModeDuration(), TimeUnit.SECONDS);
-                final long timeToElect = (safeModeSeconds <= 0) ? Long.MAX_VALUE : threadStartTime + TimeUnit.MILLISECONDS.convert(safeModeSeconds, TimeUnit.SECONDS);
+                final long timeToElect = safeModeSeconds <= 0 ? Long.MAX_VALUE : threadStartTime + TimeUnit.MILLISECONDS.convert(safeModeSeconds, TimeUnit.SECONDS);
                 boolean exitSafeMode = false;
                 while (isRunning()) {
 
@@ -3819,7 +3837,7 @@ public class WebClusterManager implements HttpClusterManager, ProtocolHandler, C
 
     public static Date normalizeStatusSnapshotDate(final Date toNormalize, final long numMillis) {
         final long time = toNormalize.getTime();
-        return new Date(time - (time % numMillis));
+        return new Date(time - time % numMillis);
     }
 
     private NodeDTO createNodeDTO(final Node node) {
@@ -3861,8 +3879,8 @@ public class WebClusterManager implements HttpClusterManager, ProtocolHandler, C
         final List<NodeStatusHistoryDTO> nodeHistories = new ArrayList<>();
 
         StatusHistoryDTO lastStatusHistory = null;
-        Set<MetricDescriptor<?>> processorDescriptors = new LinkedHashSet<>();
-        Map<Date, List<StatusSnapshot>> snapshotsToAggregate = new TreeMap<>();
+        final Set<MetricDescriptor<?>> processorDescriptors = new LinkedHashSet<>();
+        final Map<Date, List<StatusSnapshot>> snapshotsToAggregate = new TreeMap<>();
 
         for (final Node node : getRawNodes()) {
             final ComponentStatusRepository statusRepository = componentMetricsRepositoryMap.get(node.getNodeId());
@@ -3942,8 +3960,8 @@ public class WebClusterManager implements HttpClusterManager, ProtocolHandler, C
         final List<NodeStatusHistoryDTO> nodeHistories = new ArrayList<>();
 
         StatusHistoryDTO lastStatusHistory = null;
-        Set<MetricDescriptor<?>> connectionDescriptors = new LinkedHashSet<>();
-        Map<Date, List<StatusSnapshot>> snapshotsToAggregate = new TreeMap<>();
+        final Set<MetricDescriptor<?>> connectionDescriptors = new LinkedHashSet<>();
+        final Map<Date, List<StatusSnapshot>> snapshotsToAggregate = new TreeMap<>();
 
         for (final Node node : getRawNodes()) {
             final ComponentStatusRepository statusRepository = componentMetricsRepositoryMap.get(node.getNodeId());
@@ -4006,8 +4024,8 @@ public class WebClusterManager implements HttpClusterManager, ProtocolHandler, C
         final List<NodeStatusHistoryDTO> nodeHistories = new ArrayList<>();
 
         StatusHistoryDTO lastStatusHistory = null;
-        Set<MetricDescriptor<?>> processGroupDescriptors = new LinkedHashSet<>();
-        Map<Date, List<StatusSnapshot>> snapshotsToAggregate = new TreeMap<>();
+        final Set<MetricDescriptor<?>> processGroupDescriptors = new LinkedHashSet<>();
+        final Map<Date, List<StatusSnapshot>> snapshotsToAggregate = new TreeMap<>();
 
         for (final Node node : getRawNodes()) {
             final ComponentStatusRepository statusRepository = componentMetricsRepositoryMap.get(node.getNodeId());
@@ -4070,8 +4088,8 @@ public class WebClusterManager implements HttpClusterManager, ProtocolHandler, C
         final List<NodeStatusHistoryDTO> nodeHistories = new ArrayList<>();
 
         StatusHistoryDTO lastStatusHistory = null;
-        Set<MetricDescriptor<?>> remoteProcessGroupDescriptors = new LinkedHashSet<>();
-        Map<Date, List<StatusSnapshot>> snapshotsToAggregate = new TreeMap<>();
+        final Set<MetricDescriptor<?>> remoteProcessGroupDescriptors = new LinkedHashSet<>();
+        final Map<Date, List<StatusSnapshot>> snapshotsToAggregate = new TreeMap<>();
 
         for (final Node node : getRawNodes()) {
             final ComponentStatusRepository statusRepository = componentMetricsRepositoryMap.get(node.getNodeId());

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/f1adb8bf/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core-api/src/main/java/org/apache/nifi/events/BulletinFactory.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core-api/src/main/java/org/apache/nifi/events/BulletinFactory.java b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core-api/src/main/java/org/apache/nifi/events/BulletinFactory.java
index d1d5e5b..4795827 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core-api/src/main/java/org/apache/nifi/events/BulletinFactory.java
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core-api/src/main/java/org/apache/nifi/events/BulletinFactory.java
@@ -17,24 +17,43 @@
 package org.apache.nifi.events;
 
 import java.util.concurrent.atomic.AtomicLong;
+
 import org.apache.nifi.connectable.Connectable;
 import org.apache.nifi.reporting.Bulletin;
+import org.apache.nifi.reporting.ComponentType;
 
-/**
- *
- */
 public final class BulletinFactory {
 
     private static final AtomicLong currentId = new AtomicLong(0);
 
     public static Bulletin createBulletin(final Connectable connectable, final String category, final String severity, final String message) {
-        return BulletinFactory.createBulletin(connectable.getProcessGroup().getIdentifier(), connectable.getIdentifier(), connectable.getName(), category, severity, message);
+        final ComponentType type;
+        switch (connectable.getConnectableType()) {
+            case REMOTE_INPUT_PORT:
+            case REMOTE_OUTPUT_PORT:
+                type = ComponentType.REMOTE_PROCESS_GROUP;
+                break;
+            case INPUT_PORT:
+                type = ComponentType.INPUT_PORT;
+                break;
+            case OUTPUT_PORT:
+                type = ComponentType.OUTPUT_PORT;
+                break;
+            case PROCESSOR:
+            default:
+                type = ComponentType.PROCESSOR;
+                break;
+        }
+
+        return BulletinFactory.createBulletin(connectable.getProcessGroup().getIdentifier(), connectable.getIdentifier(), type, connectable.getName(), category, severity, message);
     }
 
-    public static Bulletin createBulletin(final String groupId, final String sourceId, final String sourceName, final String category, final String severity, final String message) {
+    public static Bulletin createBulletin(final String groupId, final String sourceId, final ComponentType sourceType, final String sourceName,
+        final String category, final String severity, final String message) {
         final Bulletin bulletin = new ComponentBulletin(currentId.getAndIncrement());
         bulletin.setGroupId(groupId);
         bulletin.setSourceId(sourceId);
+        bulletin.setSourceType(sourceType);
         bulletin.setSourceName(sourceName);
         bulletin.setCategory(category);
         bulletin.setLevel(severity);
@@ -47,6 +66,7 @@ public final class BulletinFactory {
         bulletin.setCategory(category);
         bulletin.setLevel(severity);
         bulletin.setMessage(message);
+        bulletin.setSourceType(ComponentType.FLOW_CONTROLLER);
         return bulletin;
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/f1adb8bf/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core-api/src/main/java/org/apache/nifi/events/SystemBulletin.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core-api/src/main/java/org/apache/nifi/events/SystemBulletin.java b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core-api/src/main/java/org/apache/nifi/events/SystemBulletin.java
index f97dc46..3359e7e 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core-api/src/main/java/org/apache/nifi/events/SystemBulletin.java
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core-api/src/main/java/org/apache/nifi/events/SystemBulletin.java
@@ -17,6 +17,7 @@
 package org.apache.nifi.events;
 
 import org.apache.nifi.reporting.Bulletin;
+import org.apache.nifi.reporting.ComponentType;
 
 /**
  *
@@ -25,6 +26,7 @@ public class SystemBulletin extends Bulletin {
 
     SystemBulletin(final long id) {
         super(id);
+        setSourceType(ComponentType.FLOW_CONTROLLER);
     }
 
 }

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/f1adb8bf/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core-api/src/main/java/org/apache/nifi/logging/LogRepositoryFactory.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core-api/src/main/java/org/apache/nifi/logging/LogRepositoryFactory.java b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core-api/src/main/java/org/apache/nifi/logging/LogRepositoryFactory.java
index 76ca661..d7fa3fc 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core-api/src/main/java/org/apache/nifi/logging/LogRepositoryFactory.java
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core-api/src/main/java/org/apache/nifi/logging/LogRepositoryFactory.java
@@ -41,8 +41,8 @@ public class LogRepositoryFactory {
         logRepositoryClass = clazz;
     }
 
-    public static LogRepository getRepository(final String processorId) {
-        LogRepository repository = repositoryMap.get(requireNonNull(processorId));
+    public static LogRepository getRepository(final String componentId) {
+        LogRepository repository = repositoryMap.get(requireNonNull(componentId));
         if (repository == null) {
             try {
                 repository = logRepositoryClass.newInstance();
@@ -50,7 +50,7 @@ public class LogRepositoryFactory {
                 throw new RuntimeException(e);
             }
 
-            final LogRepository oldRepository = repositoryMap.putIfAbsent(processorId, repository);
+            final LogRepository oldRepository = repositoryMap.putIfAbsent(componentId, repository);
             if (oldRepository != null) {
                 repository = oldRepository;
             }

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/f1adb8bf/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/FlowController.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/FlowController.java b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/FlowController.java
index 2ffdd4e..b6edbbb 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/FlowController.java
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/FlowController.java
@@ -137,11 +137,13 @@ import org.apache.nifi.groups.RemoteProcessGroup;
 import org.apache.nifi.groups.RemoteProcessGroupPortDescriptor;
 import org.apache.nifi.groups.StandardProcessGroup;
 import org.apache.nifi.logging.ComponentLog;
+import org.apache.nifi.logging.ControllerServiceLogObserver;
 import org.apache.nifi.logging.LogLevel;
 import org.apache.nifi.logging.LogRepository;
 import org.apache.nifi.logging.LogRepositoryFactory;
 import org.apache.nifi.logging.ProcessorLog;
 import org.apache.nifi.logging.ProcessorLogObserver;
+import org.apache.nifi.logging.ReportingTaskLogObserver;
 import org.apache.nifi.nar.ExtensionManager;
 import org.apache.nifi.nar.NarCloseable;
 import org.apache.nifi.nar.NarThreadContextClassLoader;
@@ -593,7 +595,7 @@ public class FlowController implements EventAccess, ControllerServiceProvider, R
         writeLock.lock();
         try {
             if (startDelayedComponents) {
-                LOG.info("Starting {} processors/ports/funnels", (startConnectablesAfterInitialization.size() + startRemoteGroupPortsAfterInitialization.size()));
+                LOG.info("Starting {} processors/ports/funnels", startConnectablesAfterInitialization.size() + startRemoteGroupPortsAfterInitialization.size());
                 for (final Connectable connectable : startConnectablesAfterInitialization) {
                     if (connectable.getScheduledState() == ScheduledState.DISABLED) {
                         continue;
@@ -1012,7 +1014,7 @@ public class FlowController implements EventAccess, ControllerServiceProvider, R
     public boolean isTerminated() {
         this.readLock.lock();
         try {
-            return (null == this.timerDrivenEngineRef.get() || this.timerDrivenEngineRef.get().isTerminated());
+            return null == this.timerDrivenEngineRef.get() || this.timerDrivenEngineRef.get().isTerminated();
         } finally {
             this.readLock.unlock();
         }
@@ -1828,9 +1830,9 @@ public class FlowController implements EventAccess, ControllerServiceProvider, R
         } else if (id1.equals(id2)) {
             return true;
         } else {
-            final String comparable1 = (id1.equals(ROOT_GROUP_ID_ALIAS) ? getRootGroupId() : id1);
-            final String comparable2 = (id2.equals(ROOT_GROUP_ID_ALIAS) ? getRootGroupId() : id2);
-            return (comparable1.equals(comparable2));
+            final String comparable1 = id1.equals(ROOT_GROUP_ID_ALIAS) ? getRootGroupId() : id1;
+            final String comparable2 = id2.equals(ROOT_GROUP_ID_ALIAS) ? getRootGroupId() : id2;
+            return comparable1.equals(comparable2);
         }
     }
 
@@ -1964,7 +1966,7 @@ public class FlowController implements EventAccess, ControllerServiceProvider, R
         }
 
         final String searchId = id.equals(ROOT_GROUP_ID_ALIAS) ? getRootGroupId() : id;
-        return (root == null) ? null : root.findProcessGroup(searchId);
+        return root == null ? null : root.findProcessGroup(searchId);
     }
 
     @Override
@@ -2079,8 +2081,8 @@ public class FlowController implements EventAccess, ControllerServiceProvider, R
                 connStatus.setOutputBytes(connectionStatusReport.getContentSizeOut());
                 connStatus.setOutputCount(connectionStatusReport.getFlowFilesOut());
 
-                flowFilesTransferred += (connectionStatusReport.getFlowFilesIn() + connectionStatusReport.getFlowFilesOut());
-                bytesTransferred += (connectionStatusReport.getContentSizeIn() + connectionStatusReport.getContentSizeOut());
+                flowFilesTransferred += connectionStatusReport.getFlowFilesIn() + connectionStatusReport.getFlowFilesOut();
+                bytesTransferred += connectionStatusReport.getContentSizeIn() + connectionStatusReport.getContentSizeOut();
             }
 
             if (StringUtils.isNotBlank(conn.getName())) {
@@ -2552,6 +2554,12 @@ public class FlowController implements EventAccess, ControllerServiceProvider, R
         }
 
         reportingTasks.put(id, taskNode);
+
+        // Register log observer to provide bulletins when reporting task logs anything at WARN level or above
+        final LogRepository logRepository = LogRepositoryFactory.getRepository(id);
+        logRepository.addObserver(StandardProcessorNode.BULLETIN_OBSERVER_ID, LogLevel.WARN,
+            new ReportingTaskLogObserver(getBulletinRepository(), taskNode));
+
         return taskNode;
     }
 
@@ -2616,7 +2624,14 @@ public class FlowController implements EventAccess, ControllerServiceProvider, R
 
     @Override
     public ControllerServiceNode createControllerService(final String type, final String id, final boolean firstTimeAdded) {
-        return controllerServiceProvider.createControllerService(type, id, firstTimeAdded);
+        final ControllerServiceNode serviceNode = controllerServiceProvider.createControllerService(type, id, firstTimeAdded);
+
+        // Register log observer to provide bulletins when reporting task logs anything at WARN level or above
+        final LogRepository logRepository = LogRepositoryFactory.getRepository(id);
+        logRepository.addObserver(StandardProcessorNode.BULLETIN_OBSERVER_ID, LogLevel.WARN,
+            new ControllerServiceLogObserver(getBulletinRepository(), serviceNode));
+
+        return serviceNode;
     }
 
     @Override
@@ -3480,7 +3495,7 @@ public class FlowController implements EventAccess, ControllerServiceProvider, R
                     if (bulletin.getGroupId() == null) {
                         escapedBulletin = BulletinFactory.createBulletin(bulletin.getCategory(), bulletin.getLevel(), escapedBulletinMessage);
                     } else {
-                        escapedBulletin = BulletinFactory.createBulletin(bulletin.getGroupId(), bulletin.getSourceId(),
+                        escapedBulletin = BulletinFactory.createBulletin(bulletin.getGroupId(), bulletin.getSourceId(), bulletin.getSourceType(),
                                 bulletin.getSourceName(), bulletin.getCategory(), bulletin.getLevel(), escapedBulletinMessage);
                     }
                 } else {

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/f1adb8bf/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/service/ControllerServiceLoader.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/service/ControllerServiceLoader.java b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/service/ControllerServiceLoader.java
index 92fa3b2..b5c3855 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/service/ControllerServiceLoader.java
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/service/ControllerServiceLoader.java
@@ -48,11 +48,12 @@ public class ControllerServiceLoader {
     private static final Logger logger = LoggerFactory.getLogger(ControllerServiceLoader.class);
 
     public static List<ControllerServiceNode> loadControllerServices(
-            final ControllerServiceProvider provider,
-            final InputStream serializedStream,
-            final StringEncryptor encryptor,
-            final BulletinRepository bulletinRepo,
-            final boolean autoResumeState) throws IOException {
+        final ControllerServiceProvider provider,
+        final InputStream serializedStream,
+        final StringEncryptor encryptor,
+        final BulletinRepository bulletinRepo,
+        final boolean autoResumeState) throws IOException {
+
         final DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
         documentBuilderFactory.setNamespaceAware(true);
 

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/f1adb8bf/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/events/VolatileBulletinRepository.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/events/VolatileBulletinRepository.java b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/events/VolatileBulletinRepository.java
index a20e974..a58bf8e 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/events/VolatileBulletinRepository.java
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/events/VolatileBulletinRepository.java
@@ -27,6 +27,7 @@ import java.util.concurrent.TimeUnit;
 import org.apache.nifi.reporting.Bulletin;
 import org.apache.nifi.reporting.BulletinQuery;
 import org.apache.nifi.reporting.BulletinRepository;
+import org.apache.nifi.reporting.ComponentType;
 import org.apache.nifi.util.RingBuffer;
 import org.apache.nifi.util.RingBuffer.Filter;
 
@@ -167,7 +168,7 @@ public class VolatileBulletinRepository implements BulletinRepository {
         }
 
         final RingBuffer<Bulletin> buffer = componentMap.get(CONTROLLER_BULLETIN_STORE_KEY);
-        return (buffer == null) ? Collections.<Bulletin>emptyList() : buffer.getSelectedElements(new Filter<Bulletin>() {
+        return buffer == null ? Collections.<Bulletin>emptyList() : buffer.getSelectedElements(new Filter<Bulletin>() {
             @Override
             public boolean select(final Bulletin bulletin) {
                 return bulletin.getTimestamp().getTime() >= fiveMinutesAgo;
@@ -199,7 +200,7 @@ public class VolatileBulletinRepository implements BulletinRepository {
         ConcurrentMap<String, RingBuffer<Bulletin>> componentMap = bulletinStoreMap.get(groupId);
         if (componentMap == null) {
             componentMap = new ConcurrentHashMap<>();
-            ConcurrentMap<String, RingBuffer<Bulletin>> existing = bulletinStoreMap.putIfAbsent(groupId, componentMap);
+            final ConcurrentMap<String, RingBuffer<Bulletin>> existing = bulletinStoreMap.putIfAbsent(groupId, componentMap);
             if (existing != null) {
                 componentMap = existing;
             }
@@ -225,7 +226,7 @@ public class VolatileBulletinRepository implements BulletinRepository {
     }
 
     private boolean isControllerBulletin(final Bulletin bulletin) {
-        return bulletin.getGroupId() == null;
+        return ComponentType.FLOW_CONTROLLER.equals(bulletin.getSourceType());
     }
 
     private class DefaultBulletinProcessingStrategy implements BulletinProcessingStrategy {

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/f1adb8bf/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/jaxb/AdaptedBulletin.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/jaxb/AdaptedBulletin.java b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/jaxb/AdaptedBulletin.java
index 6f1dc45..17c5991 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/jaxb/AdaptedBulletin.java
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/jaxb/AdaptedBulletin.java
@@ -18,6 +18,8 @@ package org.apache.nifi.jaxb;
 
 import java.util.Date;
 
+import org.apache.nifi.reporting.ComponentType;
+
 /**
  *
  */
@@ -32,6 +34,7 @@ public class AdaptedBulletin {
     private String groupId;
     private String sourceId;
     private String sourceName;
+    private ComponentType sourceType;
 
     public String getCategory() {
         return category;
@@ -97,4 +100,11 @@ public class AdaptedBulletin {
         this.timestamp = timestamp;
     }
 
+    public ComponentType getSourceType() {
+        return sourceType;
+    }
+
+    public void setSourceType(ComponentType sourceType) {
+        this.sourceType = sourceType;
+    }
 }

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/f1adb8bf/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/jaxb/BulletinAdapter.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/jaxb/BulletinAdapter.java b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/jaxb/BulletinAdapter.java
index b699348..acbe0dd 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/jaxb/BulletinAdapter.java
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/jaxb/BulletinAdapter.java
@@ -34,7 +34,7 @@ public class BulletinAdapter extends XmlAdapter<AdaptedBulletin, Bulletin> {
         if (b.getSourceId() == null) {
             return BulletinFactory.createBulletin(b.getCategory(), b.getLevel(), b.getMessage());
         } else {
-            return BulletinFactory.createBulletin(b.getGroupId(), b.getSourceId(), b.getSourceName(), b.getCategory(), b.getLevel(), b.getMessage());
+            return BulletinFactory.createBulletin(b.getGroupId(), b.getSourceId(), b.getSourceType(), b.getSourceName(), b.getCategory(), b.getLevel(), b.getMessage());
         }
     }
 
@@ -48,6 +48,7 @@ public class BulletinAdapter extends XmlAdapter<AdaptedBulletin, Bulletin> {
         aBulletin.setTimestamp(b.getTimestamp());
         aBulletin.setGroupId(b.getGroupId());
         aBulletin.setSourceId(b.getSourceId());
+        aBulletin.setSourceType(b.getSourceType());
         aBulletin.setSourceName(b.getSourceName());
         aBulletin.setCategory(b.getCategory());
         aBulletin.setLevel(b.getLevel());

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/f1adb8bf/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/logging/ControllerServiceLogObserver.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/logging/ControllerServiceLogObserver.java b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/logging/ControllerServiceLogObserver.java
new file mode 100644
index 0000000..837e1c4
--- /dev/null
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/logging/ControllerServiceLogObserver.java
@@ -0,0 +1,45 @@
+/*
+ * 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.nifi.logging;
+
+import org.apache.nifi.controller.service.ControllerServiceNode;
+import org.apache.nifi.events.BulletinFactory;
+import org.apache.nifi.reporting.Bulletin;
+import org.apache.nifi.reporting.BulletinRepository;
+import org.apache.nifi.reporting.ComponentType;
+import org.apache.nifi.reporting.Severity;
+
+public class ControllerServiceLogObserver implements LogObserver {
+    private final BulletinRepository bulletinRepository;
+    private final ControllerServiceNode serviceNode;
+
+    public ControllerServiceLogObserver(final BulletinRepository bulletinRepository, final ControllerServiceNode serviceNode) {
+        this.bulletinRepository = bulletinRepository;
+        this.serviceNode = serviceNode;
+    }
+
+    @Override
+    public void onLogMessage(final LogMessage message) {
+        // Map LogLevel.WARN to Severity.WARNING so that we are consistent with the Severity enumeration. Else, just use whatever
+        // the LogLevel is (INFO and ERROR map directly and all others we will just accept as they are).
+        final String bulletinLevel = message.getLevel() == LogLevel.WARN ? Severity.WARNING.name() : message.getLevel().toString();
+
+        final Bulletin bulletin = BulletinFactory.createBulletin(null, serviceNode.getIdentifier(), ComponentType.REPORTING_TASK,
+            serviceNode.getName(), "Log Message", bulletinLevel, message.getMessage());
+        bulletinRepository.addBulletin(bulletin);
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/f1adb8bf/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/logging/ReportingTaskLogObserver.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/logging/ReportingTaskLogObserver.java b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/logging/ReportingTaskLogObserver.java
new file mode 100644
index 0000000..e5638d6
--- /dev/null
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/logging/ReportingTaskLogObserver.java
@@ -0,0 +1,45 @@
+/*
+ * 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.nifi.logging;
+
+import org.apache.nifi.controller.ReportingTaskNode;
+import org.apache.nifi.events.BulletinFactory;
+import org.apache.nifi.reporting.Bulletin;
+import org.apache.nifi.reporting.BulletinRepository;
+import org.apache.nifi.reporting.ComponentType;
+import org.apache.nifi.reporting.Severity;
+
+public class ReportingTaskLogObserver implements LogObserver {
+    private final BulletinRepository bulletinRepository;
+    private final ReportingTaskNode taskNode;
+
+    public ReportingTaskLogObserver(final BulletinRepository bulletinRepository, final ReportingTaskNode taskNode) {
+        this.bulletinRepository = bulletinRepository;
+        this.taskNode = taskNode;
+    }
+
+    @Override
+    public void onLogMessage(final LogMessage message) {
+        // Map LogLevel.WARN to Severity.WARNING so that we are consistent with the Severity enumeration. Else, just use whatever
+        // the LogLevel is (INFO and ERROR map directly and all others we will just accept as they are).
+        final String bulletinLevel = message.getLevel() == LogLevel.WARN ? Severity.WARNING.name() : message.getLevel().toString();
+
+        final Bulletin bulletin = BulletinFactory.createBulletin(null, taskNode.getIdentifier(), ComponentType.REPORTING_TASK,
+            taskNode.getName(), "Log Message", bulletinLevel, message.getMessage());
+        bulletinRepository.addBulletin(bulletin);
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/f1adb8bf/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/remote/StandardRemoteProcessGroup.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/remote/StandardRemoteProcessGroup.java b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/remote/StandardRemoteProcessGroup.java
index d19b5c1..61516d0 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/remote/StandardRemoteProcessGroup.java
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/remote/StandardRemoteProcessGroup.java
@@ -57,6 +57,7 @@ import org.apache.nifi.groups.ProcessGroupCounts;
 import org.apache.nifi.groups.RemoteProcessGroup;
 import org.apache.nifi.groups.RemoteProcessGroupPortDescriptor;
 import org.apache.nifi.reporting.BulletinRepository;
+import org.apache.nifi.reporting.ComponentType;
 import org.apache.nifi.reporting.Severity;
 import org.apache.nifi.util.FormatUtils;
 import org.apache.nifi.util.NiFiProperties;
@@ -164,7 +165,8 @@ public class StandardRemoteProcessGroup implements RemoteProcessGroup {
                 final String groupId = StandardRemoteProcessGroup.this.getProcessGroup().getIdentifier();
                 final String sourceId = StandardRemoteProcessGroup.this.getIdentifier();
                 final String sourceName = StandardRemoteProcessGroup.this.getName();
-                bulletinRepository.addBulletin(BulletinFactory.createBulletin(groupId, sourceId, sourceName, category, severity.name(), message));
+                bulletinRepository.addBulletin(BulletinFactory.createBulletin(groupId, sourceId, ComponentType.REMOTE_PROCESS_GROUP,
+                    sourceName, category, severity.name(), message));
             }
         };
 
@@ -227,7 +229,7 @@ public class StandardRemoteProcessGroup implements RemoteProcessGroup {
     @Override
     public String getName() {
         final String name = this.name.get();
-        return (name == null) ? targetUri.toString() : name;
+        return name == null ? targetUri.toString() : name;
     }
 
     @Override
@@ -671,7 +673,7 @@ public class StandardRemoteProcessGroup implements RemoteProcessGroup {
 
     private ProcessGroup getRootGroup(final ProcessGroup context) {
         final ProcessGroup parent = context.getParent();
-        return (parent == null) ? context : getRootGroup(parent);
+        return parent == null ? context : getRootGroup(parent);
     }
 
     private boolean isWebApiSecure() {
@@ -714,7 +716,7 @@ public class StandardRemoteProcessGroup implements RemoteProcessGroup {
     public Date getLastRefreshTime() {
         readLock.lock();
         try {
-            return (refreshContentsTimestamp == null) ? null : new Date(refreshContentsTimestamp);
+            return refreshContentsTimestamp == null ? null : new Date(refreshContentsTimestamp);
         } finally {
             readLock.unlock();
         }
@@ -855,7 +857,7 @@ public class StandardRemoteProcessGroup implements RemoteProcessGroup {
         Set<RemoteProcessGroupPortDescriptor> remotePorts = null;
         if (ports != null) {
             remotePorts = new LinkedHashSet<>(ports.size());
-            for (PortDTO port : ports) {
+            for (final PortDTO port : ports) {
                 final StandardRemoteProcessGroupPortDescriptor descriptor = new StandardRemoteProcessGroupPortDescriptor();
                 final ScheduledState scheduledState = ScheduledState.valueOf(port.getState());
                 descriptor.setId(port.getId());
@@ -1093,7 +1095,7 @@ public class StandardRemoteProcessGroup implements RemoteProcessGroup {
                     }
 
                     final String remoteInstanceId = dto.getInstanceId();
-                    boolean isPointingToCluster = flowController.getInstanceId().equals(remoteInstanceId);
+                    final boolean isPointingToCluster = flowController.getInstanceId().equals(remoteInstanceId);
                     pointsToCluster.set(isPointingToCluster);
                 } else if (statusCode == UNAUTHORIZED_STATUS_CODE) {
                     try {
@@ -1120,7 +1122,7 @@ public class StandardRemoteProcessGroup implements RemoteProcessGroup {
                             new Object[]{this, response.getStatus(), response.getStatusInfo().getReasonPhrase(), message});
                     authorizationIssue = "Unable to determine Site-to-Site availability.";
                 }
-            } catch (Exception e) {
+            } catch (final Exception e) {
                 logger.warn(String.format("Unable to connect to %s due to %s", StandardRemoteProcessGroup.this, e));
                 getEventReporter().reportEvent(Severity.WARNING, "Site to Site", String.format("Unable to connect to %s due to %s",
                         StandardRemoteProcessGroup.this.getTargetUri().toString(), e));

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/f1adb8bf/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-site-to-site/src/main/java/org/apache/nifi/remote/StandardRootGroupPort.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-site-to-site/src/main/java/org/apache/nifi/remote/StandardRootGroupPort.java b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-site-to-site/src/main/java/org/apache/nifi/remote/StandardRootGroupPort.java
index 4bb1683..9eadec0 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-site-to-site/src/main/java/org/apache/nifi/remote/StandardRootGroupPort.java
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-site-to-site/src/main/java/org/apache/nifi/remote/StandardRootGroupPort.java
@@ -61,6 +61,7 @@ import org.apache.nifi.remote.exception.TransmissionDisabledException;
 import org.apache.nifi.remote.protocol.CommunicationsSession;
 import org.apache.nifi.remote.protocol.ServerProtocol;
 import org.apache.nifi.reporting.BulletinRepository;
+import org.apache.nifi.reporting.ComponentType;
 import org.apache.nifi.reporting.Severity;
 import org.apache.nifi.scheduling.SchedulingStrategy;
 import org.apache.nifi.user.NiFiUser;
@@ -108,7 +109,8 @@ public class StandardRootGroupPort extends AbstractPort implements RootGroupPort
                 final String groupId = StandardRootGroupPort.this.getProcessGroup().getIdentifier();
                 final String sourceId = StandardRootGroupPort.this.getIdentifier();
                 final String sourceName = StandardRootGroupPort.this.getName();
-                bulletinRepository.addBulletin(BulletinFactory.createBulletin(groupId, sourceId, sourceName, category, severity.name(), message));
+                final ComponentType componentType = direction == TransferDirection.RECEIVE ? ComponentType.INPUT_PORT : ComponentType.OUTPUT_PORT;
+                bulletinRepository.addBulletin(BulletinFactory.createBulletin(groupId, sourceId, componentType, sourceName, category, severity.name(), message));
             }
         };
 


[12/50] [abbrv] incubator-nifi git commit: NIFI-735: DocGenerator should on @OnUnscheduled and @OnStopped after its done generating the docs

Posted by mc...@apache.org.
NIFI-735: DocGenerator should on @OnUnscheduled and @OnStopped after its done generating the docs


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

Branch: refs/heads/master
Commit: bd9782cb43ece682c853d9a75279ebe76f968044
Parents: e35f348
Author: danbress <db...@onyxconsults.com>
Authored: Sat Jun 27 14:38:45 2015 -0400
Committer: danbress <db...@onyxconsults.com>
Committed: Sat Jun 27 14:38:45 2015 -0400

----------------------------------------------------------------------
 .../documentation/ConfigurableComponentInitializer.java  |  9 ++++++++-
 .../java/org/apache/nifi/documentation/DocGenerator.java |  2 ++
 .../documentation/init/ControllerServiceInitializer.java | 11 +++++++++--
 .../nifi/documentation/init/ProcessorInitializer.java    | 11 +++++++++--
 .../documentation/init/ReportingTaskingInitializer.java  | 11 +++++++++--
 .../documentation/html/HtmlDocumentationWriterTest.java  |  2 ++
 .../html/ProcessorDocumentationWriterTest.java           |  3 +++
 7 files changed, 42 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bd9782cb/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/ConfigurableComponentInitializer.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/ConfigurableComponentInitializer.java b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/ConfigurableComponentInitializer.java
index bd07ab5..ad21f21 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/ConfigurableComponentInitializer.java
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/ConfigurableComponentInitializer.java
@@ -20,7 +20,7 @@ import org.apache.nifi.components.ConfigurableComponent;
 import org.apache.nifi.reporting.InitializationException;
 
 /**
- * An interface for initializing a ConfigurableComponent. It is up to the
+ * An interface for initializing and tearing down a ConfigurableComponent. It is up to the
  * implementer to call "init" so that you can call
  * ConfigurableComponent.getPropertyDescriptors()
  *
@@ -35,4 +35,11 @@ public interface ConfigurableComponentInitializer {
      * @throws InitializationException if the component could not be initialized
      */
     void initialize(ConfigurableComponent component) throws InitializationException;
+
+    /**
+     * Calls the lifecycle methods that should be called when a flow is shutdown.
+     *
+     * @param component the component to initialize
+     */
+    void teardown(ConfigurableComponent component);
 }

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bd9782cb/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/DocGenerator.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/DocGenerator.java b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/DocGenerator.java
index 7c32bf8..327da04 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/DocGenerator.java
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/DocGenerator.java
@@ -114,6 +114,8 @@ public class DocGenerator {
         try (final OutputStream output = new BufferedOutputStream(new FileOutputStream(baseDocumenationFile))) {
             writer.write(component, output, hasAdditionalInfo(directory));
         }
+
+        initializer.teardown(component);
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bd9782cb/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/init/ControllerServiceInitializer.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/init/ControllerServiceInitializer.java b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/init/ControllerServiceInitializer.java
index 976c7a5..7839254 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/init/ControllerServiceInitializer.java
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/init/ControllerServiceInitializer.java
@@ -42,11 +42,18 @@ public class ControllerServiceInitializer implements ConfigurableComponentInitia
 
         try (NarCloseable narCloseable = NarCloseable.withNarLoader()) {
             controllerService.initialize(new MockControllerServiceInitializationContext());
+        }
+    }
+
+    @Override
+    public void teardown(ConfigurableComponent component) {
+        try (NarCloseable narCloseable = NarCloseable.withNarLoader()) {
+            ControllerService controllerService = (ControllerService) component;
 
             final ProcessorLog logger = new MockProcessorLogger();
             final MockConfigurationContext context = new MockConfigurationContext();
-            ReflectionUtils.quietlyInvokeMethodsWithAnnotations(OnRemoved.class, null, controllerService, logger, context);
-            ReflectionUtils.quietlyInvokeMethodsWithAnnotations(OnShutdown.class, null, controllerService, logger, context);
+            ReflectionUtils.quietlyInvokeMethodsWithAnnotations(OnRemoved.class, org.apache.nifi.processor.annotation.OnRemoved.class, controllerService, logger, context);
+            ReflectionUtils.quietlyInvokeMethodsWithAnnotations(OnShutdown.class, org.apache.nifi.processor.annotation.OnShutdown.class, controllerService, logger, context);
         }
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bd9782cb/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/init/ProcessorInitializer.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/init/ProcessorInitializer.java b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/init/ProcessorInitializer.java
index 7f3357c..5808c35 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/init/ProcessorInitializer.java
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/init/ProcessorInitializer.java
@@ -40,11 +40,18 @@ public class ProcessorInitializer implements ConfigurableComponentInitializer {
         Processor processor = (Processor) component;
         try (NarCloseable narCloseable = NarCloseable.withNarLoader()) {
             processor.initialize(new MockProcessorInitializationContext());
+        }
+    }
+
+    @Override
+    public void teardown(ConfigurableComponent component) {
+        Processor processor = (Processor) component;
+        try (NarCloseable narCloseable = NarCloseable.withNarLoader()) {
 
             final ProcessorLog logger = new MockProcessorLogger();
             final MockProcessContext context = new MockProcessContext();
-            ReflectionUtils.quietlyInvokeMethodsWithAnnotations(OnRemoved.class, null, processor, logger, context);
-            ReflectionUtils.quietlyInvokeMethodsWithAnnotations(OnShutdown.class, null, processor, logger, context);
+            ReflectionUtils.quietlyInvokeMethodsWithAnnotations(OnRemoved.class, org.apache.nifi.processor.annotation.OnRemoved.class, processor, logger, context);
+            ReflectionUtils.quietlyInvokeMethodsWithAnnotations(OnShutdown.class, org.apache.nifi.processor.annotation.OnShutdown.class, processor, logger, context);
         }
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bd9782cb/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/init/ReportingTaskingInitializer.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/init/ReportingTaskingInitializer.java b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/init/ReportingTaskingInitializer.java
index 90642e4..23b4500 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/init/ReportingTaskingInitializer.java
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/init/ReportingTaskingInitializer.java
@@ -40,10 +40,17 @@ public class ReportingTaskingInitializer implements ConfigurableComponentInitial
         ReportingTask reportingTask = (ReportingTask) component;
         try (NarCloseable narCloseable = NarCloseable.withNarLoader()) {
             reportingTask.initialize(new MockReportingInitializationContext());
+        }
+    }
+
+    @Override
+    public void teardown(ConfigurableComponent component) {
+        ReportingTask reportingTask = (ReportingTask) component;
+        try (NarCloseable narCloseable = NarCloseable.withNarLoader()) {
 
             final MockConfigurationContext context = new MockConfigurationContext();
-            ReflectionUtils.quietlyInvokeMethodsWithAnnotations(OnRemoved.class, null, reportingTask, new MockProcessorLogger(), context);
-            ReflectionUtils.quietlyInvokeMethodsWithAnnotations(OnShutdown.class, null, reportingTask, new MockProcessorLogger(), context);
+            ReflectionUtils.quietlyInvokeMethodsWithAnnotations(OnRemoved.class, org.apache.nifi.processor.annotation.OnRemoved.class, reportingTask, new MockProcessorLogger(), context);
+            ReflectionUtils.quietlyInvokeMethodsWithAnnotations(OnShutdown.class, org.apache.nifi.processor.annotation.OnShutdown.class, reportingTask, new MockProcessorLogger(), context);
         }
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bd9782cb/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/test/java/org/apache/nifi/documentation/html/HtmlDocumentationWriterTest.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/test/java/org/apache/nifi/documentation/html/HtmlDocumentationWriterTest.java b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/test/java/org/apache/nifi/documentation/html/HtmlDocumentationWriterTest.java
index d85e19b..5a138dc 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/test/java/org/apache/nifi/documentation/html/HtmlDocumentationWriterTest.java
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/test/java/org/apache/nifi/documentation/html/HtmlDocumentationWriterTest.java
@@ -58,6 +58,7 @@ public class HtmlDocumentationWriterTest {
         ByteArrayOutputStream baos = new ByteArrayOutputStream();
 
         writer.write(controllerService, baos, false);
+        initializer.teardown(controllerService);
 
         String results = new String(baos.toByteArray());
         XmlValidator.assertXmlValid(results);
@@ -96,6 +97,7 @@ public class HtmlDocumentationWriterTest {
         ByteArrayOutputStream baos = new ByteArrayOutputStream();
 
         writer.write(reportingTask, baos, false);
+        initializer.teardown(reportingTask);
 
         String results = new String(baos.toByteArray());
         XmlValidator.assertXmlValid(results);

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bd9782cb/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/test/java/org/apache/nifi/documentation/html/ProcessorDocumentationWriterTest.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/test/java/org/apache/nifi/documentation/html/ProcessorDocumentationWriterTest.java b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/test/java/org/apache/nifi/documentation/html/ProcessorDocumentationWriterTest.java
index fda81fd..31fe73e 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/test/java/org/apache/nifi/documentation/html/ProcessorDocumentationWriterTest.java
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/test/java/org/apache/nifi/documentation/html/ProcessorDocumentationWriterTest.java
@@ -44,6 +44,7 @@ public class ProcessorDocumentationWriterTest {
         ByteArrayOutputStream baos = new ByteArrayOutputStream();
 
         writer.write(processor, baos, false);
+        initializer.teardown(processor);
 
         String results = new String(baos.toByteArray());
         XmlValidator.assertXmlValid(results);
@@ -92,6 +93,7 @@ public class ProcessorDocumentationWriterTest {
         ByteArrayOutputStream baos = new ByteArrayOutputStream();
 
         writer.write(processor, baos, false);
+        initializer.teardown(processor);
 
         String results = new String(baos.toByteArray());
         XmlValidator.assertXmlValid(results);
@@ -121,6 +123,7 @@ public class ProcessorDocumentationWriterTest {
         ByteArrayOutputStream baos = new ByteArrayOutputStream();
 
         writer.write(processor, baos, false);
+        initializer.teardown(processor);
 
         String results = new String(baos.toByteArray());
         XmlValidator.assertXmlValid(results);


[36/50] [abbrv] incubator-nifi git commit: NIFI-685: Fixed checkstyle violation of using import with *

Posted by mc...@apache.org.
NIFI-685: Fixed checkstyle violation of using import with *


Project: http://git-wip-us.apache.org/repos/asf/incubator-nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-nifi/commit/2a4e5e12
Tree: http://git-wip-us.apache.org/repos/asf/incubator-nifi/tree/2a4e5e12
Diff: http://git-wip-us.apache.org/repos/asf/incubator-nifi/diff/2a4e5e12

Branch: refs/heads/master
Commit: 2a4e5e12855364c6d4b14f1ef1445e08d1f4fe08
Parents: 2ac61c5
Author: Mark Payne <ma...@hotmail.com>
Authored: Fri Jul 3 12:55:32 2015 -0400
Committer: Mark Payne <ma...@hotmail.com>
Committed: Fri Jul 3 12:55:32 2015 -0400

----------------------------------------------------------------------
 .../nifi/processors/standard/PostHTTP.java      | 30 +++++++++++---------
 1 file changed, 17 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/2a4e5e12/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/PostHTTP.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/PostHTTP.java b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/PostHTTP.java
index 1dc7aba..51f28e0 100644
--- a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/PostHTTP.java
+++ b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/PostHTTP.java
@@ -49,7 +49,11 @@ import javax.net.ssl.SSLSession;
 import javax.security.cert.X509Certificate;
 import javax.servlet.http.HttpServletResponse;
 
-import org.apache.http.*;
+import org.apache.http.Header;
+import org.apache.http.HttpException;
+import org.apache.http.HttpHost;
+import org.apache.http.HttpResponse;
+import org.apache.http.HttpResponseInterceptor;
 import org.apache.http.auth.AuthScope;
 import org.apache.http.auth.UsernamePasswordCredentials;
 import org.apache.http.client.CredentialsProvider;
@@ -78,9 +82,9 @@ import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;
 import org.apache.http.protocol.HttpContext;
 import org.apache.http.protocol.HttpCoreContext;
 import org.apache.http.util.EntityUtils;
+import org.apache.nifi.annotation.behavior.ReadsAttribute;
 import org.apache.nifi.annotation.behavior.SupportsBatching;
 import org.apache.nifi.annotation.documentation.CapabilityDescription;
-import org.apache.nifi.annotation.behavior.ReadsAttribute;
 import org.apache.nifi.annotation.documentation.Tags;
 import org.apache.nifi.annotation.lifecycle.OnScheduled;
 import org.apache.nifi.annotation.lifecycle.OnStopped;
@@ -378,7 +382,7 @@ public class PostHTTP extends AbstractProcessor {
         config = new Config(conMan);
         final Config existingConfig = configMap.putIfAbsent(baseUrl, config);
 
-        return (existingConfig == null) ? config : existingConfig;
+        return existingConfig == null ? config : existingConfig;
     }
 
     private SSLContext createSSLContext(final SSLContextService service)
@@ -402,7 +406,7 @@ public class PostHTTP extends AbstractProcessor {
             builder = builder.loadKeyMaterial(keystore, service.getKeyStorePassword().toCharArray());
         }
 
-        SSLContext sslContext = builder.build();
+        final SSLContext sslContext = builder.build();
         return sslContext;
     }
 
@@ -468,13 +472,13 @@ public class PostHTTP extends AbstractProcessor {
                 clientBuilder.addInterceptorFirst(new HttpResponseInterceptor() {
                     @Override
                     public void process(final HttpResponse response, final HttpContext httpContext) throws HttpException, IOException {
-                        HttpCoreContext coreContext = HttpCoreContext.adapt(httpContext);
-                        ManagedHttpClientConnection conn = coreContext.getConnection(ManagedHttpClientConnection.class);
+                        final HttpCoreContext coreContext = HttpCoreContext.adapt(httpContext);
+                        final ManagedHttpClientConnection conn = coreContext.getConnection(ManagedHttpClientConnection.class);
                         if (!conn.isOpen()) {
                             return;
                         }
 
-                        SSLSession sslSession = conn.getSSLSession();
+                        final SSLSession sslSession = conn.getSSLSession();
 
                         if (sslSession != null) {
                             final X509Certificate[] certChain = sslSession.getPeerCertificateChain();
@@ -524,7 +528,7 @@ public class PostHTTP extends AbstractProcessor {
                         }
 
                         config.setDestinationAccepts(destinationAccepts);
-                    } catch (IOException e) {
+                    } catch (final IOException e) {
                         flowFile = session.penalize(flowFile);
                         session.transfer(flowFile, REL_FAILURE);
                         logger.error("Unable to communicate with destination {} to determine whether or not it can accept "
@@ -537,7 +541,7 @@ public class PostHTTP extends AbstractProcessor {
 
             // if we are not sending as flowfile, or if the destination doesn't accept V3 or V2 (streaming) format,
             // then only use a single FlowFile
-            if (!sendAsFlowFile || (!destinationAccepts.isFlowFileV3Accepted() && !destinationAccepts.isFlowFileV2Accepted())) {
+            if (!sendAsFlowFile || !destinationAccepts.isFlowFileV3Accepted() && !destinationAccepts.isFlowFileV2Accepted()) {
                 break;
             }
 
@@ -560,7 +564,7 @@ public class PostHTTP extends AbstractProcessor {
         final EntityTemplate entity = new EntityTemplate(new ContentProducer() {
             @Override
             public void writeTo(final OutputStream rawOut) throws IOException {
-                final OutputStream throttled = (throttler == null) ? rawOut : throttler.newThrottledOutputStream(rawOut);
+                final OutputStream throttled = throttler == null ? rawOut : throttler.newThrottledOutputStream(rawOut);
                 OutputStream wrappedOut = new BufferedOutputStream(throttled);
                 if (compressionLevel > 0 && accepts.isGzipAccepted()) {
                     wrappedOut = new GZIPOutputStream(wrappedOut, compressionLevel);
@@ -634,7 +638,7 @@ public class PostHTTP extends AbstractProcessor {
             }
         } else {
             final String attributeValue = toSend.get(0).getAttribute(CoreAttributes.MIME_TYPE.key());
-            contentType = (attributeValue == null) ? DEFAULT_CONTENT_TYPE : attributeValue;
+            contentType = attributeValue == null ? DEFAULT_CONTENT_TYPE : attributeValue;
         }
 
         final String attributeHeaderRegex = context.getProperty(ATTRIBUTES_AS_HEADERS_REGEX).getValue();
@@ -686,7 +690,7 @@ public class PostHTTP extends AbstractProcessor {
             if (response != null) {
                 try {
                     response.close();
-                } catch (IOException e) {
+                } catch (final IOException e) {
                     getLogger().warn("Failed to close HTTP Response due to {}", new Object[]{e});
                 }
             }
@@ -802,7 +806,7 @@ public class PostHTTP extends AbstractProcessor {
 
                 logger.info("Successfully Posted {} to {} in {} milliseconds at a rate of {}", new Object[]{flowFileDescription, url, uploadMillis, uploadDataRate});
 
-                for (FlowFile flowFile : toSend) {
+                for (final FlowFile flowFile : toSend) {
                     session.getProvenanceReporter().send(flowFile, url);
                     session.transfer(flowFile, REL_SUCCESS);
                 }


[29/50] [abbrv] incubator-nifi git commit: Merge branch 'develop' of https://git-wip-us.apache.org/repos/asf/incubator-nifi into develop

Posted by mc...@apache.org.
Merge branch 'develop' of https://git-wip-us.apache.org/repos/asf/incubator-nifi into develop


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

Branch: refs/heads/master
Commit: b1718494679c83a61e4f37976a58b29caba8b00f
Parents: 9d6458a 063afe2
Author: Matt Gilman <ma...@gmail.com>
Authored: Fri Jul 3 09:09:15 2015 -0400
Committer: Matt Gilman <ma...@gmail.com>
Committed: Fri Jul 3 09:09:15 2015 -0400

----------------------------------------------------------------------
 nifi-site/src/includes/topbar.hbs | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
----------------------------------------------------------------------



[26/50] [abbrv] incubator-nifi git commit: NIFI-741: Adding a link to the contributor guide in the Community section of navigation.

Posted by mc...@apache.org.
NIFI-741: Adding a link to the contributor guide in the Community section of navigation.


Project: http://git-wip-us.apache.org/repos/asf/incubator-nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-nifi/commit/063afe2a
Tree: http://git-wip-us.apache.org/repos/asf/incubator-nifi/tree/063afe2a
Diff: http://git-wip-us.apache.org/repos/asf/incubator-nifi/diff/063afe2a

Branch: refs/heads/master
Commit: 063afe2a0dfbd7d256ad6e1df07886013f6b9503
Parents: eddc071
Author: Aldrin Piri <al...@apache.org>
Authored: Fri Jul 3 00:55:15 2015 -0400
Committer: Aldrin Piri <al...@apache.org>
Committed: Fri Jul 3 00:55:15 2015 -0400

----------------------------------------------------------------------
 nifi-site/src/includes/topbar.hbs | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/063afe2a/nifi-site/src/includes/topbar.hbs
----------------------------------------------------------------------
diff --git a/nifi-site/src/includes/topbar.hbs b/nifi-site/src/includes/topbar.hbs
index e91b081..7010ac0 100644
--- a/nifi-site/src/includes/topbar.hbs
+++ b/nifi-site/src/includes/topbar.hbs
@@ -41,6 +41,7 @@
                 <li class="has-dropdown">
                     <a href="#">Community</a>
                     <ul class="dropdown">
+                        <li><a href="https://cwiki.apache.org/confluence/display/NIFI/Contributor+Guide">Contributor Guide</a></li>
                         <li><a href="mailing_lists.html">Mailing Lists</a></li>
                         <li><a href="people.html">People</a></li>
                     </ul>
@@ -68,4 +69,4 @@
             </ul>
         </section>
     </nav>
-</div>
\ No newline at end of file
+</div>


[31/50] [abbrv] incubator-nifi git commit: NIFI-472: Refining the mechanism to carry out running as a different user pushing the handling of this primarily to the controlling script rather than the Java code. Making changes to the assembly such that per

Posted by mc...@apache.org.
NIFI-472: Refining the mechanism to carry out running as a different user pushing the handling of this primarily to the controlling script rather than the Java code.  Making changes to the assembly such that permissions are provided on a group level control basis.


Project: http://git-wip-us.apache.org/repos/asf/incubator-nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-nifi/commit/136974af
Tree: http://git-wip-us.apache.org/repos/asf/incubator-nifi/tree/136974af
Diff: http://git-wip-us.apache.org/repos/asf/incubator-nifi/diff/136974af

Branch: refs/heads/master
Commit: 136974af7c63bdb8c4c99c1a02c6b34011e2e17f
Parents: 322ac6f
Author: Aldrin Piri <al...@apache.org>
Authored: Thu Jul 2 17:44:03 2015 -0400
Committer: Aldrin Piri <al...@apache.org>
Committed: Fri Jul 3 10:39:40 2015 -0400

----------------------------------------------------------------------
 nifi/nifi-assembly/pom.xml                      |  5 +++++
 .../src/main/assembly/dependencies.xml          | 16 +++++++--------
 .../java/org/apache/nifi/bootstrap/RunNiFi.java | 14 +------------
 .../src/main/resources/bin/nifi.sh              | 21 ++++++++++++++++++--
 4 files changed, 33 insertions(+), 23 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/136974af/nifi/nifi-assembly/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-assembly/pom.xml b/nifi/nifi-assembly/pom.xml
index 9b17617..c679d22 100644
--- a/nifi/nifi-assembly/pom.xml
+++ b/nifi/nifi-assembly/pom.xml
@@ -35,6 +35,11 @@ language governing permissions and limitations under the License. -->
                         </goals>
                         <phase>package</phase>
                         <configuration>
+                            <archiverConfig>
+                                <defaultDirectoryMode>0775</defaultDirectoryMode>
+                                <directoryMode>0775</directoryMode>
+                                <fileMode>0664</fileMode>
+                            </archiverConfig>
                             <descriptors>
                                 <descriptor>src/main/assembly/dependencies.xml</descriptor>
                             </descriptors>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/136974af/nifi/nifi-assembly/src/main/assembly/dependencies.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-assembly/src/main/assembly/dependencies.xml b/nifi/nifi-assembly/src/main/assembly/dependencies.xml
index a3e3a18..243d0ac 100644
--- a/nifi/nifi-assembly/src/main/assembly/dependencies.xml
+++ b/nifi/nifi-assembly/src/main/assembly/dependencies.xml
@@ -29,8 +29,8 @@
             <scope>runtime</scope>
             <useProjectArtifact>false</useProjectArtifact>
             <outputDirectory>lib</outputDirectory>
-            <directoryMode>0750</directoryMode>
-            <fileMode>0640</fileMode>
+            <directoryMode>0770</directoryMode>
+            <fileMode>0660</fileMode>
             <useTransitiveFiltering>true</useTransitiveFiltering>
             <excludes>
             	<exclude>nifi-bootstrap</exclude>
@@ -44,8 +44,8 @@
             <scope>runtime</scope>
             <useProjectArtifact>false</useProjectArtifact>
             <outputDirectory>lib/bootstrap</outputDirectory>
-            <directoryMode>0750</directoryMode>
-            <fileMode>0640</fileMode>
+            <directoryMode>0770</directoryMode>
+            <fileMode>0660</fileMode>
             <useTransitiveFiltering>true</useTransitiveFiltering>
             <includes>
             	<include>nifi-bootstrap</include>
@@ -59,8 +59,8 @@
             <scope>runtime</scope>
             <useProjectArtifact>false</useProjectArtifact>
             <outputDirectory>./</outputDirectory>
-            <directoryMode>0750</directoryMode>
-            <fileMode>0640</fileMode>
+            <directoryMode>0770</directoryMode>
+            <fileMode>0664</fileMode>
             <useTransitiveFiltering>true</useTransitiveFiltering>
             <includes>
             	<include>nifi-resources</include>
@@ -79,8 +79,8 @@
             <scope>runtime</scope>
             <useProjectArtifact>false</useProjectArtifact>
             <outputDirectory>./</outputDirectory>
-            <directoryMode>0750</directoryMode>
-            <fileMode>0750</fileMode>
+            <directoryMode>0770</directoryMode>
+            <fileMode>0770</fileMode>
             <useTransitiveFiltering>true</useTransitiveFiltering>
             <includes>
             	<include>nifi-resources</include>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/136974af/nifi/nifi-bootstrap/src/main/java/org/apache/nifi/bootstrap/RunNiFi.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-bootstrap/src/main/java/org/apache/nifi/bootstrap/RunNiFi.java b/nifi/nifi-bootstrap/src/main/java/org/apache/nifi/bootstrap/RunNiFi.java
index 2bc44cc..a48a1de 100644
--- a/nifi/nifi-bootstrap/src/main/java/org/apache/nifi/bootstrap/RunNiFi.java
+++ b/nifi/nifi-bootstrap/src/main/java/org/apache/nifi/bootstrap/RunNiFi.java
@@ -728,20 +728,8 @@ public class RunNiFi {
         final NiFiListener listener = new NiFiListener();
         final int listenPort = listener.start(this);
 
-        String runAs = isWindows() ? null : props.get(RUN_AS_PROP);
-        if (runAs != null) {
-            runAs = runAs.trim();
-            if (runAs.isEmpty()) {
-                runAs = null;
-            }
-        }
-
         final List<String> cmd = new ArrayList<>();
-        if (runAs != null) {
-            cmd.add("sudo");
-            cmd.add("-u");
-            cmd.add(runAs);
-        }
+
         cmd.add(javaCmd);
         cmd.add("-classpath");
         cmd.add(classPath);

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/136974af/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-resources/src/main/resources/bin/nifi.sh
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-resources/src/main/resources/bin/nifi.sh b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-resources/src/main/resources/bin/nifi.sh
old mode 100644
new mode 100755
index 8caf55e..01a3f81
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-resources/src/main/resources/bin/nifi.sh
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-resources/src/main/resources/bin/nifi.sh
@@ -151,9 +151,26 @@ install() {
 run() {
     BOOTSTRAP_CONF="$NIFI_HOME/conf/bootstrap.conf";
 
+    run_as=$(grep run.as ${BOOTSTRAP_CONF} | cut -d'=' -f2)
+
+    sudo_cmd_prefix=""
     if $cygwin; then
+        if [[ -n "$run_as" ]]; then
+            echo "The run.as option is not supported in a Cygwin environment. Exiting."
+            exit 1
+        fi;
+
         NIFI_HOME=`cygpath --path --windows "$NIFI_HOME"`
         BOOTSTRAP_CONF=`cygpath --path --windows "$BOOTSTRAP_CONF"`
+    else
+        if [[ -n "$run_as" ]]; then
+            if id -u "$run_as" >/dev/null 2>&1; then
+                sudo_cmd_prefix="sudo -u ${run_as}"
+            else
+                echo "The specified run.as user ${run_as} does not exist. Exiting."
+                exit 1
+            fi
+        fi;
     fi
 
     echo
@@ -166,9 +183,9 @@ run() {
     # run 'start' in the background because the process will continue to run, monitoring NiFi.
     # all other commands will terminate quickly so want to just wait for them
     if [ "$1" = "start" ]; then
-        ("$JAVA" -cp "$NIFI_HOME"/conf/:"$NIFI_HOME"/lib/bootstrap/* -Xms12m -Xmx24m -Dorg.apache.nifi.bootstrap.config.file="$BOOTSTRAP_CONF" org.apache.nifi.bootstrap.RunNiFi $@ &)
+        (${sudo_cmd_prefix} "$JAVA" -cp "$NIFI_HOME"/conf/:"$NIFI_HOME"/lib/bootstrap/* -Xms12m -Xmx24m -Dorg.apache.nifi.bootstrap.config.file="$BOOTSTRAP_CONF" org.apache.nifi.bootstrap.RunNiFi $@ &)
     else
-        "$JAVA" -cp "$NIFI_HOME"/conf/:"$NIFI_HOME"/lib/bootstrap/* -Xms12m -Xmx24m -Dorg.apache.nifi.bootstrap.config.file="$BOOTSTRAP_CONF" org.apache.nifi.bootstrap.RunNiFi $@
+        ${sudo_cmd_prefix} "$JAVA" -cp "$NIFI_HOME"/conf/:"$NIFI_HOME"/lib/bootstrap/* -Xms12m -Xmx24m -Dorg.apache.nifi.bootstrap.config.file="$BOOTSTRAP_CONF" org.apache.nifi.bootstrap.RunNiFi $@
     fi
 
     # Wait just a bit (3 secs) to wait for the logging to finish and then echo a new-line.


[49/50] [abbrv] incubator-nifi git commit: NIFI-656-RC1 prepare for next development iteration

Posted by mc...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-mongodb-bundle/nifi-mongodb-nar/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-mongodb-bundle/nifi-mongodb-nar/pom.xml b/nifi/nifi-nar-bundles/nifi-mongodb-bundle/nifi-mongodb-nar/pom.xml
index 7c3507c..d84ee47 100644
--- a/nifi/nifi-nar-bundles/nifi-mongodb-bundle/nifi-mongodb-nar/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-mongodb-bundle/nifi-mongodb-nar/pom.xml
@@ -19,18 +19,18 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-mongodb-bundle</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
 
     <artifactId>nifi-mongodb-nar</artifactId>
-    <version>0.2.0-incubating</version>
+    <version>0.2.1-incubating-SNAPSHOT</version>
     <packaging>nar</packaging>
 
     <dependencies>
         <dependency>
             <groupId>org.apache.nifi</groupId>
             <artifactId>nifi-mongodb-processors</artifactId>
-            <version>0.2.0-incubating</version>
+            <version>0.2.1-incubating-SNAPSHOT</version>
         </dependency>
     </dependencies>
 

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-mongodb-bundle/nifi-mongodb-processors/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-mongodb-bundle/nifi-mongodb-processors/pom.xml b/nifi/nifi-nar-bundles/nifi-mongodb-bundle/nifi-mongodb-processors/pom.xml
index 31808ad..dcb94fd 100644
--- a/nifi/nifi-nar-bundles/nifi-mongodb-bundle/nifi-mongodb-processors/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-mongodb-bundle/nifi-mongodb-processors/pom.xml
@@ -19,7 +19,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-mongodb-bundle</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
 
     <artifactId>nifi-mongodb-processors</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-mongodb-bundle/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-mongodb-bundle/pom.xml b/nifi/nifi-nar-bundles/nifi-mongodb-bundle/pom.xml
index 6b27b41..6b272b7 100644
--- a/nifi/nifi-nar-bundles/nifi-mongodb-bundle/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-mongodb-bundle/pom.xml
@@ -19,12 +19,12 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-nar-bundles</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
 
     <groupId>org.apache.nifi</groupId>
     <artifactId>nifi-mongodb-bundle</artifactId>
-    <version>0.2.0-incubating</version>
+    <version>0.2.1-incubating-SNAPSHOT</version>
     <packaging>pom</packaging>
 
     <modules>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-provenance-repository-bundle/nifi-persistent-provenance-repository/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-provenance-repository-bundle/nifi-persistent-provenance-repository/pom.xml b/nifi/nifi-nar-bundles/nifi-provenance-repository-bundle/nifi-persistent-provenance-repository/pom.xml
index 4d161d5..54400ed 100644
--- a/nifi/nifi-nar-bundles/nifi-provenance-repository-bundle/nifi-persistent-provenance-repository/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-provenance-repository-bundle/nifi-persistent-provenance-repository/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-provenance-repository-bundle</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <artifactId>nifi-persistent-provenance-repository</artifactId>
     <packaging>jar</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-provenance-repository-bundle/nifi-provenance-repository-nar/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-provenance-repository-bundle/nifi-provenance-repository-nar/pom.xml b/nifi/nifi-nar-bundles/nifi-provenance-repository-bundle/nifi-provenance-repository-nar/pom.xml
index 82f3eb7..9160a73 100644
--- a/nifi/nifi-nar-bundles/nifi-provenance-repository-bundle/nifi-provenance-repository-nar/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-provenance-repository-bundle/nifi-provenance-repository-nar/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-provenance-repository-bundle</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <artifactId>nifi-provenance-repository-nar</artifactId>
     <packaging>nar</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-provenance-repository-bundle/nifi-volatile-provenance-repository/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-provenance-repository-bundle/nifi-volatile-provenance-repository/pom.xml b/nifi/nifi-nar-bundles/nifi-provenance-repository-bundle/nifi-volatile-provenance-repository/pom.xml
index 5292495..e359c3e 100644
--- a/nifi/nifi-nar-bundles/nifi-provenance-repository-bundle/nifi-volatile-provenance-repository/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-provenance-repository-bundle/nifi-volatile-provenance-repository/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-provenance-repository-bundle</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <artifactId>nifi-volatile-provenance-repository</artifactId>
     <packaging>jar</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-provenance-repository-bundle/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-provenance-repository-bundle/pom.xml b/nifi/nifi-nar-bundles/nifi-provenance-repository-bundle/pom.xml
index 8434959..e03edb3 100644
--- a/nifi/nifi-nar-bundles/nifi-provenance-repository-bundle/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-provenance-repository-bundle/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-nar-bundles</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <artifactId>nifi-provenance-repository-bundle</artifactId>
     <packaging>pom</packaging>
@@ -31,12 +31,12 @@
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-persistent-provenance-repository</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-volatile-provenance-repository</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
             </dependency>
         </dependencies>
     </dependencyManagement>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-social-media-bundle/nifi-social-media-nar/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-social-media-bundle/nifi-social-media-nar/pom.xml b/nifi/nifi-nar-bundles/nifi-social-media-bundle/nifi-social-media-nar/pom.xml
index 69a10f2..58a3b27 100644
--- a/nifi/nifi-nar-bundles/nifi-social-media-bundle/nifi-social-media-nar/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-social-media-bundle/nifi-social-media-nar/pom.xml
@@ -19,7 +19,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-social-media-bundle</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
 
     <artifactId>nifi-social-media-nar</artifactId>
@@ -29,7 +29,7 @@
         <dependency>
             <groupId>org.apache.nifi</groupId>
             <artifactId>nifi-twitter-processors</artifactId>
-            <version>0.2.0-incubating</version>
+            <version>0.2.1-incubating-SNAPSHOT</version>
         </dependency>
     </dependencies>
 

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-social-media-bundle/nifi-twitter-processors/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-social-media-bundle/nifi-twitter-processors/pom.xml b/nifi/nifi-nar-bundles/nifi-social-media-bundle/nifi-twitter-processors/pom.xml
index 4abb518..d0a3024 100644
--- a/nifi/nifi-nar-bundles/nifi-social-media-bundle/nifi-twitter-processors/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-social-media-bundle/nifi-twitter-processors/pom.xml
@@ -19,7 +19,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-social-media-bundle</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
 
     <artifactId>nifi-twitter-processors</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-social-media-bundle/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-social-media-bundle/pom.xml b/nifi/nifi-nar-bundles/nifi-social-media-bundle/pom.xml
index 8814a91..65b1699 100644
--- a/nifi/nifi-nar-bundles/nifi-social-media-bundle/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-social-media-bundle/pom.xml
@@ -19,7 +19,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-nar-bundles</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
 
     <artifactId>nifi-social-media-bundle</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-solr-bundle/nifi-solr-nar/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-solr-bundle/nifi-solr-nar/pom.xml b/nifi/nifi-nar-bundles/nifi-solr-bundle/nifi-solr-nar/pom.xml
index b38d6db..7faa317 100644
--- a/nifi/nifi-nar-bundles/nifi-solr-bundle/nifi-solr-nar/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-solr-bundle/nifi-solr-nar/pom.xml
@@ -19,7 +19,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-solr-bundle</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
 
     <artifactId>nifi-solr-nar</artifactId>
@@ -29,7 +29,7 @@
         <dependency>
             <groupId>org.apache.nifi</groupId>
             <artifactId>nifi-solr-processors</artifactId>
-            <version>0.2.0-incubating</version>
+            <version>0.2.1-incubating-SNAPSHOT</version>
         </dependency>
     </dependencies>
 

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-solr-bundle/nifi-solr-processors/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-solr-bundle/nifi-solr-processors/pom.xml b/nifi/nifi-nar-bundles/nifi-solr-bundle/nifi-solr-processors/pom.xml
index 7dec80b..7cfbddc 100644
--- a/nifi/nifi-nar-bundles/nifi-solr-bundle/nifi-solr-processors/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-solr-bundle/nifi-solr-processors/pom.xml
@@ -19,7 +19,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-solr-bundle</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
 
     <artifactId>nifi-solr-processors</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-solr-bundle/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-solr-bundle/pom.xml b/nifi/nifi-nar-bundles/nifi-solr-bundle/pom.xml
index 2cdd28a..9a94bf2 100644
--- a/nifi/nifi-nar-bundles/nifi-solr-bundle/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-solr-bundle/pom.xml
@@ -19,7 +19,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-nar-bundles</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
 
     <artifactId>nifi-solr-bundle</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-content-viewer/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-content-viewer/pom.xml b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-content-viewer/pom.xml
index 66b4b1e..f28cc96 100644
--- a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-content-viewer/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-content-viewer/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-standard-bundle</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <groupId>org.apache.nifi</groupId>
     <artifactId>nifi-standard-content-viewer</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-nar/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-nar/pom.xml b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-nar/pom.xml
index c656f66..3052a43 100644
--- a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-nar/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-nar/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-standard-bundle</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <artifactId>nifi-standard-nar</artifactId>
     <packaging>nar</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-prioritizers/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-prioritizers/pom.xml b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-prioritizers/pom.xml
index 4fb4e17..14d12b0 100644
--- a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-prioritizers/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-prioritizers/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-standard-bundle</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <groupId>org.apache.nifi</groupId>
     <artifactId>nifi-standard-prioritizers</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/pom.xml b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/pom.xml
index 5bb0be9..898e763 100644
--- a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/pom.xml
@@ -14,7 +14,7 @@
 	<parent>
 		<groupId>org.apache.nifi</groupId>
 		<artifactId>nifi-standard-bundle</artifactId>
-		<version>0.2.0-incubating</version>
+		<version>0.2.1-incubating-SNAPSHOT</version>
 	</parent>
 	<artifactId>nifi-standard-processors</artifactId>
 	<packaging>jar</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-reporting-tasks/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-reporting-tasks/pom.xml b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-reporting-tasks/pom.xml
index f5b5815..f427df4 100644
--- a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-reporting-tasks/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-reporting-tasks/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-standard-bundle</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <artifactId>nifi-standard-reporting-tasks</artifactId>
     <packaging>jar</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-standard-bundle/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-bundle/pom.xml b/nifi/nifi-nar-bundles/nifi-standard-bundle/pom.xml
index e8b9f90..ba84cfa 100644
--- a/nifi/nifi-nar-bundles/nifi-standard-bundle/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-standard-bundle/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-nar-bundles</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <artifactId>nifi-standard-bundle</artifactId>
     <packaging>pom</packaging>
@@ -35,23 +35,23 @@
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-standard-processors</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-standard-prioritizers</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-standard-reporting-tasks</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-standard-content-viewer</artifactId>
                 <type>war</type>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
             </dependency>
             <dependency>
                 <groupId>com.fasterxml.jackson.core</groupId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-standard-services/nifi-dbcp-service-api/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-services/nifi-dbcp-service-api/pom.xml b/nifi/nifi-nar-bundles/nifi-standard-services/nifi-dbcp-service-api/pom.xml
index dc1a1f6..97e4519 100644
--- a/nifi/nifi-nar-bundles/nifi-standard-services/nifi-dbcp-service-api/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-standard-services/nifi-dbcp-service-api/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-standard-services</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     
     <artifactId>nifi-dbcp-service-api</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-standard-services/nifi-dbcp-service-bundle/nifi-dbcp-service-nar/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-services/nifi-dbcp-service-bundle/nifi-dbcp-service-nar/pom.xml b/nifi/nifi-nar-bundles/nifi-standard-services/nifi-dbcp-service-bundle/nifi-dbcp-service-nar/pom.xml
index 9b658f0..2320aee 100644
--- a/nifi/nifi-nar-bundles/nifi-standard-services/nifi-dbcp-service-bundle/nifi-dbcp-service-nar/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-standard-services/nifi-dbcp-service-bundle/nifi-dbcp-service-nar/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-dbcp-service-bundle</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     
     <artifactId>nifi-dbcp-service-nar</artifactId>
@@ -31,7 +31,7 @@
         <dependency>
             <groupId>org.apache.nifi</groupId>
             <artifactId>nifi-dbcp-service</artifactId>
-            <version>0.2.0-incubating</version>
+            <version>0.2.1-incubating-SNAPSHOT</version>
         </dependency>
     </dependencies>
 </project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-standard-services/nifi-dbcp-service-bundle/nifi-dbcp-service/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-services/nifi-dbcp-service-bundle/nifi-dbcp-service/pom.xml b/nifi/nifi-nar-bundles/nifi-standard-services/nifi-dbcp-service-bundle/nifi-dbcp-service/pom.xml
index 5a81e77..58e061d 100644
--- a/nifi/nifi-nar-bundles/nifi-standard-services/nifi-dbcp-service-bundle/nifi-dbcp-service/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-standard-services/nifi-dbcp-service-bundle/nifi-dbcp-service/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-dbcp-service-bundle</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     
     <artifactId>nifi-dbcp-service</artifactId>
@@ -26,7 +26,7 @@
         <dependency>
             <groupId>org.apache.nifi</groupId>
             <artifactId>nifi-dbcp-service-api</artifactId>
-            <version>0.2.0-incubating</version>
+            <version>0.2.1-incubating-SNAPSHOT</version>
         </dependency>
         <dependency>
             <groupId>org.apache.nifi</groupId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-standard-services/nifi-dbcp-service-bundle/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-services/nifi-dbcp-service-bundle/pom.xml b/nifi/nifi-nar-bundles/nifi-standard-services/nifi-dbcp-service-bundle/pom.xml
index 75dd365..107847b 100644
--- a/nifi/nifi-nar-bundles/nifi-standard-services/nifi-dbcp-service-bundle/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-standard-services/nifi-dbcp-service-bundle/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-standard-services</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     
     <artifactId>nifi-dbcp-service-bundle</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-standard-services/nifi-distributed-cache-client-service-api/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-services/nifi-distributed-cache-client-service-api/pom.xml b/nifi/nifi-nar-bundles/nifi-standard-services/nifi-distributed-cache-client-service-api/pom.xml
index d8d6fed..3900c1f 100644
--- a/nifi/nifi-nar-bundles/nifi-standard-services/nifi-distributed-cache-client-service-api/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-standard-services/nifi-distributed-cache-client-service-api/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-standard-services</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <artifactId>nifi-distributed-cache-client-service-api</artifactId>
     <packaging>jar</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-standard-services/nifi-distributed-cache-services-bundle/nifi-distributed-cache-client-service/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-services/nifi-distributed-cache-services-bundle/nifi-distributed-cache-client-service/pom.xml b/nifi/nifi-nar-bundles/nifi-standard-services/nifi-distributed-cache-services-bundle/nifi-distributed-cache-client-service/pom.xml
index b727bc3..f20b7ca 100644
--- a/nifi/nifi-nar-bundles/nifi-standard-services/nifi-distributed-cache-services-bundle/nifi-distributed-cache-client-service/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-standard-services/nifi-distributed-cache-services-bundle/nifi-distributed-cache-client-service/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-distributed-cache-services-bundle</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <artifactId>nifi-distributed-cache-client-service</artifactId>
     <packaging>jar</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-standard-services/nifi-distributed-cache-services-bundle/nifi-distributed-cache-protocol/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-services/nifi-distributed-cache-services-bundle/nifi-distributed-cache-protocol/pom.xml b/nifi/nifi-nar-bundles/nifi-standard-services/nifi-distributed-cache-services-bundle/nifi-distributed-cache-protocol/pom.xml
index 73832b6..e4e47fa 100644
--- a/nifi/nifi-nar-bundles/nifi-standard-services/nifi-distributed-cache-services-bundle/nifi-distributed-cache-protocol/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-standard-services/nifi-distributed-cache-services-bundle/nifi-distributed-cache-protocol/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-distributed-cache-services-bundle</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <artifactId>nifi-distributed-cache-protocol</artifactId>
     <description>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-standard-services/nifi-distributed-cache-services-bundle/nifi-distributed-cache-server/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-services/nifi-distributed-cache-services-bundle/nifi-distributed-cache-server/pom.xml b/nifi/nifi-nar-bundles/nifi-standard-services/nifi-distributed-cache-services-bundle/nifi-distributed-cache-server/pom.xml
index 06de1a2..2d128fa 100644
--- a/nifi/nifi-nar-bundles/nifi-standard-services/nifi-distributed-cache-services-bundle/nifi-distributed-cache-server/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-standard-services/nifi-distributed-cache-services-bundle/nifi-distributed-cache-server/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-distributed-cache-services-bundle</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <artifactId>nifi-distributed-cache-server</artifactId>
     <description>Provides a Controller Service for hosting Distributed Caches</description>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-standard-services/nifi-distributed-cache-services-bundle/nifi-distributed-cache-services-nar/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-services/nifi-distributed-cache-services-bundle/nifi-distributed-cache-services-nar/pom.xml b/nifi/nifi-nar-bundles/nifi-standard-services/nifi-distributed-cache-services-bundle/nifi-distributed-cache-services-nar/pom.xml
index 3c9f7c4..9ad0b80 100644
--- a/nifi/nifi-nar-bundles/nifi-standard-services/nifi-distributed-cache-services-bundle/nifi-distributed-cache-services-nar/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-standard-services/nifi-distributed-cache-services-bundle/nifi-distributed-cache-services-nar/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-distributed-cache-services-bundle</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <artifactId>nifi-distributed-cache-services-nar</artifactId>
     <packaging>nar</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-standard-services/nifi-distributed-cache-services-bundle/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-services/nifi-distributed-cache-services-bundle/pom.xml b/nifi/nifi-nar-bundles/nifi-standard-services/nifi-distributed-cache-services-bundle/pom.xml
index 83bd43e..765bb90 100644
--- a/nifi/nifi-nar-bundles/nifi-standard-services/nifi-distributed-cache-services-bundle/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-standard-services/nifi-distributed-cache-services-bundle/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-standard-services</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <artifactId>nifi-distributed-cache-services-bundle</artifactId>
     <packaging>pom</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-standard-services/nifi-http-context-map-api/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-services/nifi-http-context-map-api/pom.xml b/nifi/nifi-nar-bundles/nifi-standard-services/nifi-http-context-map-api/pom.xml
index b644a52..3e71e24 100644
--- a/nifi/nifi-nar-bundles/nifi-standard-services/nifi-http-context-map-api/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-standard-services/nifi-http-context-map-api/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-standard-services</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
   
     <artifactId>nifi-http-context-map-api</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-standard-services/nifi-http-context-map-bundle/nifi-http-context-map-nar/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-services/nifi-http-context-map-bundle/nifi-http-context-map-nar/pom.xml b/nifi/nifi-nar-bundles/nifi-standard-services/nifi-http-context-map-bundle/nifi-http-context-map-nar/pom.xml
index b16fb6c..7c4b677 100644
--- a/nifi/nifi-nar-bundles/nifi-standard-services/nifi-http-context-map-bundle/nifi-http-context-map-nar/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-standard-services/nifi-http-context-map-bundle/nifi-http-context-map-nar/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-http-context-map-bundle</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
 	
     <artifactId>nifi-http-context-map-nar</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-standard-services/nifi-http-context-map-bundle/nifi-http-context-map/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-services/nifi-http-context-map-bundle/nifi-http-context-map/pom.xml b/nifi/nifi-nar-bundles/nifi-standard-services/nifi-http-context-map-bundle/nifi-http-context-map/pom.xml
index 25d88d4..373d2de 100644
--- a/nifi/nifi-nar-bundles/nifi-standard-services/nifi-http-context-map-bundle/nifi-http-context-map/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-standard-services/nifi-http-context-map-bundle/nifi-http-context-map/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-http-context-map-bundle</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
 	
     <artifactId>nifi-http-context-map</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-standard-services/nifi-http-context-map-bundle/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-services/nifi-http-context-map-bundle/pom.xml b/nifi/nifi-nar-bundles/nifi-standard-services/nifi-http-context-map-bundle/pom.xml
index 3c73155..fb10255 100644
--- a/nifi/nifi-nar-bundles/nifi-standard-services/nifi-http-context-map-bundle/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-standard-services/nifi-http-context-map-bundle/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-standard-services</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
 
     <artifactId>nifi-http-context-map-bundle</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-standard-services/nifi-load-distribution-service-api/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-services/nifi-load-distribution-service-api/pom.xml b/nifi/nifi-nar-bundles/nifi-standard-services/nifi-load-distribution-service-api/pom.xml
index 93a845e..507a050 100644
--- a/nifi/nifi-nar-bundles/nifi-standard-services/nifi-load-distribution-service-api/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-standard-services/nifi-load-distribution-service-api/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-standard-services</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <artifactId>nifi-load-distribution-service-api</artifactId>
     <packaging>jar</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-standard-services/nifi-ssl-context-bundle/nifi-ssl-context-nar/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-services/nifi-ssl-context-bundle/nifi-ssl-context-nar/pom.xml b/nifi/nifi-nar-bundles/nifi-standard-services/nifi-ssl-context-bundle/nifi-ssl-context-nar/pom.xml
index 8e2a070..653ab0a 100644
--- a/nifi/nifi-nar-bundles/nifi-standard-services/nifi-ssl-context-bundle/nifi-ssl-context-nar/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-standard-services/nifi-ssl-context-bundle/nifi-ssl-context-nar/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-ssl-context-bundle</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <artifactId>nifi-ssl-context-service-nar</artifactId>
     <packaging>nar</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-standard-services/nifi-ssl-context-bundle/nifi-ssl-context-service/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-services/nifi-ssl-context-bundle/nifi-ssl-context-service/pom.xml b/nifi/nifi-nar-bundles/nifi-standard-services/nifi-ssl-context-bundle/nifi-ssl-context-service/pom.xml
index 50bb298..c07553f 100644
--- a/nifi/nifi-nar-bundles/nifi-standard-services/nifi-ssl-context-bundle/nifi-ssl-context-service/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-standard-services/nifi-ssl-context-bundle/nifi-ssl-context-service/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-ssl-context-bundle</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <artifactId>nifi-ssl-context-service</artifactId>
     <packaging>jar</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-standard-services/nifi-ssl-context-bundle/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-services/nifi-ssl-context-bundle/pom.xml b/nifi/nifi-nar-bundles/nifi-standard-services/nifi-ssl-context-bundle/pom.xml
index da9408b..fc085b1 100644
--- a/nifi/nifi-nar-bundles/nifi-standard-services/nifi-ssl-context-bundle/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-standard-services/nifi-ssl-context-bundle/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-standard-services</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <artifactId>nifi-ssl-context-bundle</artifactId>
     <packaging>pom</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-standard-services/nifi-ssl-context-service-api/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-services/nifi-ssl-context-service-api/pom.xml b/nifi/nifi-nar-bundles/nifi-standard-services/nifi-ssl-context-service-api/pom.xml
index 160282b..16cf9c8 100644
--- a/nifi/nifi-nar-bundles/nifi-standard-services/nifi-ssl-context-service-api/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-standard-services/nifi-ssl-context-service-api/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-standard-services</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <artifactId>nifi-ssl-context-service-api</artifactId>
     <packaging>jar</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-standard-services/nifi-standard-services-api-nar/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-services/nifi-standard-services-api-nar/pom.xml b/nifi/nifi-nar-bundles/nifi-standard-services/nifi-standard-services-api-nar/pom.xml
index 7397a2d..bdbe921 100644
--- a/nifi/nifi-nar-bundles/nifi-standard-services/nifi-standard-services-api-nar/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-standard-services/nifi-standard-services-api-nar/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-standard-services</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <artifactId>nifi-standard-services-api-nar</artifactId>
     <packaging>nar</packaging>
@@ -45,7 +45,7 @@
         <dependency>
             <groupId>org.apache.nifi</groupId>
             <artifactId>nifi-dbcp-service-api</artifactId>
-            <version>0.2.0-incubating</version>
+            <version>0.2.1-incubating-SNAPSHOT</version>
             <scope>compile</scope>
         </dependency>
     </dependencies>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-standard-services/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-services/pom.xml b/nifi/nifi-nar-bundles/nifi-standard-services/pom.xml
index 44c878a..e82523a 100644
--- a/nifi/nifi-nar-bundles/nifi-standard-services/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-standard-services/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-nar-bundles</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <artifactId>nifi-standard-services</artifactId>
     <packaging>pom</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-model/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-model/pom.xml b/nifi/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-model/pom.xml
index eeaed31..7325177 100644
--- a/nifi/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-model/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-model/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-update-attribute-bundle</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <groupId>org.apache.nifi</groupId>
     <artifactId>nifi-update-attribute-model</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-nar/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-nar/pom.xml b/nifi/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-nar/pom.xml
index 18544b1..b140533 100644
--- a/nifi/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-nar/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-nar/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-update-attribute-bundle</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <artifactId>nifi-update-attribute-nar</artifactId>
     <packaging>nar</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-processor/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-processor/pom.xml b/nifi/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-processor/pom.xml
index 851fc06..3477a46 100644
--- a/nifi/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-processor/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-processor/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-update-attribute-bundle</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <groupId>org.apache.nifi</groupId>
     <artifactId>nifi-update-attribute-processor</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-ui/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-ui/pom.xml b/nifi/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-ui/pom.xml
index fd1f47b..b4958b5 100644
--- a/nifi/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-ui/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-ui/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-update-attribute-bundle</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <artifactId>nifi-update-attribute-ui</artifactId>
     <packaging>war</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/nifi-update-attribute-bundle/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-update-attribute-bundle/pom.xml b/nifi/nifi-nar-bundles/nifi-update-attribute-bundle/pom.xml
index 69533fd..0965c46 100644
--- a/nifi/nifi-nar-bundles/nifi-update-attribute-bundle/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-update-attribute-bundle/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-nar-bundles</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <artifactId>nifi-update-attribute-bundle</artifactId>
     <packaging>pom</packaging>
@@ -34,18 +34,18 @@
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-update-attribute-model</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-update-attribute-processor</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-update-attribute-ui</artifactId>
                 <type>war</type>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
             </dependency>
         </dependencies>
     </dependencyManagement>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/nifi-nar-bundles/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/pom.xml b/nifi/nifi-nar-bundles/pom.xml
index b67629e..50463ca 100644
--- a/nifi/nifi-nar-bundles/pom.xml
+++ b/nifi/nifi-nar-bundles/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi</artifactId>
-        <version>0.2.0-incubating</version>
+        <version>0.2.1-incubating-SNAPSHOT</version>
     </parent>
     <groupId>org.apache.nifi</groupId>
     <artifactId>nifi-nar-bundles</artifactId>
@@ -47,81 +47,81 @@
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-distributed-cache-client-service</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-distributed-cache-client-service-api</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
                 <scope>provided</scope>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-ssl-context-service-api</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
                 <scope>provided</scope>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-load-distribution-service-api</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
                 <scope>provided</scope>
             </dependency>
              <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-http-context-map-api</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
                 <scope>provided</scope>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-distributed-cache-protocol</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-distributed-cache-server</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-ssl-context-service</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-http-context-map</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-volatile-provenance-repository</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
                 <scope>test</scope>
             </dependency>
             <!-- The following dependencies are marked provided because they must be provided by the container.  Nars can assume they are there-->
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-api</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
                 <scope>provided</scope>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-runtime</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
                 <scope>provided</scope>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-nar-utils</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
                 <scope>provided</scope>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-properties</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
                 <scope>provided</scope>
             </dependency>
         </dependencies>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de8ec6f9/nifi/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/pom.xml b/nifi/pom.xml
index 6db495e..cd5ec9c 100644
--- a/nifi/pom.xml
+++ b/nifi/pom.xml
@@ -22,7 +22,7 @@
         <relativePath />
     </parent>
     <artifactId>nifi</artifactId>
-    <version>0.2.0-incubating</version>
+    <version>0.2.1-incubating-SNAPSHOT</version>
     <packaging>pom</packaging>
     <description>Apache NiFi(incubating) is an easy to use, powerful, and reliable system to process and distribute data.</description>
     <modules>
@@ -619,67 +619,67 @@
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-api</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-utils</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-site-to-site-client</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-web-utils</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-expression-language</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-custom-ui-utilities</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-ui-extension</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-flowfile-packager</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-socket-utils</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-data-provenance-utils</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-runtime</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-bootstrap</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-resources</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
                 <classifier>resources</classifier>
                 <scope>runtime</scope>
                 <type>zip</type>
@@ -687,7 +687,7 @@
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-docs</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
                 <classifier>resources</classifier>
                 <scope>runtime</scope>
                 <type>zip</type>
@@ -695,162 +695,162 @@
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-framework-nar</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
                 <type>nar</type>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-provenance-repository-nar</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
                 <type>nar</type>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-standard-services-api-nar</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
                 <type>nar</type>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-ssl-context-service-nar</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
                 <type>nar</type>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-distributed-cache-services-nar</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
                 <type>nar</type>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-standard-nar</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
                 <type>nar</type>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-jetty-bundle</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
                 <type>nar</type>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-update-attribute-nar</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
                 <type>nar</type>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-hadoop-libraries-nar</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
                 <type>nar</type>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-hadoop-nar</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
                 <type>nar</type>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-kite-nar</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
                 <type>nar</type>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-mongodb-nar</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
                 <type>nar</type>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-solr-nar</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
                 <type>nar</type>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-kafka-nar</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
                 <type>nar</type>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-http-context-map-nar</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
                 <type>nar</type>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-social-media-nar</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
                 <type>nar</type>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-hl7-nar</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
                 <type>nar</type>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-language-translation-nar</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
                 <type>nar</type>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-geo-nar</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
                 <type>nar</type>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-properties</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-security-utils</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-logging-utils</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-nar-utils</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-processor-utils</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-mock</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
                 <scope>test</scope>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-write-ahead-log</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-dbcp-service</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-dbcp-service-api</artifactId>
-                <version>0.2.0-incubating</version>
+                <version>0.2.1-incubating-SNAPSHOT</version>
             </dependency>
             <dependency>
                 <groupId>com.jayway.jsonpath</groupId>
@@ -910,8 +910,4 @@
             </plugin>
         </plugins>
     </build>
-
-  <scm>
-    <tag>nifi-0.2.0-incubating-RC1</tag>
-  </scm>
 </project>


[10/50] [abbrv] incubator-nifi git commit: NIFI-632 fixed versioning issue

Posted by mc...@apache.org.
NIFI-632 fixed versioning issue


Project: http://git-wip-us.apache.org/repos/asf/incubator-nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-nifi/commit/8f36ba1a
Tree: http://git-wip-us.apache.org/repos/asf/incubator-nifi/tree/8f36ba1a
Diff: http://git-wip-us.apache.org/repos/asf/incubator-nifi/diff/8f36ba1a

Branch: refs/heads/master
Commit: 8f36ba1ab417bdd6f6d3c3884e4abf750c5ea226
Parents: cc3be41
Author: joewitt <jo...@apache.org>
Authored: Sat Jun 27 13:45:00 2015 -0400
Committer: joewitt <jo...@apache.org>
Committed: Sat Jun 27 13:45:00 2015 -0400

----------------------------------------------------------------------
 nifi/logs/nifi-app.log                                   |  0
 nifi/logs/nifi-bootstrap.log                             |  6 ++++++
 nifi/logs/nifi-user.log                                  |  0
 .../nifi-example-bundle/nifi-nifi-example-nar/pom.xml    |  5 ++---
 .../nifi-nifi-example-processors/pom.xml                 |  2 +-
 nifi/nifi-external/nifi-example-bundle/pom.xml           | 11 ++++++++++-
 6 files changed, 19 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/8f36ba1a/nifi/logs/nifi-app.log
----------------------------------------------------------------------
diff --git a/nifi/logs/nifi-app.log b/nifi/logs/nifi-app.log
new file mode 100644
index 0000000..e69de29

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/8f36ba1a/nifi/logs/nifi-bootstrap.log
----------------------------------------------------------------------
diff --git a/nifi/logs/nifi-bootstrap.log b/nifi/logs/nifi-bootstrap.log
new file mode 100644
index 0000000..3d2aba2
--- /dev/null
+++ b/nifi/logs/nifi-bootstrap.log
@@ -0,0 +1,6 @@
+2015-06-27 13:43:15,941 INFO [main] org.apache.nifi.bootstrap.Command Starting Apache NiFi...
+2015-06-27 13:43:15,944 INFO [main] org.apache.nifi.bootstrap.Command Working Directory: /development/git-repo/nifi/nifi-assembly/target/nifi-0.2.0-incubating-SNAPSHOT-bin/nifi-0.2.0-incubating-SNAPSHOT
+2015-06-27 13:43:15,945 INFO [main] org.apache.nifi.bootstrap.Command Command: /usr/java/latest/bin/java -classpath /development/git-repo/nifi/nifi-assembly/target/nifi-0.2.0-incubating-SNAPSHOT-bin/nifi-0.2.0-incubating-SNAPSHOT/./conf:/development/git-repo/nifi/nifi-assembly/target/nifi-0.2.0-incubating-SNAPSHOT-bin/nifi-0.2.0-incubating-SNAPSHOT/./lib/nifi-runtime-0.2.0-incubating-SNAPSHOT.jar:/development/git-repo/nifi/nifi-assembly/target/nifi-0.2.0-incubating-SNAPSHOT-bin/nifi-0.2.0-incubating-SNAPSHOT/./lib/logback-core-1.1.3.jar:/development/git-repo/nifi/nifi-assembly/target/nifi-0.2.0-incubating-SNAPSHOT-bin/nifi-0.2.0-incubating-SNAPSHOT/./lib/slf4j-api-1.7.12.jar:/development/git-repo/nifi/nifi-assembly/target/nifi-0.2.0-incubating-SNAPSHOT-bin/nifi-0.2.0-incubating-SNAPSHOT/./lib/nifi-api-0.2.0-incubating-SNAPSHOT.jar:/development/git-repo/nifi/nifi-assembly/target/nifi-0.2.0-incubating-SNAPSHOT-bin/nifi-0.2.0-incubating-SNAPSHOT/./lib/nifi-properties-0.2.0-incubating-S
 NAPSHOT.jar:/development/git-repo/nifi/nifi-assembly/target/nifi-0.2.0-incubating-SNAPSHOT-bin/nifi-0.2.0-incubating-SNAPSHOT/./lib/log4j-over-slf4j-1.7.12.jar:/development/git-repo/nifi/nifi-assembly/target/nifi-0.2.0-incubating-SNAPSHOT-bin/nifi-0.2.0-incubating-SNAPSHOT/./lib/jul-to-slf4j-1.7.12.jar:/development/git-repo/nifi/nifi-assembly/target/nifi-0.2.0-incubating-SNAPSHOT-bin/nifi-0.2.0-incubating-SNAPSHOT/./lib/nifi-documentation-0.2.0-incubating-SNAPSHOT.jar:/development/git-repo/nifi/nifi-assembly/target/nifi-0.2.0-incubating-SNAPSHOT-bin/nifi-0.2.0-incubating-SNAPSHOT/./lib/jcl-over-slf4j-1.7.12.jar:/development/git-repo/nifi/nifi-assembly/target/nifi-0.2.0-incubating-SNAPSHOT-bin/nifi-0.2.0-incubating-SNAPSHOT/./lib/logback-classic-1.1.3.jar:/development/git-repo/nifi/nifi-assembly/target/nifi-0.2.0-incubating-SNAPSHOT-bin/nifi-0.2.0-incubating-SNAPSHOT/./lib/nifi-nar-utils-0.2.0-incubating-SNAPSHOT.jar -Djava.net.preferIPv4Stack=true -Dsun.net.http.allowRestrictedHeade
 rs=true -Djava.protocol.handler.pkgs=sun.net.www.protocol -Dorg.apache.jasper.compiler.disablejsr199=true -Xmx512m -Xms512m -Dnifi.properties.file.path=/development/git-repo/nifi/nifi-assembly/target/nifi-0.2.0-incubating-SNAPSHOT-bin/nifi-0.2.0-incubating-SNAPSHOT/./conf/nifi.properties -Dnifi.bootstrap.listen.port=59379 -Dapp=NiFi org.apache.nifi.NiFi 
+2015-06-27 13:43:16,332 INFO [NiFi Bootstrap Command Listener] org.apache.nifi.bootstrap.RunNiFi Apache NiFi now running and listening for Bootstrap requests on port 38812
+2015-06-27 13:44:24,728 INFO [main] org.apache.nifi.bootstrap.Command Apache NiFi has accepted the Shutdown Command and is shutting down now
+2015-06-27 13:44:24,758 INFO [main] org.apache.nifi.bootstrap.Command NiFi has finished shutting down.

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/8f36ba1a/nifi/logs/nifi-user.log
----------------------------------------------------------------------
diff --git a/nifi/logs/nifi-user.log b/nifi/logs/nifi-user.log
new file mode 100644
index 0000000..e69de29

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/8f36ba1a/nifi/nifi-external/nifi-example-bundle/nifi-nifi-example-nar/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-external/nifi-example-bundle/nifi-nifi-example-nar/pom.xml b/nifi/nifi-external/nifi-example-bundle/nifi-nifi-example-nar/pom.xml
index 55df946..185a6ad 100644
--- a/nifi/nifi-external/nifi-example-bundle/nifi-nifi-example-nar/pom.xml
+++ b/nifi/nifi-external/nifi-example-bundle/nifi-nifi-example-nar/pom.xml
@@ -19,17 +19,16 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-example-bundle</artifactId>
-        <version>0.1.1-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating-SNAPSHOT</version>
     </parent>
 
-    <artifactId>nifi-nifi-example-nar</artifactId>
+    <artifactId>nifi-example-nar</artifactId>
     <packaging>nar</packaging>
 
     <dependencies>
         <dependency>
             <groupId>org.apache.nifi</groupId>
             <artifactId>nifi-nifi-example-processors</artifactId>
-            <version>${project.version}</version>
         </dependency>
     </dependencies>
 

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/8f36ba1a/nifi/nifi-external/nifi-example-bundle/nifi-nifi-example-processors/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-external/nifi-example-bundle/nifi-nifi-example-processors/pom.xml b/nifi/nifi-external/nifi-example-bundle/nifi-nifi-example-processors/pom.xml
index b4fbc85..fecf0bb 100644
--- a/nifi/nifi-external/nifi-example-bundle/nifi-nifi-example-processors/pom.xml
+++ b/nifi/nifi-external/nifi-example-bundle/nifi-nifi-example-processors/pom.xml
@@ -19,7 +19,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-example-bundle</artifactId>
-        <version>0.1.1-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating-SNAPSHOT</version>
     </parent>
 
     <artifactId>nifi-nifi-example-processors</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/8f36ba1a/nifi/nifi-external/nifi-example-bundle/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-external/nifi-example-bundle/pom.xml b/nifi/nifi-external/nifi-example-bundle/pom.xml
index 542a673..c724c88 100644
--- a/nifi/nifi-external/nifi-example-bundle/pom.xml
+++ b/nifi/nifi-external/nifi-example-bundle/pom.xml
@@ -19,7 +19,7 @@
     <parent>
         <groupId>org.apache.nifi</groupId>
         <artifactId>nifi-external</artifactId>
-        <version>0.1.1-incubating-SNAPSHOT</version>
+        <version>0.2.0-incubating-SNAPSHOT</version>
     </parent>
 
     <artifactId>nifi-example-bundle</artifactId>
@@ -30,4 +30,13 @@
         <module>nifi-nifi-example-nar</module>
     </modules>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.nifi</groupId>
+                <artifactId>nifi-nifi-example-processors</artifactId>
+                <version>0.2.0-incubating-SNAPSHOT</version>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
 </project>


[30/50] [abbrv] incubator-nifi git commit: Merge branch 'develop' of http://git-wip-us.apache.org/repos/asf/incubator-nifi into develop

Posted by mc...@apache.org.
Merge branch 'develop' of http://git-wip-us.apache.org/repos/asf/incubator-nifi into develop


Project: http://git-wip-us.apache.org/repos/asf/incubator-nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-nifi/commit/322ac6fb
Tree: http://git-wip-us.apache.org/repos/asf/incubator-nifi/tree/322ac6fb
Diff: http://git-wip-us.apache.org/repos/asf/incubator-nifi/diff/322ac6fb

Branch: refs/heads/master
Commit: 322ac6fba6bec0e691b29cea74af7a93572677a5
Parents: 786bc1d b171849
Author: Mark Payne <ma...@hotmail.com>
Authored: Fri Jul 3 09:38:19 2015 -0400
Committer: Mark Payne <ma...@hotmail.com>
Committed: Fri Jul 3 09:38:19 2015 -0400

----------------------------------------------------------------------
 .../nifi/processors/standard/InvokeHTTP.java    |  46 +++++++-
 .../processors/standard/TestInvokeHTTP.java     | 109 +++++++++++++++++++
 2 files changed, 154 insertions(+), 1 deletion(-)
----------------------------------------------------------------------



[18/50] [abbrv] incubator-nifi git commit: This closes #69 NIFI-738

Posted by mc...@apache.org.
This closes #69 NIFI-738


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

Branch: refs/heads/master
Commit: 50215707f7e4ab2207041ed1e31e7ba2d88de7b4
Parents: 2e32e0e
Author: joewitt <jo...@apache.org>
Authored: Mon Jun 29 22:16:44 2015 -0400
Committer: joewitt <jo...@apache.org>
Committed: Mon Jun 29 22:16:44 2015 -0400

----------------------------------------------------------------------

----------------------------------------------------------------------



[45/50] [abbrv] incubator-nifi git commit: Merge branch 'develop' of http://git-wip-us.apache.org/repos/asf/incubator-nifi into develop

Posted by mc...@apache.org.
Merge branch 'develop' of http://git-wip-us.apache.org/repos/asf/incubator-nifi into develop


Project: http://git-wip-us.apache.org/repos/asf/incubator-nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-nifi/commit/3125036d
Tree: http://git-wip-us.apache.org/repos/asf/incubator-nifi/tree/3125036d
Diff: http://git-wip-us.apache.org/repos/asf/incubator-nifi/diff/3125036d

Branch: refs/heads/master
Commit: 3125036d3f463c97a10466d244952f10f0054b64
Parents: c0f1104 9fa03b4
Author: Mark Payne <ma...@hotmail.com>
Authored: Tue Jul 7 21:08:34 2015 -0400
Committer: Mark Payne <ma...@hotmail.com>
Committed: Tue Jul 7 21:08:34 2015 -0400

----------------------------------------------------------------------
 nifi/nifi-external/nifi-storm-spout/pom.xml     |  2 +-
 .../java/org/apache/nifi/storm/NiFiSpout.java   | 38 ++++++++++++++++++--
 .../ConfigurableComponentInitializer.java       |  9 ++++-
 .../apache/nifi/documentation/DocGenerator.java |  2 ++
 .../init/ControllerServiceInitializer.java      | 11 ++++--
 .../init/ProcessorInitializer.java              | 11 ++++--
 .../init/ReportingTaskingInitializer.java       | 11 ++++--
 .../html/HtmlDocumentationWriterTest.java       | 10 +++---
 .../html/ProcessorDocumentationWriterTest.java  |  7 ++--
 9 files changed, 82 insertions(+), 19 deletions(-)
----------------------------------------------------------------------