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());