This is an automated email from the ASF dual-hosted git repository.
joewitt pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nifi.git
The following commit(s) were added to refs/heads/master by this push:
new fd7c014 NIFI-7184 - This closes #4074. Added mime type property to
GenerateFlowFile
fd7c014 is described below
commit fd7c01453bd9512d836568ef9aae1fd0dd2bc0a2
Author: Pierre Villard <[email protected]>
AuthorDate: Fri Feb 21 19:06:12 2020 -0800
NIFI-7184 - This closes #4074. Added mime type property to GenerateFlowFile
Signed-off-by: Joe Witt <[email protected]>
---
.../apache/nifi/processors/standard/GenerateFlowFile.java | 13 +++++++++++++
.../nifi/processors/standard/TestGenerateFlowFile.java | 6 +++++-
2 files changed, 18 insertions(+), 1 deletion(-)
diff --git
a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/GenerateFlowFile.java
b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/GenerateFlowFile.java
index 1d7ed35..73f607d 100644
---
a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/GenerateFlowFile.java
+++
b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/GenerateFlowFile.java
@@ -43,6 +43,7 @@ import org.apache.nifi.components.ValidationResult;
import org.apache.nifi.expression.AttributeExpression;
import org.apache.nifi.expression.ExpressionLanguageScope;
import org.apache.nifi.flowfile.FlowFile;
+import org.apache.nifi.flowfile.attributes.CoreAttributes;
import org.apache.nifi.processor.AbstractProcessor;
import org.apache.nifi.processor.DataUnit;
import org.apache.nifi.processor.ProcessContext;
@@ -115,6 +116,13 @@ public class GenerateFlowFile extends AbstractProcessor {
.defaultValue("UTF-8")
.addValidator(StandardValidators.CHARACTER_SET_VALIDATOR)
.build();
+ public static final PropertyDescriptor MIME_TYPE = new
PropertyDescriptor.Builder()
+ .name("mime-type")
+ .displayName("Mime Type")
+ .description("Specifies the value to set for the \"mime.type\"
attribute.")
+ .required(false)
+ .addValidator(StandardValidators.NON_EMPTY_VALIDATOR)
+ .build();
public static final Relationship SUCCESS = new Relationship.Builder()
.name("success")
@@ -134,6 +142,7 @@ public class GenerateFlowFile extends AbstractProcessor {
descriptors.add(UNIQUE_FLOWFILES);
descriptors.add(CUSTOM_TEXT);
descriptors.add(CHARSET);
+ descriptors.add(MIME_TYPE);
this.descriptors = Collections.unmodifiableList(descriptors);
final Set<Relationship> relationships = new HashSet<>();
@@ -226,6 +235,10 @@ public class GenerateFlowFile extends AbstractProcessor {
}
}
+ if(context.getProperty(MIME_TYPE).isSet()) {
+ generatedAttributes.put(CoreAttributes.MIME_TYPE.key(),
context.getProperty(MIME_TYPE).getValue());
+ }
+
for (int i = 0; i < context.getProperty(BATCH_SIZE).asInteger(); i++) {
FlowFile flowFile = session.create();
if (data.length > 0) {
diff --git
a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestGenerateFlowFile.java
b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestGenerateFlowFile.java
index ca7de0c..9a22d61 100644
---
a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestGenerateFlowFile.java
+++
b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestGenerateFlowFile.java
@@ -38,7 +38,9 @@ public class TestGenerateFlowFile {
runner.run();
runner.assertTransferCount(GenerateFlowFile.SUCCESS, 1);
-
runner.getFlowFilesForRelationship(GenerateFlowFile.SUCCESS).get(0).assertContentEquals("This
is my custom text!");
+ MockFlowFile generatedFlowFile =
runner.getFlowFilesForRelationship(GenerateFlowFile.SUCCESS).get(0);
+ generatedFlowFile.assertContentEquals("This is my custom text!");
+ generatedFlowFile.assertAttributeNotExists("mime.type");
}
@Test
@@ -59,6 +61,7 @@ public class TestGenerateFlowFile {
TestRunner runner = TestRunners.newTestRunner(new GenerateFlowFile());
runner.setProperty(GenerateFlowFile.FILE_SIZE, "1B");
runner.setProperty(GenerateFlowFile.DATA_FORMAT,
GenerateFlowFile.DATA_FORMAT_TEXT);
+ runner.setProperty(GenerateFlowFile.MIME_TYPE, "application/text");
runner.setProperty("plain.dynamic.property", "Plain Value");
runner.setProperty("expression.dynamic.property",
"${literal('Expression Value')}");
runner.assertValid();
@@ -69,6 +72,7 @@ public class TestGenerateFlowFile {
MockFlowFile generatedFlowFile =
runner.getFlowFilesForRelationship(GenerateFlowFile.SUCCESS).get(0);
generatedFlowFile.assertAttributeEquals("plain.dynamic.property",
"Plain Value");
generatedFlowFile.assertAttributeEquals("expression.dynamic.property",
"Expression Value");
+ generatedFlowFile.assertAttributeEquals("mime.type",
"application/text");
}
}
\ No newline at end of file