You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by jo...@apache.org on 2020/03/17 12:47:52 UTC
[nifi] 16/47: NIFI-7232 if users do not supply a remote path
PutSFTP with conflict resolution will fail with an NPE
This is an automated email from the ASF dual-hosted git repository.
joewitt pushed a commit to branch support/nifi-1.11.x
in repository https://gitbox.apache.org/repos/asf/nifi.git
commit 5c3f9836fdde4bc47962454b06ba37d179c00960
Author: Joe Witt <jo...@apache.org>
AuthorDate: Fri Mar 6 10:32:12 2020 -0500
NIFI-7232 if users do not supply a remote path PutSFTP with conflict resolution will fail with an NPE
---
.../java/org/apache/nifi/processors/standard/PutFileTransfer.java | 5 +++--
.../java/org/apache/nifi/processors/standard/util/SFTPTransfer.java | 1 +
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/PutFileTransfer.java b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/PutFileTransfer.java
index 20e2c5a..3b9af1a 100644
--- a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/PutFileTransfer.java
+++ b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/PutFileTransfer.java
@@ -39,6 +39,7 @@ import org.apache.nifi.processors.standard.util.FileInfo;
import org.apache.nifi.processors.standard.util.FileTransfer;
import org.apache.nifi.processors.standard.util.SFTPTransfer;
import org.apache.nifi.util.StopWatch;
+import org.apache.nifi.util.StringUtils;
/**
* Base class for PutFTP & PutSFTP
@@ -102,8 +103,8 @@ public abstract class PutFileTransfer<T extends FileTransfer> extends AbstractPr
do {
final String rootPath = context.getProperty(FileTransfer.REMOTE_PATH).evaluateAttributeExpressions(flowFile).getValue();
final String workingDirPath;
- if (rootPath == null) {
- workingDirPath = null;
+ if (StringUtils.isBlank(rootPath)) {
+ workingDirPath = transfer.getHomeDirectory(flowFile);
} else {
workingDirPath = transfer.getAbsolutePath(flowFile, rootPath);
}
diff --git a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/util/SFTPTransfer.java b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/util/SFTPTransfer.java
index 3a341bc..870867f 100644
--- a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/util/SFTPTransfer.java
+++ b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/util/SFTPTransfer.java
@@ -631,6 +631,7 @@ public class SFTPTransfer implements FileTransfer {
try {
this.homeDir = sftpClient.canonicalize("");
} catch (IOException e) {
+ this.homeDir = "";
// For some combination of server configuration and user home directory, getHome() can fail with "2: File not found"
// Since homeDir is only used tor SEND provenance event transit uri, this is harmless. Log and continue.
logger.debug("Failed to retrieve {} home directory due to {}", new Object[]{username, e.getMessage()});