This is an automated email from the ASF dual-hosted git repository.

exceptionfactory pushed a commit to branch support/nifi-1.x
in repository https://gitbox.apache.org/repos/asf/nifi.git


The following commit(s) were added to refs/heads/support/nifi-1.x by this push:
     new 3c3ce0d51a NIFI-12561 Fixed MergeContent DELIMITER_STRATEGY_NONE 
Handling
3c3ce0d51a is described below

commit 3c3ce0d51a08c70a0d80670c595dcfb8fbac1ea5
Author: EndzeitBegins <16666115+endzeitbeg...@users.noreply.github.com>
AuthorDate: Mon Jan 8 23:22:49 2024 +0100

    NIFI-12561 Fixed MergeContent DELIMITER_STRATEGY_NONE Handling
    
    This closes #8222
    
    Signed-off-by: David Handermann <exceptionfact...@apache.org>
    (cherry picked from commit 4efabdcf51e89c93738b0dbab3eafefd12faec6a)
---
 .../nifi/processors/standard/MergeContent.java     |  4 ++-
 .../nifi/processors/standard/TestMergeContent.java | 29 ++++++++++++++++++++++
 2 files changed, 32 insertions(+), 1 deletion(-)

diff --git 
a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/MergeContent.java
 
b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/MergeContent.java
index 7409eeffac..cce150e30d 100644
--- 
a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/MergeContent.java
+++ 
b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/MergeContent.java
@@ -697,8 +697,10 @@ public class MergeContent extends BinFiles {
             final String delimiterStrategyValue = 
context.getProperty(DELIMITER_STRATEGY).getValue();
             if 
(DELIMITER_STRATEGY_FILENAME.getValue().equals(delimiterStrategyValue)) {
                 return getDelimiterFileContent(context, wrappers, descriptor);
-            } else {
+            } else if 
(DELIMITER_STRATEGY_TEXT.getValue().equals(delimiterStrategyValue)) {
                 return getDelimiterTextContent(context, wrappers, descriptor);
+            } else {
+                return null;
             }
         }
 
diff --git 
a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestMergeContent.java
 
b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestMergeContent.java
index 4b2984b6b4..1a66141a1d 100644
--- 
a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestMergeContent.java
+++ 
b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestMergeContent.java
@@ -590,6 +590,35 @@ public class TestMergeContent {
         bundle.assertAttributeEquals(CoreAttributes.MIME_TYPE.key(), 
"application/plain-text");
     }
 
+    @Test
+    void testSimpleBinaryConcatNoDelimiters() {
+        final TestRunner runner = TestRunners.newTestRunner(new 
MergeContent());
+        runner.setProperty(MergeContent.MAX_BIN_AGE, "1 sec");
+        runner.setProperty(MergeContent.MERGE_FORMAT, 
MergeContent.MERGE_FORMAT_CONCAT);
+        runner.setProperty(MergeContent.DELIMITER_STRATEGY, 
MergeContent.DELIMITER_STRATEGY_NONE);
+        // set dependent values to ensure they're not used; see NIFI-12561
+        runner.setProperty(MergeContent.HEADER, "aHeader");
+        runner.setProperty(MergeContent.DEMARCATOR, "; ");
+        runner.setProperty(MergeContent.FOOTER, "aFooter");
+
+        final Map<String, String> attributes = new HashMap<>();
+        attributes.put(CoreAttributes.MIME_TYPE.key(), 
"application/plain-text");
+
+        runner.enqueue("First", attributes);
+        runner.enqueue("Second", attributes);
+        runner.enqueue("Third", attributes);
+        runner.run(2);
+
+        runner.assertQueueEmpty();
+        runner.assertTransferCount(MergeContent.REL_MERGED, 1);
+        runner.assertTransferCount(MergeContent.REL_FAILURE, 0);
+        runner.assertTransferCount(MergeContent.REL_ORIGINAL, 3);
+
+        final MockFlowFile bundle = 
runner.getFlowFilesForRelationship(MergeContent.REL_MERGED).get(0);
+        bundle.assertContentEquals("FirstSecondThird");
+        bundle.assertAttributeEquals(CoreAttributes.MIME_TYPE.key(), 
"application/plain-text");
+    }
+
     @Test
     public void testTextDelimitersValidation() {
         final TestRunner runner = TestRunners.newTestRunner(new 
MergeContent());

Reply via email to