NIFI-537 fixed identified licensing issue with several of the new nars

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

Branch: refs/heads/NIFI-271
Commit: 060a1e0d9cbc15a1a21ac46c9f1ad4f8a7b2a986
Parents: 0d78382
Author: joewitt <joew...@apache.org>
Authored: Wed Apr 22 14:50:03 2015 -0400
Committer: joewitt <joew...@apache.org>
Committed: Wed Apr 22 14:50:03 2015 -0400

----------------------------------------------------------------------
 nifi/nifi-assembly/NOTICE                       |  35 +-
 nifi/nifi-assembly/pom.xml                      | 928 +++++++++----------
 .../src/main/resources/META-INF/NOTICE          |  74 ++
 .../nifi-aws-bundle/nifi-aws-processors/pom.xml |  19 +-
 .../processors/aws/AbstractAWSProcessor.java    |  99 +-
 .../processors/aws/s3/AbstractS3Processor.java  | 152 ++-
 .../nifi/processors/aws/s3/FetchS3Object.java   |  78 +-
 .../nifi/processors/aws/s3/PutS3Object.java     | 100 +-
 .../aws/sns/AbstractSNSProcessor.java           |  42 +-
 .../apache/nifi/processors/aws/sns/PutSNS.java  |  95 +-
 .../aws/sqs/AbstractSQSProcessor.java           |  24 +-
 .../nifi/processors/aws/sqs/DeleteSQS.java      |  40 +-
 .../apache/nifi/processors/aws/sqs/GetSQS.java  | 136 +--
 .../apache/nifi/processors/aws/sqs/PutSQS.java  |  69 +-
 .../processors/aws/s3/TestFetchS3Object.java    |  31 +-
 .../nifi/processors/aws/s3/TestPutS3Object.java |  45 +-
 .../nifi/processors/aws/sns/TestPutSNS.java     |  25 +-
 .../nifi/processors/aws/sqs/TestGetSQS.java     |  23 +-
 .../nifi/processors/aws/sqs/TestPutSQS.java     |  23 +-
 nifi/nifi-nar-bundles/nifi-aws-bundle/pom.xml   |  18 +-
 .../src/main/resources/META-INF/NOTICE          |  68 ++
 .../src/main/resources/META-INF/NOTICE          |  29 +
 .../src/main/resources/META-INF/NOTICE          |  57 ++
 23 files changed, 1254 insertions(+), 956 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/060a1e0d/nifi/nifi-assembly/NOTICE
----------------------------------------------------------------------
diff --git a/nifi/nifi-assembly/NOTICE b/nifi/nifi-assembly/NOTICE
index f14c662..73780db 100644
--- a/nifi/nifi-assembly/NOTICE
+++ b/nifi/nifi-assembly/NOTICE
@@ -511,44 +511,31 @@ The following binary components are provided under the 
Apache Software License v
     The following NOTICE information applies:
       JOAuth
       Copyright 2010-2013 Twitter, Inc
-
-      Licensed under the Apache License, Version 2.0: 
http://www.apache.org/licenses/LICENSE-2.0
   
   (ASLv2) Hosebird Client
     The following NOTICE information applies:
       Hosebird Client (hbc)
       Copyright 2013 Twitter, Inc.
 
-      Licensed under the Apache License, Version 2.0: 
http://www.apache.org/licenses/LICENSE-2.0
-
   (ASLv2) GeoIP2 Java API
     The following NOTICE information applies:
       GeoIP2 Java API
       This software is Copyright (c) 2013 by MaxMind, Inc.
       
-      This is free software, licensed under the Apache License, Version 2.0.
-      
-  (ASLv2) Google HTTP Client Library for Java
-    The following NOTICE information applies:
-      Google HTTP Client Library for Java
-      
-      This is free software, licensed under the Apache License, Version 2.0.
-
   (ASLv2) Amazon Web Services SDK
     The following NOTICE information applies:
-               Copyright 2010-2014 Amazon.com, Inc. or its affiliates. All 
Rights Reserved.
-
-               This product includes software developed by
-               Amazon Technologies, Inc (http://www.amazon.com/).
-
-               **********************
-               THIRD PARTY COMPONENTS
-               **********************
-               This software includes third party software subject to the 
following copyrights:
-               - XML parsing and utility functions from JetS3t - Copyright 
2006-2009 James Murty.
-               - JSON parsing and utility functions from JSON.org - Copyright 
2002 JSON.org.
-               - PKCS#1 PEM encoded private key parsing and utility functions 
from oauth.googlecode.com - Copyright 1998-2010 AOL Inc.
+      Copyright 2010-2014 Amazon.com, Inc. or its affiliates. All Rights 
Reserved.
 
+      This product includes software developed by
+      Amazon Technologies, Inc (http://www.amazon.com/).
+
+      **********************
+      THIRD PARTY COMPONENTS
+      **********************
+      This software includes third party software subject to the following 
copyrights:
+      - XML parsing and utility functions from JetS3t - Copyright 2006-2009 
James Murty.
+      - JSON parsing and utility functions from JSON.org - Copyright 2002 
JSON.org.
+      - PKCS#1 PEM encoded private key parsing and utility functions from 
oauth.googlecode.com - Copyright 1998-2010 AOL Inc.
 
 ************************
 Common Development and Distribution License 1.1

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/060a1e0d/nifi/nifi-assembly/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-assembly/pom.xml b/nifi/nifi-assembly/pom.xml
index 13ffba8..7b08ed4 100644
--- a/nifi/nifi-assembly/pom.xml
+++ b/nifi/nifi-assembly/pom.xml
@@ -1,484 +1,484 @@
 <?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. -->
+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/maven-v4_0_0.xsd";>
-       <modelVersion>4.0.0</modelVersion>
-       <parent>
-               <groupId>org.apache.nifi</groupId>
-               <artifactId>nifi</artifactId>
-               <version>0.1.0-incubating-SNAPSHOT</version>
-       </parent>
-       <artifactId>nifi-assembly</artifactId>
-       <packaging>pom</packaging>
-       <description>This is the assembly Apache NiFi (incubating)</description>
-       <build>
-               <plugins>
-                       <plugin>
-                               <artifactId>maven-assembly-plugin</artifactId>
-                               <configuration>
-                                       
<finalName>nifi-${project.version}</finalName>
-                                       <attach>false</attach>
-                               </configuration>
-                               <executions>
-                                       <execution>
-                                               <id>make shared resource</id>
-                                               <goals>
-                                                       <goal>single</goal>
-                                               </goals>
-                                               <phase>package</phase>
-                                               <configuration>
-                                                       <descriptors>
-                                                               
<descriptor>src/main/assembly/dependencies.xml</descriptor>
-                                                       </descriptors>
-                                                       
<tarLongFileMode>posix</tarLongFileMode>
-                                               </configuration>
-                                       </execution>
-                               </executions>
-                       </plugin>
-               </plugins>
-       </build>
-       <dependencies>
-               <dependency>
-                       <groupId>ch.qos.logback</groupId>
-                       <artifactId>logback-classic</artifactId>
-                       <scope>compile</scope>
-               </dependency>
-               <dependency>
-                       <groupId>org.slf4j</groupId>
-                       <artifactId>jcl-over-slf4j</artifactId>
-                       <scope>compile</scope>
-               </dependency>
-               <dependency>
-                       <groupId>org.slf4j</groupId>
-                       <artifactId>jul-to-slf4j</artifactId>
-                       <scope>compile</scope>
-               </dependency>
-               <dependency>
-                       <groupId>org.slf4j</groupId>
-                       <artifactId>log4j-over-slf4j</artifactId>
-                       <scope>compile</scope>
-               </dependency>
-               <dependency>
-                       <groupId>org.slf4j</groupId>
-                       <artifactId>slf4j-api</artifactId>
-                       <scope>compile</scope>
-               </dependency>
-               <dependency>
-                       <groupId>org.apache.nifi</groupId>
-                       <artifactId>nifi-api</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>org.apache.nifi</groupId>
-                       <artifactId>nifi-runtime</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>org.apache.nifi</groupId>
-                       <artifactId>nifi-bootstrap</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>org.apache.nifi</groupId>
-                       <artifactId>nifi-resources</artifactId>
-                       <classifier>resources</classifier>
-                       <scope>runtime</scope>
-                       <type>zip</type>
-               </dependency>
-               <dependency>
-                       <groupId>org.apache.nifi</groupId>
-                       <artifactId>nifi-docs</artifactId>
-                       <classifier>resources</classifier>
-                       <scope>runtime</scope>
-                       <type>zip</type>
-               </dependency>
-               <dependency>
-                       <groupId>org.apache.nifi</groupId>
-                       <artifactId>nifi-framework-nar</artifactId>
-                       <type>nar</type>
-               </dependency>
-               <dependency>
-                       <groupId>org.apache.nifi</groupId>
-                       <artifactId>nifi-provenance-repository-nar</artifactId>
-                       <type>nar</type>
-               </dependency>
-               <dependency>
-                       <groupId>org.apache.nifi</groupId>
-                       <artifactId>nifi-standard-services-api-nar</artifactId>
-                       <type>nar</type>
-               </dependency>
-               <dependency>
-                       <groupId>org.apache.nifi</groupId>
-                       <artifactId>nifi-ssl-context-service-nar</artifactId>
-                       <type>nar</type>
-               </dependency>
-               <dependency>
-                       <groupId>org.apache.nifi</groupId>
-                       
<artifactId>nifi-distributed-cache-services-nar</artifactId>
-                       <type>nar</type>
-               </dependency>
-               <dependency>
-                       <groupId>org.apache.nifi</groupId>
-                       <artifactId>nifi-standard-nar</artifactId>
-                       <type>nar</type>
-               </dependency>
-               <dependency>
-                       <groupId>org.apache.nifi</groupId>
-                       <artifactId>nifi-jetty-bundle</artifactId>
-                       <type>nar</type>
-               </dependency>
-               <dependency>
-                       <groupId>org.apache.nifi</groupId>
-                       <artifactId>nifi-update-attribute-nar</artifactId>
-                       <type>nar</type>
-               </dependency>
-               <dependency>
-                       <groupId>org.apache.nifi</groupId>
-                       <artifactId>nifi-hadoop-libraries-nar</artifactId>
-                       <type>nar</type>
-               </dependency>
-               <dependency>
-                       <groupId>org.apache.nifi</groupId>
-                       <artifactId>nifi-hadoop-nar</artifactId>
-                       <type>nar</type>
-               </dependency>
-               <dependency>
-                       <groupId>org.apache.nifi</groupId>
-                       <artifactId>nifi-kafka-nar</artifactId>
-                       <type>nar</type>
-               </dependency>
-               <dependency>
-                       <groupId>org.apache.nifi</groupId>
-                       <artifactId>nifi-http-context-map-nar</artifactId>
-                       <type>nar</type>
-               </dependency>
-               <dependency>
-                       <groupId>org.apache.nifi</groupId>
-                       <artifactId>nifi-kite-nar</artifactId>
-                       <type>nar</type>
-               </dependency>
-               <dependency>
-                       <groupId>org.apache.nifi</groupId>
-                       <artifactId>nifi-social-media-nar</artifactId>
-                       <version>0.1.0-incubating-SNAPSHOT</version>
-                       <type>nar</type>
-               </dependency>
-               <dependency>
-                       <groupId>org.apache.nifi</groupId>
-                       <artifactId>nifi-hl7-nar</artifactId>
-                       <version>0.1.0-incubating-SNAPSHOT</version>
-                       <type>nar</type>
-               </dependency>
-               <dependency>
-                       <groupId>org.apache.nifi</groupId>
-                       <artifactId>nifi-language-translation-nar</artifactId>
-                       <version>0.1.0-incubating-SNAPSHOT</version>
-                       <type>nar</type>
-               </dependency>
-               <dependency>
-                       <groupId>org.apache.nifi</groupId>
-                       <artifactId>nifi-geo-nar</artifactId>
-                       <version>0.1.0-incubating-SNAPSHOT</version>
-                       <type>nar</type>
-               </dependency>
-       </dependencies>
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/maven-v4_0_0.xsd";>
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.apache.nifi</groupId>
+        <artifactId>nifi</artifactId>
+        <version>0.1.0-incubating-SNAPSHOT</version>
+    </parent>
+    <artifactId>nifi-assembly</artifactId>
+    <packaging>pom</packaging>
+    <description>This is the assembly Apache NiFi (incubating)</description>
+    <build>
+        <plugins>
+            <plugin>
+                <artifactId>maven-assembly-plugin</artifactId>
+                <configuration>
+                    <finalName>nifi-${project.version}</finalName>
+                    <attach>false</attach>
+                </configuration>
+                <executions>
+                    <execution>
+                        <id>make shared resource</id>
+                        <goals>
+                            <goal>single</goal>
+                        </goals>
+                        <phase>package</phase>
+                        <configuration>
+                            <descriptors>
+                                
<descriptor>src/main/assembly/dependencies.xml</descriptor>
+                            </descriptors>
+                            <tarLongFileMode>posix</tarLongFileMode>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+    <dependencies>
+        <dependency>
+            <groupId>ch.qos.logback</groupId>
+            <artifactId>logback-classic</artifactId>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>jcl-over-slf4j</artifactId>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>jul-to-slf4j</artifactId>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>log4j-over-slf4j</artifactId>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-api</artifactId>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.nifi</groupId>
+            <artifactId>nifi-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.nifi</groupId>
+            <artifactId>nifi-runtime</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.nifi</groupId>
+            <artifactId>nifi-bootstrap</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.nifi</groupId>
+            <artifactId>nifi-resources</artifactId>
+            <classifier>resources</classifier>
+            <scope>runtime</scope>
+            <type>zip</type>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.nifi</groupId>
+            <artifactId>nifi-docs</artifactId>
+            <classifier>resources</classifier>
+            <scope>runtime</scope>
+            <type>zip</type>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.nifi</groupId>
+            <artifactId>nifi-framework-nar</artifactId>
+            <type>nar</type>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.nifi</groupId>
+            <artifactId>nifi-provenance-repository-nar</artifactId>
+            <type>nar</type>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.nifi</groupId>
+            <artifactId>nifi-standard-services-api-nar</artifactId>
+            <type>nar</type>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.nifi</groupId>
+            <artifactId>nifi-ssl-context-service-nar</artifactId>
+            <type>nar</type>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.nifi</groupId>
+            <artifactId>nifi-distributed-cache-services-nar</artifactId>
+            <type>nar</type>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.nifi</groupId>
+            <artifactId>nifi-standard-nar</artifactId>
+            <type>nar</type>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.nifi</groupId>
+            <artifactId>nifi-jetty-bundle</artifactId>
+            <type>nar</type>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.nifi</groupId>
+            <artifactId>nifi-update-attribute-nar</artifactId>
+            <type>nar</type>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.nifi</groupId>
+            <artifactId>nifi-hadoop-libraries-nar</artifactId>
+            <type>nar</type>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.nifi</groupId>
+            <artifactId>nifi-hadoop-nar</artifactId>
+            <type>nar</type>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.nifi</groupId>
+            <artifactId>nifi-kafka-nar</artifactId>
+            <type>nar</type>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.nifi</groupId>
+            <artifactId>nifi-http-context-map-nar</artifactId>
+            <type>nar</type>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.nifi</groupId>
+            <artifactId>nifi-kite-nar</artifactId>
+            <type>nar</type>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.nifi</groupId>
+            <artifactId>nifi-social-media-nar</artifactId>
+            <version>0.1.0-incubating-SNAPSHOT</version>
+            <type>nar</type>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.nifi</groupId>
+            <artifactId>nifi-hl7-nar</artifactId>
+            <version>0.1.0-incubating-SNAPSHOT</version>
+            <type>nar</type>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.nifi</groupId>
+            <artifactId>nifi-language-translation-nar</artifactId>
+            <version>0.1.0-incubating-SNAPSHOT</version>
+            <type>nar</type>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.nifi</groupId>
+            <artifactId>nifi-geo-nar</artifactId>
+            <version>0.1.0-incubating-SNAPSHOT</version>
+            <type>nar</type>
+        </dependency>
+    </dependencies>
 
-       <properties>
-               <!--Wrapper Properties -->
-               
<nifi.wrapper.jvm.heap.initial.mb>256</nifi.wrapper.jvm.heap.initial.mb>
-               <nifi.wrapper.jvm.heap.max.mb>512</nifi.wrapper.jvm.heap.max.mb>
-               <nifi.initial.permgen.size.mb>128</nifi.initial.permgen.size.mb>
-               <nifi.max.permgen.size.mb>128</nifi.max.permgen.size.mb>
-               <nifi.wrapper.logfile.maxsize>10m</nifi.wrapper.logfile.maxsize>
-               
<nifi.wrapper.logfile.maxfiles>10</nifi.wrapper.logfile.maxfiles>
+    <properties>
+        <!--Wrapper Properties -->
+        
<nifi.wrapper.jvm.heap.initial.mb>256</nifi.wrapper.jvm.heap.initial.mb>
+        <nifi.wrapper.jvm.heap.max.mb>512</nifi.wrapper.jvm.heap.max.mb>
+        <nifi.initial.permgen.size.mb>128</nifi.initial.permgen.size.mb>
+        <nifi.max.permgen.size.mb>128</nifi.max.permgen.size.mb>
+        <nifi.wrapper.logfile.maxsize>10m</nifi.wrapper.logfile.maxsize>
+        <nifi.wrapper.logfile.maxfiles>10</nifi.wrapper.logfile.maxfiles>
 
-               <!-- nifi.properties: core properties -->
-               <nifi.version>${project.version}</nifi.version>
-               
<nifi.flowcontroller.autoResumeState>true</nifi.flowcontroller.autoResumeState>
-               <nifi.flowcontroller.graceful.shutdown.period>10 
sec</nifi.flowcontroller.graceful.shutdown.period>
-               <nifi.flowservice.writedelay.interval>500 
ms</nifi.flowservice.writedelay.interval>
-               <nifi.administrative.yield.duration>30 
sec</nifi.administrative.yield.duration>
-               <nifi.bored.yield.duration>10 millis</nifi.bored.yield.duration>
+        <!-- nifi.properties: core properties -->
+        <nifi.version>${project.version}</nifi.version>
+        
<nifi.flowcontroller.autoResumeState>true</nifi.flowcontroller.autoResumeState>
+        <nifi.flowcontroller.graceful.shutdown.period>10 
sec</nifi.flowcontroller.graceful.shutdown.period>
+        <nifi.flowservice.writedelay.interval>500 
ms</nifi.flowservice.writedelay.interval>
+        <nifi.administrative.yield.duration>30 
sec</nifi.administrative.yield.duration>
+        <nifi.bored.yield.duration>10 millis</nifi.bored.yield.duration>
 
-               
<nifi.flow.configuration.file>./conf/flow.xml.gz</nifi.flow.configuration.file>
-               
<nifi.flow.configuration.archive.dir>./conf/archive/</nifi.flow.configuration.archive.dir>
-               
<nifi.authority.provider.configuration.file>./conf/authority-providers.xml</nifi.authority.provider.configuration.file>
-               
<nifi.templates.directory>./conf/templates</nifi.templates.directory>
-               
<nifi.database.directory>./database_repository</nifi.database.directory>
+        
<nifi.flow.configuration.file>./conf/flow.xml.gz</nifi.flow.configuration.file>
+        
<nifi.flow.configuration.archive.dir>./conf/archive/</nifi.flow.configuration.archive.dir>
+        
<nifi.authority.provider.configuration.file>./conf/authority-providers.xml</nifi.authority.provider.configuration.file>
+        <nifi.templates.directory>./conf/templates</nifi.templates.directory>
+        
<nifi.database.directory>./database_repository</nifi.database.directory>
 
-               
<nifi.flowfile.repository.implementation>org.apache.nifi.controller.repository.WriteAheadFlowFileRepository</nifi.flowfile.repository.implementation>
-               
<nifi.flowfile.repository.directory>./flowfile_repository</nifi.flowfile.repository.directory>
-               
<nifi.flowfile.repository.partitions>256</nifi.flowfile.repository.partitions>
-               <nifi.flowfile.repository.checkpoint.interval>2 
mins</nifi.flowfile.repository.checkpoint.interval>
-               
<nifi.flowfile.repository.always.sync>false</nifi.flowfile.repository.always.sync>
-               
<nifi.swap.manager.implementation>org.apache.nifi.controller.FileSystemSwapManager</nifi.swap.manager.implementation>
-               <nifi.queue.swap.threshold>20000</nifi.queue.swap.threshold>
-               <nifi.swap.in.period>5 sec</nifi.swap.in.period>
-               <nifi.swap.in.threads>1</nifi.swap.in.threads>
-               <nifi.swap.out.period>5 sec</nifi.swap.out.period>
-               <nifi.swap.out.threads>4</nifi.swap.out.threads>
+        
<nifi.flowfile.repository.implementation>org.apache.nifi.controller.repository.WriteAheadFlowFileRepository</nifi.flowfile.repository.implementation>
+        
<nifi.flowfile.repository.directory>./flowfile_repository</nifi.flowfile.repository.directory>
+        
<nifi.flowfile.repository.partitions>256</nifi.flowfile.repository.partitions>
+        <nifi.flowfile.repository.checkpoint.interval>2 
mins</nifi.flowfile.repository.checkpoint.interval>
+        
<nifi.flowfile.repository.always.sync>false</nifi.flowfile.repository.always.sync>
+        
<nifi.swap.manager.implementation>org.apache.nifi.controller.FileSystemSwapManager</nifi.swap.manager.implementation>
+        <nifi.queue.swap.threshold>20000</nifi.queue.swap.threshold>
+        <nifi.swap.in.period>5 sec</nifi.swap.in.period>
+        <nifi.swap.in.threads>1</nifi.swap.in.threads>
+        <nifi.swap.out.period>5 sec</nifi.swap.out.period>
+        <nifi.swap.out.threads>4</nifi.swap.out.threads>
 
-               
<nifi.content.repository.implementation>org.apache.nifi.controller.repository.FileSystemRepository</nifi.content.repository.implementation>
-               <nifi.content.claim.max.appendable.size>10 
MB</nifi.content.claim.max.appendable.size>
-               
<nifi.content.claim.max.flow.files>100</nifi.content.claim.max.flow.files>
-               
<nifi.content.repository.directory.default>./content_repository</nifi.content.repository.directory.default>
-               <nifi.content.repository.archive.max.retention.period />
-               <nifi.content.repository.archive.max.usage.percentage />
-               
<nifi.content.repository.archive.enabled>false</nifi.content.repository.archive.enabled>
-               
<nifi.content.repository.always.sync>false</nifi.content.repository.always.sync>
-               <nifi.content.viewer.url />
+        
<nifi.content.repository.implementation>org.apache.nifi.controller.repository.FileSystemRepository</nifi.content.repository.implementation>
+        <nifi.content.claim.max.appendable.size>10 
MB</nifi.content.claim.max.appendable.size>
+        
<nifi.content.claim.max.flow.files>100</nifi.content.claim.max.flow.files>
+        
<nifi.content.repository.directory.default>./content_repository</nifi.content.repository.directory.default>
+        <nifi.content.repository.archive.max.retention.period />
+        <nifi.content.repository.archive.max.usage.percentage />
+        
<nifi.content.repository.archive.enabled>false</nifi.content.repository.archive.enabled>
+        
<nifi.content.repository.always.sync>false</nifi.content.repository.always.sync>
+        <nifi.content.viewer.url />
 
-               <nifi.restore.directory />
-               <nifi.ui.banner.text />
-               <nifi.ui.autorefresh.interval>30 
sec</nifi.ui.autorefresh.interval>
-               <nifi.nar.library.directory>./lib</nifi.nar.library.directory>
-               
<nifi.nar.working.directory>./work/nar/</nifi.nar.working.directory>
-               
<nifi.documentation.working.directory>./work/docs/components</nifi.documentation.working.directory>
+        <nifi.restore.directory />
+        <nifi.ui.banner.text />
+        <nifi.ui.autorefresh.interval>30 sec</nifi.ui.autorefresh.interval>
+        <nifi.nar.library.directory>./lib</nifi.nar.library.directory>
+        <nifi.nar.working.directory>./work/nar/</nifi.nar.working.directory>
+        
<nifi.documentation.working.directory>./work/docs/components</nifi.documentation.working.directory>
 
-               
<nifi.sensitive.props.algorithm>PBEWITHMD5AND256BITAES-CBC-OPENSSL</nifi.sensitive.props.algorithm>
-               
<nifi.sensitive.props.provider>BC</nifi.sensitive.props.provider>
-               
<nifi.h2.url.append>;LOCK_TIMEOUT=25000;WRITE_DELAY=0;AUTO_SERVER=FALSE</nifi.h2.url.append>
+        
<nifi.sensitive.props.algorithm>PBEWITHMD5AND256BITAES-CBC-OPENSSL</nifi.sensitive.props.algorithm>
+        <nifi.sensitive.props.provider>BC</nifi.sensitive.props.provider>
+        
<nifi.h2.url.append>;LOCK_TIMEOUT=25000;WRITE_DELAY=0;AUTO_SERVER=FALSE</nifi.h2.url.append>
 
-               
<nifi.remote.input.socket.port>9990</nifi.remote.input.socket.port>
+        <nifi.remote.input.socket.port>9990</nifi.remote.input.socket.port>
 
-               <!-- persistent provenance repository properties -->
-               
<nifi.provenance.repository.implementation>org.apache.nifi.provenance.PersistentProvenanceRepository</nifi.provenance.repository.implementation>
-               
<nifi.provenance.repository.directory.default>./provenance_repository</nifi.provenance.repository.directory.default>
-               <nifi.provenance.repository.max.storage.time>24 
hours</nifi.provenance.repository.max.storage.time>
-               <nifi.provenance.repository.max.storage.size>1 
GB</nifi.provenance.repository.max.storage.size>
-               <nifi.provenance.repository.rollover.time>5 
mins</nifi.provenance.repository.rollover.time>
-               <nifi.provenance.repository.rollover.size>100 
MB</nifi.provenance.repository.rollover.size>
-               
<nifi.provenance.repository.query.threads>2</nifi.provenance.repository.query.threads>
-               
<nifi.provenance.repository.compress.on.rollover>true</nifi.provenance.repository.compress.on.rollover>
-               <nifi.provenance.repository.indexed.fields>EventType, 
FlowFileUUID,
-                       Filename, 
ProcessorID</nifi.provenance.repository.indexed.fields>
-               <nifi.provenance.repository.indexed.attributes />
-               <nifi.provenance.repository.index.shard.size>500 
MB</nifi.provenance.repository.index.shard.size>
-               
<nifi.provenance.repository.always.sync>false</nifi.provenance.repository.always.sync>
-               
<nifi.provenance.repository.journal.count>16</nifi.provenance.repository.journal.count>
+        <!-- persistent provenance repository properties -->
+        
<nifi.provenance.repository.implementation>org.apache.nifi.provenance.PersistentProvenanceRepository</nifi.provenance.repository.implementation>
+        
<nifi.provenance.repository.directory.default>./provenance_repository</nifi.provenance.repository.directory.default>
+        <nifi.provenance.repository.max.storage.time>24 
hours</nifi.provenance.repository.max.storage.time>
+        <nifi.provenance.repository.max.storage.size>1 
GB</nifi.provenance.repository.max.storage.size>
+        <nifi.provenance.repository.rollover.time>5 
mins</nifi.provenance.repository.rollover.time>
+        <nifi.provenance.repository.rollover.size>100 
MB</nifi.provenance.repository.rollover.size>
+        
<nifi.provenance.repository.query.threads>2</nifi.provenance.repository.query.threads>
+        
<nifi.provenance.repository.compress.on.rollover>true</nifi.provenance.repository.compress.on.rollover>
+        <nifi.provenance.repository.indexed.fields>EventType, FlowFileUUID,
+            Filename, ProcessorID</nifi.provenance.repository.indexed.fields>
+        <nifi.provenance.repository.indexed.attributes />
+        <nifi.provenance.repository.index.shard.size>500 
MB</nifi.provenance.repository.index.shard.size>
+        
<nifi.provenance.repository.always.sync>false</nifi.provenance.repository.always.sync>
+        
<nifi.provenance.repository.journal.count>16</nifi.provenance.repository.journal.count>
 
-               <!-- volatile provenance repository properties -->
-               
<nifi.provenance.repository.buffer.size>100000</nifi.provenance.repository.buffer.size>
+        <!-- volatile provenance repository properties -->
+        
<nifi.provenance.repository.buffer.size>100000</nifi.provenance.repository.buffer.size>
 
-               <!-- Component status repository properties -->
-               
<nifi.components.status.repository.implementation>org.apache.nifi.controller.status.history.VolatileComponentStatusRepository</nifi.components.status.repository.implementation>
-               
<nifi.components.status.repository.buffer.size>288</nifi.components.status.repository.buffer.size>
-               <nifi.components.status.snapshot.frequency>5 
mins</nifi.components.status.snapshot.frequency>
+        <!-- Component status repository properties -->
+        
<nifi.components.status.repository.implementation>org.apache.nifi.controller.status.history.VolatileComponentStatusRepository</nifi.components.status.repository.implementation>
+        
<nifi.components.status.repository.buffer.size>288</nifi.components.status.repository.buffer.size>
+        <nifi.components.status.snapshot.frequency>5 
mins</nifi.components.status.snapshot.frequency>
 
-               <!-- nifi.properties: web properties -->
-               <nifi.web.war.directory>./lib</nifi.web.war.directory>
-               <nifi.web.http.host />
-               <nifi.web.http.port>8080</nifi.web.http.port>
-               <nifi.web.https.host />
-               <nifi.web.https.port />
-               <nifi.jetty.work.dir>./work/jetty</nifi.jetty.work.dir>
-               <nifi.web.jetty.threads>200</nifi.web.jetty.threads>
+        <!-- nifi.properties: web properties -->
+        <nifi.web.war.directory>./lib</nifi.web.war.directory>
+        <nifi.web.http.host />
+        <nifi.web.http.port>8080</nifi.web.http.port>
+        <nifi.web.https.host />
+        <nifi.web.https.port />
+        <nifi.jetty.work.dir>./work/jetty</nifi.jetty.work.dir>
+        <nifi.web.jetty.threads>200</nifi.web.jetty.threads>
 
-               <!-- nifi.properties: security properties -->
-               <nifi.security.keystore />
-               <nifi.security.keystoreType />
-               <nifi.security.keystorePasswd />
-               <nifi.security.keyPasswd />
-               <nifi.security.truststore />
-               <nifi.security.truststoreType />
-               <nifi.security.truststorePasswd />
-               <nifi.security.needClientAuth />
-               
<nifi.security.authorizedUsers.file>./conf/authorized-users.xml</nifi.security.authorizedUsers.file>
-               <nifi.security.user.credential.cache.duration>24 
hours</nifi.security.user.credential.cache.duration>
-               
<nifi.security.user.authority.provider>file-provider</nifi.security.user.authority.provider>
-               <nifi.security.x509.principal.extractor />
-               <nifi.security.support.new.account.requests />
-               <nifi.security.ocsp.responder.url />
-               <nifi.security.ocsp.responder.certificate />
+        <!-- nifi.properties: security properties -->
+        <nifi.security.keystore />
+        <nifi.security.keystoreType />
+        <nifi.security.keystorePasswd />
+        <nifi.security.keyPasswd />
+        <nifi.security.truststore />
+        <nifi.security.truststoreType />
+        <nifi.security.truststorePasswd />
+        <nifi.security.needClientAuth />
+        
<nifi.security.authorizedUsers.file>./conf/authorized-users.xml</nifi.security.authorizedUsers.file>
+        <nifi.security.user.credential.cache.duration>24 
hours</nifi.security.user.credential.cache.duration>
+        
<nifi.security.user.authority.provider>file-provider</nifi.security.user.authority.provider>
+        <nifi.security.x509.principal.extractor />
+        <nifi.security.support.new.account.requests />
+        <nifi.security.ocsp.responder.url />
+        <nifi.security.ocsp.responder.certificate />
 
-               <!-- nifi.properties: cluster common properties (cluster 
manager and nodes 
-                       must have same values) -->
-               <nifi.cluster.protocol.heartbeat.interval>5 
sec</nifi.cluster.protocol.heartbeat.interval>
-               
<nifi.cluster.protocol.is.secure>false</nifi.cluster.protocol.is.secure>
-               <nifi.cluster.protocol.socket.timeout>30 
sec</nifi.cluster.protocol.socket.timeout>
-               <nifi.cluster.protocol.connection.handshake.timeout>45 
sec</nifi.cluster.protocol.connection.handshake.timeout>
-               
<nifi.cluster.protocol.use.multicast>false</nifi.cluster.protocol.use.multicast>
-               <nifi.cluster.protocol.multicast.address />
-               <nifi.cluster.protocol.multicast.port />
-               <nifi.cluster.protocol.multicast.service.broadcast.delay>500 
ms</nifi.cluster.protocol.multicast.service.broadcast.delay>
-               
<nifi.cluster.protocol.multicast.service.locator.attempts>3</nifi.cluster.protocol.multicast.service.locator.attempts>
-               
<nifi.cluster.protocol.multicast.service.locator.attempts.delay>1 
sec</nifi.cluster.protocol.multicast.service.locator.attempts.delay>
+        <!-- nifi.properties: cluster common properties (cluster manager and 
nodes 
+        must have same values) -->
+        <nifi.cluster.protocol.heartbeat.interval>5 
sec</nifi.cluster.protocol.heartbeat.interval>
+        
<nifi.cluster.protocol.is.secure>false</nifi.cluster.protocol.is.secure>
+        <nifi.cluster.protocol.socket.timeout>30 
sec</nifi.cluster.protocol.socket.timeout>
+        <nifi.cluster.protocol.connection.handshake.timeout>45 
sec</nifi.cluster.protocol.connection.handshake.timeout>
+        
<nifi.cluster.protocol.use.multicast>false</nifi.cluster.protocol.use.multicast>
+        <nifi.cluster.protocol.multicast.address />
+        <nifi.cluster.protocol.multicast.port />
+        <nifi.cluster.protocol.multicast.service.broadcast.delay>500 
ms</nifi.cluster.protocol.multicast.service.broadcast.delay>
+        
<nifi.cluster.protocol.multicast.service.locator.attempts>3</nifi.cluster.protocol.multicast.service.locator.attempts>
+        <nifi.cluster.protocol.multicast.service.locator.attempts.delay>1 
sec</nifi.cluster.protocol.multicast.service.locator.attempts.delay>
 
-               <!-- nifi.properties: cluster node properties (only configure 
for cluster 
-                       nodes) -->
-               <nifi.cluster.is.node>false</nifi.cluster.is.node>
-               <nifi.cluster.node.address />
-               <nifi.cluster.node.protocol.port />
-               
<nifi.cluster.node.protocol.threads>2</nifi.cluster.node.protocol.threads>
-               <nifi.cluster.node.unicast.manager.address />
-               <nifi.cluster.node.unicast.manager.protocol.port />
+        <!-- nifi.properties: cluster node properties (only configure for 
cluster 
+        nodes) -->
+        <nifi.cluster.is.node>false</nifi.cluster.is.node>
+        <nifi.cluster.node.address />
+        <nifi.cluster.node.protocol.port />
+        
<nifi.cluster.node.protocol.threads>2</nifi.cluster.node.protocol.threads>
+        <nifi.cluster.node.unicast.manager.address />
+        <nifi.cluster.node.unicast.manager.protocol.port />
 
-               <!-- nifi.properties: cluster manager properties (only 
configure for cluster 
-                       manager) -->
-               <nifi.cluster.is.manager>false</nifi.cluster.is.manager>
-               <nifi.cluster.manager.address />
-               <nifi.cluster.manager.protocol.port />
-               <nifi.cluster.manager.node.firewall.file />
-               
<nifi.cluster.manager.node.event.history.size>10</nifi.cluster.manager.node.event.history.size>
-               <nifi.cluster.manager.node.api.connection.timeout>30 
sec</nifi.cluster.manager.node.api.connection.timeout>
-               <nifi.cluster.manager.node.api.read.timeout>30 
sec</nifi.cluster.manager.node.api.read.timeout>
-               
<nifi.cluster.manager.node.api.request.threads>10</nifi.cluster.manager.node.api.request.threads>
-               <nifi.cluster.manager.flow.retrieval.delay>5 
sec</nifi.cluster.manager.flow.retrieval.delay>
-               
<nifi.cluster.manager.protocol.threads>10</nifi.cluster.manager.protocol.threads>
-               <nifi.cluster.manager.safemode.duration>0 
sec</nifi.cluster.manager.safemode.duration>
-       </properties>
-       <profiles>
-               <profile>
-                       <id>rpm</id>
-                       <activation>
-                               <activeByDefault>false</activeByDefault>
-                       </activation>
-                       <build>
-                               <plugins>
-                                       <plugin>
-                                               
<artifactId>maven-dependency-plugin</artifactId>
-                                               <executions>
-                                                       <execution>
-                                                               
<id>unpack-shared-resources</id>
-                                                               <goals>
-                                                                       
<goal>unpack-dependencies</goal>
-                                                               </goals>
-                                                               
<phase>generate-resources</phase>
-                                                               <configuration>
-                                                                       
<outputDirectory>${project.build.directory}/generated-resources</outputDirectory>
-                                                                       
<includeArtifactIds>nifi-resources</includeArtifactIds>
-                                                                       
<includeGroupIds>org.apache.nifi</includeGroupIds>
-                                                                       
<excludeTransitive>false</excludeTransitive>
-                                                               </configuration>
-                                                       </execution>
-                                                       <execution>
-                                                               
<id>unpack-docs</id>
-                                                               <goals>
-                                                                       
<goal>unpack-dependencies</goal>
-                                                               </goals>
-                                                               
<phase>generate-resources</phase>
-                                                               <configuration>
-                                                                       
<outputDirectory>${project.build.directory}/generated-docs</outputDirectory>
-                                                                       
<includeArtifactIds>nifi-docs</includeArtifactIds>
-                                                                       
<includeGroupIds>org.apache.nifi</includeGroupIds>
-                                                                       
<excludeTransitive>false</excludeTransitive>
-                                                               </configuration>
-                                                       </execution>
-                                               </executions>
-                                       </plugin>
-                                       <plugin>
-                                               
<groupId>org.codehaus.mojo</groupId>
-                                               
<artifactId>rpm-maven-plugin</artifactId>
-                                               <configuration>
-                                                       <summary>Apache NiFi 
(incubating)</summary>
-                                                       <description>Apache 
Nifi (incubating) is dataflow system based on
-                                                               the Flow-Based 
Programming concepts.</description>
-                                                       <license>Apache 
License, Version 2.0 and others (see included
-                                                               LICENSE 
file)</license>
-                                                       
<url>http://nifi.incubator.apache.org</url>
-                                                       <group>Utilities</group>
-                                                       
<prefix>/opt/nifi</prefix>
-                                                       <defineStatements>
-                                                               
<defineStatement>_use_internal_dependency_generator 0</defineStatement>
-                                                       </defineStatements>
-                                                       
<defaultDirmode>750</defaultDirmode>
-                                                       
<defaultFilemode>640</defaultFilemode>
-                                                       
<defaultUsername>root</defaultUsername>
-                                                       
<defaultGroupname>root</defaultGroupname>
-                                               </configuration>
-                                               <executions>
-                                                       <execution>
-                                                               
<id>build-bin-rpm</id>
-                                                               <goals>
-                                                                       
<goal>attached-rpm</goal>
-                                                               </goals>
-                                                               <configuration>
-                                                                       
<classifier>bin</classifier>
-                                                                       
<provides>
-                                                                               
<provide>nifi</provide>
-                                                                       
</provides>
-                                                                       
<mappings>
-                                                                               
<mapping>
-                                                                               
        <directory>/opt/nifi/nifi-${project.version}</directory>
-                                                                               
</mapping>
-                                                                               
<mapping>
-                                                                               
        <directory>/opt/nifi/nifi-${project.version}</directory>
-                                                                               
        <sources>
-                                                                               
                <source>
-                                                                               
                        <location>./LICENSE</location>
-                                                                               
                </source>
-                                                                               
                <source>
-                                                                               
                        <location>./NOTICE</location>
-                                                                               
                </source>
-                                                                               
                <source>
-                                                                               
                        <location>../DISCLAIMER</location>
-                                                                               
                </source>
-                                                                               
                <source>
-                                                                               
                        <location>./README.md</location>
-                                                                               
                        <destination>README</destination>
-                                                                               
                </source>
-                                                                               
        </sources>
-                                                                               
</mapping>
-                                                                               
<mapping>
-                                                                               
        <directory>/opt/nifi/nifi-${project.version}/bin</directory>
-                                                                               
        <filemode>750</filemode>
-                                                                               
        <sources>
-                                                                               
                <source>
-                                                                               
                        
<location>${project.build.directory}/generated-resources/bin/nifi.sh</location>
-                                                                               
                        <destination>nifi.sh</destination>
-                                                                               
                        <filter>true</filter>
-                                                                               
                </source>
-                                                                               
        </sources>
-                                                                               
</mapping>
-                                                                               
<mapping>
-                                                                               
        <directory>/opt/nifi/nifi-${project.version}/conf</directory>
-                                                                               
        <configuration>true</configuration>
-                                                                               
        <sources>
-                                                                               
                <source>
-                                                                               
                        
<location>${project.build.directory}/generated-resources/conf</location>
-                                                                               
                        <filter>true</filter>
-                                                                               
                </source>
-                                                                               
        </sources>
-                                                                               
</mapping>
-                                                                               
<mapping>
-                                                                               
        <directory>/opt/nifi/nifi-${project.version}/lib</directory>
-                                                                               
        <dependency>
-                                                                               
                <excludes>
-                                                                               
                        <exclude>org.apache.nifi:nifi-bootstrap</exclude>
-                                                                               
                        <exclude>org.apache.nifi:nifi-resources</exclude>
-                                                                               
                        <exclude>org.apache.nifi:nifi-docs</exclude>
-                                                                               
                </excludes>
-                                                                               
        </dependency>
-                                                                               
</mapping>
-                                                                               
<mapping>
-                                                                               
        <directory>/opt/nifi/nifi-${project.version}/lib/bootstrap</directory>
-                                                                               
        <dependency>
-                                                                               
                <includes>
-                                                                               
                        <include>org.apache.nifi:nifi-bootstrap</include>
-                                                                               
                </includes>
-                                                                               
        </dependency>
-                                                                               
</mapping>
-                                                                               
<mapping>
-                                                                               
        <directory>/opt/nifi/nifi-${project.version}/docs</directory>
-                                                                               
        <sources>
-                                                                               
                <source>
-                                                                               
                        
<location>${project.build.directory}/generated-docs</location>
-                                                                               
                </source>
-                                                                               
        </sources>
-                                                                               
</mapping>
-                                                                       
</mappings>
-                                                               </configuration>
-                                                       </execution>
-                                               </executions>
-                                       </plugin>
-                               </plugins>
-                       </build>
-               </profile>
-       </profiles>
+        <!-- nifi.properties: cluster manager properties (only configure for 
cluster 
+        manager) -->
+        <nifi.cluster.is.manager>false</nifi.cluster.is.manager>
+        <nifi.cluster.manager.address />
+        <nifi.cluster.manager.protocol.port />
+        <nifi.cluster.manager.node.firewall.file />
+        
<nifi.cluster.manager.node.event.history.size>10</nifi.cluster.manager.node.event.history.size>
+        <nifi.cluster.manager.node.api.connection.timeout>30 
sec</nifi.cluster.manager.node.api.connection.timeout>
+        <nifi.cluster.manager.node.api.read.timeout>30 
sec</nifi.cluster.manager.node.api.read.timeout>
+        
<nifi.cluster.manager.node.api.request.threads>10</nifi.cluster.manager.node.api.request.threads>
+        <nifi.cluster.manager.flow.retrieval.delay>5 
sec</nifi.cluster.manager.flow.retrieval.delay>
+        
<nifi.cluster.manager.protocol.threads>10</nifi.cluster.manager.protocol.threads>
+        <nifi.cluster.manager.safemode.duration>0 
sec</nifi.cluster.manager.safemode.duration>
+    </properties>
+    <profiles>
+        <profile>
+            <id>rpm</id>
+            <activation>
+                <activeByDefault>false</activeByDefault>
+            </activation>
+            <build>
+                <plugins>
+                    <plugin>
+                        <artifactId>maven-dependency-plugin</artifactId>
+                        <executions>
+                            <execution>
+                                <id>unpack-shared-resources</id>
+                                <goals>
+                                    <goal>unpack-dependencies</goal>
+                                </goals>
+                                <phase>generate-resources</phase>
+                                <configuration>
+                                    
<outputDirectory>${project.build.directory}/generated-resources</outputDirectory>
+                                    
<includeArtifactIds>nifi-resources</includeArtifactIds>
+                                    
<includeGroupIds>org.apache.nifi</includeGroupIds>
+                                    
<excludeTransitive>false</excludeTransitive>
+                                </configuration>
+                            </execution>
+                            <execution>
+                                <id>unpack-docs</id>
+                                <goals>
+                                    <goal>unpack-dependencies</goal>
+                                </goals>
+                                <phase>generate-resources</phase>
+                                <configuration>
+                                    
<outputDirectory>${project.build.directory}/generated-docs</outputDirectory>
+                                    
<includeArtifactIds>nifi-docs</includeArtifactIds>
+                                    
<includeGroupIds>org.apache.nifi</includeGroupIds>
+                                    
<excludeTransitive>false</excludeTransitive>
+                                </configuration>
+                            </execution>
+                        </executions>
+                    </plugin>
+                    <plugin>
+                        <groupId>org.codehaus.mojo</groupId>
+                        <artifactId>rpm-maven-plugin</artifactId>
+                        <configuration>
+                            <summary>Apache NiFi (incubating)</summary>
+                            <description>Apache Nifi (incubating) is dataflow 
system based on
+                                the Flow-Based Programming 
concepts.</description>
+                            <license>Apache License, Version 2.0 and others 
(see included
+                                LICENSE file)</license>
+                            <url>http://nifi.incubator.apache.org</url>
+                            <group>Utilities</group>
+                            <prefix>/opt/nifi</prefix>
+                            <defineStatements>
+                                
<defineStatement>_use_internal_dependency_generator 0</defineStatement>
+                            </defineStatements>
+                            <defaultDirmode>750</defaultDirmode>
+                            <defaultFilemode>640</defaultFilemode>
+                            <defaultUsername>root</defaultUsername>
+                            <defaultGroupname>root</defaultGroupname>
+                        </configuration>
+                        <executions>
+                            <execution>
+                                <id>build-bin-rpm</id>
+                                <goals>
+                                    <goal>attached-rpm</goal>
+                                </goals>
+                                <configuration>
+                                    <classifier>bin</classifier>
+                                    <provides>
+                                        <provide>nifi</provide>
+                                    </provides>
+                                    <mappings>
+                                        <mapping>
+                                            
<directory>/opt/nifi/nifi-${project.version}</directory>
+                                        </mapping>
+                                        <mapping>
+                                            
<directory>/opt/nifi/nifi-${project.version}</directory>
+                                            <sources>
+                                                <source>
+                                                    
<location>./LICENSE</location>
+                                                </source>
+                                                <source>
+                                                    
<location>./NOTICE</location>
+                                                </source>
+                                                <source>
+                                                    
<location>../DISCLAIMER</location>
+                                                </source>
+                                                <source>
+                                                    
<location>./README.md</location>
+                                                    
<destination>README</destination>
+                                                </source>
+                                            </sources>
+                                        </mapping>
+                                        <mapping>
+                                            
<directory>/opt/nifi/nifi-${project.version}/bin</directory>
+                                            <filemode>750</filemode>
+                                            <sources>
+                                                <source>
+                                                    
<location>${project.build.directory}/generated-resources/bin/nifi.sh</location>
+                                                    
<destination>nifi.sh</destination>
+                                                    <filter>true</filter>
+                                                </source>
+                                            </sources>
+                                        </mapping>
+                                        <mapping>
+                                            
<directory>/opt/nifi/nifi-${project.version}/conf</directory>
+                                            <configuration>true</configuration>
+                                            <sources>
+                                                <source>
+                                                    
<location>${project.build.directory}/generated-resources/conf</location>
+                                                    <filter>true</filter>
+                                                </source>
+                                            </sources>
+                                        </mapping>
+                                        <mapping>
+                                            
<directory>/opt/nifi/nifi-${project.version}/lib</directory>
+                                            <dependency>
+                                                <excludes>
+                                                    
<exclude>org.apache.nifi:nifi-bootstrap</exclude>
+                                                    
<exclude>org.apache.nifi:nifi-resources</exclude>
+                                                    
<exclude>org.apache.nifi:nifi-docs</exclude>
+                                                </excludes>
+                                            </dependency>
+                                        </mapping>
+                                        <mapping>
+                                            
<directory>/opt/nifi/nifi-${project.version}/lib/bootstrap</directory>
+                                            <dependency>
+                                                <includes>
+                                                    
<include>org.apache.nifi:nifi-bootstrap</include>
+                                                </includes>
+                                            </dependency>
+                                        </mapping>
+                                        <mapping>
+                                            
<directory>/opt/nifi/nifi-${project.version}/docs</directory>
+                                            <sources>
+                                                <source>
+                                                    
<location>${project.build.directory}/generated-docs</location>
+                                                </source>
+                                            </sources>
+                                        </mapping>
+                                    </mappings>
+                                </configuration>
+                            </execution>
+                        </executions>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+    </profiles>
 </project>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/060a1e0d/nifi/nifi-nar-bundles/nifi-aws-bundle/nifi-aws-nar/src/main/resources/META-INF/NOTICE
----------------------------------------------------------------------
diff --git 
a/nifi/nifi-nar-bundles/nifi-aws-bundle/nifi-aws-nar/src/main/resources/META-INF/NOTICE
 
b/nifi/nifi-nar-bundles/nifi-aws-bundle/nifi-aws-nar/src/main/resources/META-INF/NOTICE
new file mode 100644
index 0000000..64d4975
--- /dev/null
+++ 
b/nifi/nifi-nar-bundles/nifi-aws-bundle/nifi-aws-nar/src/main/resources/META-INF/NOTICE
@@ -0,0 +1,74 @@
+nifi-aws-nar
+Copyright 2015 The Apache Software Foundation
+
+This product includes software developed at
+The Apache Software Foundation (http://www.apache.org/).
+
+******************
+Apache Software License v2
+******************
+
+The following binary components are provided under the Apache Software License 
v2
+
+  (ASLv2) Apache HttpComponents
+    The following NOTICE information applies:
+      Apache HttpClient
+      Copyright 1999-2014 The Apache Software Foundation
+      
+      Apache HttpCore
+      Copyright 2005-2014 The Apache Software Foundation
+
+      This project contains annotations derived from JCIP-ANNOTATIONS
+      Copyright (c) 2005 Brian Goetz and Tim Peierls. See http://www.jcip.net
+
+  (ASLv2) Joda Time
+    The following NOTICE information applies:
+      This product includes software developed by
+      Joda.org (http://www.joda.org/).
+
+  (ASLv2) Apache Commons Codec
+    The following NOTICE information applies:
+      Apache Commons Codec
+      Copyright 2002-2014 The Apache Software Foundation
+
+      src/test/org/apache/commons/codec/language/DoubleMetaphoneTest.java
+      contains test data from http://aspell.net/test/orig/batch0.tab.
+      Copyright (C) 2002 Kevin Atkinson (kev...@gnu.org)
+
+      
===============================================================================
+
+      The content of package org.apache.commons.codec.language.bm has been 
translated
+      from the original php source code available at 
http://stevemorse.org/phoneticinfo.htm
+      with permission from the original authors.
+      Original source copyright:
+      Copyright (c) 2008 Alexander Beider & Stephen P. Morse.
+
+  (ASLv2) Apache Commons Logging
+    The following NOTICE information applies:
+      Apache Commons Logging
+      Copyright 2003-2013 The Apache Software Foundation
+
+  (ASLv2) Apache Commons Lang
+    The following NOTICE information applies:
+      Apache Commons Lang
+      Copyright 2001-2014 The Apache Software Foundation
+
+      This product includes software from the Spring Framework,
+      under the Apache License 2.0 (see: StringUtils.containsWhitespace())
+
+  (ASLv2) Amazon Web Services SDK
+    The following NOTICE information applies:
+      Copyright 2010-2014 Amazon.com, Inc. or its affiliates. All Rights 
Reserved.
+
+      This product includes software developed by
+      Amazon Technologies, Inc (http://www.amazon.com/).
+
+      **********************
+      THIRD PARTY COMPONENTS
+      **********************
+      This software includes third party software subject to the following 
copyrights:
+      - XML parsing and utility functions from JetS3t - Copyright 2006-2009 
James Murty.
+      - JSON parsing and utility functions from JSON.org - Copyright 2002 
JSON.org.
+      - PKCS#1 PEM encoded private key parsing and utility functions from 
oauth.googlecode.com - Copyright 1998-2010 AOL Inc.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/060a1e0d/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 2270773..fdc8718 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
@@ -35,9 +35,9 @@
             <artifactId>nifi-processor-utils</artifactId>
         </dependency>
         <dependency>
-                       <groupId>com.amazonaws</groupId>
-                       <artifactId>aws-java-sdk</artifactId>
-               </dependency>
+            <groupId>com.amazonaws</groupId>
+            <artifactId>aws-java-sdk</artifactId>
+        </dependency>
                
         <dependency>
             <groupId>org.apache.nifi</groupId>
@@ -55,4 +55,17 @@
             <scope>test</scope>
         </dependency>
     </dependencies>
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.rat</groupId>
+                <artifactId>apache-rat-plugin</artifactId>
+                <configuration>
+                    <excludes>
+                        <exclude>src/test/resources/hello.txt</exclude>
+                    </excludes>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
 </project>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/060a1e0d/nifi/nifi-nar-bundles/nifi-aws-bundle/nifi-aws-processors/src/main/java/org/apache/nifi/processors/aws/AbstractAWSProcessor.java
----------------------------------------------------------------------
diff --git 
a/nifi/nifi-nar-bundles/nifi-aws-bundle/nifi-aws-processors/src/main/java/org/apache/nifi/processors/aws/AbstractAWSProcessor.java
 
b/nifi/nifi-nar-bundles/nifi-aws-bundle/nifi-aws-processors/src/main/java/org/apache/nifi/processors/aws/AbstractAWSProcessor.java
index 11c6a9d..a781ff9 100644
--- 
a/nifi/nifi-nar-bundles/nifi-aws-bundle/nifi-aws-processors/src/main/java/org/apache/nifi/processors/aws/AbstractAWSProcessor.java
+++ 
b/nifi/nifi-nar-bundles/nifi-aws-bundle/nifi-aws-processors/src/main/java/org/apache/nifi/processors/aws/AbstractAWSProcessor.java
@@ -58,56 +58,54 @@ public abstract class AbstractAWSProcessor<ClientType 
extends AmazonWebServiceCl
             new HashSet<>(Arrays.asList(REL_SUCCESS, REL_FAILURE)));
 
     public static final PropertyDescriptor CREDENTAILS_FILE = new 
PropertyDescriptor.Builder()
-        .name("Credentials File")
-        .expressionLanguageSupported(false)
-        .required(false)
-        .addValidator(StandardValidators.FILE_EXISTS_VALIDATOR)
-        .build();
+            .name("Credentials File")
+            .expressionLanguageSupported(false)
+            .required(false)
+            .addValidator(StandardValidators.FILE_EXISTS_VALIDATOR)
+            .build();
     public static final PropertyDescriptor ACCESS_KEY = new 
PropertyDescriptor.Builder()
-        .name("Access Key")
-        .expressionLanguageSupported(false)
-        .required(false)
-        .addValidator(StandardValidators.NON_EMPTY_VALIDATOR)
-        .sensitive(true)
-        .build();
+            .name("Access Key")
+            .expressionLanguageSupported(false)
+            .required(false)
+            .addValidator(StandardValidators.NON_EMPTY_VALIDATOR)
+            .sensitive(true)
+            .build();
     public static final PropertyDescriptor SECRET_KEY = new 
PropertyDescriptor.Builder()
-        .name("Secret Key")
-        .expressionLanguageSupported(false)
-        .required(false)
-        .addValidator(StandardValidators.NON_EMPTY_VALIDATOR)
-        .sensitive(true)
-        .build();
+            .name("Secret Key")
+            .expressionLanguageSupported(false)
+            .required(false)
+            .addValidator(StandardValidators.NON_EMPTY_VALIDATOR)
+            .sensitive(true)
+            .build();
     public static final PropertyDescriptor REGION = new 
PropertyDescriptor.Builder()
-        .name("Region")
-        .required(true)
-        .allowableValues(getAvailableRegions())
-        .defaultValue(createAllowableValue(Regions.DEFAULT_REGION).getValue())
-        .build();
+            .name("Region")
+            .required(true)
+            .allowableValues(getAvailableRegions())
+            
.defaultValue(createAllowableValue(Regions.DEFAULT_REGION).getValue())
+            .build();
 
     public static final PropertyDescriptor TIMEOUT = new 
PropertyDescriptor.Builder()
-        .name("Communications Timeout")
-        .required(true)
-        .addValidator(StandardValidators.TIME_PERIOD_VALIDATOR)
-        .defaultValue("30 secs")
-        .build();
-
+            .name("Communications Timeout")
+            .required(true)
+            .addValidator(StandardValidators.TIME_PERIOD_VALIDATOR)
+            .defaultValue("30 secs")
+            .build();
 
     private volatile ClientType client;
 
-
     private static AllowableValue createAllowableValue(final Regions regions) {
         return new AllowableValue(regions.getName(), regions.getName(), 
regions.getName());
     }
-    
+
     private static AllowableValue[] getAvailableRegions() {
         final List<AllowableValue> values = new ArrayList<>();
-        for ( final Regions regions : Regions.values() ) {
+        for (final Regions regions : Regions.values()) {
             values.add(createAllowableValue(regions));
         }
-        
+
         return (AllowableValue[]) values.toArray(new 
AllowableValue[values.size()]);
     }
-    
+
     @Override
     public Set<Relationship> getRelationships() {
         return relationships;
@@ -116,52 +114,50 @@ public abstract class AbstractAWSProcessor<ClientType 
extends AmazonWebServiceCl
     @Override
     protected Collection<ValidationResult> customValidate(final 
ValidationContext validationContext) {
         final List<ValidationResult> problems = new 
ArrayList<>(super.customValidate(validationContext));
-        
+
         final boolean accessKeySet = 
validationContext.getProperty(ACCESS_KEY).isSet();
         final boolean secretKeySet = 
validationContext.getProperty(SECRET_KEY).isSet();
-        if ( (accessKeySet && !secretKeySet) || (secretKeySet && 
!accessKeySet) ) {
+        if ((accessKeySet && !secretKeySet) || (secretKeySet && 
!accessKeySet)) {
             problems.add(new ValidationResult.Builder().input("Access 
Key").valid(false).explanation("If setting Secret Key or Access Key, must set 
both").build());
         }
-        
+
         final boolean credentialsFileSet = 
validationContext.getProperty(CREDENTAILS_FILE).isSet();
-        if ( (secretKeySet || accessKeySet) && credentialsFileSet ) {
+        if ((secretKeySet || accessKeySet) && credentialsFileSet) {
             problems.add(new ValidationResult.Builder().input("Access 
Key").valid(false).explanation("Cannot set both Credentials File and Secret 
Key/Access Key").build());
         }
-        
+
         return problems;
     }
 
-
     protected ClientConfiguration createConfiguration(final ProcessContext 
context) {
         final ClientConfiguration config = new ClientConfiguration();
         config.setMaxConnections(context.getMaxConcurrentTasks());
         config.setMaxErrorRetry(0);
         config.setUserAgent("NiFi");
-        
+
         final int commsTimeout = 
context.getProperty(TIMEOUT).asTimePeriod(TimeUnit.MILLISECONDS).intValue();
         config.setConnectionTimeout(commsTimeout);
         config.setSocketTimeout(commsTimeout);
-        
+
         return config;
     }
 
-    
     @OnScheduled
     public void onScheduled(final ProcessContext context) {
         final ClientType awsClient = createClient(context, 
getCredentials(context), createConfiguration(context));
         this.client = awsClient;
-        
+
         // if the processor supports REGION, get the configured region.
-        if ( getSupportedPropertyDescriptors().contains(REGION) ) {
+        if (getSupportedPropertyDescriptors().contains(REGION)) {
             final String region = context.getProperty(REGION).getValue();
-            if ( region != null ) {
+            if (region != null) {
                 client.setRegion(Region.getRegion(Regions.fromName(region)));
             }
         }
     }
 
     protected abstract ClientType createClient(final ProcessContext context, 
final AWSCredentials credentials, final ClientConfiguration config);
-    
+
     protected ClientType getClient() {
         return client;
     }
@@ -171,23 +167,22 @@ public abstract class AbstractAWSProcessor<ClientType 
extends AmazonWebServiceCl
         final String secretKey = context.getProperty(SECRET_KEY).getValue();
 
         final String credentialsFile = 
context.getProperty(CREDENTAILS_FILE).getValue();
-        
-        if ( credentialsFile != null ) {
+
+        if (credentialsFile != null) {
             try {
                 return new PropertiesCredentials(new File(credentialsFile));
             } catch (final IOException ioe) {
                 throw new ProcessException("Could not read Credentials File", 
ioe);
             }
         }
-        
-        if ( accessKey != null && secretKey != null ) {
+
+        if (accessKey != null && secretKey != null) {
             return new BasicAWSCredentials(accessKey, secretKey);
         }
-        
+
         return new AnonymousAWSCredentials();
     }
 
-    
     protected boolean isEmpty(final String value) {
         return value == null || value.trim().equals("");
     }

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/060a1e0d/nifi/nifi-nar-bundles/nifi-aws-bundle/nifi-aws-processors/src/main/java/org/apache/nifi/processors/aws/s3/AbstractS3Processor.java
----------------------------------------------------------------------
diff --git 
a/nifi/nifi-nar-bundles/nifi-aws-bundle/nifi-aws-processors/src/main/java/org/apache/nifi/processors/aws/s3/AbstractS3Processor.java
 
b/nifi/nifi-nar-bundles/nifi-aws-bundle/nifi-aws-processors/src/main/java/org/apache/nifi/processors/aws/s3/AbstractS3Processor.java
index 624015b..76880ef 100644
--- 
a/nifi/nifi-nar-bundles/nifi-aws-bundle/nifi-aws-processors/src/main/java/org/apache/nifi/processors/aws/s3/AbstractS3Processor.java
+++ 
b/nifi/nifi-nar-bundles/nifi-aws-bundle/nifi-aws-processors/src/main/java/org/apache/nifi/processors/aws/s3/AbstractS3Processor.java
@@ -39,133 +39,131 @@ import com.amazonaws.services.s3.model.Permission;
 public abstract class AbstractS3Processor extends 
AbstractAWSProcessor<AmazonS3Client> {
 
     public static final PropertyDescriptor FULL_CONTROL_USER_LIST = new 
PropertyDescriptor.Builder()
-        .name("FullControl User List")
-        .required(false)
-        .expressionLanguageSupported(true)
-        .addValidator(StandardValidators.NON_EMPTY_VALIDATOR)
-        .description("A comma-separated list of Amazon User ID's or E-mail 
addresses that specifies who should have Full Control for an object")
-        .defaultValue("${s3.permissions.full.users}")
-        .build();
+            .name("FullControl User List")
+            .required(false)
+            .expressionLanguageSupported(true)
+            .addValidator(StandardValidators.NON_EMPTY_VALIDATOR)
+            .description("A comma-separated list of Amazon User ID's or E-mail 
addresses that specifies who should have Full Control for an object")
+            .defaultValue("${s3.permissions.full.users}")
+            .build();
     public static final PropertyDescriptor READ_USER_LIST = new 
PropertyDescriptor.Builder()
-        .name("Read Permission User List")
-        .required(false)
-        .expressionLanguageSupported(true)
-        .addValidator(StandardValidators.NON_EMPTY_VALIDATOR)
-        .description("A comma-separated list of Amazon User ID's or E-mail 
addresses that specifies who should have Read Access for an object")
-        .defaultValue("${s3.permissions.read.users}")
-        .build();
+            .name("Read Permission User List")
+            .required(false)
+            .expressionLanguageSupported(true)
+            .addValidator(StandardValidators.NON_EMPTY_VALIDATOR)
+            .description("A comma-separated list of Amazon User ID's or E-mail 
addresses that specifies who should have Read Access for an object")
+            .defaultValue("${s3.permissions.read.users}")
+            .build();
     public static final PropertyDescriptor WRITE_USER_LIST = new 
PropertyDescriptor.Builder()
-        .name("Write Permission User List")
-        .required(false)
-        .expressionLanguageSupported(true)
-        .addValidator(StandardValidators.NON_EMPTY_VALIDATOR)
-        .description("A comma-separated list of Amazon User ID's or E-mail 
addresses that specifies who should have Write Access for an object")
-        .defaultValue("${s3.permissions.write.users}")
-        .build();
+            .name("Write Permission User List")
+            .required(false)
+            .expressionLanguageSupported(true)
+            .addValidator(StandardValidators.NON_EMPTY_VALIDATOR)
+            .description("A comma-separated list of Amazon User ID's or E-mail 
addresses that specifies who should have Write Access for an object")
+            .defaultValue("${s3.permissions.write.users}")
+            .build();
     public static final PropertyDescriptor READ_ACL_LIST = new 
PropertyDescriptor.Builder()
-        .name("Read ACL User List")
-        .required(false)
-        .expressionLanguageSupported(true)
-        .addValidator(StandardValidators.NON_EMPTY_VALIDATOR)
-        .description("A comma-separated list of Amazon User ID's or E-mail 
addresses that specifies who should have permissions to read the Access Control 
List for an object")
-        .defaultValue("${s3.permissions.readacl.users}")
-        .build();
+            .name("Read ACL User List")
+            .required(false)
+            .expressionLanguageSupported(true)
+            .addValidator(StandardValidators.NON_EMPTY_VALIDATOR)
+            .description("A comma-separated list of Amazon User ID's or E-mail 
addresses that specifies who should have permissions to read the Access Control 
List for an object")
+            .defaultValue("${s3.permissions.readacl.users}")
+            .build();
     public static final PropertyDescriptor WRITE_ACL_LIST = new 
PropertyDescriptor.Builder()
-        .name("Write ACL User List")
-        .required(false)
-        .expressionLanguageSupported(true)
-        .addValidator(StandardValidators.NON_EMPTY_VALIDATOR)
-        .description("A comma-separated list of Amazon User ID's or E-mail 
addresses that specifies who should have permissions to change the Access 
Control List for an object")
-        .defaultValue("${s3.permissions.writeacl.users}")
-        .build();
+            .name("Write ACL User List")
+            .required(false)
+            .expressionLanguageSupported(true)
+            .addValidator(StandardValidators.NON_EMPTY_VALIDATOR)
+            .description("A comma-separated list of Amazon User ID's or E-mail 
addresses that specifies who should have permissions to change the Access 
Control List for an object")
+            .defaultValue("${s3.permissions.writeacl.users}")
+            .build();
     public static final PropertyDescriptor OWNER = new 
PropertyDescriptor.Builder()
-        .name("Owner")
-        .required(false)
-        .expressionLanguageSupported(true)
-        .addValidator(StandardValidators.NON_EMPTY_VALIDATOR)
-        .description("The Amazon ID to use for the object's owner")
-        .defaultValue("${s3.owner}")
-        .build();
+            .name("Owner")
+            .required(false)
+            .expressionLanguageSupported(true)
+            .addValidator(StandardValidators.NON_EMPTY_VALIDATOR)
+            .description("The Amazon ID to use for the object's owner")
+            .defaultValue("${s3.owner}")
+            .build();
     public static final PropertyDescriptor BUCKET = new 
PropertyDescriptor.Builder()
-        .name("Bucket")
-        .expressionLanguageSupported(true)
-        .required(true)
-        .addValidator(StandardValidators.NON_EMPTY_VALIDATOR)
-        .build();
+            .name("Bucket")
+            .expressionLanguageSupported(true)
+            .required(true)
+            .addValidator(StandardValidators.NON_EMPTY_VALIDATOR)
+            .build();
     public static final PropertyDescriptor KEY = new 
PropertyDescriptor.Builder()
-        .name("Object Key")
-        .required(true)
-        .addValidator(StandardValidators.NON_EMPTY_VALIDATOR)
-        .expressionLanguageSupported(true)
-        .defaultValue("${filename}")
-        .build();
-    
-    
+            .name("Object Key")
+            .required(true)
+            .addValidator(StandardValidators.NON_EMPTY_VALIDATOR)
+            .expressionLanguageSupported(true)
+            .defaultValue("${filename}")
+            .build();
+
     @Override
     protected AmazonS3Client createClient(final ProcessContext context, final 
AWSCredentials credentials, final ClientConfiguration config) {
         return new AmazonS3Client(credentials, config);
     }
-    
-    
+
     protected Grantee createGrantee(final String value) {
-        if ( isEmpty(value) ) {
+        if (isEmpty(value)) {
             return null;
         }
-        
-        if ( value.contains("@") ) {
+
+        if (value.contains("@")) {
             return new EmailAddressGrantee(value);
         } else {
             return new CanonicalGrantee(value);
         }
     }
-    
+
     protected final List<Grantee> createGrantees(final String value) {
-        if ( isEmpty(value) ) {
+        if (isEmpty(value)) {
             return Collections.emptyList();
         }
-        
+
         final List<Grantee> grantees = new ArrayList<>();
         final String[] vals = value.split(",");
-        for ( final String val : vals ) {
+        for (final String val : vals) {
             final String identifier = val.trim();
             final Grantee grantee = createGrantee(identifier);
-            if ( grantee != null ) {
+            if (grantee != null) {
                 grantees.add(grantee);
             }
         }
         return grantees;
     }
-    
+
     protected final AccessControlList createACL(final ProcessContext context, 
final FlowFile flowFile) {
         final AccessControlList acl = new AccessControlList();
-        
+
         final String ownerId = 
context.getProperty(OWNER).evaluateAttributeExpressions(flowFile).getValue();
-        if ( !isEmpty(ownerId) ) {
+        if (!isEmpty(ownerId)) {
             final Owner owner = new Owner();
             owner.setId(ownerId);
             acl.setOwner(owner);
         }
-        
-        for ( final Grantee grantee : 
createGrantees(context.getProperty(FULL_CONTROL_USER_LIST).evaluateAttributeExpressions(flowFile).getValue()))
 {
+
+        for (final Grantee grantee : 
createGrantees(context.getProperty(FULL_CONTROL_USER_LIST).evaluateAttributeExpressions(flowFile).getValue()))
 {
             acl.grantPermission(grantee, Permission.FullControl);
         }
-        
-        for ( final Grantee grantee : 
createGrantees(context.getProperty(READ_USER_LIST).evaluateAttributeExpressions(flowFile).getValue()))
 {
+
+        for (final Grantee grantee : 
createGrantees(context.getProperty(READ_USER_LIST).evaluateAttributeExpressions(flowFile).getValue()))
 {
             acl.grantPermission(grantee, Permission.Read);
         }
 
-        for ( final Grantee grantee : 
createGrantees(context.getProperty(WRITE_USER_LIST).evaluateAttributeExpressions(flowFile).getValue()))
 {
+        for (final Grantee grantee : 
createGrantees(context.getProperty(WRITE_USER_LIST).evaluateAttributeExpressions(flowFile).getValue()))
 {
             acl.grantPermission(grantee, Permission.Write);
         }
-        
-        for ( final Grantee grantee : 
createGrantees(context.getProperty(READ_ACL_LIST).evaluateAttributeExpressions(flowFile).getValue()))
 {
+
+        for (final Grantee grantee : 
createGrantees(context.getProperty(READ_ACL_LIST).evaluateAttributeExpressions(flowFile).getValue()))
 {
             acl.grantPermission(grantee, Permission.ReadAcp);
         }
 
-        for ( final Grantee grantee : 
createGrantees(context.getProperty(WRITE_ACL_LIST).evaluateAttributeExpressions(flowFile).getValue()))
 {
+        for (final Grantee grantee : 
createGrantees(context.getProperty(WRITE_ACL_LIST).evaluateAttributeExpressions(flowFile).getValue()))
 {
             acl.grantPermission(grantee, Permission.WriteAcp);
         }
-        
+
         return acl;
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/060a1e0d/nifi/nifi-nar-bundles/nifi-aws-bundle/nifi-aws-processors/src/main/java/org/apache/nifi/processors/aws/s3/FetchS3Object.java
----------------------------------------------------------------------
diff --git 
a/nifi/nifi-nar-bundles/nifi-aws-bundle/nifi-aws-processors/src/main/java/org/apache/nifi/processors/aws/s3/FetchS3Object.java
 
b/nifi/nifi-nar-bundles/nifi-aws-bundle/nifi-aws-processors/src/main/java/org/apache/nifi/processors/aws/s3/FetchS3Object.java
index 63c8346..2406b67 100644
--- 
a/nifi/nifi-nar-bundles/nifi-aws-bundle/nifi-aws-processors/src/main/java/org/apache/nifi/processors/aws/s3/FetchS3Object.java
+++ 
b/nifi/nifi-nar-bundles/nifi-aws-bundle/nifi-aws-processors/src/main/java/org/apache/nifi/processors/aws/s3/FetchS3Object.java
@@ -43,46 +43,44 @@ import com.amazonaws.services.s3.model.GetObjectRequest;
 import com.amazonaws.services.s3.model.ObjectMetadata;
 import com.amazonaws.services.s3.model.S3Object;
 
-
 @SupportsBatching
 @SeeAlso({PutS3Object.class})
 @Tags({"Amazon", "S3", "AWS", "Get", "Fetch"})
 @CapabilityDescription("Retrieves the contents of an S3 Object and writes it 
to the content of a FlowFile")
 @WritesAttributes({
-       @WritesAttribute(attribute="s3.bucket", description="The name of the S3 
bucket"),
-       @WritesAttribute(attribute="path", description="The path of the file"),
-       @WritesAttribute(attribute="absolute.path", description="The path of 
the file"),
-       @WritesAttribute(attribute="filename", description="The name of the 
file"),
-       @WritesAttribute(attribute="hash.value", description="The MD5 sum of 
the file"),
-       @WritesAttribute(attribute="hash.algorithm", description="MD5"),
-       @WritesAttribute(attribute="mime.type", description="If S3 provides the 
content type/MIME type, this attribute will hold that file"),
-       @WritesAttribute(attribute="s3.etag", description="The ETag that can be 
used to see if the file has changed"),
-       @WritesAttribute(attribute="s3.expirationTime", description="If the 
file has an expiration date, this attribute will be set, containing the 
milliseconds since epoch in UTC time"),
-       @WritesAttribute(attribute="s3.expirationTimeRuleId", description="The 
ID of the rule that dictates this object's expiration time"),
-       @WritesAttribute(attribute="s3.version", description="The version of 
the S3 object"),
-})
+    @WritesAttribute(attribute = "s3.bucket", description = "The name of the 
S3 bucket"),
+    @WritesAttribute(attribute = "path", description = "The path of the file"),
+    @WritesAttribute(attribute = "absolute.path", description = "The path of 
the file"),
+    @WritesAttribute(attribute = "filename", description = "The name of the 
file"),
+    @WritesAttribute(attribute = "hash.value", description = "The MD5 sum of 
the file"),
+    @WritesAttribute(attribute = "hash.algorithm", description = "MD5"),
+    @WritesAttribute(attribute = "mime.type", description = "If S3 provides 
the content type/MIME type, this attribute will hold that file"),
+    @WritesAttribute(attribute = "s3.etag", description = "The ETag that can 
be used to see if the file has changed"),
+    @WritesAttribute(attribute = "s3.expirationTime", description = "If the 
file has an expiration date, this attribute will be set, containing the 
milliseconds since epoch in UTC time"),
+    @WritesAttribute(attribute = "s3.expirationTimeRuleId", description = "The 
ID of the rule that dictates this object's expiration time"),
+    @WritesAttribute(attribute = "s3.version", description = "The version of 
the S3 object"),})
 public class FetchS3Object extends AbstractS3Processor {
 
-       public static final PropertyDescriptor VERSION_ID = new 
PropertyDescriptor.Builder()
-        .name("Version")
-        .description("The Version of the Object to download")
-        .addValidator(StandardValidators.NON_EMPTY_VALIDATOR)
-        .expressionLanguageSupported(true)
-        .required(false)
-        .build();
-    
+    public static final PropertyDescriptor VERSION_ID = new 
PropertyDescriptor.Builder()
+            .name("Version")
+            .description("The Version of the Object to download")
+            .addValidator(StandardValidators.NON_EMPTY_VALIDATOR)
+            .expressionLanguageSupported(true)
+            .required(false)
+            .build();
+
     public static final List<PropertyDescriptor> properties = 
Collections.unmodifiableList(
-            Arrays.asList(BUCKET, KEY, REGION, ACCESS_KEY, SECRET_KEY, 
CREDENTAILS_FILE, TIMEOUT, VERSION_ID) );
+            Arrays.asList(BUCKET, KEY, REGION, ACCESS_KEY, SECRET_KEY, 
CREDENTAILS_FILE, TIMEOUT, VERSION_ID));
 
     @Override
     protected List<PropertyDescriptor> getSupportedPropertyDescriptors() {
         return properties;
     }
-    
+
     @Override
     public void onTrigger(final ProcessContext context, final ProcessSession 
session) {
         FlowFile flowFile = session.get();
-        if ( flowFile == null ) {
+        if (flowFile == null) {
             return;
         }
 
@@ -90,10 +88,10 @@ public class FetchS3Object extends AbstractS3Processor {
         final String bucket = 
context.getProperty(BUCKET).evaluateAttributeExpressions(flowFile).getValue();
         final String key = 
context.getProperty(KEY).evaluateAttributeExpressions(flowFile).getValue();
         final String versionId = 
context.getProperty(VERSION_ID).evaluateAttributeExpressions(flowFile).getValue();
-        
+
         final AmazonS3 client = getClient();
         final GetObjectRequest request;
-        if ( versionId == null ) {
+        if (versionId == null) {
             request = new GetObjectRequest(bucket, key);
         } else {
             request = new GetObjectRequest(bucket, key, versionId);
@@ -103,12 +101,12 @@ public class FetchS3Object extends AbstractS3Processor {
         try (final S3Object s3Object = client.getObject(request)) {
             flowFile = session.importFrom(s3Object.getObjectContent(), 
flowFile);
             attributes.put("s3.bucket", s3Object.getBucketName());
-            
+
             final ObjectMetadata metadata = s3Object.getObjectMetadata();
-            if ( metadata.getContentDisposition() != null ) {
+            if (metadata.getContentDisposition() != null) {
                 final String fullyQualified = metadata.getContentDisposition();
                 final int lastSlash = fullyQualified.lastIndexOf("/");
-                if ( lastSlash > -1 && lastSlash < fullyQualified.length() - 1 
) {
+                if (lastSlash > -1 && lastSlash < fullyQualified.length() - 1) 
{
                     attributes.put(CoreAttributes.PATH.key(), 
fullyQualified.substring(0, lastSlash));
                     attributes.put(CoreAttributes.ABSOLUTE_PATH.key(), 
fullyQualified);
                     attributes.put(CoreAttributes.FILENAME.key(), 
fullyQualified.substring(lastSlash + 1));
@@ -116,42 +114,42 @@ public class FetchS3Object extends AbstractS3Processor {
                     attributes.put(CoreAttributes.FILENAME.key(), 
metadata.getContentDisposition());
                 }
             }
-            if (metadata.getContentMD5() != null ) {
+            if (metadata.getContentMD5() != null) {
                 attributes.put("hash.value", metadata.getContentMD5());
                 attributes.put("hash.algorithm", "MD5");
             }
-            if ( metadata.getContentType() != null ) {
+            if (metadata.getContentType() != null) {
                 attributes.put(CoreAttributes.MIME_TYPE.key(), 
metadata.getContentType());
             }
-            if ( metadata.getETag() != null ) {
+            if (metadata.getETag() != null) {
                 attributes.put("s3.etag", metadata.getETag());
             }
-            if ( metadata.getExpirationTime() != null ) {
+            if (metadata.getExpirationTime() != null) {
                 attributes.put("s3.expirationTime", 
String.valueOf(metadata.getExpirationTime().getTime()));
             }
-            if ( metadata.getExpirationTimeRuleId() != null ) {
+            if (metadata.getExpirationTimeRuleId() != null) {
                 attributes.put("s3.expirationTimeRuleId", 
metadata.getExpirationTimeRuleId());
             }
-            if ( metadata.getUserMetadata() != null ) {
+            if (metadata.getUserMetadata() != null) {
                 attributes.putAll(metadata.getUserMetadata());
             }
-            if ( metadata.getVersionId() != null ) {
+            if (metadata.getVersionId() != null) {
                 attributes.put("s3.version", metadata.getVersionId());
             }
         } catch (final IOException | AmazonClientException ioe) {
-            getLogger().error("Failed to retrieve S3 Object for {}; routing to 
failure", new Object[] {flowFile, ioe});
+            getLogger().error("Failed to retrieve S3 Object for {}; routing to 
failure", new Object[]{flowFile, ioe});
             session.transfer(flowFile, REL_FAILURE);
             return;
         }
 
-        if ( !attributes.isEmpty() ) {
+        if (!attributes.isEmpty()) {
             flowFile = session.putAllAttributes(flowFile, attributes);
         }
 
         session.transfer(flowFile, REL_SUCCESS);
         final long transferMillis = 
TimeUnit.NANOSECONDS.toMillis(System.nanoTime() - startNanos);
-        getLogger().info("Successfully retrieved S3 Object for {} in {} 
millis; routing to success", new Object[] {flowFile, transferMillis});
+        getLogger().info("Successfully retrieved S3 Object for {} in {} 
millis; routing to success", new Object[]{flowFile, transferMillis});
         session.getProvenanceReporter().receive(flowFile, "http://"; + bucket + 
".amazonaws.com/" + key, transferMillis);
     }
-    
+
 }

Reply via email to