You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by bb...@apache.org on 2023/01/25 18:43:04 UTC
[nifi] branch main updated: NIFI-11089: Resolving previously resolved parameter providers when possible on version sync (#6886)
This is an automated email from the ASF dual-hosted git repository.
bbende 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 7d99521d4c NIFI-11089: Resolving previously resolved parameter providers when possible on version sync (#6886)
7d99521d4c is described below
commit 7d99521d4cb557d713df4d6dbb56b6b7ccd54cc4
Author: Joe Gresock <jg...@gmail.com>
AuthorDate: Wed Jan 25 13:42:52 2023 -0500
NIFI-11089: Resolving previously resolved parameter providers when possible on version sync (#6886)
---
.../StandardVersionedComponentSynchronizer.java | 25 +++++++++++++++-------
1 file changed, 17 insertions(+), 8 deletions(-)
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/flow/synchronization/StandardVersionedComponentSynchronizer.java b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/flow/synchronization/StandardVersionedComponentSynchronizer.java
index 188b94de54..b4792dadaa 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/flow/synchronization/StandardVersionedComponentSynchronizer.java
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/flow/synchronization/StandardVersionedComponentSynchronizer.java
@@ -1907,16 +1907,25 @@ public class StandardVersionedComponentSynchronizer implements VersionedComponen
if (reference == null) {
parameterProviderIdToSet = null;
} else {
- final String newParameterProviderId = componentIdGenerator.generateUuid(parameterProviderId, parameterProviderId, null);
+ parameterProviderNode = context.getFlowManager().getParameterProvider(reference.getIdentifier());
+ if (parameterProviderNode != null) {
+ parameterProviderIdToSet = reference.getIdentifier();
+ } else {
+ final String newParameterProviderId = componentIdGenerator.generateUuid(parameterProviderId, parameterProviderId, null);
+
+ final Bundle bundle = reference.getBundle();
+ parameterProviderNode = context.getFlowManager().createParameterProvider(reference.getType(), newParameterProviderId,
+ new BundleCoordinate(bundle.getGroup(), bundle.getArtifact(), bundle.getVersion()), true);
- final Bundle bundle = reference.getBundle();
- parameterProviderNode = context.getFlowManager().createParameterProvider(reference.getType(), newParameterProviderId,
- new BundleCoordinate(bundle.getGroup(), bundle.getArtifact(), bundle.getVersion()), true);
+ parameterProviderNode.pauseValidationTrigger(); // avoid triggering validation multiple times
+ parameterProviderNode.setName(reference.getName());
+ parameterProviderNode.resumeValidationTrigger();
+ parameterProviderIdToSet = parameterProviderNode.getIdentifier();
- parameterProviderNode.pauseValidationTrigger(); // avoid triggering validation multiple times
- parameterProviderNode.setName(reference.getName());
- parameterProviderNode.resumeValidationTrigger();
- parameterProviderIdToSet = parameterProviderNode.getIdentifier();
+ // Set the reference id to the new id so it can be picked up by other contexts referencing the same provider
+ reference.setIdentifier(parameterProviderIdToSet);
+ parameterProviderReferences.put(parameterProviderIdToSet, reference);
+ }
}
}
}