Resolving previously resolved parameter providers when possible on version sync
@@ -1906,6 +1906,10 @@ public class StandardVersionedComponentSynchronizer implements VersionedComponen
final ParameterProviderReference reference = parameterProviderReferences.get(parameterProviderId);
if (reference == null) {
parameterProviderIdToSet = null;
+ } else {
+ parameterProviderNode = context.getFlowManager().getParameterProvider(reference.getIdentifier());
+ if (parameterProviderNode != null) {
+ parameterProviderIdToSet = reference.getIdentifier();
} else {
final String newParameterProviderId = componentIdGenerator.generateUuid(parameterProviderId, parameterProviderId, null);
@@ -1917,6 +1921,11 @@ public class StandardVersionedComponentSynchronizer implements VersionedComponen
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);
+ }
}
}
}
