You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by jo...@apache.org on 2021/07/08 21:26:36 UTC
[nifi] branch main updated: NIFI-8771: This closes #5205. Ensure
that we consider root process group level Controller Services when
determining whether or not the dataflow is empty
This is an automated email from the ASF dual-hosted git repository.
joewitt 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 2025999 NIFI-8771: This closes #5205. Ensure that we consider root process group level Controller Services when determining whether or not the dataflow is empty
2025999 is described below
commit 202599931076e11acc2569ccec93db3845a30dae
Author: Mark Payne <ma...@hotmail.com>
AuthorDate: Thu Jul 8 16:43:31 2021 -0400
NIFI-8771: This closes #5205. Ensure that we consider root process group level Controller Services when determining whether or not the dataflow is empty
Signed-off-by: Joe Witt <jo...@apache.org>
---
.../java/org/apache/nifi/controller/StandardFlowSynchronizer.java | 1 +
.../apache/nifi/controller/serialization/FlowFromDOMFactory.java | 7 +++++++
2 files changed, 8 insertions(+)
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/StandardFlowSynchronizer.java b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/StandardFlowSynchronizer.java
index 754ae90..cbb25f2 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/StandardFlowSynchronizer.java
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/StandardFlowSynchronizer.java
@@ -683,6 +683,7 @@ public class StandardFlowSynchronizer implements FlowSynchronizer {
&& CollectionUtils.isEmpty(contents.getOutputPorts())
&& CollectionUtils.isEmpty(contents.getProcessGroups())
&& CollectionUtils.isEmpty(contents.getRemoteProcessGroups())
+ && CollectionUtils.isEmpty(contents.getControllerServices())
&& parameterContextId == null;
}
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/serialization/FlowFromDOMFactory.java b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/serialization/FlowFromDOMFactory.java
index b8dba8a..f44fb0d 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/serialization/FlowFromDOMFactory.java
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/serialization/FlowFromDOMFactory.java
@@ -215,6 +215,7 @@ public class FlowFromDOMFactory {
final Set<LabelDTO> labels = new HashSet<>();
final Set<ProcessGroupDTO> processGroups = new HashSet<>();
final Set<RemoteProcessGroupDTO> remoteProcessGroups = new HashSet<>();
+ final Set<ControllerServiceDTO> controllerServices = new HashSet<>();
NodeList nodeList = DomUtils.getChildNodesByTagName(element, "processor");
for (int i = 0; i < nodeList.getLength(); i++) {
@@ -256,6 +257,11 @@ public class FlowFromDOMFactory {
connections.add(getConnection((Element) nodeList.item(i)));
}
+ nodeList = DomUtils.getChildNodesByTagName(element, "controllerService");
+ for (int i=0; i < nodeList.getLength(); i++) {
+ controllerServices.add(getControllerService((Element) nodeList.item(i), encryptor, encodingVersion));
+ }
+
final FlowSnippetDTO groupContents = new FlowSnippetDTO();
groupContents.setConnections(connections);
groupContents.setFunnels(funnels);
@@ -265,6 +271,7 @@ public class FlowFromDOMFactory {
groupContents.setProcessGroups(processGroups);
groupContents.setProcessors(processors);
groupContents.setRemoteProcessGroups(remoteProcessGroups);
+ groupContents.setControllerServices(controllerServices);
dto.setContents(groupContents);
return dto;