You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by jo...@apache.org on 2015/04/22 20:50:28 UTC

[6/6] incubator-nifi git commit: NIFI-537 fixed identified licensing issue with several of the new nars

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 <jo...@apache.org>
Authored: Wed Apr 22 14:50:03 2015 -0400
Committer: joewitt <jo...@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 (kevina@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);
     }
-    
+
 }