This is an automated email from the ASF dual-hosted git repository.
markap14 pushed a commit to branch NIFI-15258
in repository https://gitbox.apache.org/repos/asf/nifi.git
The following commit(s) were added to refs/heads/NIFI-15258 by this push:
new 57d025f52c NIFI-15376: Adding dependencies to the configuration step
dto. (#10674)
57d025f52c is described below
commit 57d025f52cf1236e65b5c0f14346a48a526bb9da
Author: Matt Gilman <[email protected]>
AuthorDate: Thu Jan 15 11:21:24 2026 -0500
NIFI-15376: Adding dependencies to the configuration step dto. (#10674)
---
.../api/dto/ConfigurationStepConfigurationDTO.java | 14 +++++
.../api/dto/ConfigurationStepDependencyDTO.java | 70 ++++++++++++++++++++++
.../org/apache/nifi/web/api/dto/DtoFactory.java | 16 +++++
3 files changed, 100 insertions(+)
diff --git
a/nifi-framework-bundle/nifi-framework/nifi-client-dto/src/main/java/org/apache/nifi/web/api/dto/ConfigurationStepConfigurationDTO.java
b/nifi-framework-bundle/nifi-framework/nifi-client-dto/src/main/java/org/apache/nifi/web/api/dto/ConfigurationStepConfigurationDTO.java
index 4b58f9df2c..205c0381f4 100644
---
a/nifi-framework-bundle/nifi-framework/nifi-client-dto/src/main/java/org/apache/nifi/web/api/dto/ConfigurationStepConfigurationDTO.java
+++
b/nifi-framework-bundle/nifi-framework/nifi-client-dto/src/main/java/org/apache/nifi/web/api/dto/ConfigurationStepConfigurationDTO.java
@@ -20,6 +20,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.xml.bind.annotation.XmlType;
import java.util.List;
+import java.util.Set;
/**
* The configuration for a configuration step.
@@ -31,6 +32,7 @@ public class ConfigurationStepConfigurationDTO {
private String configurationStepDescription;
private boolean documented;
private List<PropertyGroupConfigurationDTO> propertyGroupConfigurations;
+ private Set<ConfigurationStepDependencyDTO> dependencies;
/**
* @return the configuration step name
@@ -79,4 +81,16 @@ public class ConfigurationStepConfigurationDTO {
public void setPropertyGroupConfigurations(final
List<PropertyGroupConfigurationDTO> propertyGroupConfigurations) {
this.propertyGroupConfigurations = propertyGroupConfigurations;
}
+
+ /**
+ * @return the dependencies that this configuration step has on other
configuration steps' properties
+ */
+ @Schema(description = "The dependencies that this configuration step has
on other configuration steps' properties.")
+ public Set<ConfigurationStepDependencyDTO> getDependencies() {
+ return dependencies;
+ }
+
+ public void setDependencies(final Set<ConfigurationStepDependencyDTO>
dependencies) {
+ this.dependencies = dependencies;
+ }
}
\ No newline at end of file
diff --git
a/nifi-framework-bundle/nifi-framework/nifi-client-dto/src/main/java/org/apache/nifi/web/api/dto/ConfigurationStepDependencyDTO.java
b/nifi-framework-bundle/nifi-framework/nifi-client-dto/src/main/java/org/apache/nifi/web/api/dto/ConfigurationStepDependencyDTO.java
new file mode 100644
index 0000000000..ee59271cfe
--- /dev/null
+++
b/nifi-framework-bundle/nifi-framework/nifi-client-dto/src/main/java/org/apache/nifi/web/api/dto/ConfigurationStepDependencyDTO.java
@@ -0,0 +1,70 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.nifi.web.api.dto;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.xml.bind.annotation.XmlType;
+
+import java.util.Set;
+
+/**
+ * A dependency that a configuration step has on another configuration step's
property.
+ */
+@XmlType(name = "configurationStepDependency")
+public class ConfigurationStepDependencyDTO {
+
+ private String stepName;
+ private String propertyName;
+ private Set<String> dependentValues;
+
+ /**
+ * @return the name of the configuration step that this step depends on
+ */
+ @Schema(description = "The name of the configuration step that this step
depends on.")
+ public String getStepName() {
+ return stepName;
+ }
+
+ public void setStepName(final String stepName) {
+ this.stepName = stepName;
+ }
+
+ /**
+ * @return the name of the property within the dependent step that must
have a value
+ */
+ @Schema(description = "The name of the property within the dependent step
that must have a value.")
+ public String getPropertyName() {
+ return propertyName;
+ }
+
+ public void setPropertyName(final String propertyName) {
+ this.propertyName = propertyName;
+ }
+
+ /**
+ * @return the values of the dependent property that satisfy this
dependency, or null if any non-null value satisfies the dependency
+ */
+ @Schema(description = "The values of the dependent property that satisfy
this dependency. If null, any non-null value satisfies the dependency.")
+ public Set<String> getDependentValues() {
+ return dependentValues;
+ }
+
+ public void setDependentValues(final Set<String> dependentValues) {
+ this.dependentValues = dependentValues;
+ }
+}
+
diff --git
a/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/api/dto/DtoFactory.java
b/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/api/dto/DtoFactory.java
index 231d313886..5ef81f541c 100644
---
a/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/api/dto/DtoFactory.java
+++
b/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/api/dto/DtoFactory.java
@@ -68,6 +68,7 @@ import org.apache.nifi.components.PropertyDescriptor;
import org.apache.nifi.components.ValidationResult;
import org.apache.nifi.components.connector.AssetReference;
import org.apache.nifi.components.connector.ConfigurationStep;
+import org.apache.nifi.components.connector.ConfigurationStepDependency;
import org.apache.nifi.components.connector.ConnectorAction;
import org.apache.nifi.components.connector.ConnectorAssetRepository;
import org.apache.nifi.components.connector.ConnectorConfiguration;
@@ -5350,6 +5351,21 @@ public final class DtoFactory {
.map(propertyGroup ->
createPropertyGroupConfigurationDtoFromGroup(propertyGroup, stepConfig))
.collect(Collectors.toList());
dto.setPropertyGroupConfigurations(propertyGroupDtos);
+
+ // Convert step dependencies
+ final Set<ConfigurationStepDependencyDTO> dependencyDtos =
step.getDependencies().stream()
+ .map(this::createConfigurationStepDependencyDto)
+ .collect(Collectors.toSet());
+ dto.setDependencies(dependencyDtos);
+
+ return dto;
+ }
+
+ private ConfigurationStepDependencyDTO
createConfigurationStepDependencyDto(final ConfigurationStepDependency
dependency) {
+ final ConfigurationStepDependencyDTO dto = new
ConfigurationStepDependencyDTO();
+ dto.setStepName(dependency.getStepName());
+ dto.setPropertyName(dependency.getPropertyName());
+ dto.setDependentValues(dependency.getDependentValues());
return dto;
}