This is an automated email from the ASF dual-hosted git repository.
pvillard 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 32cbce652b NIFI-15458 Fixed SnowflakeComputingConnectionPool's
Password property
32cbce652b is described below
commit 32cbce652be5dfcfbec66ff6844e85e6c1a9d9d8
Author: Peter Turcsanyi <[email protected]>
AuthorDate: Mon Jan 12 17:12:23 2026 +0100
NIFI-15458 Fixed SnowflakeComputingConnectionPool's Password property
Restored the common Password property as non-dependent and defined a new
one for implementations having multiple Password Sources.
Also improved the evaluation of Password Source property using isSet()
because getProperty() returns a dummy PropertyValue instead of null.
Signed-off-by: Pierre Villard <[email protected]>
This closes #10761.
---
.../main/java/org/apache/nifi/dbcp/AbstractDBCPConnectionPool.java | 2 +-
.../src/main/java/org/apache/nifi/dbcp/utils/DBCPProperties.java | 4 ++++
.../src/main/java/org/apache/nifi/dbcp/DBCPConnectionPool.java | 6 +++---
3 files changed, 8 insertions(+), 4 deletions(-)
diff --git
a/nifi-extension-bundles/nifi-extension-utils/nifi-dbcp-base/src/main/java/org/apache/nifi/dbcp/AbstractDBCPConnectionPool.java
b/nifi-extension-bundles/nifi-extension-utils/nifi-dbcp-base/src/main/java/org/apache/nifi/dbcp/AbstractDBCPConnectionPool.java
index 013cf40a7a..439f917e10 100644
---
a/nifi-extension-bundles/nifi-extension-utils/nifi-dbcp-base/src/main/java/org/apache/nifi/dbcp/AbstractDBCPConnectionPool.java
+++
b/nifi-extension-bundles/nifi-extension-utils/nifi-dbcp-base/src/main/java/org/apache/nifi/dbcp/AbstractDBCPConnectionPool.java
@@ -240,7 +240,7 @@ public abstract class AbstractDBCPConnectionPool extends
AbstractControllerServi
protected DatabasePasswordProvider getDatabasePasswordProvider(final
ConfigurationContext context) {
final PropertyValue passwordSourceProperty =
context.getProperty(PASSWORD_SOURCE);
- final boolean databasePasswordProviderSelected =
passwordSourceProperty != null
+ final boolean databasePasswordProviderSelected =
passwordSourceProperty != null && passwordSourceProperty.isSet()
&&
PASSWORD_PROVIDER.getValue().equals(passwordSourceProperty.getValue());
if (!databasePasswordProviderSelected) {
diff --git
a/nifi-extension-bundles/nifi-extension-utils/nifi-dbcp-base/src/main/java/org/apache/nifi/dbcp/utils/DBCPProperties.java
b/nifi-extension-bundles/nifi-extension-utils/nifi-dbcp-base/src/main/java/org/apache/nifi/dbcp/utils/DBCPProperties.java
index 5d99f13226..6dd27cd903 100644
---
a/nifi-extension-bundles/nifi-extension-utils/nifi-dbcp-base/src/main/java/org/apache/nifi/dbcp/utils/DBCPProperties.java
+++
b/nifi-extension-bundles/nifi-extension-utils/nifi-dbcp-base/src/main/java/org/apache/nifi/dbcp/utils/DBCPProperties.java
@@ -81,6 +81,10 @@ public final class DBCPProperties {
.sensitive(true)
.addValidator(StandardValidators.NON_EMPTY_VALIDATOR)
.expressionLanguageSupported(ExpressionLanguageScope.ENVIRONMENT)
+ .build();
+
+ public static final PropertyDescriptor DB_PASSWORD_WITH_PASSWORD_SOURCE =
new PropertyDescriptor.Builder()
+ .fromPropertyDescriptor(DB_PASSWORD)
.dependsOn(PASSWORD_SOURCE, PasswordSource.PASSWORD)
.build();
diff --git
a/nifi-extension-bundles/nifi-standard-services/nifi-dbcp-service-bundle/nifi-dbcp-service/src/main/java/org/apache/nifi/dbcp/DBCPConnectionPool.java
b/nifi-extension-bundles/nifi-standard-services/nifi-dbcp-service-bundle/nifi-dbcp-service/src/main/java/org/apache/nifi/dbcp/DBCPConnectionPool.java
index 94de76c0c2..990f6c1c19 100644
---
a/nifi-extension-bundles/nifi-standard-services/nifi-dbcp-service-bundle/nifi-dbcp-service/src/main/java/org/apache/nifi/dbcp/DBCPConnectionPool.java
+++
b/nifi-extension-bundles/nifi-standard-services/nifi-dbcp-service-bundle/nifi-dbcp-service/src/main/java/org/apache/nifi/dbcp/DBCPConnectionPool.java
@@ -56,8 +56,8 @@ import java.util.stream.Collectors;
import static org.apache.nifi.dbcp.utils.DBCPProperties.DATABASE_URL;
import static org.apache.nifi.dbcp.utils.DBCPProperties.DB_DRIVERNAME;
import static org.apache.nifi.dbcp.utils.DBCPProperties.DB_DRIVER_LOCATION;
-import static org.apache.nifi.dbcp.utils.DBCPProperties.DB_PASSWORD;
import static org.apache.nifi.dbcp.utils.DBCPProperties.DB_PASSWORD_PROVIDER;
+import static
org.apache.nifi.dbcp.utils.DBCPProperties.DB_PASSWORD_WITH_PASSWORD_SOURCE;
import static org.apache.nifi.dbcp.utils.DBCPProperties.DB_USER;
import static org.apache.nifi.dbcp.utils.DBCPProperties.EVICTION_RUN_PERIOD;
import static org.apache.nifi.dbcp.utils.DBCPProperties.KERBEROS_USER_SERVICE;
@@ -115,7 +115,7 @@ public class DBCPConnectionPool extends
AbstractDBCPConnectionPool implements DB
KERBEROS_USER_SERVICE,
DB_USER,
PASSWORD_SOURCE,
- DB_PASSWORD,
+ DB_PASSWORD_WITH_PASSWORD_SOURCE,
DB_PASSWORD_PROVIDER,
MAX_WAIT_TIME,
MAX_TOTAL_CONNECTIONS,
@@ -163,7 +163,7 @@ public class DBCPConnectionPool extends
AbstractDBCPConnectionPool implements DB
final PropertyValue passwordSourceProperty =
context.getProperty(PASSWORD_SOURCE);
final String passwordSource = passwordSourceProperty == null ?
PASSWORD.getValue() : passwordSourceProperty.getValue();
final boolean passwordProviderSelected =
PASSWORD_PROVIDER.getValue().equals(passwordSource);
- final String password = passwordProviderSelected ? null :
context.getProperty(DB_PASSWORD).evaluateAttributeExpressions().getValue();
+ final String password = passwordProviderSelected ? null :
context.getProperty(DB_PASSWORD_WITH_PASSWORD_SOURCE).evaluateAttributeExpressions().getValue();
final Integer maxTotal =
context.getProperty(MAX_TOTAL_CONNECTIONS).evaluateAttributeExpressions().asInteger();
final String validationQuery =
context.getProperty(VALIDATION_QUERY).evaluateAttributeExpressions().getValue();
final Long maxWaitMillis =
extractMillisWithInfinite(context.getProperty(MAX_WAIT_TIME).evaluateAttributeExpressions());