Repository: nifi-minifi
Updated Branches:
  refs/heads/master 3370cacbe -> 2d1e43e73


http://git-wip-us.apache.org/repos/asf/nifi-minifi/blob/2d1e43e7/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/DecompressionCircularFlow.yml
----------------------------------------------------------------------
diff --git 
a/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/DecompressionCircularFlow.yml
 
b/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/DecompressionCircularFlow.yml
new file mode 100644
index 0000000..743fdf6
--- /dev/null
+++ 
b/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/DecompressionCircularFlow.yml
@@ -0,0 +1,293 @@
+# 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.
+
+Flow Controller:
+  name: DecompressionCircularFlow2
+  comment: ''
+Core Properties:
+  flow controller graceful shutdown period: 10 sec
+  flow service write delay interval: 500 ms
+  administrative yield duration: 30 sec
+  bored yield duration: 10 millis
+  max concurrent threads: 1
+FlowFile Repository:
+  partitions: 256
+  checkpoint interval: 2 mins
+  always sync: false
+  Swap:
+    threshold: 20000
+    in period: 5 sec
+    in threads: 1
+    out period: 5 sec
+    out threads: 4
+Content Repository:
+  content claim max appendable size: 10 MB
+  content claim max flow files: 100
+  always sync: false
+Provenance Repository:
+  provenance rollover time: 1 min
+Component Status Repository:
+  buffer size: 1440
+  snapshot frequency: 1 min
+Security Properties:
+  keystore: ''
+  keystore type: ''
+  keystore password: ''
+  key password: ''
+  truststore: ''
+  truststore type: ''
+  truststore password: ''
+  ssl protocol: ''
+  Sensitive Props:
+    key:
+    algorithm: PBEWITHMD5AND256BITAES-CBC-OPENSSL
+    provider: BC
+Processors:
+- name: Compressed?
+  class: org.apache.nifi.processors.standard.RouteOnAttribute
+  max concurrent tasks: 1
+  scheduling strategy: TIMER_DRIVEN
+  scheduling period: 0 sec
+  penalization period: 30 sec
+  yield period: 1 sec
+  run duration nanos: 0
+  auto-terminated relationships list: []
+  Properties:
+    Routing Strategy:
+    gzip: ${mime.type:toUpper():contains("GZIP")}
+- name: GZIP CompressContent
+  class: org.apache.nifi.processors.standard.CompressContent
+  max concurrent tasks: 1
+  scheduling strategy: TIMER_DRIVEN
+  scheduling period: 0 sec
+  penalization period: 30 sec
+  yield period: 1 sec
+  run duration nanos: 0
+  auto-terminated relationships list: []
+  Properties:
+    Compression Format: gzip
+    Compression Level:
+    Mode:
+    Update Filename:
+- name: GZIP CompressContent2
+  class: org.apache.nifi.processors.standard.CompressContent
+  max concurrent tasks: 1
+  scheduling strategy: TIMER_DRIVEN
+  scheduling period: 0 sec
+  penalization period: 30 sec
+  yield period: 1 sec
+  run duration nanos: 0
+  auto-terminated relationships list: []
+  Properties:
+    Compression Format: gzip
+    Compression Level:
+    Mode:
+    Update Filename:
+- name: GZIP CompressContent3
+  class: org.apache.nifi.processors.standard.CompressContent
+  max concurrent tasks: 1
+  scheduling strategy: TIMER_DRIVEN
+  scheduling period: 0 sec
+  penalization period: 30 sec
+  yield period: 1 sec
+  run duration nanos: 0
+  auto-terminated relationships list: []
+  Properties:
+    Compression Format: gzip
+    Compression Level:
+    Mode:
+    Update Filename:
+- name: GZIP CompressContent4
+  class: org.apache.nifi.processors.standard.CompressContent
+  max concurrent tasks: 1
+  scheduling strategy: TIMER_DRIVEN
+  scheduling period: 0 sec
+  penalization period: 30 sec
+  yield period: 1 sec
+  run duration nanos: 0
+  auto-terminated relationships list: []
+  Properties:
+    Compression Format: gzip
+    Compression Level:
+    Mode:
+    Update Filename:
+- name: GenerateFlowFile
+  class: org.apache.nifi.processors.standard.GenerateFlowFile
+  max concurrent tasks: 1
+  scheduling strategy: TIMER_DRIVEN
+  scheduling period: 1 min
+  penalization period: 30 sec
+  yield period: 1 sec
+  run duration nanos: 0
+  auto-terminated relationships list: []
+  Properties:
+    Batch Size:
+    Data Format:
+    File Size: 10kb
+    Unique FlowFiles:
+- name: IdentifyMimeType
+  class: org.apache.nifi.processors.standard.IdentifyMimeType
+  max concurrent tasks: 1
+  scheduling strategy: TIMER_DRIVEN
+  scheduling period: 0 sec
+  penalization period: 30 sec
+  yield period: 1 sec
+  run duration nanos: 0
+  auto-terminated relationships list: []
+  Properties: {}
+- name: LogAttribute
+  class: org.apache.nifi.processors.standard.LogAttribute
+  max concurrent tasks: 1
+  scheduling strategy: TIMER_DRIVEN
+  scheduling period: 0 sec
+  penalization period: 30 sec
+  yield period: 1 sec
+  run duration nanos: 0
+  auto-terminated relationships list:
+  - success
+  Properties:
+    Attributes to Ignore:
+    Attributes to Log:
+    Log Level:
+    Log Payload:
+    Log prefix:
+- name: Uncompress GZIP
+  class: org.apache.nifi.processors.standard.CompressContent
+  max concurrent tasks: 1
+  scheduling strategy: TIMER_DRIVEN
+  scheduling period: 0 sec
+  penalization period: 30 sec
+  yield period: 1 sec
+  run duration nanos: 0
+  auto-terminated relationships list: []
+  Properties:
+    Compression Format: gzip
+    Compression Level:
+    Mode: decompress
+    Update Filename:
+Connections:
+- name: Compressed?/gzip/Uncompress GZIP
+  source name: Compressed?
+  source relationship name: gzip
+  destination name: Uncompress GZIP
+  max work queue size: 0
+  max work queue data size: 0 MB
+  flowfile expiration: 0 sec
+  queue prioritizer class: 
org.apache.nifi.prioritizer.FirstInFirstOutPrioritizer
+- name: Compressed?/unmatched/LogAttribute
+  source name: Compressed?
+  source relationship name: unmatched
+  destination name: LogAttribute
+  max work queue size: 0
+  max work queue data size: 0 MB
+  flowfile expiration: 0 sec
+  queue prioritizer class: 
org.apache.nifi.prioritizer.FirstInFirstOutPrioritizer
+- name: GZIP CompressContent/failure/GZIP CompressContent
+  source name: GZIP CompressContent
+  source relationship name: failure
+  destination name: GZIP CompressContent
+  max work queue size: 0
+  max work queue data size: 0 MB
+  flowfile expiration: 0 sec
+  queue prioritizer class: 
org.apache.nifi.prioritizer.FirstInFirstOutPrioritizer
+- name: GZIP CompressContent/success/GZIP CompressContent2
+  source name: GZIP CompressContent
+  source relationship name: success
+  destination name: GZIP CompressContent2
+  max work queue size: 0
+  max work queue data size: 0 MB
+  flowfile expiration: 0 sec
+  queue prioritizer class: 
org.apache.nifi.prioritizer.FirstInFirstOutPrioritizer
+- name: GZIP CompressContent2/failure/GZIP CompressContent2
+  source name: GZIP CompressContent2
+  source relationship name: failure
+  destination name: GZIP CompressContent2
+  max work queue size: 0
+  max work queue data size: 0 MB
+  flowfile expiration: 0 sec
+  queue prioritizer class: 
org.apache.nifi.prioritizer.FirstInFirstOutPrioritizer
+- name: GZIP CompressContent2/success/GZIP CompressContent3
+  source name: GZIP CompressContent2
+  source relationship name: success
+  destination name: GZIP CompressContent3
+  max work queue size: 0
+  max work queue data size: 0 MB
+  flowfile expiration: 0 sec
+  queue prioritizer class: 
org.apache.nifi.prioritizer.FirstInFirstOutPrioritizer
+- name: GZIP CompressContent3/failure/GZIP CompressContent3
+  source name: GZIP CompressContent3
+  source relationship name: failure
+  destination name: GZIP CompressContent3
+  max work queue size: 0
+  max work queue data size: 0 MB
+  flowfile expiration: 0 sec
+  queue prioritizer class: 
org.apache.nifi.prioritizer.FirstInFirstOutPrioritizer
+- name: GZIP CompressContent3/success/GZIP CompressContent4
+  source name: GZIP CompressContent3
+  source relationship name: success
+  destination name: GZIP CompressContent4
+  max work queue size: 0
+  max work queue data size: 0 MB
+  flowfile expiration: 0 sec
+  queue prioritizer class: 
org.apache.nifi.prioritizer.FirstInFirstOutPrioritizer
+- name: GZIP CompressContent4/failure/GZIP CompressContent4
+  source name: GZIP CompressContent4
+  source relationship name: failure
+  destination name: GZIP CompressContent4
+  max work queue size: 0
+  max work queue data size: 0 MB
+  flowfile expiration: 0 sec
+  queue prioritizer class: 
org.apache.nifi.prioritizer.FirstInFirstOutPrioritizer
+- name: GZIP CompressContent4/success/Uncompress GZIP
+  source name: GZIP CompressContent4
+  source relationship name: success
+  destination name: Uncompress GZIP
+  max work queue size: 0
+  max work queue data size: 0 MB
+  flowfile expiration: 0 sec
+  queue prioritizer class: 
org.apache.nifi.prioritizer.FirstInFirstOutPrioritizer
+- name: GenerateFlowFile/success/GZIP CompressContent
+  source name: GenerateFlowFile
+  source relationship name: success
+  destination name: GZIP CompressContent
+  max work queue size: 0
+  max work queue data size: 0 MB
+  flowfile expiration: 0 sec
+  queue prioritizer class: 
org.apache.nifi.prioritizer.FirstInFirstOutPrioritizer
+- name: IdentifyMimeType/success/Compressed?
+  source name: IdentifyMimeType
+  source relationship name: success
+  destination name: Compressed?
+  max work queue size: 0
+  max work queue data size: 0 MB
+  flowfile expiration: 0 sec
+  queue prioritizer class: 
org.apache.nifi.prioritizer.FirstInFirstOutPrioritizer
+- name: Uncompress GZIP/failure/Uncompress GZIP
+  source name: Uncompress GZIP
+  source relationship name: failure
+  destination name: Uncompress GZIP
+  max work queue size: 0
+  max work queue data size: 0 MB
+  flowfile expiration: 5 sec
+  queue prioritizer class: 
org.apache.nifi.prioritizer.FirstInFirstOutPrioritizer
+- name: Uncompress GZIP/success/IdentifyMimeType
+  source name: Uncompress GZIP
+  source relationship name: success
+  destination name: IdentifyMimeType
+  max work queue size: 0
+  max work queue data size: 0 MB
+  flowfile expiration: 0 sec
+  queue prioritizer class: 
org.apache.nifi.prioritizer.FirstInFirstOutPrioritizer
+Remote Processing Groups: []

http://git-wip-us.apache.org/repos/asf/nifi-minifi/blob/2d1e43e7/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/InvokeHttpMiNiFiTemplateTest.xml
----------------------------------------------------------------------
diff --git 
a/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/InvokeHttpMiNiFiTemplateTest.xml
 
b/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/InvokeHttpMiNiFiTemplateTest.xml
new file mode 100644
index 0000000..38e5be2
--- /dev/null
+++ 
b/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/InvokeHttpMiNiFiTemplateTest.xml
@@ -0,0 +1,648 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<!--
+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.
+ -->
+<template encoding-version="1.0">
+  <description/>
+  <groupId>ee27ad42-d125-4d09-a9f5-c42da132ab6b</groupId>
+  <name>InvokeHttpMiNiFiTemplateTest2</name>
+  <snippet>
+    <connections>
+      <id>7299c143-46f6-4a94-aa24-ec47db16f73e</id>
+      <parentGroupId>ee27ad42-d125-4d09-a9f5-c42da132ab6b</parentGroupId>
+      <backPressureDataSizeThreshold>1 GB</backPressureDataSizeThreshold>
+      <backPressureObjectThreshold>10000</backPressureObjectThreshold>
+      <destination>
+        <groupId>5b0a5c18-a02e-4a85-8080-0187ee679763</groupId>
+        <id>b23a4621-cf19-42e6-967c-ffd3716e6a24</id>
+        <type>REMOTE_INPUT_PORT</type>
+      </destination>
+      <flowFileExpiration>0 sec</flowFileExpiration>
+      <labelIndex>1</labelIndex>
+      <name/>
+      
<prioritizers>org.apache.nifi.prioritizer.FirstInFirstOutPrioritizer</prioritizers>
+      <selectedRelationships>unmatched</selectedRelationships>
+      <source>
+        <groupId>ee27ad42-d125-4d09-a9f5-c42da132ab6b</groupId>
+        <id>dcff217a-a25c-424f-b9f1-d82c55bfa61b</id>
+        <type>PROCESSOR</type>
+      </source>
+      <zIndex>0</zIndex>
+    </connections>
+    <connections>
+      <id>451b153a-8a4e-4bed-99ab-5159e499bcf1</id>
+      <parentGroupId>ee27ad42-d125-4d09-a9f5-c42da132ab6b</parentGroupId>
+      <backPressureDataSizeThreshold>1 GB</backPressureDataSizeThreshold>
+      <backPressureObjectThreshold>10000</backPressureObjectThreshold>
+      <destination>
+        <groupId>ee27ad42-d125-4d09-a9f5-c42da132ab6b</groupId>
+        <id>dcff217a-a25c-424f-b9f1-d82c55bfa61b</id>
+        <type>PROCESSOR</type>
+      </destination>
+      <flowFileExpiration>0 sec</flowFileExpiration>
+      <labelIndex>1</labelIndex>
+      <name/>
+      
<prioritizers>org.apache.nifi.prioritizer.FirstInFirstOutPrioritizer</prioritizers>
+      <selectedRelationships>Failure</selectedRelationships>
+      <source>
+        <groupId>ee27ad42-d125-4d09-a9f5-c42da132ab6b</groupId>
+        <id>66649998-3b08-4b41-9f07-a51d999743f6</id>
+        <type>PROCESSOR</type>
+      </source>
+      <zIndex>0</zIndex>
+    </connections>
+    <connections>
+      <id>b97044aa-3401-49df-86ab-bc440cd8f6c8</id>
+      <parentGroupId>ee27ad42-d125-4d09-a9f5-c42da132ab6b</parentGroupId>
+      <backPressureDataSizeThreshold>1 GB</backPressureDataSizeThreshold>
+      <backPressureObjectThreshold>10000</backPressureObjectThreshold>
+      <bends>
+        <x>1483.6325842428985</x>
+        <y>1391.8157446098328</y>
+      </bends>
+      <destination>
+        <groupId>ee27ad42-d125-4d09-a9f5-c42da132ab6b</groupId>
+        <id>dcff217a-a25c-424f-b9f1-d82c55bfa61b</id>
+        <type>PROCESSOR</type>
+      </destination>
+      <flowFileExpiration>0 sec</flowFileExpiration>
+      <labelIndex>1</labelIndex>
+      <name/>
+      
<prioritizers>org.apache.nifi.prioritizer.FirstInFirstOutPrioritizer</prioritizers>
+      <selectedRelationships>Original</selectedRelationships>
+      <source>
+        <groupId>ee27ad42-d125-4d09-a9f5-c42da132ab6b</groupId>
+        <id>66649998-3b08-4b41-9f07-a51d999743f6</id>
+        <type>PROCESSOR</type>
+      </source>
+      <zIndex>0</zIndex>
+    </connections>
+    <connections>
+      <id>9f948a25-afb4-4598-9a01-cfb7e3aa5920</id>
+      <parentGroupId>ee27ad42-d125-4d09-a9f5-c42da132ab6b</parentGroupId>
+      <backPressureDataSizeThreshold>1 GB</backPressureDataSizeThreshold>
+      <backPressureObjectThreshold>10000</backPressureObjectThreshold>
+      <destination>
+        <groupId>ee27ad42-d125-4d09-a9f5-c42da132ab6b</groupId>
+        <id>0bda7282-7a4f-4d39-83e5-ea86aa63f1dc</id>
+        <type>PROCESSOR</type>
+      </destination>
+      <flowFileExpiration>0 sec</flowFileExpiration>
+      <labelIndex>1</labelIndex>
+      <name/>
+      
<prioritizers>org.apache.nifi.prioritizer.FirstInFirstOutPrioritizer</prioritizers>
+      <selectedRelationships>unmatched</selectedRelationships>
+      <source>
+        <groupId>ee27ad42-d125-4d09-a9f5-c42da132ab6b</groupId>
+        <id>dcff217a-a25c-424f-b9f1-d82c55bfa61b</id>
+        <type>PROCESSOR</type>
+      </source>
+      <zIndex>0</zIndex>
+    </connections>
+    <connections>
+      <id>2ef71cd8-eb24-4653-8526-34ab84e79328</id>
+      <parentGroupId>ee27ad42-d125-4d09-a9f5-c42da132ab6b</parentGroupId>
+      <backPressureDataSizeThreshold>0 MB</backPressureDataSizeThreshold>
+      <backPressureObjectThreshold>0</backPressureObjectThreshold>
+      <destination>
+        <groupId>ee27ad42-d125-4d09-a9f5-c42da132ab6b</groupId>
+        <id>6638cd15-0aaf-4bba-a18a-722cf85038b6</id>
+        <type>PROCESSOR</type>
+      </destination>
+      <flowFileExpiration>0 sec</flowFileExpiration>
+      <labelIndex>1</labelIndex>
+      <name/>
+      
<prioritizers>org.apache.nifi.prioritizer.FirstInFirstOutPrioritizer</prioritizers>
+      <selectedRelationships>success</selectedRelationships>
+      <source>
+        <groupId>ee27ad42-d125-4d09-a9f5-c42da132ab6b</groupId>
+        <id>fcb378d7-6438-41d3-8485-7da85e870ca4</id>
+        <type>PROCESSOR</type>
+      </source>
+      <zIndex>0</zIndex>
+    </connections>
+    <connections>
+      <id>ee5ee5bf-a552-43cf-9514-c14d40350bff</id>
+      <parentGroupId>ee27ad42-d125-4d09-a9f5-c42da132ab6b</parentGroupId>
+      <backPressureDataSizeThreshold>0 MB</backPressureDataSizeThreshold>
+      <backPressureObjectThreshold>0</backPressureObjectThreshold>
+      <destination>
+        <groupId>ee27ad42-d125-4d09-a9f5-c42da132ab6b</groupId>
+        <id>66649998-3b08-4b41-9f07-a51d999743f6</id>
+        <type>PROCESSOR</type>
+      </destination>
+      <flowFileExpiration>0 sec</flowFileExpiration>
+      <labelIndex>1</labelIndex>
+      <name/>
+      
<prioritizers>org.apache.nifi.prioritizer.FirstInFirstOutPrioritizer</prioritizers>
+      <selectedRelationships>success</selectedRelationships>
+      <source>
+        <groupId>ee27ad42-d125-4d09-a9f5-c42da132ab6b</groupId>
+        <id>6638cd15-0aaf-4bba-a18a-722cf85038b6</id>
+        <type>PROCESSOR</type>
+      </source>
+      <zIndex>0</zIndex>
+    </connections>
+    <connections>
+      <id>3172a4b6-c35b-4d2f-a7c1-68eb16cc1b37</id>
+      <parentGroupId>ee27ad42-d125-4d09-a9f5-c42da132ab6b</parentGroupId>
+      <backPressureDataSizeThreshold>1 GB</backPressureDataSizeThreshold>
+      <backPressureObjectThreshold>10000</backPressureObjectThreshold>
+      <bends>
+        <x>1683.6325842428985</x>
+        <y>1391.8157446098328</y>
+      </bends>
+      <destination>
+        <groupId>ee27ad42-d125-4d09-a9f5-c42da132ab6b</groupId>
+        <id>dcff217a-a25c-424f-b9f1-d82c55bfa61b</id>
+        <type>PROCESSOR</type>
+      </destination>
+      <flowFileExpiration>0 sec</flowFileExpiration>
+      <labelIndex>1</labelIndex>
+      <name/>
+      
<prioritizers>org.apache.nifi.prioritizer.FirstInFirstOutPrioritizer</prioritizers>
+      <selectedRelationships>Retry</selectedRelationships>
+      <source>
+        <groupId>ee27ad42-d125-4d09-a9f5-c42da132ab6b</groupId>
+        <id>66649998-3b08-4b41-9f07-a51d999743f6</id>
+        <type>PROCESSOR</type>
+      </source>
+      <zIndex>0</zIndex>
+    </connections>
+    <connections>
+      <id>c6a06d31-51fb-488f-bcde-495102f8c93f</id>
+      <parentGroupId>ee27ad42-d125-4d09-a9f5-c42da132ab6b</parentGroupId>
+      <backPressureDataSizeThreshold>1 GB</backPressureDataSizeThreshold>
+      <backPressureObjectThreshold>10000</backPressureObjectThreshold>
+      <bends>
+        <x>883.6325842428985</x>
+        <y>1391.8157446098328</y>
+      </bends>
+      <destination>
+        <groupId>ee27ad42-d125-4d09-a9f5-c42da132ab6b</groupId>
+        <id>dcff217a-a25c-424f-b9f1-d82c55bfa61b</id>
+        <type>PROCESSOR</type>
+      </destination>
+      <flowFileExpiration>0 sec</flowFileExpiration>
+      <labelIndex>1</labelIndex>
+      <name/>
+      
<prioritizers>org.apache.nifi.prioritizer.FirstInFirstOutPrioritizer</prioritizers>
+      <selectedRelationships>Response</selectedRelationships>
+      <source>
+        <groupId>ee27ad42-d125-4d09-a9f5-c42da132ab6b</groupId>
+        <id>66649998-3b08-4b41-9f07-a51d999743f6</id>
+        <type>PROCESSOR</type>
+      </source>
+      <zIndex>0</zIndex>
+    </connections>
+    <connections>
+      <id>4a7bdaf1-eba0-4317-92f2-93cef6240c28</id>
+      <parentGroupId>ee27ad42-d125-4d09-a9f5-c42da132ab6b</parentGroupId>
+      <backPressureDataSizeThreshold>1 GB</backPressureDataSizeThreshold>
+      <backPressureObjectThreshold>10000</backPressureObjectThreshold>
+      <bends>
+        <x>1049.063644721547</x>
+        <y>1567.7883365880348</y>
+      </bends>
+      <destination>
+        <groupId>5b0a5c18-a02e-4a85-8080-0187ee679763</groupId>
+        <id>b23a4621-cf19-42e6-967c-ffd3716e6a24</id>
+        <type>REMOTE_INPUT_PORT</type>
+      </destination>
+      <flowFileExpiration>0 sec</flowFileExpiration>
+      <labelIndex>1</labelIndex>
+      <name/>
+      
<prioritizers>org.apache.nifi.prioritizer.FirstInFirstOutPrioritizer</prioritizers>
+      <selectedRelationships>200</selectedRelationships>
+      <source>
+        <groupId>ee27ad42-d125-4d09-a9f5-c42da132ab6b</groupId>
+        <id>dcff217a-a25c-424f-b9f1-d82c55bfa61b</id>
+        <type>PROCESSOR</type>
+      </source>
+      <zIndex>0</zIndex>
+    </connections>
+    <connections>
+      <id>3039718a-bb40-4811-9b74-ecbe926daae8</id>
+      <parentGroupId>ee27ad42-d125-4d09-a9f5-c42da132ab6b</parentGroupId>
+      <backPressureDataSizeThreshold>0 MB</backPressureDataSizeThreshold>
+      <backPressureObjectThreshold>0</backPressureObjectThreshold>
+      <destination>
+        <groupId>ee27ad42-d125-4d09-a9f5-c42da132ab6b</groupId>
+        <id>0a73c5e4-7216-4cdf-9008-ace353478d55</id>
+        <type>PROCESSOR</type>
+      </destination>
+      <flowFileExpiration>0 sec</flowFileExpiration>
+      <labelIndex>1</labelIndex>
+      <name/>
+      
<prioritizers>org.apache.nifi.prioritizer.FirstInFirstOutPrioritizer</prioritizers>
+      <selectedRelationships>200</selectedRelationships>
+      <source>
+        <groupId>ee27ad42-d125-4d09-a9f5-c42da132ab6b</groupId>
+        <id>dcff217a-a25c-424f-b9f1-d82c55bfa61b</id>
+        <type>PROCESSOR</type>
+      </source>
+      <zIndex>0</zIndex>
+    </connections>
+    <connections>
+      <id>ddbc1711-8cda-4418-b6ee-895763ef1a97</id>
+      <parentGroupId>ee27ad42-d125-4d09-a9f5-c42da132ab6b</parentGroupId>
+      <backPressureDataSizeThreshold>1 GB</backPressureDataSizeThreshold>
+      <backPressureObjectThreshold>10000</backPressureObjectThreshold>
+      <bends>
+        <x>1083.6325842428985</x>
+        <y>1391.8157446098328</y>
+      </bends>
+      <destination>
+        <groupId>ee27ad42-d125-4d09-a9f5-c42da132ab6b</groupId>
+        <id>dcff217a-a25c-424f-b9f1-d82c55bfa61b</id>
+        <type>PROCESSOR</type>
+      </destination>
+      <flowFileExpiration>0 sec</flowFileExpiration>
+      <labelIndex>1</labelIndex>
+      <name/>
+      
<prioritizers>org.apache.nifi.prioritizer.FirstInFirstOutPrioritizer</prioritizers>
+      <selectedRelationships>No Retry</selectedRelationships>
+      <source>
+        <groupId>ee27ad42-d125-4d09-a9f5-c42da132ab6b</groupId>
+        <id>66649998-3b08-4b41-9f07-a51d999743f6</id>
+        <type>PROCESSOR</type>
+      </source>
+      <zIndex>0</zIndex>
+    </connections>
+    <processors>
+      <id>dcff217a-a25c-424f-b9f1-d82c55bfa61b</id>
+      <parentGroupId>ee27ad42-d125-4d09-a9f5-c42da132ab6b</parentGroupId>
+      <position>
+        <x>1097.1272894430938</x>
+        <y>1444.3013229179383</y>
+      </position>
+      <config>
+        <bulletinLevel>WARN</bulletinLevel>
+        <comments/>
+        <concurrentlySchedulableTaskCount>1</concurrentlySchedulableTaskCount>
+        <lossTolerant>false</lossTolerant>
+        <penaltyDuration>30 sec</penaltyDuration>
+        <properties>
+          <entry>
+            <key>Routing Strategy</key>
+            <value>Route to Property name</value>
+          </entry>
+          <entry>
+            <key>200</key>
+            <value>${invokehttp.status.code:equals(200)}</value>
+          </entry>
+        </properties>
+        <runDurationMillis>0</runDurationMillis>
+        <schedulingPeriod>0 sec</schedulingPeriod>
+        <schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
+        <yieldDuration>1 sec</yieldDuration>
+      </config>
+      <name>Route On Status Code</name>
+      <relationships>
+        <autoTerminate>false</autoTerminate>
+        <name>200</name>
+      </relationships>
+      <relationships>
+        <autoTerminate>false</autoTerminate>
+        <name>unmatched</name>
+      </relationships>
+      <style/>
+      <type>org.apache.nifi.processors.standard.RouteOnAttribute</type>
+    </processors>
+    <processors>
+      <id>6638cd15-0aaf-4bba-a18a-722cf85038b6</id>
+      <parentGroupId>ee27ad42-d125-4d09-a9f5-c42da132ab6b</parentGroupId>
+      <position>
+        <x>1117.1462103415313</x>
+        <y>953.2932741355896</y>
+      </position>
+      <config>
+        <bulletinLevel>WARN</bulletinLevel>
+        <comments/>
+        <concurrentlySchedulableTaskCount>1</concurrentlySchedulableTaskCount>
+        <lossTolerant>false</lossTolerant>
+        <penaltyDuration>30 sec</penaltyDuration>
+        <properties>
+          <entry>
+            <key>Delete Attributes Expression</key>
+          </entry>
+          <entry>
+            <key>q</key>
+            <value>nifi</value>
+          </entry>
+        </properties>
+        <runDurationMillis>0</runDurationMillis>
+        <schedulingPeriod>0 sec</schedulingPeriod>
+        <schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
+        <yieldDuration>1 sec</yieldDuration>
+      </config>
+      <name>q=nifi</name>
+      <relationships>
+        <autoTerminate>false</autoTerminate>
+        <name>success</name>
+      </relationships>
+      <style/>
+      <type>org.apache.nifi.processors.attributes.UpdateAttribute</type>
+    </processors>
+    <processors>
+      <id>0a73c5e4-7216-4cdf-9008-ace353478d55</id>
+      <parentGroupId>ee27ad42-d125-4d09-a9f5-c42da132ab6b</parentGroupId>
+      <position>
+        <x>1125.2444807420861</x>
+        <y>1708.2670907078802</y>
+      </position>
+      <config>
+        <bulletinLevel>WARN</bulletinLevel>
+        <comments/>
+        <concurrentlySchedulableTaskCount>1</concurrentlySchedulableTaskCount>
+        <lossTolerant>false</lossTolerant>
+        <penaltyDuration>30 sec</penaltyDuration>
+        <properties>
+          <entry>
+            <key>Log Level</key>
+            <value>info</value>
+          </entry>
+          <entry>
+            <key>Log Payload</key>
+            <value>false</value>
+          </entry>
+          <entry>
+            <key>Attributes to Log</key>
+          </entry>
+          <entry>
+            <key>Attributes to Ignore</key>
+          </entry>
+          <entry>
+            <key>Log prefix</key>
+          </entry>
+        </properties>
+        <runDurationMillis>0</runDurationMillis>
+        <schedulingPeriod>0 sec</schedulingPeriod>
+        <schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
+        <yieldDuration>1 sec</yieldDuration>
+      </config>
+      <name>LogAttribute</name>
+      <relationships>
+        <autoTerminate>true</autoTerminate>
+        <name>success</name>
+      </relationships>
+      <style/>
+      <type>org.apache.nifi.processors.standard.LogAttribute</type>
+    </processors>
+    <processors>
+      <id>fcb378d7-6438-41d3-8485-7da85e870ca4</id>
+      <parentGroupId>ee27ad42-d125-4d09-a9f5-c42da132ab6b</parentGroupId>
+      <position>
+        <x>1132.7004400778594</x>
+        <y>704.0</y>
+      </position>
+      <config>
+        <bulletinLevel>WARN</bulletinLevel>
+        <comments/>
+        <concurrentlySchedulableTaskCount>1</concurrentlySchedulableTaskCount>
+        <lossTolerant>false</lossTolerant>
+        <penaltyDuration>30 sec</penaltyDuration>
+        <properties>
+          <entry>
+            <key>File Size</key>
+            <value>10 b</value>
+          </entry>
+          <entry>
+            <key>Batch Size</key>
+            <value>1</value>
+          </entry>
+          <entry>
+            <key>Data Format</key>
+            <value>Binary</value>
+          </entry>
+          <entry>
+            <key>Unique FlowFiles</key>
+            <value>false</value>
+          </entry>
+        </properties>
+        <runDurationMillis>0</runDurationMillis>
+        <schedulingPeriod>30 sec</schedulingPeriod>
+        <schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
+        <yieldDuration>1 sec</yieldDuration>
+      </config>
+      <name>Source</name>
+      <relationships>
+        <autoTerminate>false</autoTerminate>
+        <name>success</name>
+      </relationships>
+      <style/>
+      <type>org.apache.nifi.processors.standard.GenerateFlowFile</type>
+    </processors>
+    <processors>
+      <id>0bda7282-7a4f-4d39-83e5-ea86aa63f1dc</id>
+      <parentGroupId>ee27ad42-d125-4d09-a9f5-c42da132ab6b</parentGroupId>
+      <position>
+        <x>1610.4458967577111</x>
+        <y>1678.8347176610052</y>
+      </position>
+      <config>
+        <bulletinLevel>WARN</bulletinLevel>
+        <comments/>
+        <concurrentlySchedulableTaskCount>1</concurrentlySchedulableTaskCount>
+        <lossTolerant>false</lossTolerant>
+        <penaltyDuration>30 sec</penaltyDuration>
+        <properties>
+          <entry>
+            <key>Log Level</key>
+            <value>info</value>
+          </entry>
+          <entry>
+            <key>Log Payload</key>
+            <value>false</value>
+          </entry>
+          <entry>
+            <key>Attributes to Log</key>
+          </entry>
+          <entry>
+            <key>Attributes to Ignore</key>
+          </entry>
+          <entry>
+            <key>Log prefix</key>
+          </entry>
+        </properties>
+        <runDurationMillis>0</runDurationMillis>
+        <schedulingPeriod>0 sec</schedulingPeriod>
+        <schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
+        <yieldDuration>1 sec</yieldDuration>
+      </config>
+      <name>LogAttribute2</name>
+      <relationships>
+        <autoTerminate>true</autoTerminate>
+        <name>success</name>
+      </relationships>
+      <style/>
+      <type>org.apache.nifi.processors.standard.LogAttribute</type>
+    </processors>
+    <processors>
+      <id>66649998-3b08-4b41-9f07-a51d999743f6</id>
+      <parentGroupId>ee27ad42-d125-4d09-a9f5-c42da132ab6b</parentGroupId>
+      <position>
+        <x>1120.1378790427032</x>
+        <y>1209.3301663017273</y>
+      </position>
+      <config>
+        <bulletinLevel>WARN</bulletinLevel>
+        <comments/>
+        <concurrentlySchedulableTaskCount>1</concurrentlySchedulableTaskCount>
+        <lossTolerant>false</lossTolerant>
+        <penaltyDuration>30 sec</penaltyDuration>
+        <properties>
+          <entry>
+            <key>HTTP Method</key>
+            <value>GET</value>
+          </entry>
+          <entry>
+            <key>Remote URL</key>
+            <value>http://www.google.com/search?q=${q}&amp;rct=j</value>
+          </entry>
+          <entry>
+            <key>SSL Context Service</key>
+          </entry>
+          <entry>
+            <key>Connection Timeout</key>
+            <value>5 secs</value>
+          </entry>
+          <entry>
+            <key>Read Timeout</key>
+            <value>15 secs</value>
+          </entry>
+          <entry>
+            <key>Include Date Header</key>
+            <value>True</value>
+          </entry>
+          <entry>
+            <key>Follow Redirects</key>
+            <value>True</value>
+          </entry>
+          <entry>
+            <key>Attributes to Send</key>
+          </entry>
+          <entry>
+            <key>Basic Authentication Username</key>
+          </entry>
+          <entry>
+            <key>Basic Authentication Password</key>
+          </entry>
+          <entry>
+            <key>Proxy Host</key>
+          </entry>
+          <entry>
+            <key>Proxy Port</key>
+          </entry>
+          <entry>
+            <key>invokehttp-proxy-user</key>
+          </entry>
+          <entry>
+            <key>invokehttp-proxy-password</key>
+          </entry>
+          <entry>
+            <key>Put Response Body In Attribute</key>
+          </entry>
+          <entry>
+            <key>Max Length To Put In Attribute</key>
+            <value>256</value>
+          </entry>
+          <entry>
+            <key>Digest Authentication</key>
+            <value>false</value>
+          </entry>
+          <entry>
+            <key>Always Output Response</key>
+            <value>false</value>
+          </entry>
+          <entry>
+            <key>Trusted Hostname</key>
+          </entry>
+          <entry>
+            <key>Add Response Headers to Request</key>
+            <value>false</value>
+          </entry>
+          <entry>
+            <key>Content-Type</key>
+            <value>${mime.type}</value>
+          </entry>
+          <entry>
+            <key>send-message-body</key>
+            <value>true</value>
+          </entry>
+          <entry>
+            <key>Use Chunked Encoding</key>
+            <value>false</value>
+          </entry>
+          <entry>
+            <key>Penalize on "No Retry"</key>
+            <value>false</value>
+          </entry>
+        </properties>
+        <runDurationMillis>0</runDurationMillis>
+        <schedulingPeriod>0 sec</schedulingPeriod>
+        <schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
+        <yieldDuration>1 sec</yieldDuration>
+      </config>
+      <name>Search Google</name>
+      <relationships>
+        <autoTerminate>false</autoTerminate>
+        <name>Failure</name>
+      </relationships>
+      <relationships>
+        <autoTerminate>false</autoTerminate>
+        <name>No Retry</name>
+      </relationships>
+      <relationships>
+        <autoTerminate>false</autoTerminate>
+        <name>Original</name>
+      </relationships>
+      <relationships>
+        <autoTerminate>false</autoTerminate>
+        <name>Response</name>
+      </relationships>
+      <relationships>
+        <autoTerminate>false</autoTerminate>
+        <name>Retry</name>
+      </relationships>
+      <style/>
+      <type>org.apache.nifi.processors.standard.InvokeHTTP</type>
+    </processors>
+    <remoteProcessGroups>
+      <id>5b0a5c18-a02e-4a85-8080-0187ee679763</id>
+      <parentGroupId>ee27ad42-d125-4d09-a9f5-c42da132ab6b</parentGroupId>
+      <position>
+        <x>636.0</x>
+        <y>1697.275350258131</y>
+      </position>
+      <comments/>
+      <communicationsTimeout>30 sec</communicationsTimeout>
+      <contents>
+        <inputPorts>
+          <comments/>
+          
<concurrentlySchedulableTaskCount>1</concurrentlySchedulableTaskCount>
+          <id>b23a4621-cf19-42e6-967c-ffd3716e6a24</id>
+          <name>response</name>
+          <useCompression>false</useCompression>
+        </inputPorts>
+      </contents>
+      <proxyHost/>
+      <proxyUser/>
+      <targetUri>http://nifi:8080/nifi</targetUri>
+      <transportProtocol>RAW</transportProtocol>
+      <yieldDuration>10 sec</yieldDuration>
+    </remoteProcessGroups>
+  </snippet>
+  <timestamp>07/04/2016 21:37:51 UTC</timestamp>
+</template>

http://git-wip-us.apache.org/repos/asf/nifi-minifi/blob/2d1e43e7/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/InvokeHttpMiNiFiTemplateTest.yml
----------------------------------------------------------------------
diff --git 
a/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/InvokeHttpMiNiFiTemplateTest.yml
 
b/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/InvokeHttpMiNiFiTemplateTest.yml
new file mode 100644
index 0000000..6a07ae4
--- /dev/null
+++ 
b/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/InvokeHttpMiNiFiTemplateTest.yml
@@ -0,0 +1,262 @@
+# 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.
+
+Flow Controller:
+  name: InvokeHttpMiNiFiTemplateTest2
+  comment: ''
+Core Properties:
+  flow controller graceful shutdown period: 10 sec
+  flow service write delay interval: 500 ms
+  administrative yield duration: 30 sec
+  bored yield duration: 10 millis
+  max concurrent threads: 1
+FlowFile Repository:
+  partitions: 256
+  checkpoint interval: 2 mins
+  always sync: false
+  Swap:
+    threshold: 20000
+    in period: 5 sec
+    in threads: 1
+    out period: 5 sec
+    out threads: 4
+Content Repository:
+  content claim max appendable size: 10 MB
+  content claim max flow files: 100
+  always sync: false
+Provenance Repository:
+  provenance rollover time: 1 min
+Component Status Repository:
+  buffer size: 1440
+  snapshot frequency: 1 min
+Security Properties:
+  keystore: ''
+  keystore type: ''
+  keystore password: ''
+  key password: ''
+  truststore: ''
+  truststore type: ''
+  truststore password: ''
+  ssl protocol: ''
+  Sensitive Props:
+    key:
+    algorithm: PBEWITHMD5AND256BITAES-CBC-OPENSSL
+    provider: BC
+Processors:
+- name: LogAttribute
+  class: org.apache.nifi.processors.standard.LogAttribute
+  max concurrent tasks: 1
+  scheduling strategy: TIMER_DRIVEN
+  scheduling period: 0 sec
+  penalization period: 30 sec
+  yield period: 1 sec
+  run duration nanos: 0
+  auto-terminated relationships list:
+  - success
+  Properties:
+    Attributes to Ignore:
+    Attributes to Log:
+    Log Level: info
+    Log Payload: 'false'
+    Log prefix:
+- name: LogAttribute2
+  class: org.apache.nifi.processors.standard.LogAttribute
+  max concurrent tasks: 1
+  scheduling strategy: TIMER_DRIVEN
+  scheduling period: 0 sec
+  penalization period: 30 sec
+  yield period: 1 sec
+  run duration nanos: 0
+  auto-terminated relationships list:
+  - success
+  Properties:
+    Attributes to Ignore:
+    Attributes to Log:
+    Log Level: info
+    Log Payload: 'false'
+    Log prefix:
+- name: Route On Status Code
+  class: org.apache.nifi.processors.standard.RouteOnAttribute
+  max concurrent tasks: 1
+  scheduling strategy: TIMER_DRIVEN
+  scheduling period: 0 sec
+  penalization period: 30 sec
+  yield period: 1 sec
+  run duration nanos: 0
+  auto-terminated relationships list: []
+  Properties:
+    '200': ${invokehttp.status.code:equals(200)}
+    Routing Strategy: Route to Property name
+- name: Search Google
+  class: org.apache.nifi.processors.standard.InvokeHTTP
+  max concurrent tasks: 1
+  scheduling strategy: TIMER_DRIVEN
+  scheduling period: 0 sec
+  penalization period: 30 sec
+  yield period: 1 sec
+  run duration nanos: 0
+  auto-terminated relationships list: []
+  Properties:
+    Add Response Headers to Request: 'false'
+    Always Output Response: 'false'
+    Attributes to Send:
+    Basic Authentication Password:
+    Basic Authentication Username:
+    Connection Timeout: 5 secs
+    Content-Type: ${mime.type}
+    Digest Authentication: 'false'
+    Follow Redirects: 'True'
+    HTTP Method: GET
+    Include Date Header: 'True'
+    Max Length To Put In Attribute: '256'
+    Penalize on "No Retry": 'false'
+    Proxy Host:
+    Proxy Port:
+    Put Response Body In Attribute:
+    Read Timeout: 15 secs
+    Remote URL: http://www.google.com/search?q=${q}&rct=j
+    SSL Context Service:
+    Trusted Hostname:
+    Use Chunked Encoding: 'false'
+    invokehttp-proxy-password:
+    invokehttp-proxy-user:
+    send-message-body: 'true'
+- name: Source
+  class: org.apache.nifi.processors.standard.GenerateFlowFile
+  max concurrent tasks: 1
+  scheduling strategy: TIMER_DRIVEN
+  scheduling period: 30 sec
+  penalization period: 30 sec
+  yield period: 1 sec
+  run duration nanos: 0
+  auto-terminated relationships list: []
+  Properties:
+    Batch Size: '1'
+    Data Format: Binary
+    File Size: 10 b
+    Unique FlowFiles: 'false'
+- name: q=nifi
+  class: org.apache.nifi.processors.attributes.UpdateAttribute
+  max concurrent tasks: 1
+  scheduling strategy: TIMER_DRIVEN
+  scheduling period: 0 sec
+  penalization period: 30 sec
+  yield period: 1 sec
+  run duration nanos: 0
+  auto-terminated relationships list: []
+  Properties:
+    Delete Attributes Expression:
+    q: nifi
+Connections:
+- name: Route On Status Code/200/LogAttribute
+  source name: Route On Status Code
+  source relationship name: '200'
+  destination name: LogAttribute
+  max work queue size: 0
+  max work queue data size: 0 MB
+  flowfile expiration: 0 sec
+  queue prioritizer class: 
org.apache.nifi.prioritizer.FirstInFirstOutPrioritizer
+- name: Route On Status Code/200/b23a4621-cf19-42e6-967c-ffd3716e6a24
+  source name: Route On Status Code
+  source relationship name: '200'
+  destination name: b23a4621-cf19-42e6-967c-ffd3716e6a24
+  max work queue size: 10000
+  max work queue data size: 1 GB
+  flowfile expiration: 0 sec
+  queue prioritizer class: 
org.apache.nifi.prioritizer.FirstInFirstOutPrioritizer
+- name: Route On Status Code/unmatched/LogAttribute2
+  source name: Route On Status Code
+  source relationship name: unmatched
+  destination name: LogAttribute2
+  max work queue size: 10000
+  max work queue data size: 1 GB
+  flowfile expiration: 0 sec
+  queue prioritizer class: 
org.apache.nifi.prioritizer.FirstInFirstOutPrioritizer
+- name: Route On Status Code/unmatched/b23a4621-cf19-42e6-967c-ffd3716e6a24
+  source name: Route On Status Code
+  source relationship name: unmatched
+  destination name: b23a4621-cf19-42e6-967c-ffd3716e6a24
+  max work queue size: 10000
+  max work queue data size: 1 GB
+  flowfile expiration: 0 sec
+  queue prioritizer class: 
org.apache.nifi.prioritizer.FirstInFirstOutPrioritizer
+- name: Search Google/Failure/Route On Status Code
+  source name: Search Google
+  source relationship name: Failure
+  destination name: Route On Status Code
+  max work queue size: 10000
+  max work queue data size: 1 GB
+  flowfile expiration: 0 sec
+  queue prioritizer class: 
org.apache.nifi.prioritizer.FirstInFirstOutPrioritizer
+- name: Search Google/No Retry/Route On Status Code
+  source name: Search Google
+  source relationship name: No Retry
+  destination name: Route On Status Code
+  max work queue size: 10000
+  max work queue data size: 1 GB
+  flowfile expiration: 0 sec
+  queue prioritizer class: 
org.apache.nifi.prioritizer.FirstInFirstOutPrioritizer
+- name: Search Google/Original/Route On Status Code
+  source name: Search Google
+  source relationship name: Original
+  destination name: Route On Status Code
+  max work queue size: 10000
+  max work queue data size: 1 GB
+  flowfile expiration: 0 sec
+  queue prioritizer class: 
org.apache.nifi.prioritizer.FirstInFirstOutPrioritizer
+- name: Search Google/Response/Route On Status Code
+  source name: Search Google
+  source relationship name: Response
+  destination name: Route On Status Code
+  max work queue size: 10000
+  max work queue data size: 1 GB
+  flowfile expiration: 0 sec
+  queue prioritizer class: 
org.apache.nifi.prioritizer.FirstInFirstOutPrioritizer
+- name: Search Google/Retry/Route On Status Code
+  source name: Search Google
+  source relationship name: Retry
+  destination name: Route On Status Code
+  max work queue size: 10000
+  max work queue data size: 1 GB
+  flowfile expiration: 0 sec
+  queue prioritizer class: 
org.apache.nifi.prioritizer.FirstInFirstOutPrioritizer
+- name: Source/success/q=nifi
+  source name: Source
+  source relationship name: success
+  destination name: q=nifi
+  max work queue size: 0
+  max work queue data size: 0 MB
+  flowfile expiration: 0 sec
+  queue prioritizer class: 
org.apache.nifi.prioritizer.FirstInFirstOutPrioritizer
+- name: q=nifi/success/Search Google
+  source name: q=nifi
+  source relationship name: success
+  destination name: Search Google
+  max work queue size: 0
+  max work queue data size: 0 MB
+  flowfile expiration: 0 sec
+  queue prioritizer class: 
org.apache.nifi.prioritizer.FirstInFirstOutPrioritizer
+Remote Processing Groups:
+- name: http://nifi:8080/nifi
+  url: http://nifi:8080/nifi
+  comment: ''
+  timeout: 30 sec
+  yield period: 10 sec
+  Input Ports:
+  - id: b23a4621-cf19-42e6-967c-ffd3716e6a24
+    name: response
+    comment: ''
+    max concurrent tasks: 1
+    use compression: false

http://git-wip-us.apache.org/repos/asf/nifi-minifi/blob/2d1e43e7/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/ReplaceTextExpressionLanguageCSVReformatting.xml
----------------------------------------------------------------------
diff --git 
a/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/ReplaceTextExpressionLanguageCSVReformatting.xml
 
b/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/ReplaceTextExpressionLanguageCSVReformatting.xml
new file mode 100644
index 0000000..5793d3e
--- /dev/null
+++ 
b/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/ReplaceTextExpressionLanguageCSVReformatting.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<!--
+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.
+ -->
+<template 
encoding-version="1.0"><description></description><groupId>d140e36d-3d80-449c-8a5b-c43a7ade1ed5</groupId><name>ReplaceTextExpressionLanguageCSVReformatting</name><snippet><connections><id>1b327d4e-918f-43bc-97cf-043efed7ffbc</id><parentGroupId>d140e36d-3d80-449c-8a5b-c43a7ade1ed5</parentGroupId><backPressureDataSizeThreshold>0
 
MB</backPressureDataSizeThreshold><backPressureObjectThreshold>0</backPressureObjectThreshold><destination><groupId>d140e36d-3d80-449c-8a5b-c43a7ade1ed5</groupId><id>a25f67cb-029c-466f-b040-9339ba64a4b5</id><type>PROCESSOR</type></destination><flowFileExpiration>0
 
sec</flowFileExpiration><labelIndex>1</labelIndex><name></name><prioritizers>org.apache.nifi.prioritizer.FirstInFirstOutPrioritizer</prioritizers><selectedRelationships>success</selectedRelationships><source><groupId>d140e36d-3d80-449c-8a5b-c43a7ade1ed5</groupId><id>7ba79381-4317-4c99-bcc0-256ee7ad44e9</id><type>PROCESSOR</type></source><zIndex>0</zIndex></connections><connections><id>ca71a
 
875-0ff5-41ef-bbe0-da5de0ca1e08</id><parentGroupId>d140e36d-3d80-449c-8a5b-c43a7ade1ed5</parentGroupId><backPressureDataSizeThreshold>0
 
MB</backPressureDataSizeThreshold><backPressureObjectThreshold>0</backPressureObjectThreshold><destination><groupId>d140e36d-3d80-449c-8a5b-c43a7ade1ed5</groupId><id>7ba79381-4317-4c99-bcc0-256ee7ad44e9</id><type>PROCESSOR</type></destination><flowFileExpiration>0
 
sec</flowFileExpiration><labelIndex>1</labelIndex><name></name><prioritizers>org.apache.nifi.prioritizer.FirstInFirstOutPrioritizer</prioritizers><selectedRelationships>success</selectedRelationships><source><groupId>d140e36d-3d80-449c-8a5b-c43a7ade1ed5</groupId><id>e626f756-f018-4670-8802-c8f8e459e15d</id><type>PROCESSOR</type></source><zIndex>0</zIndex></connections><connections><id>7fe8e5c6-6d9b-4b8f-af89-5d543bcc0199</id><parentGroupId>d140e36d-3d80-449c-8a5b-c43a7ade1ed5</parentGroupId><backPressureDataSizeThreshold>0
 MB</backPressureDataSizeThreshold><backPressureObjectThreshold>0</b
 
ackPressureObjectThreshold><destination><groupId>d140e36d-3d80-449c-8a5b-c43a7ade1ed5</groupId><id>bfa4fb38-096b-455d-a10f-2a1ed044bd49</id><type>PROCESSOR</type></destination><flowFileExpiration>0
 
sec</flowFileExpiration><labelIndex>1</labelIndex><name></name><prioritizers>org.apache.nifi.prioritizer.FirstInFirstOutPrioritizer</prioritizers><selectedRelationships>success</selectedRelationships><source><groupId>d140e36d-3d80-449c-8a5b-c43a7ade1ed5</groupId><id>a25f67cb-029c-466f-b040-9339ba64a4b5</id><type>PROCESSOR</type></source><zIndex>0</zIndex></connections><processors><id>bfa4fb38-096b-455d-a10f-2a1ed044bd49</id><parentGroupId>d140e36d-3d80-449c-8a5b-c43a7ade1ed5</parentGroupId><position><x>1922.6538720444464</x><y>336.0769270573644</y></position><config><bulletinLevel>WARN</bulletinLevel><comments></comments><concurrentlySchedulableTaskCount>1</concurrentlySchedulableTaskCount><lossTolerant>false</lossTolerant><penaltyDuration>30
 sec</penaltyDuration><properties><entry><key>D
 elete Attributes 
Expression</key></entry></properties><runDurationMillis>0</runDurationMillis><schedulingPeriod>0
 
sec</schedulingPeriod><schedulingStrategy>TIMER_DRIVEN</schedulingStrategy><yieldDuration>1
 sec</yieldDuration></config><name>No-Op 
Termination</name><relationships><autoTerminate>true</autoTerminate><name>success</name></relationships><style/><type>org.apache.nifi.processors.attributes.UpdateAttribute</type></processors><processors><id>a25f67cb-029c-466f-b040-9339ba64a4b5</id><parentGroupId>d140e36d-3d80-449c-8a5b-c43a7ade1ed5</parentGroupId><position><x>1916.6538720444464</x><y>645.6169270573644</y></position><config><bulletinLevel>WARN</bulletinLevel><comments></comments><concurrentlySchedulableTaskCount>1</concurrentlySchedulableTaskCount><lossTolerant>false</lossTolerant><penaltyDuration>30
 sec</penaltyDuration><properties><entry><key>Regular 
Expression</key><value>(.*?),(.*?),(\d+.*)</value></entry><entry><key>Replacement
 Value</key><value>$1,$2,${ '$3':toDate('ddM
 MMyyyy'):format('yyyy/MM/dd') }</value></entry><entry><key>Character 
Set</key></entry><entry><key>Maximum Buffer 
Size</key></entry><entry><key>Replacement 
Strategy</key></entry><entry><key>Evaluation 
Mode</key><value>Line-by-Line</value></entry></properties><runDurationMillis>0</runDurationMillis><schedulingPeriod>0
 
sec</schedulingPeriod><schedulingStrategy>TIMER_DRIVEN</schedulingStrategy><yieldDuration>1
 sec</yieldDuration></config><name>Reformat Date 
Column</name><relationships><autoTerminate>true</autoTerminate><name>failure</name></relationships><relationships><autoTerminate>false</autoTerminate><name>success</name></relationships><style/><type>org.apache.nifi.processors.standard.ReplaceText</type></processors><processors><id>7ba79381-4317-4c99-bcc0-256ee7ad44e9</id><parentGroupId>d140e36d-3d80-449c-8a5b-c43a7ade1ed5</parentGroupId><position><x>1012.1538720444463</x><y>646.9569270573643</y></position><config><bulletinLevel>WARN</bulletinLevel><comments></comments><concurrentlyS
 
chedulableTaskCount>1</concurrentlySchedulableTaskCount><lossTolerant>false</lossTolerant><penaltyDuration>30
 sec</penaltyDuration><properties><entry><key>Regular 
Expression</key></entry><entry><key>Replacement 
Value</key><value>2006,10-01-2004,10may2004
+2007,15-05-2006,10jun2005
+2009,8-8-2008,10aug2008</value></entry><entry><key>Character 
Set</key></entry><entry><key>Maximum Buffer 
Size</key></entry><entry><key>Replacement 
Strategy</key></entry><entry><key>Evaluation 
Mode</key></entry></properties><runDurationMillis>0</runDurationMillis><schedulingPeriod>0
 
sec</schedulingPeriod><schedulingStrategy>TIMER_DRIVEN</schedulingStrategy><yieldDuration>1
 sec</yieldDuration></config><name>Set CSV 
Content</name><relationships><autoTerminate>true</autoTerminate><name>failure</name></relationships><relationships><autoTerminate>false</autoTerminate><name>success</name></relationships><style/><type>org.apache.nifi.processors.standard.ReplaceText</type></processors><processors><id>e626f756-f018-4670-8802-c8f8e459e15d</id><parentGroupId>d140e36d-3d80-449c-8a5b-c43a7ade1ed5</parentGroupId><position><x>1013.6538720444463</x><y>311.9569270573644</y></position><config><bulletinLevel>WARN</bulletinLevel><comments></comments><concurrentlySchedulableTaskCount>1</concurrentlySched
 ulableTaskCount><lossTolerant>false</lossTolerant><penaltyDuration>30 
sec</penaltyDuration><properties><entry><key>File 
Size</key><value>0b</value></entry><entry><key>Batch 
Size</key></entry><entry><key>Data Format</key></entry><entry><key>Unique 
FlowFiles</key></entry></properties><runDurationMillis>0</runDurationMillis><schedulingPeriod>3
 
sec</schedulingPeriod><schedulingStrategy>TIMER_DRIVEN</schedulingStrategy><yieldDuration>1
 sec</yieldDuration></config><name>Generate Empty 
File</name><relationships><autoTerminate>false</autoTerminate><name>success</name></relationships><style/><type>org.apache.nifi.processors.standard.GenerateFlowFile</type></processors></snippet><timestamp>07/04/2016
 21:04:46 UTC</timestamp></template>

http://git-wip-us.apache.org/repos/asf/nifi-minifi/blob/2d1e43e7/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/ReplaceTextExpressionLanguageCSVReformatting.yml
----------------------------------------------------------------------
diff --git 
a/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/ReplaceTextExpressionLanguageCSVReformatting.yml
 
b/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/ReplaceTextExpressionLanguageCSVReformatting.yml
new file mode 100644
index 0000000..d0f1d66
--- /dev/null
+++ 
b/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/ReplaceTextExpressionLanguageCSVReformatting.yml
@@ -0,0 +1,146 @@
+# 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.
+
+Flow Controller:
+  name: ReplaceTextExpressionLanguageCSVReformatting
+  comment: ''
+Core Properties:
+  flow controller graceful shutdown period: 10 sec
+  flow service write delay interval: 500 ms
+  administrative yield duration: 30 sec
+  bored yield duration: 10 millis
+  max concurrent threads: 1
+FlowFile Repository:
+  partitions: 256
+  checkpoint interval: 2 mins
+  always sync: false
+  Swap:
+    threshold: 20000
+    in period: 5 sec
+    in threads: 1
+    out period: 5 sec
+    out threads: 4
+Content Repository:
+  content claim max appendable size: 10 MB
+  content claim max flow files: 100
+  always sync: false
+Provenance Repository:
+  provenance rollover time: 1 min
+Component Status Repository:
+  buffer size: 1440
+  snapshot frequency: 1 min
+Security Properties:
+  keystore: ''
+  keystore type: ''
+  keystore password: ''
+  key password: ''
+  truststore: ''
+  truststore type: ''
+  truststore password: ''
+  ssl protocol: ''
+  Sensitive Props:
+    key:
+    algorithm: PBEWITHMD5AND256BITAES-CBC-OPENSSL
+    provider: BC
+Processors:
+- name: Generate Empty File
+  class: org.apache.nifi.processors.standard.GenerateFlowFile
+  max concurrent tasks: 1
+  scheduling strategy: TIMER_DRIVEN
+  scheduling period: 3 sec
+  penalization period: 30 sec
+  yield period: 1 sec
+  run duration nanos: 0
+  auto-terminated relationships list: []
+  Properties:
+    Batch Size:
+    Data Format:
+    File Size: 0b
+    Unique FlowFiles:
+- name: No-Op Termination
+  class: org.apache.nifi.processors.attributes.UpdateAttribute
+  max concurrent tasks: 1
+  scheduling strategy: TIMER_DRIVEN
+  scheduling period: 0 sec
+  penalization period: 30 sec
+  yield period: 1 sec
+  run duration nanos: 0
+  auto-terminated relationships list:
+  - success
+  Properties:
+    Delete Attributes Expression:
+- name: Reformat Date Column
+  class: org.apache.nifi.processors.standard.ReplaceText
+  max concurrent tasks: 1
+  scheduling strategy: TIMER_DRIVEN
+  scheduling period: 0 sec
+  penalization period: 30 sec
+  yield period: 1 sec
+  run duration nanos: 0
+  auto-terminated relationships list:
+  - failure
+  Properties:
+    Character Set:
+    Evaluation Mode: Line-by-Line
+    Maximum Buffer Size:
+    Regular Expression: (.*?),(.*?),(\d+.*)
+    Replacement Strategy:
+    Replacement Value: $1,$2,${ '$3':toDate('ddMMMyyyy'):format('yyyy/MM/dd') }
+- name: Set CSV Content
+  class: org.apache.nifi.processors.standard.ReplaceText
+  max concurrent tasks: 1
+  scheduling strategy: TIMER_DRIVEN
+  scheduling period: 0 sec
+  penalization period: 30 sec
+  yield period: 1 sec
+  run duration nanos: 0
+  auto-terminated relationships list:
+  - failure
+  Properties:
+    Character Set:
+    Evaluation Mode:
+    Maximum Buffer Size:
+    Regular Expression:
+    Replacement Strategy:
+    Replacement Value: |-
+      2006,10-01-2004,10may2004
+      2007,15-05-2006,10jun2005
+      2009,8-8-2008,10aug2008
+Connections:
+- name: Generate Empty File/success/Set CSV Content
+  source name: Generate Empty File
+  source relationship name: success
+  destination name: Set CSV Content
+  max work queue size: 0
+  max work queue data size: 0 MB
+  flowfile expiration: 0 sec
+  queue prioritizer class: 
org.apache.nifi.prioritizer.FirstInFirstOutPrioritizer
+- name: Reformat Date Column/success/No-Op Termination
+  source name: Reformat Date Column
+  source relationship name: success
+  destination name: No-Op Termination
+  max work queue size: 0
+  max work queue data size: 0 MB
+  flowfile expiration: 0 sec
+  queue prioritizer class: 
org.apache.nifi.prioritizer.FirstInFirstOutPrioritizer
+- name: Set CSV Content/success/Reformat Date Column
+  source name: Set CSV Content
+  source relationship name: success
+  destination name: Reformat Date Column
+  max work queue size: 0
+  max work queue data size: 0 MB
+  flowfile expiration: 0 sec
+  queue prioritizer class: 
org.apache.nifi.prioritizer.FirstInFirstOutPrioritizer
+Remote Processing Groups: []

http://git-wip-us.apache.org/repos/asf/nifi-minifi/blob/2d1e43e7/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/StressTestFramework.xml
----------------------------------------------------------------------
diff --git 
a/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/StressTestFramework.xml
 
b/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/StressTestFramework.xml
new file mode 100644
index 0000000..0ee52d7
--- /dev/null
+++ 
b/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/StressTestFramework.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<!--
+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.
+ -->
+<template 
encoding-version="1.0"><description></description><groupId>d140e36d-3d80-449c-8a5b-c43a7ade1ed5</groupId><name>StressTestFramework</name><snippet><connections><id>4c53556e-eb46-458c-9e98-8329a8cf70fd</id><parentGroupId>d140e36d-3d80-449c-8a5b-c43a7ade1ed5</parentGroupId><backPressureDataSizeThreshold>0
 
MB</backPressureDataSizeThreshold><backPressureObjectThreshold>2000</backPressureObjectThreshold><destination><groupId>d140e36d-3d80-449c-8a5b-c43a7ade1ed5</groupId><id>397a4910-cc01-4c6b-88c9-e99b17b094e8</id><type>PROCESSOR</type></destination><flowFileExpiration>0
 
sec</flowFileExpiration><labelIndex>1</labelIndex><name></name><prioritizers>org.apache.nifi.prioritizer.FirstInFirstOutPrioritizer</prioritizers><selectedRelationships>success</selectedRelationships><source><groupId>d140e36d-3d80-449c-8a5b-c43a7ade1ed5</groupId><id>92557c76-f251-45a4-96a4-79057b24e832</id><type>PROCESSOR</type></source><zIndex>0</zIndex></connections><connections><id>0e6873cc-cb9d-4e98-92aa-a33
 
19f4c1b02</id><parentGroupId>d140e36d-3d80-449c-8a5b-c43a7ade1ed5</parentGroupId><backPressureDataSizeThreshold>0
 
MB</backPressureDataSizeThreshold><backPressureObjectThreshold>200</backPressureObjectThreshold><destination><groupId>d140e36d-3d80-449c-8a5b-c43a7ade1ed5</groupId><id>92557c76-f251-45a4-96a4-79057b24e832</id><type>PROCESSOR</type></destination><flowFileExpiration>0
 
sec</flowFileExpiration><labelIndex>1</labelIndex><name></name><prioritizers>org.apache.nifi.prioritizer.FirstInFirstOutPrioritizer</prioritizers><selectedRelationships>success</selectedRelationships><source><groupId>d140e36d-3d80-449c-8a5b-c43a7ade1ed5</groupId><id>16a47794-5391-4ad2-8d7b-be7ef83b8fee</id><type>PROCESSOR</type></source><zIndex>0</zIndex></connections><processors><id>92557c76-f251-45a4-96a4-79057b24e832</id><parentGroupId>d140e36d-3d80-449c-8a5b-c43a7ade1ed5</parentGroupId><position><x>455.5</x><y>372.06</y></position><config><bulletinLevel>WARN</bulletinLevel><comments></comments><concurrent
 
lySchedulableTaskCount>2</concurrentlySchedulableTaskCount><lossTolerant>false</lossTolerant><penaltyDuration>30
 sec</penaltyDuration><properties><entry><key>Delete Attributes 
Expression</key></entry><entry><key>property 1</key><value>value 
1</value></entry><entry><key>property 2</key><value>value 2 
${nextInt()}</value></entry></properties><runDurationMillis>100</runDurationMillis><schedulingPeriod>0
 
sec</schedulingPeriod><schedulingStrategy>TIMER_DRIVEN</schedulingStrategy><yieldDuration>1
 
sec</yieldDuration></config><name>UpdateAttribute</name><relationships><autoTerminate>false</autoTerminate><name>success</name></relationships><style/><type>org.apache.nifi.processors.attributes.UpdateAttribute</type></processors><processors><id>16a47794-5391-4ad2-8d7b-be7ef83b8fee</id><parentGroupId>d140e36d-3d80-449c-8a5b-c43a7ade1ed5</parentGroupId><position><x>464.5</x><y>90.66000000000001</y></position><config><bulletinLevel>WARN</bulletinLevel><comments></comments><concurrentlySchedulableTa
 
skCount>1</concurrentlySchedulableTaskCount><lossTolerant>false</lossTolerant><penaltyDuration>30
 sec</penaltyDuration><properties><entry><key>File Size</key><value>0 
KB</value></entry><entry><key>Batch 
Size</key><value>100</value></entry><entry><key>Data 
Format</key></entry><entry><key>Unique 
FlowFiles</key></entry></properties><runDurationMillis>0</runDurationMillis><schedulingPeriod>0
 
sec</schedulingPeriod><schedulingStrategy>TIMER_DRIVEN</schedulingStrategy><yieldDuration>1
 
sec</yieldDuration></config><name>GenerateFlowFile</name><relationships><autoTerminate>false</autoTerminate><name>success</name></relationships><style/><type>org.apache.nifi.processors.standard.GenerateFlowFile</type></processors><processors><id>397a4910-cc01-4c6b-88c9-e99b17b094e8</id><parentGroupId>d140e36d-3d80-449c-8a5b-c43a7ade1ed5</parentGroupId><position><x>457.0</x><y>650.7800000000001</y></position><config><bulletinLevel>WARN</bulletinLevel><comments></comments><concurrentlySchedulableTaskCount>2</co
 
ncurrentlySchedulableTaskCount><lossTolerant>false</lossTolerant><penaltyDuration>30
 sec</penaltyDuration><properties><entry><key>Routing 
Strategy</key></entry></properties><runDurationMillis>50</runDurationMillis><schedulingPeriod>0
 
sec</schedulingPeriod><schedulingStrategy>TIMER_DRIVEN</schedulingStrategy><yieldDuration>1
 
sec</yieldDuration></config><name>RouteOnAttribute</name><relationships><autoTerminate>true</autoTerminate><name>unmatched</name></relationships><style/><type>org.apache.nifi.processors.standard.RouteOnAttribute</type></processors></snippet><timestamp>07/04/2016
 21:10:27 UTC</timestamp></template>

http://git-wip-us.apache.org/repos/asf/nifi-minifi/blob/2d1e43e7/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/StressTestFramework.yml
----------------------------------------------------------------------
diff --git 
a/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/StressTestFramework.yml
 
b/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/StressTestFramework.yml
new file mode 100644
index 0000000..970552b
--- /dev/null
+++ 
b/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/StressTestFramework.yml
@@ -0,0 +1,114 @@
+# 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.
+
+Flow Controller:
+  name: StressTestFramework
+  comment: ''
+Core Properties:
+  flow controller graceful shutdown period: 10 sec
+  flow service write delay interval: 500 ms
+  administrative yield duration: 30 sec
+  bored yield duration: 10 millis
+  max concurrent threads: 1
+FlowFile Repository:
+  partitions: 256
+  checkpoint interval: 2 mins
+  always sync: false
+  Swap:
+    threshold: 20000
+    in period: 5 sec
+    in threads: 1
+    out period: 5 sec
+    out threads: 4
+Content Repository:
+  content claim max appendable size: 10 MB
+  content claim max flow files: 100
+  always sync: false
+Provenance Repository:
+  provenance rollover time: 1 min
+Component Status Repository:
+  buffer size: 1440
+  snapshot frequency: 1 min
+Security Properties:
+  keystore: ''
+  keystore type: ''
+  keystore password: ''
+  key password: ''
+  truststore: ''
+  truststore type: ''
+  truststore password: ''
+  ssl protocol: ''
+  Sensitive Props:
+    key:
+    algorithm: PBEWITHMD5AND256BITAES-CBC-OPENSSL
+    provider: BC
+Processors:
+- name: GenerateFlowFile
+  class: org.apache.nifi.processors.standard.GenerateFlowFile
+  max concurrent tasks: 1
+  scheduling strategy: TIMER_DRIVEN
+  scheduling period: 0 sec
+  penalization period: 30 sec
+  yield period: 1 sec
+  run duration nanos: 0
+  auto-terminated relationships list: []
+  Properties:
+    Batch Size: '100'
+    Data Format:
+    File Size: 0 KB
+    Unique FlowFiles:
+- name: RouteOnAttribute
+  class: org.apache.nifi.processors.standard.RouteOnAttribute
+  max concurrent tasks: 2
+  scheduling strategy: TIMER_DRIVEN
+  scheduling period: 0 sec
+  penalization period: 30 sec
+  yield period: 1 sec
+  run duration nanos: 50000
+  auto-terminated relationships list:
+  - unmatched
+  Properties:
+    Routing Strategy:
+- name: UpdateAttribute
+  class: org.apache.nifi.processors.attributes.UpdateAttribute
+  max concurrent tasks: 2
+  scheduling strategy: TIMER_DRIVEN
+  scheduling period: 0 sec
+  penalization period: 30 sec
+  yield period: 1 sec
+  run duration nanos: 100000
+  auto-terminated relationships list: []
+  Properties:
+    Delete Attributes Expression:
+    property 1: value 1
+    property 2: value 2 ${nextInt()}
+Connections:
+- name: GenerateFlowFile/success/UpdateAttribute
+  source name: GenerateFlowFile
+  source relationship name: success
+  destination name: UpdateAttribute
+  max work queue size: 200
+  max work queue data size: 0 MB
+  flowfile expiration: 0 sec
+  queue prioritizer class: 
org.apache.nifi.prioritizer.FirstInFirstOutPrioritizer
+- name: UpdateAttribute/success/RouteOnAttribute
+  source name: UpdateAttribute
+  source relationship name: success
+  destination name: RouteOnAttribute
+  max work queue size: 2000
+  max work queue data size: 0 MB
+  flowfile expiration: 0 sec
+  queue prioritizer class: 
org.apache.nifi.prioritizer.FirstInFirstOutPrioritizer
+Remote Processing Groups: []

http://git-wip-us.apache.org/repos/asf/nifi-minifi/blob/2d1e43e7/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/config-malformed-field.yml
----------------------------------------------------------------------
diff --git 
a/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/config-malformed-field.yml
 
b/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/config-malformed-field.yml
new file mode 100644
index 0000000..ecce9a8
--- /dev/null
+++ 
b/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/config-malformed-field.yml
@@ -0,0 +1,109 @@
+# 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.
+
+Flow Controller:
+    name: MiNiFi Flow
+    comment:
+
+Core Properties:
+    flow controller graceful shutdown period: 10 sec
+    flow service write delay interval: 500 ms
+    administrative yield duration: 30 sec
+    bored yield duration: 10 millis
+    max concurrent threads: 1
+
+FlowFile Repository:
+    partitions: 256
+    checkpoint interval: 2 mins
+    always sync: false
+    Swap:
+        # Threshold should be a number
+        threshold: this is not a number
+        in period: 5 sec
+        in threads: 1
+        out period: 5 sec
+        out threads: 4
+
+Content Repository:
+    content claim max appendable size: 10 MB
+    content claim max flow files: 100
+    always sync: false
+
+Component Status Repository:
+    buffer size: 1440
+    snapshot frequency: 1 min
+
+Security Properties:
+    keystore: /tmp/ssl/localhost-ks.jks
+    keystore type: JKS
+    keystore password: localtest
+    key password: localtest
+    truststore: /tmp/ssl/localhost-ts.jks
+    truststore type: JKS
+    truststore password: localtest
+    ssl protocol: TLS
+    Sensitive Props:
+        key:
+        algorithm: PBEWITHMD5AND256BITAES-CBC-OPENSSL
+        provider: BC
+
+Processors:
+    - name: TailFile
+      class: org.apache.nifi.processors.standard.TailFile
+      max concurrent tasks: 1
+      scheduling strategy: TIMER_DRIVEN
+      scheduling period: 1 sec
+      penalization period: 30 sec
+      yield period: 1 sec
+      run duration nanos: 0
+      auto-terminated relationships list:
+      Properties:
+          File to Tail: logs/minifi-app.log
+          Rolling Filename Pattern: minifi-app*
+          Initial Start Position: Beginning of File
+
+Connections:
+    - name: TailToS2S
+      source name: TailFile
+      source relationship name: success
+      destination name: 8644cbcc-a45c-40e0-964d-5e536e2ada61
+      max work queue size: 0
+      max work queue data size: 1 MB
+      flowfile expiration: 60 sec
+      queue prioritizer class: 
org.apache.nifi.prioritizer.NewestFlowFileFirstPrioritizer
+
+Remote Processing Groups:
+    - name: NiFi Flow
+      comment:
+      url: https://localhost:8090/nifi
+      timeout: 30 secs
+      yield period: 10 sec
+      Input Ports:
+          - id: 8644cbcc-a45c-40e0-964d-5e536e2ada61
+            name: tailed log
+            comments:
+            max concurrent tasks: 1
+            use compression: false
+
+Provenance Reporting:
+    comment:
+    scheduling strategy: TIMER_DRIVEN
+    scheduling period: 30 sec
+    destination url: https://localhost:8090/
+    port name: provenance
+    originating url: http://${hostname(true)}:8081/nifi
+    use compression: true
+    timeout: 30 secs
+    batch size: 1000
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-minifi/blob/2d1e43e7/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/config.yml
----------------------------------------------------------------------
diff --git 
a/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/config.yml 
b/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/config.yml
new file mode 100644
index 0000000..2af6b9b
--- /dev/null
+++ b/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/config.yml
@@ -0,0 +1,111 @@
+# 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.
+
+Flow Controller:
+    name: MiNiFi Flow
+    comment:
+
+Core Properties:
+    flow controller graceful shutdown period: 10 sec
+    flow service write delay interval: 500 ms
+    administrative yield duration: 30 sec
+    bored yield duration: 10 millis
+    max concurrent threads: 1
+
+FlowFile Repository:
+    partitions: 256
+    checkpoint interval: 2 mins
+    always sync: false
+    Swap:
+        threshold: 20000
+        in period: 5 sec
+        in threads: 1
+        out period: 5 sec
+        out threads: 4
+
+Content Repository:
+    content claim max appendable size: 10 MB
+    content claim max flow files: 100
+    always sync: false
+
+Provenance Repository:
+    provenance rollover time: 1 min
+
+Component Status Repository:
+    buffer size: 1440
+    snapshot frequency: 1 min
+
+Security Properties:
+    keystore: /tmp/ssl/localhost-ks.jks
+    keystore type: JKS
+    keystore password: localtest
+    key password: localtest
+    truststore: /tmp/ssl/localhost-ts.jks
+    truststore type: JKS
+    truststore password: localtest
+    ssl protocol: TLS
+    Sensitive Props:
+        key:
+        algorithm: PBEWITHMD5AND256BITAES-CBC-OPENSSL
+        provider: BC
+
+Processors:
+    - name: TailFile
+      class: org.apache.nifi.processors.standard.TailFile
+      max concurrent tasks: 1
+      scheduling strategy: TIMER_DRIVEN
+      scheduling period: 1 sec
+      penalization period: 30 sec
+      yield period: 1 sec
+      run duration nanos: 0
+      auto-terminated relationships list:
+      Properties:
+          File to Tail: logs/minifi-app.log
+          Rolling Filename Pattern: minifi-app*
+          Initial Start Position: Beginning of File
+
+Connections:
+    - name: TailToS2S
+      source name: TailFile
+      source relationship name: success
+      destination name: 8644cbcc-a45c-40e0-964d-5e536e2ada61
+      max work queue size: 0
+      max work queue data size: 1 MB
+      flowfile expiration: 60 sec
+      queue prioritizer class: 
org.apache.nifi.prioritizer.NewestFlowFileFirstPrioritizer
+
+Remote Processing Groups:
+    - name: NiFi Flow
+      comment:
+      url: https://localhost:8090/nifi
+      timeout: 30 secs
+      yield period: 10 sec
+      Input Ports:
+          - id: 8644cbcc-a45c-40e0-964d-5e536e2ada61
+            name: tailed log
+            comments:
+            max concurrent tasks: 1
+            use compression: false
+
+Provenance Reporting:
+    comment:
+    scheduling strategy: TIMER_DRIVEN
+    scheduling period: 30 sec
+    destination url: https://localhost:8090/
+    port name: provenance
+    originating url: http://${hostname(true)}:8081/nifi
+    use compression: true
+    timeout: 30 secs
+    batch size: 1000
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-minifi/blob/2d1e43e7/minifi-toolkit/pom.xml
----------------------------------------------------------------------
diff --git a/minifi-toolkit/pom.xml b/minifi-toolkit/pom.xml
new file mode 100644
index 0000000..db43c87
--- /dev/null
+++ b/minifi-toolkit/pom.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+ -->
+<project xmlns="http://maven.apache.org/POM/4.0.0";
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <artifactId>minifi</artifactId>
+        <groupId>org.apache.nifi.minifi</groupId>
+        <version>0.0.1-SNAPSHOT</version>
+    </parent>
+    <artifactId>minifi-toolkit</artifactId>
+    <packaging>pom</packaging>
+
+    <modules>
+        <module>minifi-toolkit-configuration</module>
+        <module>minifi-toolkit-assembly</module>
+    </modules>
+</project>

http://git-wip-us.apache.org/repos/asf/nifi-minifi/blob/2d1e43e7/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 7b21f8c..b46ad59 100644
--- a/pom.xml
+++ b/pom.xml
@@ -37,6 +37,7 @@ limitations under the License.
         <module>minifi-bootstrap</module>
         <module>minifi-nar-bundles</module>
         <module>minifi-assembly</module>
+        <module>minifi-toolkit</module>
     </modules>
 
     <url>http://nifi.apache.org</url>
@@ -328,6 +329,11 @@ limitations under the License.
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
+                <artifactId>nifi-framework-core</artifactId>
+                <version>${org.apache.nifi.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-provenance-repository-nar</artifactId>
                 <version>${org.apache.nifi.version}</version>
                 <type>nar</type>
@@ -426,11 +432,6 @@ limitations under the License.
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
-                <artifactId>nifi-framework-core</artifactId>
-                <version>${org.apache.nifi.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.nifi</groupId>
                 <artifactId>nifi-persistent-provenance-repository</artifactId>
                 <version>${org.apache.nifi.version}</version>
             </dependency>

Reply via email to