This is an automated email from the ASF dual-hosted git repository.

exceptionfactory pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/nifi.git


The following commit(s) were added to refs/heads/main by this push:
     new da8e3184d8 NIFI-15261 Added URL/URI validation for selected properties 
representing a URL/URI (#10569)
da8e3184d8 is described below

commit da8e3184d8e4228274286a30e7d7dafa481a851a
Author: dan-s1 <[email protected]>
AuthorDate: Mon Dec 1 11:33:19 2025 -0500

    NIFI-15261 Added URL/URI validation for selected properties representing a 
URL/URI (#10569)
    
    Signed-off-by: David Handermann <[email protected]>
---
 .../java/org/apache/nifi/processors/aws/sqs/DeleteSQS.java |  2 +-
 .../java/org/apache/nifi/processors/aws/sqs/GetSQS.java    |  2 +-
 .../java/org/apache/nifi/processors/aws/sqs/PutSQS.java    |  2 +-
 .../org/apache/nifi/processors/aws/sqs/TestDeleteSQS.java  |  3 +--
 .../org/apache/nifi/processors/aws/sqs/TestGetSQS.java     |  3 +--
 .../org/apache/nifi/processors/aws/sqs/TestPutSQS.java     |  3 +--
 .../azure/AzureKeyVaultSecretsParameterProvider.java       |  2 +-
 .../AbstractAzureLogAnalyticsReportingTask.java            |  2 +-
 .../AzureLogAnalyticsProvenanceReportingTask.java          | 14 +++++++-------
 .../org/apache/nifi/graph/Neo4JCypherClientService.java    |  2 +-
 .../nifi/processors/mqtt/common/AbstractMQTTProcessor.java |  2 +-
 .../org/apache/nifi/processors/slack/PublishSlack.java     |  2 +-
 .../java/org/apache/nifi/lookup/RestLookupService.java     |  2 +-
 13 files changed, 19 insertions(+), 22 deletions(-)

diff --git 
a/nifi-extension-bundles/nifi-aws-bundle/nifi-aws-processors/src/main/java/org/apache/nifi/processors/aws/sqs/DeleteSQS.java
 
b/nifi-extension-bundles/nifi-aws-bundle/nifi-aws-processors/src/main/java/org/apache/nifi/processors/aws/sqs/DeleteSQS.java
index f704aa14e5..20c9f94a3f 100644
--- 
a/nifi-extension-bundles/nifi-aws-bundle/nifi-aws-processors/src/main/java/org/apache/nifi/processors/aws/sqs/DeleteSQS.java
+++ 
b/nifi-extension-bundles/nifi-aws-bundle/nifi-aws-processors/src/main/java/org/apache/nifi/processors/aws/sqs/DeleteSQS.java
@@ -52,7 +52,7 @@ public class DeleteSQS extends 
AbstractAwsSyncProcessor<SqsClient, SqsClientBuil
     public static final PropertyDescriptor QUEUE_URL = new 
PropertyDescriptor.Builder()
             .name("Queue URL")
             .description("The URL of the queue delete from")
-            .addValidator(StandardValidators.NON_EMPTY_VALIDATOR)
+            .addValidator(StandardValidators.URL_VALIDATOR)
             
.expressionLanguageSupported(ExpressionLanguageScope.FLOWFILE_ATTRIBUTES)
             .required(true)
             .build();
diff --git 
a/nifi-extension-bundles/nifi-aws-bundle/nifi-aws-processors/src/main/java/org/apache/nifi/processors/aws/sqs/GetSQS.java
 
b/nifi-extension-bundles/nifi-aws-bundle/nifi-aws-processors/src/main/java/org/apache/nifi/processors/aws/sqs/GetSQS.java
index e31aae988c..f5114ffd49 100644
--- 
a/nifi-extension-bundles/nifi-aws-bundle/nifi-aws-processors/src/main/java/org/apache/nifi/processors/aws/sqs/GetSQS.java
+++ 
b/nifi-extension-bundles/nifi-aws-bundle/nifi-aws-processors/src/main/java/org/apache/nifi/processors/aws/sqs/GetSQS.java
@@ -71,7 +71,7 @@ public class GetSQS extends 
AbstractAwsSyncProcessor<SqsClient, SqsClientBuilder
     public static final PropertyDescriptor QUEUE_URL = new 
PropertyDescriptor.Builder()
             .name("Queue URL")
             .description("The URL of the queue to get messages from")
-            .addValidator(StandardValidators.NON_EMPTY_VALIDATOR)
+            .addValidator(StandardValidators.URL_VALIDATOR)
             .expressionLanguageSupported(ExpressionLanguageScope.ENVIRONMENT)
             .required(true)
             .build();
diff --git 
a/nifi-extension-bundles/nifi-aws-bundle/nifi-aws-processors/src/main/java/org/apache/nifi/processors/aws/sqs/PutSQS.java
 
b/nifi-extension-bundles/nifi-aws-bundle/nifi-aws-processors/src/main/java/org/apache/nifi/processors/aws/sqs/PutSQS.java
index 51ba1611a5..a16fb8fcba 100644
--- 
a/nifi-extension-bundles/nifi-aws-bundle/nifi-aws-processors/src/main/java/org/apache/nifi/processors/aws/sqs/PutSQS.java
+++ 
b/nifi-extension-bundles/nifi-aws-bundle/nifi-aws-processors/src/main/java/org/apache/nifi/processors/aws/sqs/PutSQS.java
@@ -74,7 +74,7 @@ public class PutSQS extends 
AbstractAwsSyncProcessor<SqsClient, SqsClientBuilder
     public static final PropertyDescriptor QUEUE_URL = new 
PropertyDescriptor.Builder()
             .name("Queue URL")
             .description("The URL of the queue to act upon")
-            .addValidator(StandardValidators.NON_EMPTY_VALIDATOR)
+            .addValidator(StandardValidators.URL_VALIDATOR)
             
.expressionLanguageSupported(ExpressionLanguageScope.FLOWFILE_ATTRIBUTES)
             .required(true)
             .build();
diff --git 
a/nifi-extension-bundles/nifi-aws-bundle/nifi-aws-processors/src/test/java/org/apache/nifi/processors/aws/sqs/TestDeleteSQS.java
 
b/nifi-extension-bundles/nifi-aws-bundle/nifi-aws-processors/src/test/java/org/apache/nifi/processors/aws/sqs/TestDeleteSQS.java
index b5d5f2c813..6a478770e9 100644
--- 
a/nifi-extension-bundles/nifi-aws-bundle/nifi-aws-processors/src/test/java/org/apache/nifi/processors/aws/sqs/TestDeleteSQS.java
+++ 
b/nifi-extension-bundles/nifi-aws-bundle/nifi-aws-processors/src/test/java/org/apache/nifi/processors/aws/sqs/TestDeleteSQS.java
@@ -38,7 +38,6 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 public class TestDeleteSQS {
 
     private TestRunner runner = null;
-    private DeleteSQS mockDeleteSQS = null;
     private SqsClient mockSQSClient = null;
 
     @BeforeEach
@@ -48,7 +47,7 @@ public class TestDeleteSQS {
                 .failed(Collections.emptyList())
                 .build();
         
Mockito.when(mockSQSClient.deleteMessageBatch(Mockito.any(DeleteMessageBatchRequest.class))).thenReturn(mockResponse);
-        mockDeleteSQS = new DeleteSQS() {
+        DeleteSQS mockDeleteSQS = new DeleteSQS() {
 
             @Override
             protected SqsClient getClient(ProcessContext context) {
diff --git 
a/nifi-extension-bundles/nifi-aws-bundle/nifi-aws-processors/src/test/java/org/apache/nifi/processors/aws/sqs/TestGetSQS.java
 
b/nifi-extension-bundles/nifi-aws-bundle/nifi-aws-processors/src/test/java/org/apache/nifi/processors/aws/sqs/TestGetSQS.java
index 1b9b321127..e29168842d 100644
--- 
a/nifi-extension-bundles/nifi-aws-bundle/nifi-aws-processors/src/test/java/org/apache/nifi/processors/aws/sqs/TestGetSQS.java
+++ 
b/nifi-extension-bundles/nifi-aws-bundle/nifi-aws-processors/src/test/java/org/apache/nifi/processors/aws/sqs/TestGetSQS.java
@@ -43,13 +43,12 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 public class TestGetSQS {
 
     private TestRunner runner = null;
-    private GetSQS mockGetSQS = null;
     private SqsClient mockSQSClient = null;
 
     @BeforeEach
     public void setUp() {
         mockSQSClient = Mockito.mock(SqsClient.class);
-        mockGetSQS = new GetSQS() {
+        GetSQS mockGetSQS = new GetSQS() {
             @Override
             protected SqsClient getClient(ProcessContext context) {
                 return mockSQSClient;
diff --git 
a/nifi-extension-bundles/nifi-aws-bundle/nifi-aws-processors/src/test/java/org/apache/nifi/processors/aws/sqs/TestPutSQS.java
 
b/nifi-extension-bundles/nifi-aws-bundle/nifi-aws-processors/src/test/java/org/apache/nifi/processors/aws/sqs/TestPutSQS.java
index ab2711fbb9..233605d8a8 100644
--- 
a/nifi-extension-bundles/nifi-aws-bundle/nifi-aws-processors/src/test/java/org/apache/nifi/processors/aws/sqs/TestPutSQS.java
+++ 
b/nifi-extension-bundles/nifi-aws-bundle/nifi-aws-processors/src/test/java/org/apache/nifi/processors/aws/sqs/TestPutSQS.java
@@ -38,13 +38,12 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
 public class TestPutSQS {
 
     private TestRunner runner = null;
-    private PutSQS mockPutSQS = null;
     private SqsClient mockSQSClient = null;
 
     @BeforeEach
     public void setUp() {
         mockSQSClient = Mockito.mock(SqsClient.class);
-        mockPutSQS = new PutSQS() {
+        PutSQS mockPutSQS = new PutSQS() {
             @Override
             protected SqsClient getClient(ProcessContext context) {
                 return mockSQSClient;
diff --git 
a/nifi-extension-bundles/nifi-azure-bundle/nifi-azure-parameter-providers/src/main/java/org/apache/nifi/parameter/azure/AzureKeyVaultSecretsParameterProvider.java
 
b/nifi-extension-bundles/nifi-azure-bundle/nifi-azure-parameter-providers/src/main/java/org/apache/nifi/parameter/azure/AzureKeyVaultSecretsParameterProvider.java
index c9305170ca..a04aeb3a32 100644
--- 
a/nifi-extension-bundles/nifi-azure-bundle/nifi-azure-parameter-providers/src/main/java/org/apache/nifi/parameter/azure/AzureKeyVaultSecretsParameterProvider.java
+++ 
b/nifi-extension-bundles/nifi-azure-bundle/nifi-azure-parameter-providers/src/main/java/org/apache/nifi/parameter/azure/AzureKeyVaultSecretsParameterProvider.java
@@ -61,7 +61,7 @@ public class AzureKeyVaultSecretsParameterProvider extends 
AbstractParameterProv
             .displayName("Key Vault URI")
             .description("Vault URI of the Key Vault that contains the 
secrets")
             .required(true)
-            .addValidator(StandardValidators.NON_EMPTY_VALIDATOR)
+            .addValidator(StandardValidators.URI_VALIDATOR)
             .build();
     public static final PropertyDescriptor GROUP_NAME_PATTERN = new 
PropertyDescriptor.Builder()
             .name("group-name-pattern")
diff --git 
a/nifi-extension-bundles/nifi-azure-bundle/nifi-azure-reporting-task/src/main/java/org/apache/nifi/reporting/azure/loganalytics/AbstractAzureLogAnalyticsReportingTask.java
 
b/nifi-extension-bundles/nifi-azure-bundle/nifi-azure-reporting-task/src/main/java/org/apache/nifi/reporting/azure/loganalytics/AbstractAzureLogAnalyticsReportingTask.java
index 6db63dfbcb..490d4e88d6 100644
--- 
a/nifi-extension-bundles/nifi-azure-bundle/nifi-azure-reporting-task/src/main/java/org/apache/nifi/reporting/azure/loganalytics/AbstractAzureLogAnalyticsReportingTask.java
+++ 
b/nifi-extension-bundles/nifi-azure-bundle/nifi-azure-reporting-task/src/main/java/org/apache/nifi/reporting/azure/loganalytics/AbstractAzureLogAnalyticsReportingTask.java
@@ -90,7 +90,7 @@ public abstract class AbstractAzureLogAnalyticsReportingTask 
extends AbstractRep
     static final PropertyDescriptor LOG_ANALYTICS_URL_ENDPOINT_FORMAT = new 
PropertyDescriptor.Builder()
             .name("Log Analytics URL Endpoint Format").description("Log 
Analytics URL Endpoint Format").required(false)
             
.defaultValue("https://{0}.ods.opinsights.azure.com/api/logs?api-version=2016-04-01";)
-            .addValidator(StandardValidators.NON_EMPTY_VALIDATOR)
+            .addValidator(StandardValidators.URL_VALIDATOR)
             
.expressionLanguageSupported(ExpressionLanguageScope.ENVIRONMENT).build();
 
     private static final List<PropertyDescriptor> PROPERTY_DESCRIPTORS = 
List.of(
diff --git 
a/nifi-extension-bundles/nifi-azure-bundle/nifi-azure-reporting-task/src/main/java/org/apache/nifi/reporting/azure/loganalytics/AzureLogAnalyticsProvenanceReportingTask.java
 
b/nifi-extension-bundles/nifi-azure-bundle/nifi-azure-reporting-task/src/main/java/org/apache/nifi/reporting/azure/loganalytics/AzureLogAnalyticsProvenanceReportingTask.java
index 529ef73123..ee4d3921e6 100644
--- 
a/nifi-extension-bundles/nifi-azure-bundle/nifi-azure-reporting-task/src/main/java/org/apache/nifi/reporting/azure/loganalytics/AzureLogAnalyticsProvenanceReportingTask.java
+++ 
b/nifi-extension-bundles/nifi-azure-bundle/nifi-azure-reporting-task/src/main/java/org/apache/nifi/reporting/azure/loganalytics/AzureLogAnalyticsProvenanceReportingTask.java
@@ -32,12 +32,12 @@ import org.apache.nifi.provenance.ProvenanceEventType;
 import org.apache.nifi.reporting.ReportingContext;
 import org.apache.nifi.reporting.util.provenance.ProvenanceEventConsumer;
 
-import jakarta.json.Json;
-import jakarta.json.JsonArrayBuilder;
-import jakarta.json.JsonBuilderFactory;
-import jakarta.json.JsonObject;
-import jakarta.json.JsonObjectBuilder;
-import jakarta.json.JsonValue;
+import jakarta.json.Json;
+import jakarta.json.JsonArrayBuilder;
+import jakarta.json.JsonBuilderFactory;
+import jakarta.json.JsonObject;
+import jakarta.json.JsonObjectBuilder;
+import jakarta.json.JsonValue;
 import java.net.MalformedURLException;
 import java.net.URI;
 import java.net.URL;
@@ -161,7 +161,7 @@ public class AzureLogAnalyticsProvenanceReportingTask 
extends AbstractAzureLogAn
                         .description("The URL of this instance to use in the 
Content URI of each event.").required(true)
                         
.expressionLanguageSupported(ExpressionLanguageScope.ENVIRONMENT)
                         .defaultValue("http://${hostname(true)}:8080/nifi")
-                        
.addValidator(StandardValidators.NON_EMPTY_VALIDATOR).build();
+                        
.addValidator(StandardValidators.URL_VALIDATOR).build();
 
         static final PropertyDescriptor BATCH_SIZE = new 
PropertyDescriptor.Builder()
                         .name("Batch Size")
diff --git 
a/nifi-extension-bundles/nifi-graph-bundle/nifi-neo4j-cypher-service/src/main/java/org/apache/nifi/graph/Neo4JCypherClientService.java
 
b/nifi-extension-bundles/nifi-graph-bundle/nifi-neo4j-cypher-service/src/main/java/org/apache/nifi/graph/Neo4JCypherClientService.java
index 527073632e..958393bb33 100644
--- 
a/nifi-extension-bundles/nifi-graph-bundle/nifi-neo4j-cypher-service/src/main/java/org/apache/nifi/graph/Neo4JCypherClientService.java
+++ 
b/nifi-extension-bundles/nifi-graph-bundle/nifi-neo4j-cypher-service/src/main/java/org/apache/nifi/graph/Neo4JCypherClientService.java
@@ -65,7 +65,7 @@ public class Neo4JCypherClientService extends 
AbstractControllerService implemen
             .required(true)
             .defaultValue("bolt://localhost:7687")
             .expressionLanguageSupported(ExpressionLanguageScope.ENVIRONMENT)
-            .addValidator(StandardValidators.NON_EMPTY_VALIDATOR)
+            .addValidator(StandardValidators.URL_VALIDATOR)
             .build();
 
     public static final PropertyDescriptor USERNAME = new 
PropertyDescriptor.Builder()
diff --git 
a/nifi-extension-bundles/nifi-mqtt-bundle/nifi-mqtt-processors/src/main/java/org/apache/nifi/processors/mqtt/common/AbstractMQTTProcessor.java
 
b/nifi-extension-bundles/nifi-mqtt-bundle/nifi-mqtt-processors/src/main/java/org/apache/nifi/processors/mqtt/common/AbstractMQTTProcessor.java
index c2f6ea9ad5..badf6760a8 100644
--- 
a/nifi-extension-bundles/nifi-mqtt-bundle/nifi-mqtt-processors/src/main/java/org/apache/nifi/processors/mqtt/common/AbstractMQTTProcessor.java
+++ 
b/nifi-extension-bundles/nifi-mqtt-bundle/nifi-mqtt-processors/src/main/java/org/apache/nifi/processors/mqtt/common/AbstractMQTTProcessor.java
@@ -115,7 +115,7 @@ public abstract class AbstractMQTTProcessor extends 
AbstractSessionFactoryProces
                     "the processor will use a round-robin algorithm to connect 
to the brokers on connection failure.")
             .required(true)
             .expressionLanguageSupported(ExpressionLanguageScope.ENVIRONMENT)
-            .addValidator(StandardValidators.NON_BLANK_VALIDATOR)
+            .addValidator(StandardValidators.URI_LIST_VALIDATOR)
             .build();
 
     public static final PropertyDescriptor PROP_CLIENTID = new 
PropertyDescriptor.Builder()
diff --git 
a/nifi-extension-bundles/nifi-slack-bundle/nifi-slack-processors/src/main/java/org/apache/nifi/processors/slack/PublishSlack.java
 
b/nifi-extension-bundles/nifi-slack-bundle/nifi-slack-processors/src/main/java/org/apache/nifi/processors/slack/PublishSlack.java
index 8d2ea23d0e..37a27c7132 100644
--- 
a/nifi-extension-bundles/nifi-slack-bundle/nifi-slack-processors/src/main/java/org/apache/nifi/processors/slack/PublishSlack.java
+++ 
b/nifi-extension-bundles/nifi-slack-bundle/nifi-slack-processors/src/main/java/org/apache/nifi/processors/slack/PublishSlack.java
@@ -217,7 +217,7 @@ public class PublishSlack extends AbstractProcessor {
         .name("Methods Endpoint Url Prefix")
         .description("Customization of the Slack Client. Set the 
methodsEndpointUrlPrefix. If you need to set a different URL prefix for Slack 
API Methods calls, " +
                      "you can set the one. Default value: 
https://slack.com/api/";)
-        .addValidator(StandardValidators.NON_EMPTY_VALIDATOR)
+        .addValidator(StandardValidators.URL_VALIDATOR)
         
.expressionLanguageSupported(ExpressionLanguageScope.FLOWFILE_ATTRIBUTES)
         .required(false)
         .build();
diff --git 
a/nifi-extension-bundles/nifi-standard-services/nifi-lookup-services-bundle/nifi-lookup-services/src/main/java/org/apache/nifi/lookup/RestLookupService.java
 
b/nifi-extension-bundles/nifi-standard-services/nifi-lookup-services-bundle/nifi-lookup-services/src/main/java/org/apache/nifi/lookup/RestLookupService.java
index fa93c75364..8a53c13691 100644
--- 
a/nifi-extension-bundles/nifi-standard-services/nifi-lookup-services-bundle/nifi-lookup-services/src/main/java/org/apache/nifi/lookup/RestLookupService.java
+++ 
b/nifi-extension-bundles/nifi-standard-services/nifi-lookup-services-bundle/nifi-lookup-services/src/main/java/org/apache/nifi/lookup/RestLookupService.java
@@ -95,7 +95,7 @@ public class RestLookupService extends 
AbstractControllerService implements Reco
                 "not flowfile attributes.")
         
.expressionLanguageSupported(ExpressionLanguageScope.FLOWFILE_ATTRIBUTES)
         .required(true)
-        .addValidator(StandardValidators.NON_BLANK_VALIDATOR)
+        .addValidator(StandardValidators.URL_VALIDATOR)
         .build();
 
     static final PropertyDescriptor RECORD_READER = new 
PropertyDescriptor.Builder()

Reply via email to