From a7bc0e5236eeca0c0d6d2716654ee4ea580f2c12 Mon Sep 17 00:00:00 2001 From: Pierre Villard Date: Mon, 3 Feb 2025 13:06:40 +0100 Subject: [PATCH] NIFI-14223 - pg-import fix NPE when inputSource not specified This closes #9686. Signed-off-by: Chris Sampson --- .../nifi/toolkit/cli/impl/command/nifi/pg/PGImport.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/nifi-toolkit/nifi-toolkit-cli/src/main/java/org/apache/nifi/toolkit/cli/impl/command/nifi/pg/PGImport.java b/nifi-toolkit/nifi-toolkit-cli/src/main/java/org/apache/nifi/toolkit/cli/impl/command/nifi/pg/PGImport.java index 76b80972b9..928c0c1e16 100644 --- a/nifi-toolkit/nifi-toolkit-cli/src/main/java/org/apache/nifi/toolkit/cli/impl/command/nifi/pg/PGImport.java +++ b/nifi-toolkit/nifi-toolkit-cli/src/main/java/org/apache/nifi/toolkit/cli/impl/command/nifi/pg/PGImport.java @@ -80,6 +80,7 @@ public class PGImport extends AbstractNiFiCommand { throws NiFiClientException, IOException, MissingOptionException { final String inputSource = getArg(properties, CommandOption.INPUT_SOURCE); + final boolean isInputSpecified = StringUtils.isNotBlank(inputSource); final String bucketId = getArg(properties, CommandOption.BUCKET_ID); final String flowId = getArg(properties, CommandOption.FLOW_ID); @@ -93,9 +94,9 @@ public class PGImport extends AbstractNiFiCommand { final boolean posXExists = StringUtils.isNotBlank(posXStr); final boolean posYExists = StringUtils.isNotBlank(posYStr); - final File input = new File(inputSource); + final File input = isInputSpecified ? new File(inputSource) : null; - if (StringUtils.isBlank(inputSource)) { + if (!isInputSpecified) { if (StringUtils.isBlank(bucketId)) { throw new IllegalArgumentException("Input path is not specified so Bucket ID must be specified"); } @@ -157,7 +158,7 @@ public class PGImport extends AbstractNiFiCommand { final ProcessGroupClient pgClient = client.getProcessGroupClient(); ProcessGroupEntity createdEntity = null; - if (StringUtils.isBlank(inputSource)) { + if (!isInputSpecified) { // if a registry client is specified use it, otherwise see if there is only one // available and use that, if more than one is available then throw an exception