From dc7d9510cd5e63dfe3888d6c9f5464fe6eb843f8 Mon Sep 17 00:00:00 2001
From: exceptionfactory
Date: Mon, 31 Jan 2022 15:06:13 -0600
Subject: [PATCH] NIFI-9610 Refactored nifi-processor-utils to separate modules
- Added nifi-bin-manager
- Added nifi-event-listen
- Added nifi-event-put
- Added nifi-listed-entity
- Added nifi-put-pattern
- Removed nifi-processor-utils
Signed-off-by: Nathan Gough
This closes #5729.
---
.../nifi-aws-processors/pom.xml | 10 +-
.../nifi-azure-processors/pom.xml | 7 +-
.../nifi-beats-processors/pom.xml | 2 +-
.../nifi-bin-manager/pom.xml | 36 ++
.../apache/nifi/processor/util/bin/Bin.java | 0
.../nifi/processor/util/bin/BinFiles.java | 0
.../nifi/processor/util/bin/BinManager.java | 0
.../util/bin/BinProcessingResult.java | 0
.../processor/util/bin/EvictionReason.java | 0
.../nifi-event-listen/pom.xml | 61 +++
.../AbstractListenEventBatchingProcessor.java | 0
.../listen/AbstractListenEventProcessor.java | 0
.../processor/util/listen/EventBatcher.java | 0
.../util/listen/FlowFileEventBatch.java | 0
.../util/listen/ListenerProperties.java | 0
.../dispatcher/AsyncChannelDispatcher.java | 0
.../listen/dispatcher/ByteBufferFactory.java | 0
.../listen/dispatcher/ByteBufferPool.java | 0
.../listen/dispatcher/ByteBufferSource.java | 0
.../listen/dispatcher/ChannelDispatcher.java | 0
.../dispatcher/DatagramChannelDispatcher.java | 0
.../processor/util/listen/event/Event.java | 0
.../util/listen/event/EventFactory.java | 0
.../util/listen/event/EventFactoryUtil.java | 0
.../util/listen/event/EventQueue.java | 0
.../listen/event/NetworkEventFactory.java | 0
.../util/listen/event/StandardEvent.java | 0
.../listen/event/StandardEventFactory.java | 0
.../event/StandardNetworkEventFactory.java | 0
.../listen/response/ChannelResponder.java | 0
.../util/listen/response/ChannelResponse.java | 0
.../util/listen/EventBatcherTest.java | 0
.../nifi-event-put/pom.xml | 46 ++
.../util/put/AbstractPutEventProcessor.java | 0
.../pom.xml | 68 +--
.../util/list/AbstractListProcessor.java | 0
.../processor/util/list/EntityListing.java | 0
.../util/list/ListProcessorTestWatcher.java | 0
.../processor/util/list/ListableEntity.java | 0
.../util/list/ListableEntityWrapper.java | 0
.../processor/util/list/ListedEntity.java | 0
.../util/list/ListedEntityTracker.java | 0
.../util/list/TestAbstractListProcessor.java | 3 +-
.../dispatcher/SocketChannelAttachment.java | 44 --
.../util/listen/handler/ChannelHandler.java | 55 --
.../util/list/ITAbstractListProcessor.java | 471 ------------------
.../nifi-put-pattern/pom.xml | 41 ++
.../util/pattern/DiscontinuedException.java | 0
.../processor/util/pattern/ErrorTypes.java | 0
.../util/pattern/ExceptionHandler.java | 0
.../util/pattern/PartialFunctions.java | 0
.../nifi/processor/util/pattern/Put.java | 0
.../nifi/processor/util/pattern/PutGroup.java | 0
.../util/pattern/RollbackOnFailure.java | 0
.../processor/util/pattern/RoutingResult.java | 0
.../util/pattern/TestExceptionHandler.java | 0
.../util/pattern/TestRollbackOnFailure.java | 0
nifi-nar-bundles/nifi-extension-utils/pom.xml | 21 +-
.../nifi-gcp-processors/pom.xml | 7 +-
.../nifi-hive-processors/pom.xml | 15 +-
.../nifi-hive3-processors/pom.xml | 7 +-
.../nifi-hive_1_1-processors/pom.xml | 15 +-
.../nifi-splunk-processors/pom.xml | 22 +-
.../nifi-standard-processors/pom.xml | 22 +-
.../nifi-system-test-extensions/pom.xml | 2 +-
65 files changed, 301 insertions(+), 654 deletions(-)
create mode 100644 nifi-nar-bundles/nifi-extension-utils/nifi-bin-manager/pom.xml
rename nifi-nar-bundles/nifi-extension-utils/{nifi-processor-utils => nifi-bin-manager}/src/main/java/org/apache/nifi/processor/util/bin/Bin.java (100%)
rename nifi-nar-bundles/nifi-extension-utils/{nifi-processor-utils => nifi-bin-manager}/src/main/java/org/apache/nifi/processor/util/bin/BinFiles.java (100%)
rename nifi-nar-bundles/nifi-extension-utils/{nifi-processor-utils => nifi-bin-manager}/src/main/java/org/apache/nifi/processor/util/bin/BinManager.java (100%)
rename nifi-nar-bundles/nifi-extension-utils/{nifi-processor-utils => nifi-bin-manager}/src/main/java/org/apache/nifi/processor/util/bin/BinProcessingResult.java (100%)
rename nifi-nar-bundles/nifi-extension-utils/{nifi-processor-utils => nifi-bin-manager}/src/main/java/org/apache/nifi/processor/util/bin/EvictionReason.java (100%)
create mode 100644 nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/pom.xml
rename nifi-nar-bundles/nifi-extension-utils/{nifi-processor-utils => nifi-event-listen}/src/main/java/org/apache/nifi/processor/util/listen/AbstractListenEventBatchingProcessor.java (100%)
rename nifi-nar-bundles/nifi-extension-utils/{nifi-processor-utils => nifi-event-listen}/src/main/java/org/apache/nifi/processor/util/listen/AbstractListenEventProcessor.java (100%)
rename nifi-nar-bundles/nifi-extension-utils/{nifi-processor-utils => nifi-event-listen}/src/main/java/org/apache/nifi/processor/util/listen/EventBatcher.java (100%)
rename nifi-nar-bundles/nifi-extension-utils/{nifi-processor-utils => nifi-event-listen}/src/main/java/org/apache/nifi/processor/util/listen/FlowFileEventBatch.java (100%)
rename nifi-nar-bundles/nifi-extension-utils/{nifi-processor-utils => nifi-event-listen}/src/main/java/org/apache/nifi/processor/util/listen/ListenerProperties.java (100%)
rename nifi-nar-bundles/nifi-extension-utils/{nifi-processor-utils => nifi-event-listen}/src/main/java/org/apache/nifi/processor/util/listen/dispatcher/AsyncChannelDispatcher.java (100%)
rename nifi-nar-bundles/nifi-extension-utils/{nifi-processor-utils => nifi-event-listen}/src/main/java/org/apache/nifi/processor/util/listen/dispatcher/ByteBufferFactory.java (100%)
rename nifi-nar-bundles/nifi-extension-utils/{nifi-processor-utils => nifi-event-listen}/src/main/java/org/apache/nifi/processor/util/listen/dispatcher/ByteBufferPool.java (100%)
rename nifi-nar-bundles/nifi-extension-utils/{nifi-processor-utils => nifi-event-listen}/src/main/java/org/apache/nifi/processor/util/listen/dispatcher/ByteBufferSource.java (100%)
rename nifi-nar-bundles/nifi-extension-utils/{nifi-processor-utils => nifi-event-listen}/src/main/java/org/apache/nifi/processor/util/listen/dispatcher/ChannelDispatcher.java (100%)
rename nifi-nar-bundles/nifi-extension-utils/{nifi-processor-utils => nifi-event-listen}/src/main/java/org/apache/nifi/processor/util/listen/dispatcher/DatagramChannelDispatcher.java (100%)
rename nifi-nar-bundles/nifi-extension-utils/{nifi-processor-utils => nifi-event-listen}/src/main/java/org/apache/nifi/processor/util/listen/event/Event.java (100%)
rename nifi-nar-bundles/nifi-extension-utils/{nifi-processor-utils => nifi-event-listen}/src/main/java/org/apache/nifi/processor/util/listen/event/EventFactory.java (100%)
rename nifi-nar-bundles/nifi-extension-utils/{nifi-processor-utils => nifi-event-listen}/src/main/java/org/apache/nifi/processor/util/listen/event/EventFactoryUtil.java (100%)
rename nifi-nar-bundles/nifi-extension-utils/{nifi-processor-utils => nifi-event-listen}/src/main/java/org/apache/nifi/processor/util/listen/event/EventQueue.java (100%)
rename nifi-nar-bundles/nifi-extension-utils/{nifi-processor-utils => nifi-event-listen}/src/main/java/org/apache/nifi/processor/util/listen/event/NetworkEventFactory.java (100%)
rename nifi-nar-bundles/nifi-extension-utils/{nifi-processor-utils => nifi-event-listen}/src/main/java/org/apache/nifi/processor/util/listen/event/StandardEvent.java (100%)
rename nifi-nar-bundles/nifi-extension-utils/{nifi-processor-utils => nifi-event-listen}/src/main/java/org/apache/nifi/processor/util/listen/event/StandardEventFactory.java (100%)
rename nifi-nar-bundles/nifi-extension-utils/{nifi-processor-utils => nifi-event-listen}/src/main/java/org/apache/nifi/processor/util/listen/event/StandardNetworkEventFactory.java (100%)
rename nifi-nar-bundles/nifi-extension-utils/{nifi-processor-utils => nifi-event-listen}/src/main/java/org/apache/nifi/processor/util/listen/response/ChannelResponder.java (100%)
rename nifi-nar-bundles/nifi-extension-utils/{nifi-processor-utils => nifi-event-listen}/src/main/java/org/apache/nifi/processor/util/listen/response/ChannelResponse.java (100%)
rename nifi-nar-bundles/nifi-extension-utils/{nifi-processor-utils => nifi-event-listen}/src/test/java/org/apache/nifi/processor/util/listen/EventBatcherTest.java (100%)
create mode 100644 nifi-nar-bundles/nifi-extension-utils/nifi-event-put/pom.xml
rename nifi-nar-bundles/nifi-extension-utils/{nifi-processor-utils => nifi-event-put}/src/main/java/org/apache/nifi/processor/util/put/AbstractPutEventProcessor.java (100%)
rename nifi-nar-bundles/nifi-extension-utils/{nifi-processor-utils => nifi-listed-entity}/pom.xml (53%)
rename nifi-nar-bundles/nifi-extension-utils/{nifi-processor-utils => nifi-listed-entity}/src/main/java/org/apache/nifi/processor/util/list/AbstractListProcessor.java (100%)
rename nifi-nar-bundles/nifi-extension-utils/{nifi-processor-utils => nifi-listed-entity}/src/main/java/org/apache/nifi/processor/util/list/EntityListing.java (100%)
rename nifi-nar-bundles/nifi-extension-utils/{nifi-processor-utils => nifi-listed-entity}/src/main/java/org/apache/nifi/processor/util/list/ListProcessorTestWatcher.java (100%)
rename nifi-nar-bundles/nifi-extension-utils/{nifi-processor-utils => nifi-listed-entity}/src/main/java/org/apache/nifi/processor/util/list/ListableEntity.java (100%)
rename nifi-nar-bundles/nifi-extension-utils/{nifi-processor-utils => nifi-listed-entity}/src/main/java/org/apache/nifi/processor/util/list/ListableEntityWrapper.java (100%)
rename nifi-nar-bundles/nifi-extension-utils/{nifi-processor-utils => nifi-listed-entity}/src/main/java/org/apache/nifi/processor/util/list/ListedEntity.java (100%)
rename nifi-nar-bundles/nifi-extension-utils/{nifi-processor-utils => nifi-listed-entity}/src/main/java/org/apache/nifi/processor/util/list/ListedEntityTracker.java (100%)
rename nifi-nar-bundles/nifi-extension-utils/{nifi-processor-utils => nifi-listed-entity}/src/test/java/org/apache/nifi/processor/util/list/TestAbstractListProcessor.java (99%)
delete mode 100644 nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/dispatcher/SocketChannelAttachment.java
delete mode 100644 nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/handler/ChannelHandler.java
delete mode 100644 nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/test/java/org/apache/nifi/processor/util/list/ITAbstractListProcessor.java
create mode 100644 nifi-nar-bundles/nifi-extension-utils/nifi-put-pattern/pom.xml
rename nifi-nar-bundles/nifi-extension-utils/{nifi-processor-utils => nifi-put-pattern}/src/main/java/org/apache/nifi/processor/util/pattern/DiscontinuedException.java (100%)
rename nifi-nar-bundles/nifi-extension-utils/{nifi-processor-utils => nifi-put-pattern}/src/main/java/org/apache/nifi/processor/util/pattern/ErrorTypes.java (100%)
rename nifi-nar-bundles/nifi-extension-utils/{nifi-processor-utils => nifi-put-pattern}/src/main/java/org/apache/nifi/processor/util/pattern/ExceptionHandler.java (100%)
rename nifi-nar-bundles/nifi-extension-utils/{nifi-processor-utils => nifi-put-pattern}/src/main/java/org/apache/nifi/processor/util/pattern/PartialFunctions.java (100%)
rename nifi-nar-bundles/nifi-extension-utils/{nifi-processor-utils => nifi-put-pattern}/src/main/java/org/apache/nifi/processor/util/pattern/Put.java (100%)
rename nifi-nar-bundles/nifi-extension-utils/{nifi-processor-utils => nifi-put-pattern}/src/main/java/org/apache/nifi/processor/util/pattern/PutGroup.java (100%)
rename nifi-nar-bundles/nifi-extension-utils/{nifi-processor-utils => nifi-put-pattern}/src/main/java/org/apache/nifi/processor/util/pattern/RollbackOnFailure.java (100%)
rename nifi-nar-bundles/nifi-extension-utils/{nifi-processor-utils => nifi-put-pattern}/src/main/java/org/apache/nifi/processor/util/pattern/RoutingResult.java (100%)
rename nifi-nar-bundles/nifi-extension-utils/{nifi-processor-utils => nifi-put-pattern}/src/test/java/org/apache/nifi/processor/util/pattern/TestExceptionHandler.java (100%)
rename nifi-nar-bundles/nifi-extension-utils/{nifi-processor-utils => nifi-put-pattern}/src/test/java/org/apache/nifi/processor/util/pattern/TestRollbackOnFailure.java (100%)
diff --git a/nifi-nar-bundles/nifi-aws-bundle/nifi-aws-processors/pom.xml b/nifi-nar-bundles/nifi-aws-bundle/nifi-aws-processors/pom.xml
index 1c8b255494..3c2eb7477f 100644
--- a/nifi-nar-bundles/nifi-aws-bundle/nifi-aws-processors/pom.xml
+++ b/nifi-nar-bundles/nifi-aws-bundle/nifi-aws-processors/pom.xml
@@ -35,7 +35,7 @@
org.apache.nifi
- nifi-processor-utils
+ nifi-listed-entity
1.16.0-SNAPSHOT
@@ -49,6 +49,14 @@
1.16.0-SNAPSHOT
provided
+
+ org.apache.nifi
+ nifi-record-serialization-service-api
+
+
+ org.apache.nifi
+ nifi-record
+
org.apache.nifi
nifi-ssl-context-service-api
diff --git a/nifi-nar-bundles/nifi-azure-bundle/nifi-azure-processors/pom.xml b/nifi-nar-bundles/nifi-azure-bundle/nifi-azure-processors/pom.xml
index 8225e79b0e..1da5e8a28d 100644
--- a/nifi-nar-bundles/nifi-azure-bundle/nifi-azure-processors/pom.xml
+++ b/nifi-nar-bundles/nifi-azure-bundle/nifi-azure-processors/pom.xml
@@ -165,6 +165,11 @@
jackson-databind
${jackson.version}
+
+ commons-io
+ commons-io
+ 2.11.0
+
com.google.guava
guava
@@ -220,7 +225,7 @@
org.apache.nifi
- nifi-processor-utils
+ nifi-listed-entity
1.16.0-SNAPSHOT
diff --git a/nifi-nar-bundles/nifi-beats-bundle/nifi-beats-processors/pom.xml b/nifi-nar-bundles/nifi-beats-bundle/nifi-beats-processors/pom.xml
index 012216f4e4..e3c53c75af 100644
--- a/nifi-nar-bundles/nifi-beats-bundle/nifi-beats-processors/pom.xml
+++ b/nifi-nar-bundles/nifi-beats-bundle/nifi-beats-processors/pom.xml
@@ -32,7 +32,7 @@
org.apache.nifi
- nifi-processor-utils
+ nifi-event-listen
1.16.0-SNAPSHOT
diff --git a/nifi-nar-bundles/nifi-extension-utils/nifi-bin-manager/pom.xml b/nifi-nar-bundles/nifi-extension-utils/nifi-bin-manager/pom.xml
new file mode 100644
index 0000000000..eac71e2c13
--- /dev/null
+++ b/nifi-nar-bundles/nifi-extension-utils/nifi-bin-manager/pom.xml
@@ -0,0 +1,36 @@
+
+
+
+ 4.0.0
+
+ org.apache.nifi
+ nifi-extension-utils
+ 1.16.0-SNAPSHOT
+
+ nifi-bin-manager
+ jar
+
+
+ org.apache.nifi
+ nifi-api
+
+
+ org.apache.nifi
+ nifi-utils
+ 1.16.0-SNAPSHOT
+
+
+
diff --git a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/bin/Bin.java b/nifi-nar-bundles/nifi-extension-utils/nifi-bin-manager/src/main/java/org/apache/nifi/processor/util/bin/Bin.java
similarity index 100%
rename from nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/bin/Bin.java
rename to nifi-nar-bundles/nifi-extension-utils/nifi-bin-manager/src/main/java/org/apache/nifi/processor/util/bin/Bin.java
diff --git a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/bin/BinFiles.java b/nifi-nar-bundles/nifi-extension-utils/nifi-bin-manager/src/main/java/org/apache/nifi/processor/util/bin/BinFiles.java
similarity index 100%
rename from nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/bin/BinFiles.java
rename to nifi-nar-bundles/nifi-extension-utils/nifi-bin-manager/src/main/java/org/apache/nifi/processor/util/bin/BinFiles.java
diff --git a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/bin/BinManager.java b/nifi-nar-bundles/nifi-extension-utils/nifi-bin-manager/src/main/java/org/apache/nifi/processor/util/bin/BinManager.java
similarity index 100%
rename from nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/bin/BinManager.java
rename to nifi-nar-bundles/nifi-extension-utils/nifi-bin-manager/src/main/java/org/apache/nifi/processor/util/bin/BinManager.java
diff --git a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/bin/BinProcessingResult.java b/nifi-nar-bundles/nifi-extension-utils/nifi-bin-manager/src/main/java/org/apache/nifi/processor/util/bin/BinProcessingResult.java
similarity index 100%
rename from nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/bin/BinProcessingResult.java
rename to nifi-nar-bundles/nifi-extension-utils/nifi-bin-manager/src/main/java/org/apache/nifi/processor/util/bin/BinProcessingResult.java
diff --git a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/bin/EvictionReason.java b/nifi-nar-bundles/nifi-extension-utils/nifi-bin-manager/src/main/java/org/apache/nifi/processor/util/bin/EvictionReason.java
similarity index 100%
rename from nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/bin/EvictionReason.java
rename to nifi-nar-bundles/nifi-extension-utils/nifi-bin-manager/src/main/java/org/apache/nifi/processor/util/bin/EvictionReason.java
diff --git a/nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/pom.xml b/nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/pom.xml
new file mode 100644
index 0000000000..c92f7d3a04
--- /dev/null
+++ b/nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/pom.xml
@@ -0,0 +1,61 @@
+
+
+
+ 4.0.0
+
+ org.apache.nifi
+ nifi-extension-utils
+ 1.16.0-SNAPSHOT
+
+ nifi-event-listen
+ jar
+
+
+ org.apache.nifi
+ nifi-api
+
+
+ org.apache.nifi
+ nifi-utils
+ 1.16.0-SNAPSHOT
+
+
+ org.apache.nifi
+ nifi-security-socket-ssl
+ 1.16.0-SNAPSHOT
+
+
+ org.apache.nifi
+ nifi-event-transport
+ 1.16.0-SNAPSHOT
+
+
+ commons-io
+ commons-io
+ 2.11.0
+
+
+ org.apache.commons
+ commons-lang3
+ 3.12.0
+
+
+ org.apache.nifi
+ nifi-mock
+ test
+
+
+
diff --git a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/AbstractListenEventBatchingProcessor.java b/nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/AbstractListenEventBatchingProcessor.java
similarity index 100%
rename from nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/AbstractListenEventBatchingProcessor.java
rename to nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/AbstractListenEventBatchingProcessor.java
diff --git a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/AbstractListenEventProcessor.java b/nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/AbstractListenEventProcessor.java
similarity index 100%
rename from nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/AbstractListenEventProcessor.java
rename to nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/AbstractListenEventProcessor.java
diff --git a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/EventBatcher.java b/nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/EventBatcher.java
similarity index 100%
rename from nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/EventBatcher.java
rename to nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/EventBatcher.java
diff --git a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/FlowFileEventBatch.java b/nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/FlowFileEventBatch.java
similarity index 100%
rename from nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/FlowFileEventBatch.java
rename to nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/FlowFileEventBatch.java
diff --git a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/ListenerProperties.java b/nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/ListenerProperties.java
similarity index 100%
rename from nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/ListenerProperties.java
rename to nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/ListenerProperties.java
diff --git a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/dispatcher/AsyncChannelDispatcher.java b/nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/dispatcher/AsyncChannelDispatcher.java
similarity index 100%
rename from nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/dispatcher/AsyncChannelDispatcher.java
rename to nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/dispatcher/AsyncChannelDispatcher.java
diff --git a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/dispatcher/ByteBufferFactory.java b/nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/dispatcher/ByteBufferFactory.java
similarity index 100%
rename from nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/dispatcher/ByteBufferFactory.java
rename to nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/dispatcher/ByteBufferFactory.java
diff --git a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/dispatcher/ByteBufferPool.java b/nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/dispatcher/ByteBufferPool.java
similarity index 100%
rename from nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/dispatcher/ByteBufferPool.java
rename to nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/dispatcher/ByteBufferPool.java
diff --git a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/dispatcher/ByteBufferSource.java b/nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/dispatcher/ByteBufferSource.java
similarity index 100%
rename from nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/dispatcher/ByteBufferSource.java
rename to nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/dispatcher/ByteBufferSource.java
diff --git a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/dispatcher/ChannelDispatcher.java b/nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/dispatcher/ChannelDispatcher.java
similarity index 100%
rename from nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/dispatcher/ChannelDispatcher.java
rename to nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/dispatcher/ChannelDispatcher.java
diff --git a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/dispatcher/DatagramChannelDispatcher.java b/nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/dispatcher/DatagramChannelDispatcher.java
similarity index 100%
rename from nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/dispatcher/DatagramChannelDispatcher.java
rename to nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/dispatcher/DatagramChannelDispatcher.java
diff --git a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/event/Event.java b/nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/event/Event.java
similarity index 100%
rename from nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/event/Event.java
rename to nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/event/Event.java
diff --git a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/event/EventFactory.java b/nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/event/EventFactory.java
similarity index 100%
rename from nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/event/EventFactory.java
rename to nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/event/EventFactory.java
diff --git a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/event/EventFactoryUtil.java b/nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/event/EventFactoryUtil.java
similarity index 100%
rename from nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/event/EventFactoryUtil.java
rename to nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/event/EventFactoryUtil.java
diff --git a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/event/EventQueue.java b/nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/event/EventQueue.java
similarity index 100%
rename from nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/event/EventQueue.java
rename to nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/event/EventQueue.java
diff --git a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/event/NetworkEventFactory.java b/nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/event/NetworkEventFactory.java
similarity index 100%
rename from nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/event/NetworkEventFactory.java
rename to nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/event/NetworkEventFactory.java
diff --git a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/event/StandardEvent.java b/nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/event/StandardEvent.java
similarity index 100%
rename from nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/event/StandardEvent.java
rename to nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/event/StandardEvent.java
diff --git a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/event/StandardEventFactory.java b/nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/event/StandardEventFactory.java
similarity index 100%
rename from nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/event/StandardEventFactory.java
rename to nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/event/StandardEventFactory.java
diff --git a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/event/StandardNetworkEventFactory.java b/nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/event/StandardNetworkEventFactory.java
similarity index 100%
rename from nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/event/StandardNetworkEventFactory.java
rename to nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/event/StandardNetworkEventFactory.java
diff --git a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/response/ChannelResponder.java b/nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/response/ChannelResponder.java
similarity index 100%
rename from nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/response/ChannelResponder.java
rename to nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/response/ChannelResponder.java
diff --git a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/response/ChannelResponse.java b/nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/response/ChannelResponse.java
similarity index 100%
rename from nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/response/ChannelResponse.java
rename to nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/response/ChannelResponse.java
diff --git a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/test/java/org/apache/nifi/processor/util/listen/EventBatcherTest.java b/nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/test/java/org/apache/nifi/processor/util/listen/EventBatcherTest.java
similarity index 100%
rename from nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/test/java/org/apache/nifi/processor/util/listen/EventBatcherTest.java
rename to nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/test/java/org/apache/nifi/processor/util/listen/EventBatcherTest.java
diff --git a/nifi-nar-bundles/nifi-extension-utils/nifi-event-put/pom.xml b/nifi-nar-bundles/nifi-extension-utils/nifi-event-put/pom.xml
new file mode 100644
index 0000000000..5b26e7f20a
--- /dev/null
+++ b/nifi-nar-bundles/nifi-extension-utils/nifi-event-put/pom.xml
@@ -0,0 +1,46 @@
+
+
+
+ 4.0.0
+
+ org.apache.nifi
+ nifi-extension-utils
+ 1.16.0-SNAPSHOT
+
+ nifi-event-put
+ jar
+
+
+ org.apache.nifi
+ nifi-api
+
+
+ org.apache.nifi
+ nifi-utils
+ 1.16.0-SNAPSHOT
+
+
+ org.apache.nifi
+ nifi-ssl-context-service-api
+ provided
+
+
+ org.apache.nifi
+ nifi-event-transport
+ 1.16.0-SNAPSHOT
+
+
+
diff --git a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/put/AbstractPutEventProcessor.java b/nifi-nar-bundles/nifi-extension-utils/nifi-event-put/src/main/java/org/apache/nifi/processor/util/put/AbstractPutEventProcessor.java
similarity index 100%
rename from nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/put/AbstractPutEventProcessor.java
rename to nifi-nar-bundles/nifi-extension-utils/nifi-event-put/src/main/java/org/apache/nifi/processor/util/put/AbstractPutEventProcessor.java
diff --git a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/pom.xml b/nifi-nar-bundles/nifi-extension-utils/nifi-listed-entity/pom.xml
similarity index 53%
rename from nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/pom.xml
rename to nifi-nar-bundles/nifi-extension-utils/nifi-listed-entity/pom.xml
index 6e99b2bc52..c5d7bfd2f3 100644
--- a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/pom.xml
+++ b/nifi-nar-bundles/nifi-extension-utils/nifi-listed-entity/pom.xml
@@ -20,16 +20,8 @@
nifi-extension-utils
1.16.0-SNAPSHOT
- nifi-processor-utils
+ nifi-listed-entity
jar
-
- This nifi-processor-utils module is designed to capture common patterns
- and utilities that can be leveraged by other processors or components to
- help promote reuse. These patterns may become framework level features
- or may simply be made available through this utility. It is ok for this
- module to have dependencies but care should be taken when adding dependencies
- as this increases the cost of utilizing this module in various nars.
-
org.apache.nifi
@@ -42,24 +34,11 @@
org.apache.nifi
- nifi-security-socket-ssl
- 1.16.0-SNAPSHOT
+ nifi-record-serialization-service-api
-
- commons-io
- commons-io
- 2.10.0
-
-
- org.apache.commons
- commons-lang3
- 3.11
-
-
org.apache.nifi
- nifi-ssl-context-service-api
- provided
+ nifi-record
com.fasterxml.jackson.core
@@ -71,12 +50,6 @@
nifi-distributed-cache-client-service-api
provided
-
- org.apache.nifi
- nifi-mock
- 1.16.0-SNAPSHOT
- test
-
junit
@@ -85,44 +58,13 @@
org.apache.nifi
- nifi-record-serialization-service-api
- compile
-
-
- org.apache.nifi
- nifi-record
- compile
+ nifi-mock
+ test
org.apache.nifi
nifi-mock-record-utils
test
-
- org.apache.nifi
- nifi-event-transport
- 1.16.0-SNAPSHOT
- compile
-
-
-
-
- jigsaw
-
- (1.8,)
-
-
-
- jakarta.xml.bind
- jakarta.xml.bind-api
-
-
- org.glassfish.jaxb
- jaxb-runtime
-
-
-
-
diff --git a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/list/AbstractListProcessor.java b/nifi-nar-bundles/nifi-extension-utils/nifi-listed-entity/src/main/java/org/apache/nifi/processor/util/list/AbstractListProcessor.java
similarity index 100%
rename from nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/list/AbstractListProcessor.java
rename to nifi-nar-bundles/nifi-extension-utils/nifi-listed-entity/src/main/java/org/apache/nifi/processor/util/list/AbstractListProcessor.java
diff --git a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/list/EntityListing.java b/nifi-nar-bundles/nifi-extension-utils/nifi-listed-entity/src/main/java/org/apache/nifi/processor/util/list/EntityListing.java
similarity index 100%
rename from nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/list/EntityListing.java
rename to nifi-nar-bundles/nifi-extension-utils/nifi-listed-entity/src/main/java/org/apache/nifi/processor/util/list/EntityListing.java
diff --git a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/list/ListProcessorTestWatcher.java b/nifi-nar-bundles/nifi-extension-utils/nifi-listed-entity/src/main/java/org/apache/nifi/processor/util/list/ListProcessorTestWatcher.java
similarity index 100%
rename from nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/list/ListProcessorTestWatcher.java
rename to nifi-nar-bundles/nifi-extension-utils/nifi-listed-entity/src/main/java/org/apache/nifi/processor/util/list/ListProcessorTestWatcher.java
diff --git a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/list/ListableEntity.java b/nifi-nar-bundles/nifi-extension-utils/nifi-listed-entity/src/main/java/org/apache/nifi/processor/util/list/ListableEntity.java
similarity index 100%
rename from nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/list/ListableEntity.java
rename to nifi-nar-bundles/nifi-extension-utils/nifi-listed-entity/src/main/java/org/apache/nifi/processor/util/list/ListableEntity.java
diff --git a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/list/ListableEntityWrapper.java b/nifi-nar-bundles/nifi-extension-utils/nifi-listed-entity/src/main/java/org/apache/nifi/processor/util/list/ListableEntityWrapper.java
similarity index 100%
rename from nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/list/ListableEntityWrapper.java
rename to nifi-nar-bundles/nifi-extension-utils/nifi-listed-entity/src/main/java/org/apache/nifi/processor/util/list/ListableEntityWrapper.java
diff --git a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/list/ListedEntity.java b/nifi-nar-bundles/nifi-extension-utils/nifi-listed-entity/src/main/java/org/apache/nifi/processor/util/list/ListedEntity.java
similarity index 100%
rename from nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/list/ListedEntity.java
rename to nifi-nar-bundles/nifi-extension-utils/nifi-listed-entity/src/main/java/org/apache/nifi/processor/util/list/ListedEntity.java
diff --git a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/list/ListedEntityTracker.java b/nifi-nar-bundles/nifi-extension-utils/nifi-listed-entity/src/main/java/org/apache/nifi/processor/util/list/ListedEntityTracker.java
similarity index 100%
rename from nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/list/ListedEntityTracker.java
rename to nifi-nar-bundles/nifi-extension-utils/nifi-listed-entity/src/main/java/org/apache/nifi/processor/util/list/ListedEntityTracker.java
diff --git a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/test/java/org/apache/nifi/processor/util/list/TestAbstractListProcessor.java b/nifi-nar-bundles/nifi-extension-utils/nifi-listed-entity/src/test/java/org/apache/nifi/processor/util/list/TestAbstractListProcessor.java
similarity index 99%
rename from nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/test/java/org/apache/nifi/processor/util/list/TestAbstractListProcessor.java
rename to nifi-nar-bundles/nifi-extension-utils/nifi-listed-entity/src/test/java/org/apache/nifi/processor/util/list/TestAbstractListProcessor.java
index 75ada70ba7..61fd67b3a8 100644
--- a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/test/java/org/apache/nifi/processor/util/list/TestAbstractListProcessor.java
+++ b/nifi-nar-bundles/nifi-extension-utils/nifi-listed-entity/src/test/java/org/apache/nifi/processor/util/list/TestAbstractListProcessor.java
@@ -49,7 +49,6 @@ import org.apache.nifi.util.MockFlowFile;
import org.apache.nifi.util.TestRunner;
import org.apache.nifi.util.TestRunners;
import org.glassfish.jersey.internal.guava.Predicates;
-import org.junit.Assert;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
@@ -208,7 +207,7 @@ public class TestAbstractListProcessor {
runner.run();
// Verify the local persistence file is removed
- Assert.assertTrue("Failed to remove persistence file", !persistenceFile.exists());
+ assertTrue("Failed to remove persistence file", !persistenceFile.exists());
// Verify the state manager now maintains the associated state
final Map expectedState = new HashMap<>();
diff --git a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/dispatcher/SocketChannelAttachment.java b/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/dispatcher/SocketChannelAttachment.java
deleted file mode 100644
index f2479f1fdd..0000000000
--- a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/dispatcher/SocketChannelAttachment.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.nifi.processor.util.listen.dispatcher;
-
-import org.apache.nifi.remote.io.socket.ssl.SSLSocketChannel;
-
-import java.nio.ByteBuffer;
-
-/**
- * Wrapper class so we can attach a buffer and/or an SSLSocketChannel to the selector key.
- * */
-public class SocketChannelAttachment {
-
- private final ByteBuffer byteBuffer;
- private final SSLSocketChannel sslSocketChannel;
-
- public SocketChannelAttachment(final ByteBuffer byteBuffer, final SSLSocketChannel sslSocketChannel) {
- this.byteBuffer = byteBuffer;
- this.sslSocketChannel = sslSocketChannel;
- }
-
- public ByteBuffer getByteBuffer() {
- return byteBuffer;
- }
-
- public SSLSocketChannel getSslSocketChannel() {
- return sslSocketChannel;
- }
-
-}
diff --git a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/handler/ChannelHandler.java b/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/handler/ChannelHandler.java
deleted file mode 100644
index 84ef062f4f..0000000000
--- a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/handler/ChannelHandler.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.nifi.processor.util.listen.handler;
-
-import org.apache.nifi.logging.ComponentLog;
-import org.apache.nifi.processor.util.listen.dispatcher.ChannelDispatcher;
-import org.apache.nifi.processor.util.listen.event.Event;
-import org.apache.nifi.processor.util.listen.event.EventFactory;
-import org.apache.nifi.processor.util.listen.event.EventQueue;
-
-import java.nio.channels.SelectionKey;
-import java.nio.charset.Charset;
-import java.util.concurrent.BlockingQueue;
-
-/**
- * Base class for all channel handlers.
- */
-public abstract class ChannelHandler implements Runnable {
-
- protected final SelectionKey key;
- protected final D dispatcher;
- protected final Charset charset;
- protected final EventFactory eventFactory;
- protected final EventQueue events;
- protected final ComponentLog logger;
-
- public ChannelHandler(final SelectionKey key,
- final D dispatcher,
- final Charset charset,
- final EventFactory eventFactory,
- final BlockingQueue events,
- final ComponentLog logger) {
- this.key = key;
- this.dispatcher = dispatcher;
- this.charset = charset;
- this.eventFactory = eventFactory;
- this.logger = logger;
- this.events = new EventQueue(events, logger);
- }
-
-}
diff --git a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/test/java/org/apache/nifi/processor/util/list/ITAbstractListProcessor.java b/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/test/java/org/apache/nifi/processor/util/list/ITAbstractListProcessor.java
deleted file mode 100644
index ec64785cb4..0000000000
--- a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/test/java/org/apache/nifi/processor/util/list/ITAbstractListProcessor.java
+++ /dev/null
@@ -1,471 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.nifi.processor.util.list;
-
-import org.apache.nifi.annotation.notification.PrimaryNodeState;
-import org.apache.nifi.components.ConfigVerificationResult;
-import org.apache.nifi.components.state.Scope;
-import org.apache.nifi.components.state.StateMap;
-import org.apache.nifi.flowfile.FlowFile;
-import org.apache.nifi.util.TestRunner;
-import org.apache.nifi.util.TestRunners;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.TemporaryFolder;
-import org.junit.rules.TestWatcher;
-
-import java.io.IOException;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.TimeUnit;
-import java.util.stream.Collectors;
-
-import static org.apache.nifi.processor.util.list.AbstractListProcessor.PRECISION_MILLIS;
-import static org.apache.nifi.processor.util.list.AbstractListProcessor.PRECISION_MINUTES;
-import static org.apache.nifi.processor.util.list.AbstractListProcessor.PRECISION_SECONDS;
-import static org.apache.nifi.processor.util.list.AbstractListProcessor.TARGET_SYSTEM_TIMESTAMP_PRECISION;
-import org.apache.nifi.processor.util.list.TestAbstractListProcessor.ConcreteListProcessor;
-import org.apache.nifi.processor.util.list.TestAbstractListProcessor.DistributedCache;
-import static org.junit.Assert.assertEquals;
-
-public class ITAbstractListProcessor {
-
- /**
- * @return current timestamp in milliseconds, but truncated at specified
- * target precision (e.g. SECONDS or MINUTES).
- */
- private static long getCurrentTimestampMillis(final TimeUnit targetPrecision) {
- final long timestampInTargetPrecision = targetPrecision.convert(System.currentTimeMillis(), TimeUnit.MILLISECONDS);
- return TimeUnit.MILLISECONDS.convert(timestampInTargetPrecision, targetPrecision);
- }
-
- private static long getSleepMillis(final TimeUnit targetPrecision) {
- return AbstractListProcessor.LISTING_LAG_MILLIS.get(targetPrecision) * 2;
- }
-
- private static final long DEFAULT_SLEEP_MILLIS = getSleepMillis(TimeUnit.MILLISECONDS);
-
- private ConcreteListProcessor proc;
- private TestRunner runner;
-
- @Rule
- public TestWatcher dumpState = new ListProcessorTestWatcher(
- () -> {
- try {
- return runner.getStateManager().getState(Scope.LOCAL).toMap();
- } catch (IOException e) {
- throw new RuntimeException("Failed to retrieve state", e);
- }
- },
- () -> proc.getEntityList(),
- () -> runner.getFlowFilesForRelationship(AbstractListProcessor.REL_SUCCESS).stream().map(m -> (FlowFile) m).collect(Collectors.toList())
- );
-
- @Before
- public void setup() {
- proc = new ConcreteListProcessor();
- runner = TestRunners.newTestRunner(proc);
- }
-
- @Rule
- public final TemporaryFolder testFolder = new TemporaryFolder();
-
- /**
- *
- * Ensures that files are listed when those are old enough:
- *
Files with last modified timestamp those are old enough to determine
- * that those are completely written and no further files are expected to be
- * added with the same timestamp.
- * This behavior is expected when a processor is scheduled less
- * frequently, such as hourly or daily.
- *
- */
- @Test
- public void testAllExistingEntriesEmittedOnFirstIteration() throws Exception {
- final long oldTimestamp = System.currentTimeMillis() - getSleepMillis(TimeUnit.MILLISECONDS);
-
- // These entries have existed before the processor runs at the first time.
- proc.addEntity("name", "id", oldTimestamp);
- proc.addEntity("name", "id2", oldTimestamp);
-
- // First run, the above listed entries should be emitted since it has existed.
- runner.run();
- runner.assertAllFlowFilesTransferred(ConcreteListProcessor.REL_SUCCESS, 2);
- runner.clearTransferState();
-
- // Ensure we have covered the necessary lag period to avoid issues where the processor was immediately scheduled to run again
- Thread.sleep(DEFAULT_SLEEP_MILLIS);
-
- // Run again without introducing any new entries
- runner.run();
- runner.assertAllFlowFilesTransferred(ConcreteListProcessor.REL_SUCCESS, 0);
- }
-
- private void testPreviouslySkippedEntriesEmmitedOnNextIteration(final TimeUnit targetPrecision) throws InterruptedException {
- runner.run();
-
- final long initialTimestamp = getCurrentTimestampMillis(targetPrecision);
-
- setTargetSystemTimestampPrecision(targetPrecision);
-
- runner.assertAllFlowFilesTransferred(ConcreteListProcessor.REL_SUCCESS, 0);
- proc.addEntity("name", "id", initialTimestamp);
- proc.addEntity("name", "id2", initialTimestamp);
- runner.run();
-
- // First run, the above listed entries would be skipped to avoid write synchronization issues
- runner.assertAllFlowFilesTransferred(ConcreteListProcessor.REL_SUCCESS, 0);
- runner.clearTransferState();
-
- // Ensure we have covered the necessary lag period to avoid issues where the processor was immediately scheduled to run again
- Thread.sleep(getSleepMillis(targetPrecision));
-
- // Run again without introducing any new entries
- runner.run();
- runner.assertAllFlowFilesTransferred(ConcreteListProcessor.REL_SUCCESS, 2);
- }
-
- /**
- *
- * Ensures that newly created files should wait to confirm there is no more
- * files created with the same timestamp:
- *
If files have the latest modified timestamp at an iteration, then
- * those should be postponed to be listed
- * If those files still are the latest files at the next iteration, then
- * those should be listed
- *
- */
- @Test
- public void testPreviouslySkippedEntriesEmittedOnNextIterationMilliPrecision() throws Exception {
- testPreviouslySkippedEntriesEmmitedOnNextIteration(TimeUnit.MILLISECONDS);
- }
-
- /**
- * Same as
- * {@link #testPreviouslySkippedEntriesEmittedOnNextIterationMilliPrecision()}
- * but simulates that the target filesystem only provide timestamp precision
- * in Seconds.
- */
- @Test
- public void testPreviouslySkippedEntriesEmittedOnNextIterationSecondPrecision() throws Exception {
- testPreviouslySkippedEntriesEmmitedOnNextIteration(TimeUnit.SECONDS);
- }
-
- /**
- * Same as
- * {@link #testPreviouslySkippedEntriesEmittedOnNextIterationMilliPrecision()}
- * but simulates that the target filesystem only provide timestamp precision
- * in Minutes.
- */
- @Test
- public void testPreviouslySkippedEntriesEmittedOnNextIterationMinutesPrecision() throws Exception {
- testPreviouslySkippedEntriesEmmitedOnNextIteration(TimeUnit.MINUTES);
- }
-
- private void testOnlyNewEntriesEmitted(final TimeUnit targetPrecision) throws InterruptedException {
-
- final long initialTimestamp = getCurrentTimestampMillis(targetPrecision);
-
- setTargetSystemTimestampPrecision(targetPrecision);
-
- runner.assertAllFlowFilesTransferred(ConcreteListProcessor.REL_SUCCESS, 0);
- proc.addEntity("name", "id", initialTimestamp);
- proc.addEntity("name", "id2", initialTimestamp);
- runner.run();
-
- // First run, the above listed entries would be skipped to avoid write synchronization issues
- runner.assertAllFlowFilesTransferred(ConcreteListProcessor.REL_SUCCESS, 0);
- runner.clearTransferState();
-
- // Ensure we have covered the necessary lag period to avoid issues where the processor was immediately scheduled to run again
- Thread.sleep(getSleepMillis(targetPrecision));
-
- // Running again, our two previously seen files are now cleared to be released
- runner.run();
- runner.assertAllFlowFilesTransferred(ConcreteListProcessor.REL_SUCCESS, 2);
- runner.clearTransferState();
-
- // Verify no new old files show up
- proc.addEntity("name", "id2", initialTimestamp);
- runner.run();
- runner.assertAllFlowFilesTransferred(ConcreteListProcessor.REL_SUCCESS, 0);
- runner.clearTransferState();
-
- // An entry that is older than already processed entry should not be listed.
- proc.addEntity("name", "id3", initialTimestamp - targetPrecision.toMillis(1));
- runner.run();
- runner.assertAllFlowFilesTransferred(ConcreteListProcessor.REL_SUCCESS, 0);
- runner.clearTransferState();
-
- // If an entry whose timestamp is the same with the last processed timestamp should not be listed.
- proc.addEntity("name", "id2", initialTimestamp);
- runner.run();
- runner.assertAllFlowFilesTransferred(ConcreteListProcessor.REL_SUCCESS, 0);
- runner.clearTransferState();
-
- // Now a new file beyond the current time enters
- proc.addEntity("name", "id2", initialTimestamp + targetPrecision.toMillis(1));
-
- // It should show up
- runner.run();
- runner.assertAllFlowFilesTransferred(ConcreteListProcessor.REL_SUCCESS, 1);
- runner.clearTransferState();
-
- final List results = proc.verify(runner.getProcessContext(), runner.getLogger(), Collections.emptyMap());
- assertEquals(1, results.size());
- assertEquals(ConfigVerificationResult.Outcome.SUCCESSFUL, results.get(0).getOutcome());
- }
-
- private void setTargetSystemTimestampPrecision(TimeUnit targetPrecision) {
- switch (targetPrecision) {
- case MINUTES:
- runner.setProperty(TARGET_SYSTEM_TIMESTAMP_PRECISION, PRECISION_MINUTES);
- break;
- case SECONDS:
- runner.setProperty(TARGET_SYSTEM_TIMESTAMP_PRECISION, PRECISION_SECONDS);
- break;
- case MILLISECONDS:
- runner.setProperty(TARGET_SYSTEM_TIMESTAMP_PRECISION, PRECISION_MILLIS);
- break;
- }
- }
-
- @Test
- public void testOnlyNewEntriesEmittedMillisPrecision() throws Exception {
- testOnlyNewEntriesEmitted(TimeUnit.MILLISECONDS);
- }
-
- @Test
- public void testOnlyNewEntriesEmittedSecondPrecision() throws Exception {
- testOnlyNewEntriesEmitted(TimeUnit.SECONDS);
- }
-
- @Test
- public void testOnlyNewEntriesEmittedMinutesPrecision() throws Exception {
- testOnlyNewEntriesEmitted(TimeUnit.MINUTES);
- }
-
- @Test
- public void testHandleRestartWithEntriesAlreadyTransferredAndNoneNew() throws Exception {
-
- final long initialTimestamp = System.currentTimeMillis();
-
- proc.addEntity("name", "id", initialTimestamp);
- proc.addEntity("name", "id2", initialTimestamp);
-
- // Emulate having state but not having had the processor run such as in a restart
- final Map preexistingState = new HashMap<>();
- preexistingState.put(AbstractListProcessor.LATEST_LISTED_ENTRY_TIMESTAMP_KEY, Long.toString(initialTimestamp));
- preexistingState.put(AbstractListProcessor.LAST_PROCESSED_LATEST_ENTRY_TIMESTAMP_KEY, Long.toString(initialTimestamp));
- preexistingState.put(AbstractListProcessor.IDENTIFIER_PREFIX + ".0", "id");
- preexistingState.put(AbstractListProcessor.IDENTIFIER_PREFIX + ".1", "id2");
- runner.getStateManager().setState(preexistingState, Scope.CLUSTER);
-
- // run for the first time
- runner.run();
-
- // First run, the above listed entries would be skipped
- runner.assertAllFlowFilesTransferred(ConcreteListProcessor.REL_SUCCESS, 0);
- runner.clearTransferState();
-
- // Ensure we have covered the necessary lag period to avoid issues where the processor was immediately scheduled to run again
- Thread.sleep(DEFAULT_SLEEP_MILLIS);
-
- // Running again, these files should be eligible for transfer and again skipped
- runner.run();
- runner.assertAllFlowFilesTransferred(ConcreteListProcessor.REL_SUCCESS, 0);
- runner.clearTransferState();
-
- // Verify no new old files show up
- proc.addEntity("name", "id2", initialTimestamp);
- runner.run();
- runner.assertAllFlowFilesTransferred(ConcreteListProcessor.REL_SUCCESS, 0);
- runner.clearTransferState();
-
- proc.addEntity("name", "id3", initialTimestamp - 1);
- runner.run();
- runner.assertAllFlowFilesTransferred(ConcreteListProcessor.REL_SUCCESS, 0);
- runner.clearTransferState();
-
- proc.addEntity("name", "id2", initialTimestamp);
- runner.run();
- runner.assertAllFlowFilesTransferred(ConcreteListProcessor.REL_SUCCESS, 0);
- runner.clearTransferState();
-
- // Now a new file beyond the current time enters
- proc.addEntity("name", "id2", initialTimestamp + 1);
-
- // It should now show up
- runner.run();
- runner.assertAllFlowFilesTransferred(ConcreteListProcessor.REL_SUCCESS, 1);
- runner.clearTransferState();
- }
-
- @Test
- public void testStateStoredInClusterStateManagement() throws Exception {
-
- final DistributedCache cache = new DistributedCache();
- runner.addControllerService("cache", cache);
- runner.enableControllerService(cache);
- runner.setProperty(AbstractListProcessor.DISTRIBUTED_CACHE_SERVICE, "cache");
-
- final long initialTimestamp = System.currentTimeMillis();
-
- proc.addEntity("name", "id", initialTimestamp);
- runner.run();
-
- final Map expectedState = new HashMap<>();
- // Ensure only timestamp is migrated
- expectedState.put(AbstractListProcessor.LATEST_LISTED_ENTRY_TIMESTAMP_KEY, String.valueOf(initialTimestamp));
- expectedState.put(AbstractListProcessor.LAST_PROCESSED_LATEST_ENTRY_TIMESTAMP_KEY, "0");
- runner.getStateManager().assertStateEquals(expectedState, Scope.CLUSTER);
-
- Thread.sleep(DEFAULT_SLEEP_MILLIS);
-
- runner.run();
- // Ensure only timestamp is migrated
- expectedState.put(AbstractListProcessor.LATEST_LISTED_ENTRY_TIMESTAMP_KEY, String.valueOf(initialTimestamp));
- expectedState.put(AbstractListProcessor.LAST_PROCESSED_LATEST_ENTRY_TIMESTAMP_KEY, String.valueOf(initialTimestamp));
- expectedState.put(AbstractListProcessor.IDENTIFIER_PREFIX + ".0", "id");
- runner.getStateManager().assertStateEquals(expectedState, Scope.CLUSTER);
- }
-
- @Test
- public void testResumeListingAfterClearingState() throws Exception {
-
- runner.assertAllFlowFilesTransferred(ConcreteListProcessor.REL_SUCCESS, 0);
-
- final long initialEventTimestamp = System.currentTimeMillis();
- proc.addEntity("name", "id", initialEventTimestamp);
- proc.addEntity("name", "id2", initialEventTimestamp);
-
- // Add entities but these should not be transferred as they are the latest values
- runner.run();
- runner.assertAllFlowFilesTransferred(ConcreteListProcessor.REL_SUCCESS, 0);
-
- // after providing a pause in listings, the files should now transfer
- Thread.sleep(DEFAULT_SLEEP_MILLIS);
-
- runner.run();
- runner.assertAllFlowFilesTransferred(ConcreteListProcessor.REL_SUCCESS, 2);
- runner.clearTransferState();
-
- // Verify entities are not transferred again for the given state
- runner.run();
- runner.assertAllFlowFilesTransferred(ConcreteListProcessor.REL_SUCCESS, 0);
- runner.clearTransferState();
-
- // Clear state for this processor, eradicating timestamp
- runner.getStateManager().clear(Scope.CLUSTER);
- Assert.assertEquals("State is not empty for this component after clearing", 0, runner.getStateManager().getState(Scope.CLUSTER).toMap().size());
-
- // Ensure the original files are now transferred again.
- runner.run();
- runner.assertAllFlowFilesTransferred(ConcreteListProcessor.REL_SUCCESS, 2);
- runner.clearTransferState();
- }
-
- @Test
- public void testResumeListingAfterBecamePrimary() throws Exception {
- final long initialTimestamp = System.currentTimeMillis();
-
- runner.assertAllFlowFilesTransferred(ConcreteListProcessor.REL_SUCCESS, 0);
- proc.addEntity("name", "id", initialTimestamp);
- proc.addEntity("name", "id2", initialTimestamp);
-
- // Add entities but these should not be transferred as they are the latest values
- runner.run();
- runner.assertAllFlowFilesTransferred(ConcreteListProcessor.REL_SUCCESS, 0);
- runner.clearTransferState();
-
- // after providing a pause in listings, the files should now transfer
- Thread.sleep(DEFAULT_SLEEP_MILLIS);
-
- runner.run();
- runner.assertAllFlowFilesTransferred(ConcreteListProcessor.REL_SUCCESS, 2);
- runner.clearTransferState();
-
- // Emulate reelection process
- proc.onPrimaryNodeChange(PrimaryNodeState.ELECTED_PRIMARY_NODE);
-
- // Now a new file enters
- proc.addEntity("name", "id3", initialTimestamp + 1);;
-
- // First run skips the execution because determined timestamp is the same as last listing
- runner.run();
- runner.assertAllFlowFilesTransferred(ConcreteListProcessor.REL_SUCCESS, 0);
- runner.clearTransferState();
-
- // Now the cluster state has been read, all set to perform next listing
- runner.run();
- runner.assertAllFlowFilesTransferred(ConcreteListProcessor.REL_SUCCESS, 1);
- runner.clearTransferState();
- }
-
- @Test
- public void testOnlyNewStateStored() throws Exception {
-
- runner.run();
-
- final long initialTimestamp = System.currentTimeMillis();
-
- runner.assertAllFlowFilesTransferred(ConcreteListProcessor.REL_SUCCESS, 0);
- proc.addEntity("name", "id", initialTimestamp);
- proc.addEntity("name", "id2", initialTimestamp);
-
- runner.run();
- runner.assertAllFlowFilesTransferred(ConcreteListProcessor.REL_SUCCESS, 0);
- runner.clearTransferState();
-
- Thread.sleep(DEFAULT_SLEEP_MILLIS);
-
- runner.run();
- runner.assertAllFlowFilesTransferred(ConcreteListProcessor.REL_SUCCESS, 2);
- runner.clearTransferState();
-
- final StateMap stateMap = runner.getStateManager().getState(Scope.CLUSTER);
- assertEquals(2, stateMap.getVersion());
-
- final Map map = stateMap.toMap();
- // Ensure timestamp and identifiers are migrated
- assertEquals(4, map.size());
- assertEquals(Long.toString(initialTimestamp), map.get(AbstractListProcessor.LATEST_LISTED_ENTRY_TIMESTAMP_KEY));
- assertEquals(Long.toString(initialTimestamp), map.get(AbstractListProcessor.LAST_PROCESSED_LATEST_ENTRY_TIMESTAMP_KEY));
- assertEquals("id", map.get(AbstractListProcessor.IDENTIFIER_PREFIX + ".0"));
- assertEquals("id2", map.get(AbstractListProcessor.IDENTIFIER_PREFIX + ".1"));
-
- proc.addEntity("new name", "new id", initialTimestamp + 1);
- runner.run();
-
- runner.assertAllFlowFilesTransferred(ConcreteListProcessor.REL_SUCCESS, 1);
- runner.clearTransferState();
-
- StateMap updatedStateMap = runner.getStateManager().getState(Scope.CLUSTER);
- assertEquals(3, updatedStateMap.getVersion());
-
- assertEquals(3, updatedStateMap.toMap().size());
- assertEquals(Long.toString(initialTimestamp + 1), updatedStateMap.get(AbstractListProcessor.LATEST_LISTED_ENTRY_TIMESTAMP_KEY));
- // Processed timestamp is now caught up
- assertEquals(Long.toString(initialTimestamp + 1), updatedStateMap.get(AbstractListProcessor.LAST_PROCESSED_LATEST_ENTRY_TIMESTAMP_KEY));
- assertEquals("new id", updatedStateMap.get(AbstractListProcessor.IDENTIFIER_PREFIX + ".0"));
- }
-
-}
diff --git a/nifi-nar-bundles/nifi-extension-utils/nifi-put-pattern/pom.xml b/nifi-nar-bundles/nifi-extension-utils/nifi-put-pattern/pom.xml
new file mode 100644
index 0000000000..34a3fdb605
--- /dev/null
+++ b/nifi-nar-bundles/nifi-extension-utils/nifi-put-pattern/pom.xml
@@ -0,0 +1,41 @@
+
+
+
+ 4.0.0
+
+ org.apache.nifi
+ nifi-extension-utils
+ 1.16.0-SNAPSHOT
+
+ nifi-put-pattern
+ jar
+
+
+ org.apache.nifi
+ nifi-api
+
+
+ org.apache.nifi
+ nifi-utils
+ 1.16.0-SNAPSHOT
+
+
+ org.apache.nifi
+ nifi-mock
+ test
+
+
+
diff --git a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/pattern/DiscontinuedException.java b/nifi-nar-bundles/nifi-extension-utils/nifi-put-pattern/src/main/java/org/apache/nifi/processor/util/pattern/DiscontinuedException.java
similarity index 100%
rename from nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/pattern/DiscontinuedException.java
rename to nifi-nar-bundles/nifi-extension-utils/nifi-put-pattern/src/main/java/org/apache/nifi/processor/util/pattern/DiscontinuedException.java
diff --git a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/pattern/ErrorTypes.java b/nifi-nar-bundles/nifi-extension-utils/nifi-put-pattern/src/main/java/org/apache/nifi/processor/util/pattern/ErrorTypes.java
similarity index 100%
rename from nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/pattern/ErrorTypes.java
rename to nifi-nar-bundles/nifi-extension-utils/nifi-put-pattern/src/main/java/org/apache/nifi/processor/util/pattern/ErrorTypes.java
diff --git a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/pattern/ExceptionHandler.java b/nifi-nar-bundles/nifi-extension-utils/nifi-put-pattern/src/main/java/org/apache/nifi/processor/util/pattern/ExceptionHandler.java
similarity index 100%
rename from nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/pattern/ExceptionHandler.java
rename to nifi-nar-bundles/nifi-extension-utils/nifi-put-pattern/src/main/java/org/apache/nifi/processor/util/pattern/ExceptionHandler.java
diff --git a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/pattern/PartialFunctions.java b/nifi-nar-bundles/nifi-extension-utils/nifi-put-pattern/src/main/java/org/apache/nifi/processor/util/pattern/PartialFunctions.java
similarity index 100%
rename from nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/pattern/PartialFunctions.java
rename to nifi-nar-bundles/nifi-extension-utils/nifi-put-pattern/src/main/java/org/apache/nifi/processor/util/pattern/PartialFunctions.java
diff --git a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/pattern/Put.java b/nifi-nar-bundles/nifi-extension-utils/nifi-put-pattern/src/main/java/org/apache/nifi/processor/util/pattern/Put.java
similarity index 100%
rename from nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/pattern/Put.java
rename to nifi-nar-bundles/nifi-extension-utils/nifi-put-pattern/src/main/java/org/apache/nifi/processor/util/pattern/Put.java
diff --git a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/pattern/PutGroup.java b/nifi-nar-bundles/nifi-extension-utils/nifi-put-pattern/src/main/java/org/apache/nifi/processor/util/pattern/PutGroup.java
similarity index 100%
rename from nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/pattern/PutGroup.java
rename to nifi-nar-bundles/nifi-extension-utils/nifi-put-pattern/src/main/java/org/apache/nifi/processor/util/pattern/PutGroup.java
diff --git a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/pattern/RollbackOnFailure.java b/nifi-nar-bundles/nifi-extension-utils/nifi-put-pattern/src/main/java/org/apache/nifi/processor/util/pattern/RollbackOnFailure.java
similarity index 100%
rename from nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/pattern/RollbackOnFailure.java
rename to nifi-nar-bundles/nifi-extension-utils/nifi-put-pattern/src/main/java/org/apache/nifi/processor/util/pattern/RollbackOnFailure.java
diff --git a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/pattern/RoutingResult.java b/nifi-nar-bundles/nifi-extension-utils/nifi-put-pattern/src/main/java/org/apache/nifi/processor/util/pattern/RoutingResult.java
similarity index 100%
rename from nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/pattern/RoutingResult.java
rename to nifi-nar-bundles/nifi-extension-utils/nifi-put-pattern/src/main/java/org/apache/nifi/processor/util/pattern/RoutingResult.java
diff --git a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/test/java/org/apache/nifi/processor/util/pattern/TestExceptionHandler.java b/nifi-nar-bundles/nifi-extension-utils/nifi-put-pattern/src/test/java/org/apache/nifi/processor/util/pattern/TestExceptionHandler.java
similarity index 100%
rename from nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/test/java/org/apache/nifi/processor/util/pattern/TestExceptionHandler.java
rename to nifi-nar-bundles/nifi-extension-utils/nifi-put-pattern/src/test/java/org/apache/nifi/processor/util/pattern/TestExceptionHandler.java
diff --git a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/test/java/org/apache/nifi/processor/util/pattern/TestRollbackOnFailure.java b/nifi-nar-bundles/nifi-extension-utils/nifi-put-pattern/src/test/java/org/apache/nifi/processor/util/pattern/TestRollbackOnFailure.java
similarity index 100%
rename from nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/test/java/org/apache/nifi/processor/util/pattern/TestRollbackOnFailure.java
rename to nifi-nar-bundles/nifi-extension-utils/nifi-put-pattern/src/test/java/org/apache/nifi/processor/util/pattern/TestRollbackOnFailure.java
diff --git a/nifi-nar-bundles/nifi-extension-utils/pom.xml b/nifi-nar-bundles/nifi-extension-utils/pom.xml
index 091535de5c..68b3d653ff 100644
--- a/nifi-nar-bundles/nifi-extension-utils/pom.xml
+++ b/nifi-nar-bundles/nifi-extension-utils/pom.xml
@@ -27,17 +27,20 @@
- nifi-record-utils
- nifi-hadoop-utils
- nifi-processor-utils
- nifi-reporting-utils
- nifi-syslog-utils
+ nifi-bin-manager
nifi-database-utils
nifi-database-test-utils
- nifi-service-utils
- nifi-prometheus-utils
- nifi-kerberos-test-utils
+ nifi-event-listen
+ nifi-event-put
nifi-event-transport
+ nifi-hadoop-utils
+ nifi-kerberos-test-utils
+ nifi-listed-entity
+ nifi-prometheus-utils
+ nifi-put-pattern
+ nifi-record-utils
+ nifi-reporting-utils
+ nifi-service-utils
+ nifi-syslog-utils
-
diff --git a/nifi-nar-bundles/nifi-gcp-bundle/nifi-gcp-processors/pom.xml b/nifi-nar-bundles/nifi-gcp-bundle/nifi-gcp-processors/pom.xml
index 5ae7453329..a2dbccfeb5 100644
--- a/nifi-nar-bundles/nifi-gcp-bundle/nifi-gcp-processors/pom.xml
+++ b/nifi-nar-bundles/nifi-gcp-bundle/nifi-gcp-processors/pom.xml
@@ -56,7 +56,7 @@
org.apache.nifi
- nifi-processor-utils
+ nifi-listed-entity
1.16.0-SNAPSHOT
@@ -121,6 +121,11 @@
json
1.8
+
+ commons-io
+ commons-io
+ 2.11.0
+
org.slf4j
jcl-over-slf4j
diff --git a/nifi-nar-bundles/nifi-hive-bundle/nifi-hive-processors/pom.xml b/nifi-nar-bundles/nifi-hive-bundle/nifi-hive-processors/pom.xml
index 93dd0e0ca4..907deb9e56 100644
--- a/nifi-nar-bundles/nifi-hive-bundle/nifi-hive-processors/pom.xml
+++ b/nifi-nar-bundles/nifi-hive-bundle/nifi-hive-processors/pom.xml
@@ -38,7 +38,12 @@
org.apache.nifi
- nifi-processor-utils
+ nifi-utils
+ 1.16.0-SNAPSHOT
+
+
+ org.apache.nifi
+ nifi-put-pattern
1.16.0-SNAPSHOT
@@ -167,6 +172,14 @@
nifi-hadoop-record-utils
1.16.0-SNAPSHOT
+
+ org.apache.nifi
+ nifi-record-serialization-service-api
+
+
+ org.apache.nifi
+ nifi-record
+
com.github.stephenc.findbugs
findbugs-annotations
diff --git a/nifi-nar-bundles/nifi-hive-bundle/nifi-hive3-processors/pom.xml b/nifi-nar-bundles/nifi-hive-bundle/nifi-hive3-processors/pom.xml
index 7160e49548..b3d25e8545 100644
--- a/nifi-nar-bundles/nifi-hive-bundle/nifi-hive3-processors/pom.xml
+++ b/nifi-nar-bundles/nifi-hive-bundle/nifi-hive3-processors/pom.xml
@@ -33,7 +33,12 @@
org.apache.nifi
- nifi-processor-utils
+ nifi-utils
+ 1.16.0-SNAPSHOT
+
+
+ org.apache.nifi
+ nifi-put-pattern
1.16.0-SNAPSHOT
diff --git a/nifi-nar-bundles/nifi-hive-bundle/nifi-hive_1_1-processors/pom.xml b/nifi-nar-bundles/nifi-hive-bundle/nifi-hive_1_1-processors/pom.xml
index 6cb7032604..4c7f47c1fe 100644
--- a/nifi-nar-bundles/nifi-hive-bundle/nifi-hive_1_1-processors/pom.xml
+++ b/nifi-nar-bundles/nifi-hive-bundle/nifi-hive_1_1-processors/pom.xml
@@ -38,7 +38,12 @@
org.apache.nifi
- nifi-processor-utils
+ nifi-utils
+ 1.16.0-SNAPSHOT
+
+
+ org.apache.nifi
+ nifi-put-pattern
1.16.0-SNAPSHOT
@@ -175,6 +180,14 @@
nifi-hadoop-record-utils
1.16.0-SNAPSHOT
+
+ org.apache.nifi
+ nifi-record-serialization-service-api
+
+
+ org.apache.nifi
+ nifi-record
+
com.github.stephenc.findbugs
findbugs-annotations
diff --git a/nifi-nar-bundles/nifi-splunk-bundle/nifi-splunk-processors/pom.xml b/nifi-nar-bundles/nifi-splunk-bundle/nifi-splunk-processors/pom.xml
index 9539ec454f..339833e385 100644
--- a/nifi-nar-bundles/nifi-splunk-bundle/nifi-splunk-processors/pom.xml
+++ b/nifi-nar-bundles/nifi-splunk-bundle/nifi-splunk-processors/pom.xml
@@ -41,9 +41,29 @@
org.apache.nifi
- nifi-processor-utils
+ nifi-utils
1.16.0-SNAPSHOT
+
+ org.apache.nifi
+ nifi-event-put
+ 1.16.0-SNAPSHOT
+
+
+ commons-io
+ commons-io
+ 2.11.0
+
+
+ org.apache.commons
+ commons-lang3
+ 3.12.0
+
+
+ com.fasterxml.jackson.core
+ jackson-databind
+ ${jackson.version}
+
org.apache.nifi
nifi-ssl-context-service
diff --git a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/pom.xml b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/pom.xml
index 8f6ca2d22a..7720d6837b 100644
--- a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/pom.xml
+++ b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/pom.xml
@@ -36,7 +36,27 @@
org.apache.nifi
- nifi-processor-utils
+ nifi-put-pattern
+ 1.16.0-SNAPSHOT
+
+
+ org.apache.nifi
+ nifi-bin-manager
+ 1.16.0-SNAPSHOT
+
+
+ org.apache.nifi
+ nifi-listed-entity
+ 1.16.0-SNAPSHOT
+
+
+ org.apache.nifi
+ nifi-event-put
+ 1.16.0-SNAPSHOT
+
+
+ org.apache.nifi
+ nifi-event-listen
1.16.0-SNAPSHOT
diff --git a/nifi-system-tests/nifi-system-test-extensions-bundle/nifi-system-test-extensions/pom.xml b/nifi-system-tests/nifi-system-test-extensions-bundle/nifi-system-test-extensions/pom.xml
index 242730b033..52c0e1ec5f 100644
--- a/nifi-system-tests/nifi-system-test-extensions-bundle/nifi-system-test-extensions/pom.xml
+++ b/nifi-system-tests/nifi-system-test-extensions-bundle/nifi-system-test-extensions/pom.xml
@@ -41,7 +41,7 @@
org.apache.nifi
- nifi-processor-utils
+ nifi-bin-manager
1.16.0-SNAPSHOT