You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by pv...@apache.org on 2017/09/21 15:10:54 UTC

nifi git commit: NIFI-4405 Adding charset property to GenerateFlowFile

Repository: nifi
Updated Branches:
  refs/heads/master a813ae113 -> 329dbe3a6


NIFI-4405 Adding charset property to GenerateFlowFile

Signed-off-by: Pierre Villard <pi...@gmail.com>

This closes #2168.


Project: http://git-wip-us.apache.org/repos/asf/nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/nifi/commit/329dbe3a
Tree: http://git-wip-us.apache.org/repos/asf/nifi/tree/329dbe3a
Diff: http://git-wip-us.apache.org/repos/asf/nifi/diff/329dbe3a

Branch: refs/heads/master
Commit: 329dbe3a64f70e283ee131f8313dadf8ec96f3d4
Parents: a813ae1
Author: Bryan Bende <bb...@apache.org>
Authored: Thu Sep 21 10:57:03 2017 -0400
Committer: Pierre Villard <pi...@gmail.com>
Committed: Thu Sep 21 17:10:47 2017 +0200

----------------------------------------------------------------------
 .../nifi/processors/standard/GenerateFlowFile.java     | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/nifi/blob/329dbe3a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/GenerateFlowFile.java
----------------------------------------------------------------------
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 b6f06cd..105ac4a 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
@@ -18,6 +18,7 @@ package org.apache.nifi.processors.standard;
 
 import java.io.IOException;
 import java.io.OutputStream;
+import java.nio.charset.Charset;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
@@ -104,6 +105,14 @@ public class GenerateFlowFile extends AbstractProcessor {
             .expressionLanguageSupported(true)
             .addValidator(StandardValidators.NON_EMPTY_VALIDATOR)
             .build();
+    public static final PropertyDescriptor CHARSET = new PropertyDescriptor.Builder()
+            .name("character-set")
+            .displayName("Character Set")
+            .description("Specifies the character set to use when writing the bytes of Custom Text to a flow file.")
+            .required(true)
+            .defaultValue("UTF-8")
+            .addValidator(StandardValidators.CHARACTER_SET_VALIDATOR)
+            .build();
 
     public static final Relationship SUCCESS = new Relationship.Builder()
             .name("success")
@@ -122,6 +131,7 @@ public class GenerateFlowFile extends AbstractProcessor {
         descriptors.add(DATA_FORMAT);
         descriptors.add(UNIQUE_FLOWFILES);
         descriptors.add(CUSTOM_TEXT);
+        descriptors.add(CHARSET);
         this.descriptors = Collections.unmodifiableList(descriptors);
 
         final Set<Relationship> relationships = new HashSet<>();
@@ -198,7 +208,8 @@ public class GenerateFlowFile extends AbstractProcessor {
         if (context.getProperty(UNIQUE_FLOWFILES).asBoolean()) {
             data = generateData(context);
         } else if(context.getProperty(CUSTOM_TEXT).isSet()) {
-            data = context.getProperty(CUSTOM_TEXT).evaluateAttributeExpressions().getValue().getBytes();
+            final Charset charset = Charset.forName(context.getProperty(CHARSET).getValue());
+            data = context.getProperty(CUSTOM_TEXT).evaluateAttributeExpressions().getValue().getBytes(charset);
         } else {
             data = this.data.get();
         }