nifi-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From alopre...@apache.org
Subject [1/2] nifi git commit: NIFI-1799 Implements auto-scaling flow layout added utility class to scale positions of components on the canvas, extracted get/setPosition methods from ProcesGroup, RemoteProcessGroup, Label, and Connectable into new interface Pos
Date Tue, 24 May 2016 21:38:16 GMT
Repository: nifi
Updated Branches:
  refs/heads/master 7923fd04c -> 433db2356


http://git-wip-us.apache.org/repos/asf/nifi/blob/433db235/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/resources/conf/scale-positions-flow-0.7.0.xml
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/resources/conf/scale-positions-flow-0.7.0.xml b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/resources/conf/scale-positions-flow-0.7.0.xml
new file mode 100644
index 0000000..609d049
--- /dev/null
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/resources/conf/scale-positions-flow-0.7.0.xml
@@ -0,0 +1,1533 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+  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.
+-->
+<flowController>
+  <maxTimerDrivenThreadCount>10</maxTimerDrivenThreadCount>
+  <maxEventDrivenThreadCount>5</maxEventDrivenThreadCount>
+  <rootGroup>
+    <id>32b64df5-b2f5-4c47-9880-3d0bd5c8ff15</id>
+    <name>NiFi Flow</name>
+    <position x="0.0" y="0.0"/>
+    <comment/>
+    <processor>
+      <id>a05b4e5f-059f-4105-af89-a551098d2779</id>
+      <name>ExtractText</name>
+      <position x="686.0" y="542.0"/>
+      <styles/>
+      <comment/>
+      <class>org.apache.nifi.processors.standard.ExtractText</class>
+      <maxConcurrentTasks>1</maxConcurrentTasks>
+      <schedulingPeriod>0 sec</schedulingPeriod>
+      <penalizationPeriod>30 sec</penalizationPeriod>
+      <yieldPeriod>1 sec</yieldPeriod>
+      <bulletinLevel>WARN</bulletinLevel>
+      <lossTolerant>false</lossTolerant>
+      <scheduledState>RUNNING</scheduledState>
+      <schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
+      <runDurationNanos>0</runDurationNanos>
+      <property>
+        <name>Character Set</name>
+        <value>UTF-8</value>
+      </property>
+      <property>
+        <name>Maximum Buffer Size</name>
+        <value>1 MB</value>
+      </property>
+      <property>
+        <name>Maximum Capture Group Length</name>
+        <value>1024</value>
+      </property>
+      <property>
+        <name>Enable Canonical Equivalence</name>
+        <value>false</value>
+      </property>
+      <property>
+        <name>Enable Case-insensitive Matching</name>
+        <value>false</value>
+      </property>
+      <property>
+        <name>Permit Whitespace and Comments in Pattern</name>
+        <value>false</value>
+      </property>
+      <property>
+        <name>Enable DOTALL Mode</name>
+        <value>false</value>
+      </property>
+      <property>
+        <name>Enable Literal Parsing of the Pattern</name>
+        <value>false</value>
+      </property>
+      <property>
+        <name>Enable Multiline Mode</name>
+        <value>false</value>
+      </property>
+      <property>
+        <name>Enable Unicode-aware Case Folding</name>
+        <value>false</value>
+      </property>
+      <property>
+        <name>Enable Unicode Predefined Character Classes</name>
+        <value>false</value>
+      </property>
+      <property>
+        <name>Enable Unix Lines Mode</name>
+        <value>false</value>
+      </property>
+      <property>
+        <name>Include Capture Group 0</name>
+        <value>false</value>
+      </property>
+      <property>
+        <name>data</name>
+        <value>((?s:^.*$))</value>
+      </property>
+      <autoTerminatedRelationship>unmatched</autoTerminatedRelationship>
+    </processor>
+    <processor>
+      <id>74af00f4-5b4a-4236-bae0-ebc6bef5ae1f</id>
+      <name>ReplaceText</name>
+      <position x="1122.363037109375" y="895.7132568359375"/>
+      <styles/>
+      <comment/>
+      <class>org.apache.nifi.processors.standard.ReplaceText</class>
+      <maxConcurrentTasks>1</maxConcurrentTasks>
+      <schedulingPeriod>0 sec</schedulingPeriod>
+      <penalizationPeriod>30 sec</penalizationPeriod>
+      <yieldPeriod>1 sec</yieldPeriod>
+      <bulletinLevel>WARN</bulletinLevel>
+      <lossTolerant>false</lossTolerant>
+      <scheduledState>RUNNING</scheduledState>
+      <schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
+      <runDurationNanos>0</runDurationNanos>
+      <property>
+        <name>Regular Expression</name>
+        <value>(?s:^.*$)</value>
+      </property>
+      <property>
+        <name>Replacement Value</name>
+        <value>${nextInt()}</value>
+      </property>
+      <property>
+        <name>Character Set</name>
+        <value>UTF-8</value>
+      </property>
+      <property>
+        <name>Maximum Buffer Size</name>
+        <value>1 MB</value>
+      </property>
+      <property>
+        <name>Replacement Strategy</name>
+        <value>Regex Replace</value>
+      </property>
+      <property>
+        <name>Evaluation Mode</name>
+        <value>Entire text</value>
+      </property>
+      <autoTerminatedRelationship>failure</autoTerminatedRelationship>
+    </processor>
+    <processor>
+      <id>b4369bf2-e5d5-4df8-b397-4d63c1a11d29</id>
+      <name>RouteOnAttribute</name>
+      <position x="690.0" y="676.0"/>
+      <styles/>
+      <comment/>
+      <class>org.apache.nifi.processors.standard.RouteOnAttribute</class>
+      <maxConcurrentTasks>1</maxConcurrentTasks>
+      <schedulingPeriod>0 sec</schedulingPeriod>
+      <penalizationPeriod>30 sec</penalizationPeriod>
+      <yieldPeriod>1 sec</yieldPeriod>
+      <bulletinLevel>WARN</bulletinLevel>
+      <lossTolerant>false</lossTolerant>
+      <scheduledState>RUNNING</scheduledState>
+      <schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
+      <runDurationNanos>0</runDurationNanos>
+      <property>
+        <name>Routing Strategy</name>
+        <value>Route to Property name</value>
+      </property>
+      <property>
+        <name>data is even</name>
+        <value>${data:mod(2):equals(0)}</value>
+      </property>
+    </processor>
+    <processor>
+      <id>b1f6cb42-dbce-49a3-be9f-cfc6c889bb8b</id>
+      <name>RouteOnAttribute</name>
+      <position x="1058.489013671875" y="545.9861450195312"/>
+      <styles/>
+      <comment/>
+      <class>org.apache.nifi.processors.standard.RouteOnAttribute</class>
+      <maxConcurrentTasks>1</maxConcurrentTasks>
+      <schedulingPeriod>0 sec</schedulingPeriod>
+      <penalizationPeriod>30 sec</penalizationPeriod>
+      <yieldPeriod>1 sec</yieldPeriod>
+      <bulletinLevel>WARN</bulletinLevel>
+      <lossTolerant>false</lossTolerant>
+      <scheduledState>RUNNING</scheduledState>
+      <schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
+      <runDurationNanos>0</runDurationNanos>
+      <property>
+        <name>Routing Strategy</name>
+        <value>Route to Property name</value>
+      </property>
+      <property>
+        <name>content is even</name>
+        <value>${data:mod(2):equals(0)}</value>
+      </property>
+      <autoTerminatedRelationship>content is even</autoTerminatedRelationship>
+      <autoTerminatedRelationship>unmatched</autoTerminatedRelationship>
+    </processor>
+    <processor>
+      <id>0e49512d-67f4-4b74-9880-ea2e2fb3436b</id>
+      <name>ExtractText</name>
+      <position x="224.6471710205078" y="1028.7507019042969"/>
+      <styles/>
+      <comment/>
+      <class>org.apache.nifi.processors.standard.ExtractText</class>
+      <maxConcurrentTasks>1</maxConcurrentTasks>
+      <schedulingPeriod>0 sec</schedulingPeriod>
+      <penalizationPeriod>30 sec</penalizationPeriod>
+      <yieldPeriod>1 sec</yieldPeriod>
+      <bulletinLevel>WARN</bulletinLevel>
+      <lossTolerant>false</lossTolerant>
+      <scheduledState>RUNNING</scheduledState>
+      <schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
+      <runDurationNanos>0</runDurationNanos>
+      <property>
+        <name>Character Set</name>
+        <value>UTF-8</value>
+      </property>
+      <property>
+        <name>Maximum Buffer Size</name>
+        <value>1 MB</value>
+      </property>
+      <property>
+        <name>Maximum Capture Group Length</name>
+        <value>1024</value>
+      </property>
+      <property>
+        <name>Enable Canonical Equivalence</name>
+        <value>false</value>
+      </property>
+      <property>
+        <name>Enable Case-insensitive Matching</name>
+        <value>false</value>
+      </property>
+      <property>
+        <name>Permit Whitespace and Comments in Pattern</name>
+        <value>false</value>
+      </property>
+      <property>
+        <name>Enable DOTALL Mode</name>
+        <value>false</value>
+      </property>
+      <property>
+        <name>Enable Literal Parsing of the Pattern</name>
+        <value>false</value>
+      </property>
+      <property>
+        <name>Enable Multiline Mode</name>
+        <value>false</value>
+      </property>
+      <property>
+        <name>Enable Unicode-aware Case Folding</name>
+        <value>false</value>
+      </property>
+      <property>
+        <name>Enable Unicode Predefined Character Classes</name>
+        <value>false</value>
+      </property>
+      <property>
+        <name>Enable Unix Lines Mode</name>
+        <value>false</value>
+      </property>
+      <property>
+        <name>Include Capture Group 0</name>
+        <value>false</value>
+      </property>
+      <property>
+        <name>data</name>
+        <value>((?s:^.*$))</value>
+      </property>
+      <autoTerminatedRelationship>unmatched</autoTerminatedRelationship>
+    </processor>
+    <processor>
+      <id>c697e51f-aa4f-4cbf-a4e7-25156970a360</id>
+      <name>RouteOnAttribute</name>
+      <position x="1129.363037109375" y="1164.7132568359375"/>
+      <styles/>
+      <comment/>
+      <class>org.apache.nifi.processors.standard.RouteOnAttribute</class>
+      <maxConcurrentTasks>1</maxConcurrentTasks>
+      <schedulingPeriod>0 sec</schedulingPeriod>
+      <penalizationPeriod>30 sec</penalizationPeriod>
+      <yieldPeriod>1 sec</yieldPeriod>
+      <bulletinLevel>WARN</bulletinLevel>
+      <lossTolerant>false</lossTolerant>
+      <scheduledState>RUNNING</scheduledState>
+      <schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
+      <runDurationNanos>0</runDurationNanos>
+      <property>
+        <name>Routing Strategy</name>
+        <value>Route to Property name</value>
+      </property>
+      <property>
+        <name>content is even</name>
+        <value>${data:mod(2):equals(0)}</value>
+      </property>
+    </processor>
+    <processor>
+      <id>2a1e8019-5264-48e7-bc61-8d71c4ecaa82</id>
+      <name>ExtractText</name>
+      <position x="1125.363037109375" y="1030.7132568359375"/>
+      <styles/>
+      <comment/>
+      <class>org.apache.nifi.processors.standard.ExtractText</class>
+      <maxConcurrentTasks>1</maxConcurrentTasks>
+      <schedulingPeriod>0 sec</schedulingPeriod>
+      <penalizationPeriod>30 sec</penalizationPeriod>
+      <yieldPeriod>1 sec</yieldPeriod>
+      <bulletinLevel>WARN</bulletinLevel>
+      <lossTolerant>false</lossTolerant>
+      <scheduledState>RUNNING</scheduledState>
+      <schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
+      <runDurationNanos>0</runDurationNanos>
+      <property>
+        <name>Character Set</name>
+        <value>UTF-8</value>
+      </property>
+      <property>
+        <name>Maximum Buffer Size</name>
+        <value>1 MB</value>
+      </property>
+      <property>
+        <name>Maximum Capture Group Length</name>
+        <value>1024</value>
+      </property>
+      <property>
+        <name>Enable Canonical Equivalence</name>
+        <value>false</value>
+      </property>
+      <property>
+        <name>Enable Case-insensitive Matching</name>
+        <value>false</value>
+      </property>
+      <property>
+        <name>Permit Whitespace and Comments in Pattern</name>
+        <value>false</value>
+      </property>
+      <property>
+        <name>Enable DOTALL Mode</name>
+        <value>false</value>
+      </property>
+      <property>
+        <name>Enable Literal Parsing of the Pattern</name>
+        <value>false</value>
+      </property>
+      <property>
+        <name>Enable Multiline Mode</name>
+        <value>false</value>
+      </property>
+      <property>
+        <name>Enable Unicode-aware Case Folding</name>
+        <value>false</value>
+      </property>
+      <property>
+        <name>Enable Unicode Predefined Character Classes</name>
+        <value>false</value>
+      </property>
+      <property>
+        <name>Enable Unix Lines Mode</name>
+        <value>false</value>
+      </property>
+      <property>
+        <name>Include Capture Group 0</name>
+        <value>false</value>
+      </property>
+      <property>
+        <name>data</name>
+        <value>((?s:^.*$))</value>
+      </property>
+      <autoTerminatedRelationship>unmatched</autoTerminatedRelationship>
+    </processor>
+    <processor>
+      <id>ab9e02ee-511f-48de-ac07-da46481c1a70</id>
+      <name>ReplaceText</name>
+      <position x="1051.489013671875" y="276.98614501953125"/>
+      <styles/>
+      <comment/>
+      <class>org.apache.nifi.processors.standard.ReplaceText</class>
+      <maxConcurrentTasks>1</maxConcurrentTasks>
+      <schedulingPeriod>0 sec</schedulingPeriod>
+      <penalizationPeriod>30 sec</penalizationPeriod>
+      <yieldPeriod>1 sec</yieldPeriod>
+      <bulletinLevel>WARN</bulletinLevel>
+      <lossTolerant>false</lossTolerant>
+      <scheduledState>RUNNING</scheduledState>
+      <schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
+      <runDurationNanos>0</runDurationNanos>
+      <property>
+        <name>Regular Expression</name>
+        <value>(?s:^.*$)</value>
+      </property>
+      <property>
+        <name>Replacement Value</name>
+        <value>${nextInt()}</value>
+      </property>
+      <property>
+        <name>Character Set</name>
+        <value>UTF-8</value>
+      </property>
+      <property>
+        <name>Maximum Buffer Size</name>
+        <value>1 MB</value>
+      </property>
+      <property>
+        <name>Replacement Strategy</name>
+        <value>Regex Replace</value>
+      </property>
+      <property>
+        <name>Evaluation Mode</name>
+        <value>Entire text</value>
+      </property>
+      <autoTerminatedRelationship>failure</autoTerminatedRelationship>
+    </processor>
+    <processor>
+      <id>a4b100b5-f3da-41ed-8ed9-a198d3f4aba3</id>
+      <name>ExtractText</name>
+      <position x="1740.591796875" y="1481.1141967773438"/>
+      <styles/>
+      <comment/>
+      <class>org.apache.nifi.processors.standard.ExtractText</class>
+      <maxConcurrentTasks>1</maxConcurrentTasks>
+      <schedulingPeriod>0 sec</schedulingPeriod>
+      <penalizationPeriod>30 sec</penalizationPeriod>
+      <yieldPeriod>1 sec</yieldPeriod>
+      <bulletinLevel>WARN</bulletinLevel>
+      <lossTolerant>false</lossTolerant>
+      <scheduledState>RUNNING</scheduledState>
+      <schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
+      <runDurationNanos>0</runDurationNanos>
+      <property>
+        <name>Character Set</name>
+        <value>UTF-8</value>
+      </property>
+      <property>
+        <name>Maximum Buffer Size</name>
+        <value>1 MB</value>
+      </property>
+      <property>
+        <name>Maximum Capture Group Length</name>
+        <value>1024</value>
+      </property>
+      <property>
+        <name>Enable Canonical Equivalence</name>
+        <value>false</value>
+      </property>
+      <property>
+        <name>Enable Case-insensitive Matching</name>
+        <value>false</value>
+      </property>
+      <property>
+        <name>Permit Whitespace and Comments in Pattern</name>
+        <value>false</value>
+      </property>
+      <property>
+        <name>Enable DOTALL Mode</name>
+        <value>false</value>
+      </property>
+      <property>
+        <name>Enable Literal Parsing of the Pattern</name>
+        <value>false</value>
+      </property>
+      <property>
+        <name>Enable Multiline Mode</name>
+        <value>false</value>
+      </property>
+      <property>
+        <name>Enable Unicode-aware Case Folding</name>
+        <value>false</value>
+      </property>
+      <property>
+        <name>Enable Unicode Predefined Character Classes</name>
+        <value>false</value>
+      </property>
+      <property>
+        <name>Enable Unix Lines Mode</name>
+        <value>false</value>
+      </property>
+      <property>
+        <name>Include Capture Group 0</name>
+        <value>false</value>
+      </property>
+      <property>
+        <name>data</name>
+        <value>((?s:^.*$))</value>
+      </property>
+      <autoTerminatedRelationship>unmatched</autoTerminatedRelationship>
+    </processor>
+    <processor>
+      <id>4b771af6-af32-443f-b807-6b9f7c476e39</id>
+      <name>ReplaceText</name>
+      <position x="297.56959533691406" y="276.02215576171875"/>
+      <styles/>
+      <comment/>
+      <class>org.apache.nifi.processors.standard.ReplaceText</class>
+      <maxConcurrentTasks>1</maxConcurrentTasks>
+      <schedulingPeriod>0 sec</schedulingPeriod>
+      <penalizationPeriod>30 sec</penalizationPeriod>
+      <yieldPeriod>1 sec</yieldPeriod>
+      <bulletinLevel>WARN</bulletinLevel>
+      <lossTolerant>false</lossTolerant>
+      <scheduledState>RUNNING</scheduledState>
+      <schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
+      <runDurationNanos>0</runDurationNanos>
+      <property>
+        <name>Regular Expression</name>
+        <value>(?s:^.*$)</value>
+      </property>
+      <property>
+        <name>Replacement Value</name>
+        <value>${nextInt()}</value>
+      </property>
+      <property>
+        <name>Character Set</name>
+        <value>UTF-8</value>
+      </property>
+      <property>
+        <name>Maximum Buffer Size</name>
+        <value>1 MB</value>
+      </property>
+      <property>
+        <name>Replacement Strategy</name>
+        <value>Regex Replace</value>
+      </property>
+      <property>
+        <name>Evaluation Mode</name>
+        <value>Entire text</value>
+      </property>
+      <autoTerminatedRelationship>failure</autoTerminatedRelationship>
+    </processor>
+    <processor>
+      <id>f3063c47-c8ae-4b25-bd71-98dffdf33e0a</id>
+      <name>GenerateFlowFile</name>
+      <position x="682.0" y="271.0"/>
+      <styles/>
+      <comment/>
+      <class>org.apache.nifi.processors.standard.GenerateFlowFile</class>
+      <maxConcurrentTasks>1</maxConcurrentTasks>
+      <schedulingPeriod>1 sec</schedulingPeriod>
+      <penalizationPeriod>30 sec</penalizationPeriod>
+      <yieldPeriod>1 sec</yieldPeriod>
+      <bulletinLevel>WARN</bulletinLevel>
+      <lossTolerant>false</lossTolerant>
+      <scheduledState>RUNNING</scheduledState>
+      <schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
+      <runDurationNanos>0</runDurationNanos>
+      <property>
+        <name>File Size</name>
+        <value>0b</value>
+      </property>
+      <property>
+        <name>Batch Size</name>
+        <value>1</value>
+      </property>
+      <property>
+        <name>Data Format</name>
+        <value>Binary</value>
+      </property>
+      <property>
+        <name>Unique FlowFiles</name>
+        <value>false</value>
+      </property>
+    </processor>
+    <processor>
+      <id>3dae3e31-ab40-49ca-bb86-21e91f24ee97</id>
+      <name>RouteOnAttribute</name>
+      <position x="228.6471710205078" y="1162.7507019042969"/>
+      <styles/>
+      <comment/>
+      <class>org.apache.nifi.processors.standard.RouteOnAttribute</class>
+      <maxConcurrentTasks>1</maxConcurrentTasks>
+      <schedulingPeriod>0 sec</schedulingPeriod>
+      <penalizationPeriod>30 sec</penalizationPeriod>
+      <yieldPeriod>1 sec</yieldPeriod>
+      <bulletinLevel>WARN</bulletinLevel>
+      <lossTolerant>false</lossTolerant>
+      <scheduledState>RUNNING</scheduledState>
+      <schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
+      <runDurationNanos>0</runDurationNanos>
+      <property>
+        <name>Routing Strategy</name>
+        <value>Route to Property name</value>
+      </property>
+      <property>
+        <name>content is even</name>
+        <value>${data:mod(2):equals(0)}</value>
+      </property>
+      <autoTerminatedRelationship>content is even</autoTerminatedRelationship>
+      <autoTerminatedRelationship>unmatched</autoTerminatedRelationship>
+    </processor>
+    <processor>
+      <id>de1f9362-f8a5-44a0-bef7-9a6f608e6e66</id>
+      <name>ExtractText</name>
+      <position x="300.56959533691406" y="411.02215576171875"/>
+      <styles/>
+      <comment/>
+      <class>org.apache.nifi.processors.standard.ExtractText</class>
+      <maxConcurrentTasks>1</maxConcurrentTasks>
+      <schedulingPeriod>0 sec</schedulingPeriod>
+      <penalizationPeriod>30 sec</penalizationPeriod>
+      <yieldPeriod>1 sec</yieldPeriod>
+      <bulletinLevel>WARN</bulletinLevel>
+      <lossTolerant>false</lossTolerant>
+      <scheduledState>RUNNING</scheduledState>
+      <schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
+      <runDurationNanos>0</runDurationNanos>
+      <property>
+        <name>Character Set</name>
+        <value>UTF-8</value>
+      </property>
+      <property>
+        <name>Maximum Buffer Size</name>
+        <value>1 MB</value>
+      </property>
+      <property>
+        <name>Maximum Capture Group Length</name>
+        <value>1024</value>
+      </property>
+      <property>
+        <name>Enable Canonical Equivalence</name>
+        <value>false</value>
+      </property>
+      <property>
+        <name>Enable Case-insensitive Matching</name>
+        <value>false</value>
+      </property>
+      <property>
+        <name>Permit Whitespace and Comments in Pattern</name>
+        <value>false</value>
+      </property>
+      <property>
+        <name>Enable DOTALL Mode</name>
+        <value>false</value>
+      </property>
+      <property>
+        <name>Enable Literal Parsing of the Pattern</name>
+        <value>false</value>
+      </property>
+      <property>
+        <name>Enable Multiline Mode</name>
+        <value>false</value>
+      </property>
+      <property>
+        <name>Enable Unicode-aware Case Folding</name>
+        <value>false</value>
+      </property>
+      <property>
+        <name>Enable Unicode Predefined Character Classes</name>
+        <value>false</value>
+      </property>
+      <property>
+        <name>Enable Unix Lines Mode</name>
+        <value>false</value>
+      </property>
+      <property>
+        <name>Include Capture Group 0</name>
+        <value>false</value>
+      </property>
+      <property>
+        <name>data</name>
+        <value>((?s:^.*$))</value>
+      </property>
+      <autoTerminatedRelationship>unmatched</autoTerminatedRelationship>
+    </processor>
+    <processor>
+      <id>92fd75c1-7d4c-4adc-bd2e-e3c33075dfb6</id>
+      <name>ReplaceText</name>
+      <position x="1740.0157470703125" y="1346.1141967773438"/>
+      <styles/>
+      <comment/>
+      <class>org.apache.nifi.processors.standard.ReplaceText</class>
+      <maxConcurrentTasks>1</maxConcurrentTasks>
+      <schedulingPeriod>0 sec</schedulingPeriod>
+      <penalizationPeriod>30 sec</penalizationPeriod>
+      <yieldPeriod>1 sec</yieldPeriod>
+      <bulletinLevel>WARN</bulletinLevel>
+      <lossTolerant>false</lossTolerant>
+      <scheduledState>RUNNING</scheduledState>
+      <schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
+      <runDurationNanos>0</runDurationNanos>
+      <property>
+        <name>Regular Expression</name>
+        <value>(?s:^.*$)</value>
+      </property>
+      <property>
+        <name>Replacement Value</name>
+        <value>${nextInt()}</value>
+      </property>
+      <property>
+        <name>Character Set</name>
+        <value>UTF-8</value>
+      </property>
+      <property>
+        <name>Maximum Buffer Size</name>
+        <value>1 MB</value>
+      </property>
+      <property>
+        <name>Replacement Strategy</name>
+        <value>Regex Replace</value>
+      </property>
+      <property>
+        <name>Evaluation Mode</name>
+        <value>Entire text</value>
+      </property>
+      <autoTerminatedRelationship>failure</autoTerminatedRelationship>
+    </processor>
+    <processor>
+      <id>d908041d-3f7a-4d07-bf76-cdee0c2e2c28</id>
+      <name>ExtractText</name>
+      <position x="1054.489013671875" y="411.98614501953125"/>
+      <styles/>
+      <comment/>
+      <class>org.apache.nifi.processors.standard.ExtractText</class>
+      <maxConcurrentTasks>1</maxConcurrentTasks>
+      <schedulingPeriod>0 sec</schedulingPeriod>
+      <penalizationPeriod>30 sec</penalizationPeriod>
+      <yieldPeriod>1 sec</yieldPeriod>
+      <bulletinLevel>WARN</bulletinLevel>
+      <lossTolerant>false</lossTolerant>
+      <scheduledState>RUNNING</scheduledState>
+      <schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
+      <runDurationNanos>0</runDurationNanos>
+      <property>
+        <name>Character Set</name>
+        <value>UTF-8</value>
+      </property>
+      <property>
+        <name>Maximum Buffer Size</name>
+        <value>1 MB</value>
+      </property>
+      <property>
+        <name>Maximum Capture Group Length</name>
+        <value>1024</value>
+      </property>
+      <property>
+        <name>Enable Canonical Equivalence</name>
+        <value>false</value>
+      </property>
+      <property>
+        <name>Enable Case-insensitive Matching</name>
+        <value>false</value>
+      </property>
+      <property>
+        <name>Permit Whitespace and Comments in Pattern</name>
+        <value>false</value>
+      </property>
+      <property>
+        <name>Enable DOTALL Mode</name>
+        <value>false</value>
+      </property>
+      <property>
+        <name>Enable Literal Parsing of the Pattern</name>
+        <value>false</value>
+      </property>
+      <property>
+        <name>Enable Multiline Mode</name>
+        <value>false</value>
+      </property>
+      <property>
+        <name>Enable Unicode-aware Case Folding</name>
+        <value>false</value>
+      </property>
+      <property>
+        <name>Enable Unicode Predefined Character Classes</name>
+        <value>false</value>
+      </property>
+      <property>
+        <name>Enable Unix Lines Mode</name>
+        <value>false</value>
+      </property>
+      <property>
+        <name>Include Capture Group 0</name>
+        <value>false</value>
+      </property>
+      <property>
+        <name>data</name>
+        <value>((?s:^.*$))</value>
+      </property>
+      <autoTerminatedRelationship>unmatched</autoTerminatedRelationship>
+    </processor>
+    <processor>
+      <id>dd6046fa-f346-461d-93a3-c65bcc38e3d8</id>
+      <name>RouteOnAttribute</name>
+      <position x="304.56959533691406" y="545.0221557617188"/>
+      <styles/>
+      <comment/>
+      <class>org.apache.nifi.processors.standard.RouteOnAttribute</class>
+      <maxConcurrentTasks>1</maxConcurrentTasks>
+      <schedulingPeriod>0 sec</schedulingPeriod>
+      <penalizationPeriod>30 sec</penalizationPeriod>
+      <yieldPeriod>1 sec</yieldPeriod>
+      <bulletinLevel>WARN</bulletinLevel>
+      <lossTolerant>false</lossTolerant>
+      <scheduledState>RUNNING</scheduledState>
+      <schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
+      <runDurationNanos>0</runDurationNanos>
+      <property>
+        <name>Routing Strategy</name>
+        <value>Route to Property name</value>
+      </property>
+      <property>
+        <name>content is even</name>
+        <value>${data:mod(2):equals(0)}</value>
+      </property>
+      <autoTerminatedRelationship>content is even</autoTerminatedRelationship>
+      <autoTerminatedRelationship>unmatched</autoTerminatedRelationship>
+    </processor>
+    <processor>
+      <id>6461ece1-db83-481f-88ba-534cd3a67b1b</id>
+      <name>RouteOnAttribute</name>
+      <position x="1740.9559326171875" y="1615.1141967773438"/>
+      <styles/>
+      <comment/>
+      <class>org.apache.nifi.processors.standard.RouteOnAttribute</class>
+      <maxConcurrentTasks>1</maxConcurrentTasks>
+      <schedulingPeriod>0 sec</schedulingPeriod>
+      <penalizationPeriod>30 sec</penalizationPeriod>
+      <yieldPeriod>1 sec</yieldPeriod>
+      <bulletinLevel>WARN</bulletinLevel>
+      <lossTolerant>false</lossTolerant>
+      <scheduledState>RUNNING</scheduledState>
+      <schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
+      <runDurationNanos>0</runDurationNanos>
+      <property>
+        <name>Routing Strategy</name>
+        <value>Route to Property name</value>
+      </property>
+      <property>
+        <name>content is even</name>
+        <value>${data:mod(2):equals(0)}</value>
+      </property>
+      <autoTerminatedRelationship>content is even</autoTerminatedRelationship>
+      <autoTerminatedRelationship>unmatched</autoTerminatedRelationship>
+    </processor>
+    <processor>
+      <id>65140227-fe60-42ad-beb9-69c36bc75acb</id>
+      <name>ReplaceText</name>
+      <position x="683.0" y="407.0"/>
+      <styles/>
+      <comment/>
+      <class>org.apache.nifi.processors.standard.ReplaceText</class>
+      <maxConcurrentTasks>1</maxConcurrentTasks>
+      <schedulingPeriod>0 sec</schedulingPeriod>
+      <penalizationPeriod>30 sec</penalizationPeriod>
+      <yieldPeriod>1 sec</yieldPeriod>
+      <bulletinLevel>WARN</bulletinLevel>
+      <lossTolerant>false</lossTolerant>
+      <scheduledState>RUNNING</scheduledState>
+      <schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
+      <runDurationNanos>0</runDurationNanos>
+      <property>
+        <name>Regular Expression</name>
+        <value>(?s:^.*$)</value>
+      </property>
+      <property>
+        <name>Replacement Value</name>
+        <value>${nextInt()}</value>
+      </property>
+      <property>
+        <name>Character Set</name>
+        <value>UTF-8</value>
+      </property>
+      <property>
+        <name>Maximum Buffer Size</name>
+        <value>1 MB</value>
+      </property>
+      <property>
+        <name>Replacement Strategy</name>
+        <value>Regex Replace</value>
+      </property>
+      <property>
+        <name>Evaluation Mode</name>
+        <value>Entire text</value>
+      </property>
+      <autoTerminatedRelationship>failure</autoTerminatedRelationship>
+    </processor>
+    <processor>
+      <id>3d47cfae-2ada-4992-8597-e7e814490749</id>
+      <name>ReplaceText</name>
+      <position x="221.6471710205078" y="893.7507019042969"/>
+      <styles/>
+      <comment/>
+      <class>org.apache.nifi.processors.standard.ReplaceText</class>
+      <maxConcurrentTasks>1</maxConcurrentTasks>
+      <schedulingPeriod>0 sec</schedulingPeriod>
+      <penalizationPeriod>30 sec</penalizationPeriod>
+      <yieldPeriod>1 sec</yieldPeriod>
+      <bulletinLevel>WARN</bulletinLevel>
+      <lossTolerant>false</lossTolerant>
+      <scheduledState>RUNNING</scheduledState>
+      <schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
+      <runDurationNanos>0</runDurationNanos>
+      <property>
+        <name>Regular Expression</name>
+        <value>(?s:^.*$)</value>
+      </property>
+      <property>
+        <name>Replacement Value</name>
+        <value>${nextInt()}</value>
+      </property>
+      <property>
+        <name>Character Set</name>
+        <value>UTF-8</value>
+      </property>
+      <property>
+        <name>Maximum Buffer Size</name>
+        <value>1 MB</value>
+      </property>
+      <property>
+        <name>Replacement Strategy</name>
+        <value>Regex Replace</value>
+      </property>
+      <property>
+        <name>Evaluation Mode</name>
+        <value>Entire text</value>
+      </property>
+      <autoTerminatedRelationship>failure</autoTerminatedRelationship>
+    </processor>
+    <label>
+      <id>4b34ece6-21eb-4191-8284-6d478cc6548b</id>
+      <position x="696.0520892861283" y="193.75377880056814"/>
+      <size height="33.134117126464844" width="268.2286682128906"/>
+      <styles>
+        <style name="font-size">20px</style>
+      </styles>
+      <value>Position Scaling Test Flow</value>
+    </label>
+    <funnel>
+      <id>a008d0fa-ab77-48ff-bc46-09a92344b4a5</id>
+      <position x="617.7619729219375" y="816.7007985295049"/>
+    </funnel>
+    <funnel>
+      <id>2c272f59-c00b-44cb-a6b6-b4a6510ac3db</id>
+      <position x="995.2340698242188" y="818.6952514648438"/>
+    </funnel>
+    <processGroup>
+      <id>e7e03999-bbb8-491f-bba0-dbf772ec1966</id>
+      <name>Process Group</name>
+      <position x="1712.4232974441734" y="1129.179978284284"/>
+      <comment/>
+      <processor>
+        <id>aea93188-0832-4876-9bb8-38901a773922</id>
+        <name>ExtractText</name>
+        <position x="-699.489013671875" y="-244.98614501953125"/>
+        <styles/>
+        <comment/>
+        <class>org.apache.nifi.processors.standard.ExtractText</class>
+        <maxConcurrentTasks>1</maxConcurrentTasks>
+        <schedulingPeriod>0 sec</schedulingPeriod>
+        <penalizationPeriod>30 sec</penalizationPeriod>
+        <yieldPeriod>1 sec</yieldPeriod>
+        <bulletinLevel>WARN</bulletinLevel>
+        <lossTolerant>false</lossTolerant>
+        <scheduledState>RUNNING</scheduledState>
+        <schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
+        <runDurationNanos>0</runDurationNanos>
+        <property>
+          <name>Character Set</name>
+          <value>UTF-8</value>
+        </property>
+        <property>
+          <name>Maximum Buffer Size</name>
+          <value>1 MB</value>
+        </property>
+        <property>
+          <name>Maximum Capture Group Length</name>
+          <value>1024</value>
+        </property>
+        <property>
+          <name>Enable Canonical Equivalence</name>
+          <value>false</value>
+        </property>
+        <property>
+          <name>Enable Case-insensitive Matching</name>
+          <value>false</value>
+        </property>
+        <property>
+          <name>Permit Whitespace and Comments in Pattern</name>
+          <value>false</value>
+        </property>
+        <property>
+          <name>Enable DOTALL Mode</name>
+          <value>false</value>
+        </property>
+        <property>
+          <name>Enable Literal Parsing of the Pattern</name>
+          <value>false</value>
+        </property>
+        <property>
+          <name>Enable Multiline Mode</name>
+          <value>false</value>
+        </property>
+        <property>
+          <name>Enable Unicode-aware Case Folding</name>
+          <value>false</value>
+        </property>
+        <property>
+          <name>Enable Unicode Predefined Character Classes</name>
+          <value>false</value>
+        </property>
+        <property>
+          <name>Enable Unix Lines Mode</name>
+          <value>false</value>
+        </property>
+        <property>
+          <name>Include Capture Group 0</name>
+          <value>false</value>
+        </property>
+        <property>
+          <name>data</name>
+          <value>((?s:^.*$))</value>
+        </property>
+        <autoTerminatedRelationship>unmatched</autoTerminatedRelationship>
+      </processor>
+      <processor>
+        <id>3b3957f9-91ff-4817-9a7f-fa80f78c2b72</id>
+        <name>ReplaceText</name>
+        <position x="493.489013671875" y="81.98614501953125"/>
+        <styles/>
+        <comment/>
+        <class>org.apache.nifi.processors.standard.ReplaceText</class>
+        <maxConcurrentTasks>1</maxConcurrentTasks>
+        <schedulingPeriod>0 sec</schedulingPeriod>
+        <penalizationPeriod>30 sec</penalizationPeriod>
+        <yieldPeriod>1 sec</yieldPeriod>
+        <bulletinLevel>WARN</bulletinLevel>
+        <lossTolerant>false</lossTolerant>
+        <scheduledState>RUNNING</scheduledState>
+        <schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
+        <runDurationNanos>0</runDurationNanos>
+        <property>
+          <name>Regular Expression</name>
+          <value>(?s:^.*$)</value>
+        </property>
+        <property>
+          <name>Replacement Value</name>
+          <value>${nextInt()}</value>
+        </property>
+        <property>
+          <name>Character Set</name>
+          <value>UTF-8</value>
+        </property>
+        <property>
+          <name>Maximum Buffer Size</name>
+          <value>1 MB</value>
+        </property>
+        <property>
+          <name>Replacement Strategy</name>
+          <value>Regex Replace</value>
+        </property>
+        <property>
+          <name>Evaluation Mode</name>
+          <value>Entire text</value>
+        </property>
+        <autoTerminatedRelationship>failure</autoTerminatedRelationship>
+      </processor>
+      <processor>
+        <id>79d49fec-3b95-4e7b-a949-0d414594e7fa</id>
+        <name>RouteOnAttribute</name>
+        <position x="878.489013671875" y="408.98614501953125"/>
+        <styles/>
+        <comment/>
+        <class>org.apache.nifi.processors.standard.RouteOnAttribute</class>
+        <maxConcurrentTasks>1</maxConcurrentTasks>
+        <schedulingPeriod>0 sec</schedulingPeriod>
+        <penalizationPeriod>30 sec</penalizationPeriod>
+        <yieldPeriod>1 sec</yieldPeriod>
+        <bulletinLevel>WARN</bulletinLevel>
+        <lossTolerant>false</lossTolerant>
+        <scheduledState>RUNNING</scheduledState>
+        <schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
+        <runDurationNanos>0</runDurationNanos>
+        <property>
+          <name>Routing Strategy</name>
+          <value>Route to Property name</value>
+        </property>
+        <property>
+          <name>content is even</name>
+          <value>${data:mod(2):equals(0)}</value>
+        </property>
+        <autoTerminatedRelationship>unmatched</autoTerminatedRelationship>
+      </processor>
+      <inputPort>
+        <id>5f2c8c29-4cea-4da9-9a48-23abe40bd08d</id>
+        <name>Input</name>
+        <position x="153.7276087194923" y="-40.93787518813599"/>
+        <comments/>
+        <scheduledState>RUNNING</scheduledState>
+      </inputPort>
+      <outputPort>
+        <id>b6e55392-154f-46d6-ba5a-4d1311659094</id>
+        <name>Output</name>
+        <position x="1331.9999908843054" y="686.9999981428347"/>
+        <comments/>
+        <scheduledState>RUNNING</scheduledState>
+      </outputPort>
+      <connection>
+        <id>7b7f871b-8f4b-4ce7-a9d4-2f810bf2b55f</id>
+        <name/>
+        <bendPoints/>
+        <labelIndex>1</labelIndex>
+        <zIndex>0</zIndex>
+        <sourceId>aea93188-0832-4876-9bb8-38901a773922</sourceId>
+        <sourceGroupId>e7e03999-bbb8-491f-bba0-dbf772ec1966</sourceGroupId>
+        <sourceType>PROCESSOR</sourceType>
+        <destinationId>79d49fec-3b95-4e7b-a949-0d414594e7fa</destinationId>
+        <destinationGroupId>e7e03999-bbb8-491f-bba0-dbf772ec1966</destinationGroupId>
+        <destinationType>PROCESSOR</destinationType>
+        <relationship>matched</relationship>
+        <maxWorkQueueSize>0</maxWorkQueueSize>
+        <maxWorkQueueDataSize>0 MB</maxWorkQueueDataSize>
+        <flowFileExpiration>0 sec</flowFileExpiration>
+      </connection>
+      <connection>
+        <id>8bf960ca-ba33-4b5b-9830-1a808dd2db0e</id>
+        <name/>
+        <bendPoints/>
+        <labelIndex>1</labelIndex>
+        <zIndex>0</zIndex>
+        <sourceId>79d49fec-3b95-4e7b-a949-0d414594e7fa</sourceId>
+        <sourceGroupId>e7e03999-bbb8-491f-bba0-dbf772ec1966</sourceGroupId>
+        <sourceType>PROCESSOR</sourceType>
+        <destinationId>b6e55392-154f-46d6-ba5a-4d1311659094</destinationId>
+        <destinationGroupId>e7e03999-bbb8-491f-bba0-dbf772ec1966</destinationGroupId>
+        <destinationType>OUTPUT_PORT</destinationType>
+        <relationship>content is even</relationship>
+        <maxWorkQueueSize>0</maxWorkQueueSize>
+        <maxWorkQueueDataSize>0 MB</maxWorkQueueDataSize>
+        <flowFileExpiration>0 sec</flowFileExpiration>
+      </connection>
+      <connection>
+        <id>a82d78cb-de24-40e3-8fb9-d2117919cb31</id>
+        <name/>
+        <bendPoints/>
+        <labelIndex>1</labelIndex>
+        <zIndex>0</zIndex>
+        <sourceId>3b3957f9-91ff-4817-9a7f-fa80f78c2b72</sourceId>
+        <sourceGroupId>e7e03999-bbb8-491f-bba0-dbf772ec1966</sourceGroupId>
+        <sourceType>PROCESSOR</sourceType>
+        <destinationId>aea93188-0832-4876-9bb8-38901a773922</destinationId>
+        <destinationGroupId>e7e03999-bbb8-491f-bba0-dbf772ec1966</destinationGroupId>
+        <destinationType>PROCESSOR</destinationType>
+        <relationship>success</relationship>
+        <maxWorkQueueSize>0</maxWorkQueueSize>
+        <maxWorkQueueDataSize>0 MB</maxWorkQueueDataSize>
+        <flowFileExpiration>0 sec</flowFileExpiration>
+      </connection>
+      <connection>
+        <id>197ffc73-76d3-4e83-84ca-a431fef50a8f</id>
+        <name/>
+        <bendPoints/>
+        <labelIndex>1</labelIndex>
+        <zIndex>0</zIndex>
+        <sourceId>5f2c8c29-4cea-4da9-9a48-23abe40bd08d</sourceId>
+        <sourceGroupId>e7e03999-bbb8-491f-bba0-dbf772ec1966</sourceGroupId>
+        <sourceType>INPUT_PORT</sourceType>
+        <destinationId>3b3957f9-91ff-4817-9a7f-fa80f78c2b72</destinationId>
+        <destinationGroupId>e7e03999-bbb8-491f-bba0-dbf772ec1966</destinationGroupId>
+        <destinationType>PROCESSOR</destinationType>
+        <relationship/>
+        <maxWorkQueueSize>0</maxWorkQueueSize>
+        <maxWorkQueueDataSize>0 MB</maxWorkQueueDataSize>
+        <flowFileExpiration>0 sec</flowFileExpiration>
+      </connection>
+    </processGroup>
+    <remoteProcessGroup>
+      <id>b1ebe9d0-56db-4f2e-8448-b78ec9daab66</id>
+      <name>https://localhost:8080/nifi</name>
+      <position x="1099.124343746611" y="690.4645198499999"/>
+      <comment/>
+      <url>https://localhost:8080/nifi</url>
+      <timeout>30 sec</timeout>
+      <yieldPeriod>10 sec</yieldPeriod>
+      <transmitting>false</transmitting>
+    </remoteProcessGroup>
+    <connection>
+      <id>c08639c3-fdf4-465d-9f17-361fc2b8717f</id>
+      <name/>
+      <bendPoints>
+        <bendPoint x="1002.2285766601562" y="248.48902893066406"/>
+      </bendPoints>
+      <labelIndex>0</labelIndex>
+      <zIndex>0</zIndex>
+      <sourceId>2c272f59-c00b-44cb-a6b6-b4a6510ac3db</sourceId>
+      <sourceGroupId>32b64df5-b2f5-4c47-9880-3d0bd5c8ff15</sourceGroupId>
+      <sourceType>FUNNEL</sourceType>
+      <destinationId>ab9e02ee-511f-48de-ac07-da46481c1a70</destinationId>
+      <destinationGroupId>32b64df5-b2f5-4c47-9880-3d0bd5c8ff15</destinationGroupId>
+      <destinationType>PROCESSOR</destinationType>
+      <relationship/>
+      <maxWorkQueueSize>0</maxWorkQueueSize>
+      <maxWorkQueueDataSize>0 MB</maxWorkQueueDataSize>
+      <flowFileExpiration>0 sec</flowFileExpiration>
+    </connection>
+    <connection>
+      <id>d7b307c3-9a81-4764-ac47-86f1b34e3789</id>
+      <name/>
+      <bendPoints/>
+      <labelIndex>1</labelIndex>
+      <zIndex>0</zIndex>
+      <sourceId>65140227-fe60-42ad-beb9-69c36bc75acb</sourceId>
+      <sourceGroupId>32b64df5-b2f5-4c47-9880-3d0bd5c8ff15</sourceGroupId>
+      <sourceType>PROCESSOR</sourceType>
+      <destinationId>a05b4e5f-059f-4105-af89-a551098d2779</destinationId>
+      <destinationGroupId>32b64df5-b2f5-4c47-9880-3d0bd5c8ff15</destinationGroupId>
+      <destinationType>PROCESSOR</destinationType>
+      <relationship>success</relationship>
+      <maxWorkQueueSize>0</maxWorkQueueSize>
+      <maxWorkQueueDataSize>0 MB</maxWorkQueueDataSize>
+      <flowFileExpiration>0 sec</flowFileExpiration>
+    </connection>
+    <connection>
+      <id>2559c168-06e9-456c-9de7-72220127c35a</id>
+      <name/>
+      <bendPoints/>
+      <labelIndex>1</labelIndex>
+      <zIndex>0</zIndex>
+      <sourceId>2c272f59-c00b-44cb-a6b6-b4a6510ac3db</sourceId>
+      <sourceGroupId>32b64df5-b2f5-4c47-9880-3d0bd5c8ff15</sourceGroupId>
+      <sourceType>FUNNEL</sourceType>
+      <destinationId>74af00f4-5b4a-4236-bae0-ebc6bef5ae1f</destinationId>
+      <destinationGroupId>32b64df5-b2f5-4c47-9880-3d0bd5c8ff15</destinationGroupId>
+      <destinationType>PROCESSOR</destinationType>
+      <relationship/>
+      <maxWorkQueueSize>0</maxWorkQueueSize>
+      <maxWorkQueueDataSize>0 MB</maxWorkQueueDataSize>
+      <flowFileExpiration>0 sec</flowFileExpiration>
+    </connection>
+    <connection>
+      <id>805d91a6-aa21-4cd4-a14f-28063fd7da52</id>
+      <name/>
+      <bendPoints/>
+      <labelIndex>1</labelIndex>
+      <zIndex>0</zIndex>
+      <sourceId>a4b100b5-f3da-41ed-8ed9-a198d3f4aba3</sourceId>
+      <sourceGroupId>32b64df5-b2f5-4c47-9880-3d0bd5c8ff15</sourceGroupId>
+      <sourceType>PROCESSOR</sourceType>
+      <destinationId>6461ece1-db83-481f-88ba-534cd3a67b1b</destinationId>
+      <destinationGroupId>32b64df5-b2f5-4c47-9880-3d0bd5c8ff15</destinationGroupId>
+      <destinationType>PROCESSOR</destinationType>
+      <relationship>matched</relationship>
+      <maxWorkQueueSize>0</maxWorkQueueSize>
+      <maxWorkQueueDataSize>0 MB</maxWorkQueueDataSize>
+      <flowFileExpiration>0 sec</flowFileExpiration>
+    </connection>
+    <connection>
+      <id>e2f12e55-8b85-4e04-99c7-c33718b96495</id>
+      <name/>
+      <bendPoints/>
+      <labelIndex>1</labelIndex>
+      <zIndex>0</zIndex>
+      <sourceId>92fd75c1-7d4c-4adc-bd2e-e3c33075dfb6</sourceId>
+      <sourceGroupId>32b64df5-b2f5-4c47-9880-3d0bd5c8ff15</sourceGroupId>
+      <sourceType>PROCESSOR</sourceType>
+      <destinationId>a4b100b5-f3da-41ed-8ed9-a198d3f4aba3</destinationId>
+      <destinationGroupId>32b64df5-b2f5-4c47-9880-3d0bd5c8ff15</destinationGroupId>
+      <destinationType>PROCESSOR</destinationType>
+      <relationship>success</relationship>
+      <maxWorkQueueSize>0</maxWorkQueueSize>
+      <maxWorkQueueDataSize>0 MB</maxWorkQueueDataSize>
+      <flowFileExpiration>0 sec</flowFileExpiration>
+    </connection>
+    <connection>
+      <id>9a53fe17-7b7b-4a29-b993-b19fc7ba3e9b</id>
+      <name/>
+      <bendPoints/>
+      <labelIndex>1</labelIndex>
+      <zIndex>0</zIndex>
+      <sourceId>b6e55392-154f-46d6-ba5a-4d1311659094</sourceId>
+      <sourceGroupId>e7e03999-bbb8-491f-bba0-dbf772ec1966</sourceGroupId>
+      <sourceType>OUTPUT_PORT</sourceType>
+      <destinationId>92fd75c1-7d4c-4adc-bd2e-e3c33075dfb6</destinationId>
+      <destinationGroupId>32b64df5-b2f5-4c47-9880-3d0bd5c8ff15</destinationGroupId>
+      <destinationType>PROCESSOR</destinationType>
+      <relationship/>
+      <maxWorkQueueSize>0</maxWorkQueueSize>
+      <maxWorkQueueDataSize>0 MB</maxWorkQueueDataSize>
+      <flowFileExpiration>0 sec</flowFileExpiration>
+    </connection>
+    <connection>
+      <id>657c6894-2e76-4dd1-bcfe-94e8beeb82ff</id>
+      <name/>
+      <bendPoints/>
+      <labelIndex>1</labelIndex>
+      <zIndex>0</zIndex>
+      <sourceId>74af00f4-5b4a-4236-bae0-ebc6bef5ae1f</sourceId>
+      <sourceGroupId>32b64df5-b2f5-4c47-9880-3d0bd5c8ff15</sourceGroupId>
+      <sourceType>PROCESSOR</sourceType>
+      <destinationId>2a1e8019-5264-48e7-bc61-8d71c4ecaa82</destinationId>
+      <destinationGroupId>32b64df5-b2f5-4c47-9880-3d0bd5c8ff15</destinationGroupId>
+      <destinationType>PROCESSOR</destinationType>
+      <relationship>success</relationship>
+      <maxWorkQueueSize>0</maxWorkQueueSize>
+      <maxWorkQueueDataSize>0 MB</maxWorkQueueDataSize>
+      <flowFileExpiration>0 sec</flowFileExpiration>
+    </connection>
+    <connection>
+      <id>be5e2f01-7a6f-49d2-80b0-2dbb7b4efea5</id>
+      <name/>
+      <bendPoints/>
+      <labelIndex>1</labelIndex>
+      <zIndex>0</zIndex>
+      <sourceId>0e49512d-67f4-4b74-9880-ea2e2fb3436b</sourceId>
+      <sourceGroupId>32b64df5-b2f5-4c47-9880-3d0bd5c8ff15</sourceGroupId>
+      <sourceType>PROCESSOR</sourceType>
+      <destinationId>3dae3e31-ab40-49ca-bb86-21e91f24ee97</destinationId>
+      <destinationGroupId>32b64df5-b2f5-4c47-9880-3d0bd5c8ff15</destinationGroupId>
+      <destinationType>PROCESSOR</destinationType>
+      <relationship>matched</relationship>
+      <maxWorkQueueSize>0</maxWorkQueueSize>
+      <maxWorkQueueDataSize>0 MB</maxWorkQueueDataSize>
+      <flowFileExpiration>0 sec</flowFileExpiration>
+    </connection>
+    <connection>
+      <id>c9f12359-99bb-47c4-bac7-9fc9e1f8779f</id>
+      <name/>
+      <bendPoints/>
+      <labelIndex>1</labelIndex>
+      <zIndex>0</zIndex>
+      <sourceId>2a1e8019-5264-48e7-bc61-8d71c4ecaa82</sourceId>
+      <sourceGroupId>32b64df5-b2f5-4c47-9880-3d0bd5c8ff15</sourceGroupId>
+      <sourceType>PROCESSOR</sourceType>
+      <destinationId>c697e51f-aa4f-4cbf-a4e7-25156970a360</destinationId>
+      <destinationGroupId>32b64df5-b2f5-4c47-9880-3d0bd5c8ff15</destinationGroupId>
+      <destinationType>PROCESSOR</destinationType>
+      <relationship>matched</relationship>
+      <maxWorkQueueSize>0</maxWorkQueueSize>
+      <maxWorkQueueDataSize>0 MB</maxWorkQueueDataSize>
+      <flowFileExpiration>0 sec</flowFileExpiration>
+    </connection>
+    <connection>
+      <id>2087d4da-e40c-4674-ac98-e11e8f0f1851</id>
+      <name/>
+      <bendPoints/>
+      <labelIndex>1</labelIndex>
+      <zIndex>0</zIndex>
+      <sourceId>f3063c47-c8ae-4b25-bd71-98dffdf33e0a</sourceId>
+      <sourceGroupId>32b64df5-b2f5-4c47-9880-3d0bd5c8ff15</sourceGroupId>
+      <sourceType>PROCESSOR</sourceType>
+      <destinationId>65140227-fe60-42ad-beb9-69c36bc75acb</destinationId>
+      <destinationGroupId>32b64df5-b2f5-4c47-9880-3d0bd5c8ff15</destinationGroupId>
+      <destinationType>PROCESSOR</destinationType>
+      <relationship>success</relationship>
+      <maxWorkQueueSize>0</maxWorkQueueSize>
+      <maxWorkQueueDataSize>0 MB</maxWorkQueueDataSize>
+      <flowFileExpiration>0 sec</flowFileExpiration>
+    </connection>
+    <connection>
+      <id>8a6298e5-2b79-4099-8b21-ab35c2c663c4</id>
+      <name/>
+      <bendPoints/>
+      <labelIndex>1</labelIndex>
+      <zIndex>0</zIndex>
+      <sourceId>d908041d-3f7a-4d07-bf76-cdee0c2e2c28</sourceId>
+      <sourceGroupId>32b64df5-b2f5-4c47-9880-3d0bd5c8ff15</sourceGroupId>
+      <sourceType>PROCESSOR</sourceType>
+      <destinationId>b1f6cb42-dbce-49a3-be9f-cfc6c889bb8b</destinationId>
+      <destinationGroupId>32b64df5-b2f5-4c47-9880-3d0bd5c8ff15</destinationGroupId>
+      <destinationType>PROCESSOR</destinationType>
+      <relationship>matched</relationship>
+      <maxWorkQueueSize>0</maxWorkQueueSize>
+      <maxWorkQueueDataSize>0 MB</maxWorkQueueDataSize>
+      <flowFileExpiration>0 sec</flowFileExpiration>
+    </connection>
+    <connection>
+      <id>69888bdf-518b-467c-b4aa-70dc97c5d5dc</id>
+      <name/>
+      <bendPoints/>
+      <labelIndex>1</labelIndex>
+      <zIndex>0</zIndex>
+      <sourceId>de1f9362-f8a5-44a0-bef7-9a6f608e6e66</sourceId>
+      <sourceGroupId>32b64df5-b2f5-4c47-9880-3d0bd5c8ff15</sourceGroupId>
+      <sourceType>PROCESSOR</sourceType>
+      <destinationId>dd6046fa-f346-461d-93a3-c65bcc38e3d8</destinationId>
+      <destinationGroupId>32b64df5-b2f5-4c47-9880-3d0bd5c8ff15</destinationGroupId>
+      <destinationType>PROCESSOR</destinationType>
+      <relationship>matched</relationship>
+      <maxWorkQueueSize>0</maxWorkQueueSize>
+      <maxWorkQueueDataSize>0 MB</maxWorkQueueDataSize>
+      <flowFileExpiration>0 sec</flowFileExpiration>
+    </connection>
+    <connection>
+      <id>e2fef810-29c7-4c7c-a127-9fcf01b27634</id>
+      <name/>
+      <bendPoints/>
+      <labelIndex>1</labelIndex>
+      <zIndex>0</zIndex>
+      <sourceId>3d47cfae-2ada-4992-8597-e7e814490749</sourceId>
+      <sourceGroupId>32b64df5-b2f5-4c47-9880-3d0bd5c8ff15</sourceGroupId>
+      <sourceType>PROCESSOR</sourceType>
+      <destinationId>0e49512d-67f4-4b74-9880-ea2e2fb3436b</destinationId>
+      <destinationGroupId>32b64df5-b2f5-4c47-9880-3d0bd5c8ff15</destinationGroupId>
+      <destinationType>PROCESSOR</destinationType>
+      <relationship>success</relationship>
+      <maxWorkQueueSize>0</maxWorkQueueSize>
+      <maxWorkQueueDataSize>0 MB</maxWorkQueueDataSize>
+      <flowFileExpiration>0 sec</flowFileExpiration>
+    </connection>
+    <connection>
+      <id>69ab1907-f0b7-490a-9630-95f886b4f49f</id>
+      <name/>
+      <bendPoints/>
+      <labelIndex>1</labelIndex>
+      <zIndex>0</zIndex>
+      <sourceId>4b771af6-af32-443f-b807-6b9f7c476e39</sourceId>
+      <sourceGroupId>32b64df5-b2f5-4c47-9880-3d0bd5c8ff15</sourceGroupId>
+      <sourceType>PROCESSOR</sourceType>
+      <destinationId>de1f9362-f8a5-44a0-bef7-9a6f608e6e66</destinationId>
+      <destinationGroupId>32b64df5-b2f5-4c47-9880-3d0bd5c8ff15</destinationGroupId>
+      <destinationType>PROCESSOR</destinationType>
+      <relationship>success</relationship>
+      <maxWorkQueueSize>0</maxWorkQueueSize>
+      <maxWorkQueueDataSize>0 MB</maxWorkQueueDataSize>
+      <flowFileExpiration>0 sec</flowFileExpiration>
+    </connection>
+    <connection>
+      <id>fb2d7868-d1f6-4f9a-83f2-2431acd4cf41</id>
+      <name/>
+      <bendPoints/>
+      <labelIndex>1</labelIndex>
+      <zIndex>0</zIndex>
+      <sourceId>b4369bf2-e5d5-4df8-b397-4d63c1a11d29</sourceId>
+      <sourceGroupId>32b64df5-b2f5-4c47-9880-3d0bd5c8ff15</sourceGroupId>
+      <sourceType>PROCESSOR</sourceType>
+      <destinationId>2c272f59-c00b-44cb-a6b6-b4a6510ac3db</destinationId>
+      <destinationGroupId>32b64df5-b2f5-4c47-9880-3d0bd5c8ff15</destinationGroupId>
+      <destinationType>FUNNEL</destinationType>
+      <relationship>data is even</relationship>
+      <maxWorkQueueSize>0</maxWorkQueueSize>
+      <maxWorkQueueDataSize>0 MB</maxWorkQueueDataSize>
+      <flowFileExpiration>0 sec</flowFileExpiration>
+    </connection>
+    <connection>
+      <id>2c06978d-8cc0-46f2-84c0-bf448029cdd9</id>
+      <name/>
+      <bendPoints/>
+      <labelIndex>1</labelIndex>
+      <zIndex>0</zIndex>
+      <sourceId>a05b4e5f-059f-4105-af89-a551098d2779</sourceId>
+      <sourceGroupId>32b64df5-b2f5-4c47-9880-3d0bd5c8ff15</sourceGroupId>
+      <sourceType>PROCESSOR</sourceType>
+      <destinationId>b4369bf2-e5d5-4df8-b397-4d63c1a11d29</destinationId>
+      <destinationGroupId>32b64df5-b2f5-4c47-9880-3d0bd5c8ff15</destinationGroupId>
+      <destinationType>PROCESSOR</destinationType>
+      <relationship>matched</relationship>
+      <maxWorkQueueSize>0</maxWorkQueueSize>
+      <maxWorkQueueDataSize>0 MB</maxWorkQueueDataSize>
+      <flowFileExpiration>0 sec</flowFileExpiration>
+    </connection>
+    <connection>
+      <id>a50b2dc1-baa9-402a-abf7-20e39b0dba0c</id>
+      <name/>
+      <bendPoints/>
+      <labelIndex>1</labelIndex>
+      <zIndex>0</zIndex>
+      <sourceId>c697e51f-aa4f-4cbf-a4e7-25156970a360</sourceId>
+      <sourceGroupId>32b64df5-b2f5-4c47-9880-3d0bd5c8ff15</sourceGroupId>
+      <sourceType>PROCESSOR</sourceType>
+      <destinationId>5f2c8c29-4cea-4da9-9a48-23abe40bd08d</destinationId>
+      <destinationGroupId>e7e03999-bbb8-491f-bba0-dbf772ec1966</destinationGroupId>
+      <destinationType>INPUT_PORT</destinationType>
+      <relationship>content is even</relationship>
+      <relationship>unmatched</relationship>
+      <maxWorkQueueSize>0</maxWorkQueueSize>
+      <maxWorkQueueDataSize>0 MB</maxWorkQueueDataSize>
+      <flowFileExpiration>0 sec</flowFileExpiration>
+    </connection>
+    <connection>
+      <id>a1cf21e6-2cf3-4cb6-b969-e3521035e5af</id>
+      <name/>
+      <bendPoints/>
+      <labelIndex>1</labelIndex>
+      <zIndex>0</zIndex>
+      <sourceId>a008d0fa-ab77-48ff-bc46-09a92344b4a5</sourceId>
+      <sourceGroupId>32b64df5-b2f5-4c47-9880-3d0bd5c8ff15</sourceGroupId>
+      <sourceType>FUNNEL</sourceType>
+      <destinationId>3d47cfae-2ada-4992-8597-e7e814490749</destinationId>
+      <destinationGroupId>32b64df5-b2f5-4c47-9880-3d0bd5c8ff15</destinationGroupId>
+      <destinationType>PROCESSOR</destinationType>
+      <relationship/>
+      <maxWorkQueueSize>0</maxWorkQueueSize>
+      <maxWorkQueueDataSize>0 MB</maxWorkQueueDataSize>
+      <flowFileExpiration>0 sec</flowFileExpiration>
+    </connection>
+    <connection>
+      <id>a08466d6-8c3e-43d7-9d36-0f5019845342</id>
+      <name/>
+      <bendPoints>
+        <bendPoint x="668.6912841796875" y="250.4862518310547"/>
+      </bendPoints>
+      <labelIndex>0</labelIndex>
+      <zIndex>0</zIndex>
+      <sourceId>a008d0fa-ab77-48ff-bc46-09a92344b4a5</sourceId>
+      <sourceGroupId>32b64df5-b2f5-4c47-9880-3d0bd5c8ff15</sourceGroupId>
+      <sourceType>FUNNEL</sourceType>
+      <destinationId>4b771af6-af32-443f-b807-6b9f7c476e39</destinationId>
+      <destinationGroupId>32b64df5-b2f5-4c47-9880-3d0bd5c8ff15</destinationGroupId>
+      <destinationType>PROCESSOR</destinationType>
+      <relationship/>
+      <maxWorkQueueSize>0</maxWorkQueueSize>
+      <maxWorkQueueDataSize>0 MB</maxWorkQueueDataSize>
+      <flowFileExpiration>0 sec</flowFileExpiration>
+    </connection>
+    <connection>
+      <id>988349d3-faf0-4ffb-8403-dd9db2376958</id>
+      <name/>
+      <bendPoints/>
+      <labelIndex>1</labelIndex>
+      <zIndex>0</zIndex>
+      <sourceId>ab9e02ee-511f-48de-ac07-da46481c1a70</sourceId>
+      <sourceGroupId>32b64df5-b2f5-4c47-9880-3d0bd5c8ff15</sourceGroupId>
+      <sourceType>PROCESSOR</sourceType>
+      <destinationId>d908041d-3f7a-4d07-bf76-cdee0c2e2c28</destinationId>
+      <destinationGroupId>32b64df5-b2f5-4c47-9880-3d0bd5c8ff15</destinationGroupId>
+      <destinationType>PROCESSOR</destinationType>
+      <relationship>success</relationship>
+      <maxWorkQueueSize>0</maxWorkQueueSize>
+      <maxWorkQueueDataSize>0 MB</maxWorkQueueDataSize>
+      <flowFileExpiration>0 sec</flowFileExpiration>
+    </connection>
+    <connection>
+      <id>3a1725d4-4e55-448f-8f52-453d9dbfc40b</id>
+      <name>data is odd</name>
+      <bendPoints/>
+      <labelIndex>1</labelIndex>
+      <zIndex>0</zIndex>
+      <sourceId>b4369bf2-e5d5-4df8-b397-4d63c1a11d29</sourceId>
+      <sourceGroupId>32b64df5-b2f5-4c47-9880-3d0bd5c8ff15</sourceGroupId>
+      <sourceType>PROCESSOR</sourceType>
+      <destinationId>a008d0fa-ab77-48ff-bc46-09a92344b4a5</destinationId>
+      <destinationGroupId>32b64df5-b2f5-4c47-9880-3d0bd5c8ff15</destinationGroupId>
+      <destinationType>FUNNEL</destinationType>
+      <relationship>unmatched</relationship>
+      <maxWorkQueueSize>0</maxWorkQueueSize>
+      <maxWorkQueueDataSize>0 MB</maxWorkQueueDataSize>
+      <flowFileExpiration>0 sec</flowFileExpiration>
+    </connection>
+  </rootGroup>
+  <controllerServices/>
+  <reportingTasks/>
+</flowController>

http://git-wip-us.apache.org/repos/asf/nifi/blob/433db235/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 3cae245..909b969 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1223,6 +1223,12 @@ language governing permissions and limitations under the License. -->
                 <scope>test</scope>
             </dependency>
             <dependency>
+                <groupId>org.spockframework</groupId>
+                <artifactId>spock-core</artifactId>
+                <version>1.0-groovy-2.4</version>
+                <scope>test</scope>
+            </dependency>
+            <dependency>
                 <groupId>org.hamcrest</groupId>
                 <artifactId>hamcrest-all</artifactId>
                 <version>1.3</version>
@@ -1291,9 +1297,22 @@ language governing permissions and limitations under the License. -->
                     <artifactId>maven-surefire-plugin</artifactId>
                     <version>2.18</version>
                     <configuration>
+                        <includes>
+                            <include>**/*Test.class</include>
+                            <include>**/Test*.class</include>
+                            <include>**/*Spec.class</include>
+                        </includes>
                         <redirectTestOutputToFile>true</redirectTestOutputToFile>
                         <argLine combine.children="append">-Xmx1G -Djava.net.preferIPv4Stack=true</argLine>
                     </configuration>
+                    <dependencies>
+                        <dependency>
+                            <!-- Force surefire to use JUnit -->
+                            <groupId>org.apache.maven.surefire</groupId>
+                            <artifactId>surefire-junit4</artifactId>
+                            <version>2.18</version>
+                        </dependency>
+                    </dependencies>
                 </plugin>
                 <plugin>
                     <groupId>org.apache.maven.plugins</groupId>


Mime
View raw message