You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by kd...@apache.org on 2026/03/18 17:20:48 UTC
(nifi) branch NIFI-15727 created (now b723a8dc485)
This is an automated email from the ASF dual-hosted git repository.
kdoran pushed a change to branch NIFI-15727
in repository https://gitbox.apache.org/repos/asf/nifi.git
at b723a8dc485 NIFI-15727 Fix ConnectorRepository syncFromProvider bug
This branch includes the following new commits:
new b723a8dc485 NIFI-15727 Fix ConnectorRepository syncFromProvider bug
The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
(nifi) 01/01: NIFI-15727 Fix ConnectorRepository syncFromProvider bug
Posted by kd...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
kdoran pushed a commit to branch NIFI-15727
in repository https://gitbox.apache.org/repos/asf/nifi.git
commit b723a8dc485e6990203f46419a323806c4cc0b2b
Author: Kevin Doran <kd...@apache.org>
AuthorDate: Wed Mar 18 13:18:01 2026 -0400
NIFI-15727 Fix ConnectorRepository syncFromProvider bug
---
.../connector/StandardConnectorRepository.java | 3 +-
.../connector/TestStandardConnectorRepository.java | 34 +++++++++++++++++-----
2 files changed, 27 insertions(+), 10 deletions(-)
diff --git a/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/components/connector/StandardConnectorRepository.java b/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/components/connector/StandardConnectorRepository.java
index 2df018c6382..dcc53f2a472 100644
--- a/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/components/connector/StandardConnectorRepository.java
+++ b/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/components/connector/StandardConnectorRepository.java
@@ -463,10 +463,9 @@ public class StandardConnectorRepository implements ConnectorRepository {
final List<VersionedConfigurationStep> workingFlowConfiguration = config.getWorkingFlowConfiguration();
if (workingFlowConfiguration != null) {
- final MutableConnectorConfigurationContext workingConfigContext = connector.getWorkingFlowContext().getConfigurationContext();
for (final VersionedConfigurationStep step : workingFlowConfiguration) {
final StepConfiguration stepConfiguration = toStepConfiguration(step);
- workingConfigContext.replaceProperties(step.getName(), stepConfiguration);
+ connector.setConfiguration(step.getName(), stepConfiguration);
}
}
}
diff --git a/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/java/org/apache/nifi/components/connector/TestStandardConnectorRepository.java b/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/java/org/apache/nifi/components/connector/TestStandardConnectorRepository.java
index 4089b274819..b833d74c6a1 100644
--- a/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/java/org/apache/nifi/components/connector/TestStandardConnectorRepository.java
+++ b/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/java/org/apache/nifi/components/connector/TestStandardConnectorRepository.java
@@ -211,12 +211,11 @@ public class TestStandardConnectorRepository {
}
@Test
- public void testGetConnectorWithProviderOverridesWorkingConfig() {
+ public void testGetConnectorWithProviderOverridesWorkingConfig() throws FlowUpdateException {
final ConnectorConfigurationProvider provider = mock(ConnectorConfigurationProvider.class);
final StandardConnectorRepository repository = createRepositoryWithProvider(provider);
- final MutableConnectorConfigurationContext workingConfigContext = mock(MutableConnectorConfigurationContext.class);
- final ConnectorNode connector = createConnectorNodeWithWorkingConfig("connector-1", "Original Name", workingConfigContext);
+ final ConnectorNode connector = createSimpleConnectorNode("connector-1", "Original Name");
repository.addConnector(connector);
final ConnectorWorkingConfiguration externalConfig = new ConnectorWorkingConfiguration();
@@ -229,7 +228,7 @@ public class TestStandardConnectorRepository {
assertNotNull(result);
verify(connector).setName("External Name");
- verify(workingConfigContext).replaceProperties(eq("step1"), any(StepConfiguration.class));
+ verify(connector).setConfiguration(eq("step1"), any(StepConfiguration.class));
}
@Test
@@ -648,12 +647,11 @@ public class TestStandardConnectorRepository {
}
@Test
- public void testSyncFromProviderAppliesNifiUuidsDirectly() {
+ public void testSyncFromProviderAppliesNifiUuidsDirectly() throws FlowUpdateException {
final ConnectorConfigurationProvider provider = mock(ConnectorConfigurationProvider.class);
final StandardConnectorRepository repository = createRepositoryWithProvider(provider);
- final MutableConnectorConfigurationContext workingConfigContext = mock(MutableConnectorConfigurationContext.class);
- final ConnectorNode connector = createConnectorNodeWithWorkingConfig("connector-1", "Test Connector", workingConfigContext);
+ final ConnectorNode connector = createSimpleConnectorNode("connector-1", "Test Connector");
repository.addConnector(connector);
// Provider returns config with NiFi UUIDs (no translation needed in framework)
@@ -670,7 +668,27 @@ public class TestStandardConnectorRepository {
repository.getConnector("connector-1");
// Working config is updated with NiFi UUIDs as-is -- no translation in the repository
- verify(workingConfigContext).replaceProperties(eq("step1"), any(StepConfiguration.class));
+ verify(connector).setConfiguration(eq("step1"), any(StepConfiguration.class));
+ }
+
+ @Test
+ public void testSyncFromProviderSkipsSetConfigurationWhenNoSteps() throws FlowUpdateException {
+ final ConnectorConfigurationProvider provider = mock(ConnectorConfigurationProvider.class);
+ final StandardConnectorRepository repository = createRepositoryWithProvider(provider);
+
+ final ConnectorNode connector = createSimpleConnectorNode("connector-1", "Test Connector");
+ repository.addConnector(connector);
+
+ final ConnectorWorkingConfiguration externalConfig = new ConnectorWorkingConfiguration();
+ externalConfig.setName("External Name");
+ externalConfig.setWorkingFlowConfiguration(null);
+ when(provider.load("connector-1")).thenReturn(Optional.of(externalConfig));
+
+ final ConnectorNode result = repository.getConnector("connector-1");
+
+ assertNotNull(result);
+ verify(connector).setName("External Name");
+ verify(connector, never()).setConfiguration(anyString(), any(StepConfiguration.class));
}
@Test