Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 72004200CAD for ; Wed, 28 Jun 2017 22:42:21 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 6E73D160BF7; Wed, 28 Jun 2017 20:42:21 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id B4B14160BD9 for ; Wed, 28 Jun 2017 22:42:20 +0200 (CEST) Received: (qmail 12989 invoked by uid 500); 28 Jun 2017 20:42:19 -0000 Mailing-List: contact commits-help@nifi.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@nifi.apache.org Delivered-To: mailing list commits@nifi.apache.org Received: (qmail 12980 invoked by uid 99); 28 Jun 2017 20:42:19 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 28 Jun 2017 20:42:19 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id C4276E1154; Wed, 28 Jun 2017 20:42:19 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: ymdavis@apache.org To: commits@nifi.apache.org Message-Id: <5e4df6a2dffc40fcb2f6106f90f76246@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: nifi git commit: NIFI-4137: Add support for UTF-8 in GetFTP and PutFTP Date: Wed, 28 Jun 2017 20:42:19 +0000 (UTC) archived-at: Wed, 28 Jun 2017 20:42:21 -0000 Repository: nifi Updated Branches: refs/heads/master c99c036c2 -> 9bfa7469c NIFI-4137: Add support for UTF-8 in GetFTP and PutFTP Signed-off-by: Yolanda M. Davis This closes #1957 Project: http://git-wip-us.apache.org/repos/asf/nifi/repo Commit: http://git-wip-us.apache.org/repos/asf/nifi/commit/9bfa7469 Tree: http://git-wip-us.apache.org/repos/asf/nifi/tree/9bfa7469 Diff: http://git-wip-us.apache.org/repos/asf/nifi/diff/9bfa7469 Branch: refs/heads/master Commit: 9bfa7469cb8a2ea3ce6cec9ae5766efe2213ea4c Parents: c99c036 Author: Matt Burgess Authored: Wed Jun 28 13:09:55 2017 -0400 Committer: Yolanda M. Davis Committed: Wed Jun 28 16:41:14 2017 -0400 ---------------------------------------------------------------------- .../org/apache/nifi/processors/standard/GetFTP.java | 1 + .../org/apache/nifi/processors/standard/PutFTP.java | 1 + .../nifi/processors/standard/util/FTPTransfer.java | 14 ++++++++++++++ 3 files changed, 16 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/nifi/blob/9bfa7469/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/GetFTP.java ---------------------------------------------------------------------- diff --git a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/GetFTP.java b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/GetFTP.java index 7c78faa..e60ef3a 100644 --- a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/GetFTP.java +++ b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/GetFTP.java @@ -81,6 +81,7 @@ public class GetFTP extends GetFileTransfer { properties.add(FTPTransfer.PROXY_PORT); properties.add(FTPTransfer.HTTP_PROXY_USERNAME); properties.add(FTPTransfer.HTTP_PROXY_PASSWORD); + properties.add(FTPTransfer.UTF8_ENCODING); this.properties = Collections.unmodifiableList(properties); } http://git-wip-us.apache.org/repos/asf/nifi/blob/9bfa7469/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/PutFTP.java ---------------------------------------------------------------------- diff --git a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/PutFTP.java b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/PutFTP.java index 1679982..734ad6a 100644 --- a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/PutFTP.java +++ b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/PutFTP.java @@ -94,6 +94,7 @@ public class PutFTP extends PutFileTransfer { properties.add(FTPTransfer.PROXY_PORT); properties.add(FTPTransfer.HTTP_PROXY_USERNAME); properties.add(FTPTransfer.HTTP_PROXY_PASSWORD); + properties.add(FTPTransfer.UTF8_ENCODING); this.properties = Collections.unmodifiableList(properties); } http://git-wip-us.apache.org/repos/asf/nifi/blob/9bfa7469/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/util/FTPTransfer.java ---------------------------------------------------------------------- diff --git a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/util/FTPTransfer.java b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/util/FTPTransfer.java index 85486c3..b64a6f8 100644 --- a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/util/FTPTransfer.java +++ b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/util/FTPTransfer.java @@ -105,6 +105,15 @@ public class FTPTransfer implements FileTransfer { .required(false) .sensitive(true) .build(); + public static final PropertyDescriptor UTF8_ENCODING = new PropertyDescriptor.Builder() + .name("ftp-use-utf8") + .displayName("Use UTF-8 Encoding") + .description("Tells the client to use UTF-8 encoding when processing files and filenames. If set to true, the server must also support UTF-8 encoding.") + .required(true) + .allowableValues("true", "false") + .defaultValue("false") + .addValidator(StandardValidators.BOOLEAN_VALIDATOR) + .build(); private final ComponentLog logger; @@ -529,6 +538,11 @@ public class FTPTransfer implements FileTransfer { inetAddress = InetAddress.getByName(remoteHostname); } + final boolean useUtf8Encoding = ctx.getProperty(UTF8_ENCODING).isSet() ? ctx.getProperty(UTF8_ENCODING).asBoolean() : false; + if (useUtf8Encoding) { + client.setControlEncoding("UTF-8"); + } + client.connect(inetAddress, ctx.getProperty(PORT).evaluateAttributeExpressions(flowFile).asInteger()); this.closed = false; client.setDataTimeout(ctx.getProperty(DATA_TIMEOUT).asTimePeriod(TimeUnit.MILLISECONDS).intValue());