You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by ma...@apache.org on 2018/03/02 16:16:00 UTC

nifi git commit: NIFI-4920 Skipping sensitive properties when updating component properties from versioned component. This closes #2505.

Repository: nifi
Updated Branches:
  refs/heads/master 74bb341ab -> 179e967b4


NIFI-4920 Skipping sensitive properties when updating component properties from versioned component. This closes #2505.

Signed-off-by: Mark Payne <ma...@hotmail.com>


Project: http://git-wip-us.apache.org/repos/asf/nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/nifi/commit/179e967b
Tree: http://git-wip-us.apache.org/repos/asf/nifi/tree/179e967b
Diff: http://git-wip-us.apache.org/repos/asf/nifi/diff/179e967b

Branch: refs/heads/master
Commit: 179e967b47920173c013d81411c6086ac1bff326
Parents: 74bb341
Author: Bryan Bende <bb...@apache.org>
Authored: Fri Mar 2 10:52:22 2018 -0500
Committer: Mark Payne <ma...@hotmail.com>
Committed: Fri Mar 2 11:15:39 2018 -0500

----------------------------------------------------------------------
 .../org/apache/nifi/groups/StandardProcessGroup.java | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/nifi/blob/179e967b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/groups/StandardProcessGroup.java
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/groups/StandardProcessGroup.java b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/groups/StandardProcessGroup.java
index c738737..4177917 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/groups/StandardProcessGroup.java
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/groups/StandardProcessGroup.java
@@ -4098,9 +4098,17 @@ public final class StandardProcessGroup implements ProcessGroup {
     private Map<String, String> populatePropertiesMap(final Map<PropertyDescriptor, String> currentProperties, final Map<String, String> proposedProperties,
         final Map<String, VersionedPropertyDescriptor> proposedDescriptors, final ProcessGroup group) {
 
+        // since VersionedPropertyDescriptor currently doesn't know if it is sensitive or not,
+        // keep track of which property descriptors are sensitive from the current properties
+        final Set<String> sensitiveProperties = new HashSet<>();
+
         final Map<String, String> fullPropertyMap = new HashMap<>();
         for (final PropertyDescriptor property : currentProperties.keySet()) {
-            fullPropertyMap.put(property.getName(), null);
+            if (property.isSensitive()) {
+                sensitiveProperties.add(property.getName());
+            } else {
+                fullPropertyMap.put(property.getName(), null);
+            }
         }
 
         if (proposedProperties != null) {
@@ -4108,6 +4116,11 @@ public final class StandardProcessGroup implements ProcessGroup {
                 final String propertyName = entry.getKey();
                 final VersionedPropertyDescriptor descriptor = proposedDescriptors.get(propertyName);
 
+                // skip any sensitive properties so we can retain whatever is currently set
+                if (sensitiveProperties.contains(propertyName)) {
+                    continue;
+                }
+
                 String value;
                 if (descriptor != null && descriptor.getIdentifiesControllerService()) {
                     // Property identifies a Controller Service. So the value that we want to assign is not the value given.