bobpaulin commented on code in PR #11789:
URL: https://github.com/apache/nifi/pull/11789#discussion_r4224464037
##########
nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/components/connector/StandardConnectorNode.java:
##########
@@ -537,6 +554,53 @@ private Map<String, StepConfiguration>
applyMissingRequiredPropertyDefaults(fina
return propertiesWithDefaults;
}
+ private Map<String, StepConfiguration> retainDeclaredProperties(final
Map<String, StepConfiguration> migratedProperties,
+ final List<ConfigurationStep> configurationSteps) {
+ if (configurationSteps == null || configurationSteps.isEmpty()) {
+ return migratedProperties;
+ }
+
+ final Map<String, Set<String>> declaredPropertyNamesByStep = new
LinkedHashMap<>();
+ for (final ConfigurationStep configurationStep : configurationSteps) {
+ final Set<String> declaredPropertyNames = new HashSet<>();
+ for (final ConnectorPropertyGroup propertyGroup :
configurationStep.getPropertyGroups()) {
+ for (final ConnectorPropertyDescriptor descriptor :
propertyGroup.getProperties()) {
+ declaredPropertyNames.add(descriptor.getName());
+ }
+ }
+
+ declaredPropertyNamesByStep.put(configurationStep.getName(),
declaredPropertyNames);
+ }
+
+ final Map<String, StepConfiguration> retainedProperties = new
LinkedHashMap<>();
+ for (final Map.Entry<String, StepConfiguration> entry :
migratedProperties.entrySet()) {
+ final String stepName = entry.getKey();
+ final Set<String> declaredPropertyNames =
declaredPropertyNamesByStep.get(stepName);
+ if (declaredPropertyNames == null) {
+ logger.debug("Dropped configuration step [{}] from {} because
it is not declared by the current Connector version", stepName, this);
Review Comment:
Nit.
Should we synch this update with the existing log message that uses
"Omitting vs Dropped" extra properties:
"Omitting property [{}] of step [{}] from the saved configuration of {}
because the current Connector does not declare it"
##########
nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/components/connector/StandardConnectorNode.java:
##########
@@ -537,6 +554,53 @@ private Map<String, StepConfiguration>
applyMissingRequiredPropertyDefaults(fina
return propertiesWithDefaults;
}
+ private Map<String, StepConfiguration> retainDeclaredProperties(final
Map<String, StepConfiguration> migratedProperties,
+ final List<ConfigurationStep> configurationSteps) {
+ if (configurationSteps == null || configurationSteps.isEmpty()) {
+ return migratedProperties;
+ }
+
+ final Map<String, Set<String>> declaredPropertyNamesByStep = new
LinkedHashMap<>();
+ for (final ConfigurationStep configurationStep : configurationSteps) {
+ final Set<String> declaredPropertyNames = new HashSet<>();
+ for (final ConnectorPropertyGroup propertyGroup :
configurationStep.getPropertyGroups()) {
+ for (final ConnectorPropertyDescriptor descriptor :
propertyGroup.getProperties()) {
+ declaredPropertyNames.add(descriptor.getName());
+ }
+ }
+
+ declaredPropertyNamesByStep.put(configurationStep.getName(),
declaredPropertyNames);
+ }
+
+ final Map<String, StepConfiguration> retainedProperties = new
LinkedHashMap<>();
+ for (final Map.Entry<String, StepConfiguration> entry :
migratedProperties.entrySet()) {
+ final String stepName = entry.getKey();
+ final Set<String> declaredPropertyNames =
declaredPropertyNamesByStep.get(stepName);
+ if (declaredPropertyNames == null) {
+ logger.debug("Dropped configuration step [{}] from {} because
it is not declared by the current Connector version", stepName, this);
+ continue;
+ }
+
+ final StepConfiguration stepConfiguration = entry.getValue();
+ final Map<String, ConnectorValueReference> existingValues =
stepConfiguration.getPropertyValues();
+ final Map<String, ConnectorValueReference> retainedValues = new
LinkedHashMap<>();
+ for (final Map.Entry<String, ConnectorValueReference>
propertyEntry : existingValues.entrySet()) {
+ if (declaredPropertyNames.contains(propertyEntry.getKey())) {
+ retainedValues.put(propertyEntry.getKey(),
propertyEntry.getValue());
+ } else {
+ logger.debug("Dropped property [{}] of configuration step
[{}] from {} because it is not declared by the current Connector version",
Review Comment:
Nit.
Should we synch this update with the existing log message that uses
"Omitting vs Dropped" extra properties:
"Omitting property [{}] of step [{}] from the saved configuration of {}
because the current Connector does not declare it"
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]