This is an automated email from the ASF dual-hosted git repository.

kdoran 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 945dd2e5ac3 NIFI-15663: Update to use new ComponentHierarchyScope 
instead of  on facade/lifecycle classes (#10958)
945dd2e5ac3 is described below

commit 945dd2e5ac3daf5f250c0ba4d6b82f4cda645f05
Author: Mark Payne <[email protected]>
AuthorDate: Tue Mar 3 16:05:19 2026 -0500

    NIFI-15663: Update to use new ComponentHierarchyScope instead of  on 
facade/lifecycle classes (#10958)
---
 .../standalone/StandaloneProcessGroupFacade.java   |  9 ++--
 .../StandaloneProcessGroupLifecycle.java           | 56 ++++++++++++----------
 .../AuthorizingProcessGroupFacade.java             |  6 +--
 .../AuthorizingProcessGroupLifecycle.java          | 43 ++++++++---------
 4 files changed, 60 insertions(+), 54 deletions(-)

diff --git 
a/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/components/connector/facades/standalone/StandaloneProcessGroupFacade.java
 
b/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/components/connector/facades/standalone/StandaloneProcessGroupFacade.java
index 307a786aea8..83cd0a47191 100644
--- 
a/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/components/connector/facades/standalone/StandaloneProcessGroupFacade.java
+++ 
b/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/components/connector/facades/standalone/StandaloneProcessGroupFacade.java
@@ -19,9 +19,9 @@ package 
org.apache.nifi.components.connector.facades.standalone;
 
 import org.apache.nifi.asset.AssetManager;
 import org.apache.nifi.components.connector.DropFlowFileSummary;
+import org.apache.nifi.components.connector.components.ComponentHierarchyScope;
 import org.apache.nifi.components.connector.components.ConnectionFacade;
 import org.apache.nifi.components.connector.components.ControllerServiceFacade;
-import 
org.apache.nifi.components.connector.components.ControllerServiceReferenceHierarchy;
 import 
org.apache.nifi.components.connector.components.ControllerServiceReferenceScope;
 import org.apache.nifi.components.connector.components.ProcessGroupFacade;
 import org.apache.nifi.components.connector.components.ProcessGroupLifecycle;
@@ -227,11 +227,10 @@ public class StandaloneProcessGroupFacade implements 
ProcessGroupFacade {
     }
 
     @Override
-    public Set<ControllerServiceFacade> getControllerServices(final 
ControllerServiceReferenceScope controllerServiceReferenceScope,
-                final ControllerServiceReferenceHierarchy 
controllerServiceReferenceHierarchy) {
+    public Set<ControllerServiceFacade> getControllerServices(final 
ControllerServiceReferenceScope referenceScope, final ComponentHierarchyScope 
hierarchyScope) {
 
-        final boolean recursive = (controllerServiceReferenceHierarchy == 
ControllerServiceReferenceHierarchy.INCLUDE_CHILD_GROUPS);
-        if (controllerServiceReferenceScope == 
ControllerServiceReferenceScope.INCLUDE_ALL) {
+        final boolean recursive = (hierarchyScope == 
ComponentHierarchyScope.INCLUDE_CHILD_GROUPS);
+        if (referenceScope == ControllerServiceReferenceScope.INCLUDE_ALL) {
             final Set<ControllerServiceFacade> facades = new HashSet<>();
             collectControllerServiceFacades(this, facades, facade -> true, 
recursive);
             return facades;
diff --git 
a/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/components/connector/facades/standalone/StandaloneProcessGroupLifecycle.java
 
b/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/components/connector/facades/standalone/StandaloneProcessGroupLifecycle.java
index 004ae629d3e..4c61aa06d49 100644
--- 
a/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/components/connector/facades/standalone/StandaloneProcessGroupLifecycle.java
+++ 
b/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/components/connector/facades/standalone/StandaloneProcessGroupLifecycle.java
@@ -19,7 +19,7 @@ package 
org.apache.nifi.components.connector.facades.standalone;
 
 import org.apache.nifi.components.PropertyDescriptor;
 import org.apache.nifi.components.ValidationContext;
-import 
org.apache.nifi.components.connector.components.ControllerServiceReferenceHierarchy;
+import org.apache.nifi.components.connector.components.ComponentHierarchyScope;
 import 
org.apache.nifi.components.connector.components.ControllerServiceReferenceScope;
 import org.apache.nifi.components.connector.components.ProcessGroupLifecycle;
 import org.apache.nifi.components.connector.components.StatelessGroupLifecycle;
@@ -65,9 +65,9 @@ public class StandaloneProcessGroupLifecycle implements 
ProcessGroupLifecycle {
     }
 
     @Override
-    public CompletableFuture<Void> enableControllerServices(final 
ControllerServiceReferenceScope scope, final 
ControllerServiceReferenceHierarchy hierarchy) {
-        final boolean recursive = (hierarchy == 
ControllerServiceReferenceHierarchy.INCLUDE_CHILD_GROUPS);
-        final Set<ControllerServiceNode> controllerServices = (scope == 
ControllerServiceReferenceScope.INCLUDE_ALL) ? 
processGroup.findAllControllerServices() : findReferencedServices(recursive);
+    public CompletableFuture<Void> enableControllerServices(final 
ControllerServiceReferenceScope referenceScope, final ComponentHierarchyScope 
hierarchyScope) {
+        final boolean recursive = (hierarchyScope == 
ComponentHierarchyScope.INCLUDE_CHILD_GROUPS);
+        final Set<ControllerServiceNode> controllerServices = (referenceScope 
== ControllerServiceReferenceScope.INCLUDE_ALL) ? 
processGroup.findAllControllerServices() : findReferencedServices(recursive);
         return enableControllerServices(controllerServices);
     }
 
@@ -175,8 +175,8 @@ public class StandaloneProcessGroupLifecycle implements 
ProcessGroupLifecycle {
     }
 
     @Override
-    public CompletableFuture<Void> disableControllerServices(final 
ControllerServiceReferenceHierarchy hierarchy) {
-        final boolean recursive = (hierarchy == 
ControllerServiceReferenceHierarchy.INCLUDE_CHILD_GROUPS);
+    public CompletableFuture<Void> disableControllerServices(final 
ComponentHierarchyScope scope) {
+        final boolean recursive = (scope == 
ComponentHierarchyScope.INCLUDE_CHILD_GROUPS);
         final Set<ControllerServiceNode> controllerServices = recursive ? 
processGroup.findAllControllerServices() : 
processGroup.getControllerServices(false);
         return disableControllerServices(controllerServices);
     }
@@ -196,7 +196,8 @@ public class StandaloneProcessGroupLifecycle implements 
ProcessGroupLifecycle {
     }
 
     @Override
-    public CompletableFuture<Void> startProcessors(final boolean recursive) {
+    public CompletableFuture<Void> startProcessors(final 
ComponentHierarchyScope scope) {
+        final boolean recursive = (scope == 
ComponentHierarchyScope.INCLUDE_CHILD_GROUPS);
         final Collection<ProcessorNode> processors = recursive ? 
processGroup.findAllProcessors() : processGroup.getProcessors();
         final List<CompletableFuture<Void>> startFutures = new ArrayList<>();
         for (final ProcessorNode processor : processors) {
@@ -227,10 +228,10 @@ public class StandaloneProcessGroupLifecycle implements 
ProcessGroupLifecycle {
 
         Thread.startVirtualThread(() -> {
             try {
-                enableControllerServices(serviceReferenceScope, 
ControllerServiceReferenceHierarchy.DIRECT_SERVICES_ONLY).get();
-                startPorts(false).get();
-                startRemoteProcessGroups(false).get();
-                startProcessors(false).get();
+                enableControllerServices(serviceReferenceScope, 
ComponentHierarchyScope.IMMEDIATE_GROUP_ONLY).get();
+                startPorts(ComponentHierarchyScope.IMMEDIATE_GROUP_ONLY).get();
+                
startRemoteProcessGroups(ComponentHierarchyScope.IMMEDIATE_GROUP_ONLY).get();
+                
startProcessors(ComponentHierarchyScope.IMMEDIATE_GROUP_ONLY).get();
 
                 final List<CompletableFuture<Void>> childGroupFutures = new 
ArrayList<>();
                 for (final ProcessGroup childGroup : 
processGroup.getProcessGroups()) {
@@ -255,7 +256,8 @@ public class StandaloneProcessGroupLifecycle implements 
ProcessGroupLifecycle {
     }
 
     @Override
-    public CompletableFuture<Void> startPorts(final boolean recursive) {
+    public CompletableFuture<Void> startPorts(final ComponentHierarchyScope 
scope) {
+        final boolean recursive = (scope == 
ComponentHierarchyScope.INCLUDE_CHILD_GROUPS);
         logger.debug("{} starting all ports", this);
         final Collection<Port> inputPorts = recursive ? 
processGroup.findAllInputPorts() : processGroup.getInputPorts();
         for (final Port inputPort : inputPorts) {
@@ -272,7 +274,8 @@ public class StandaloneProcessGroupLifecycle implements 
ProcessGroupLifecycle {
     }
 
     @Override
-    public CompletableFuture<Void> stopPorts(final boolean recursive) {
+    public CompletableFuture<Void> stopPorts(final ComponentHierarchyScope 
scope) {
+        final boolean recursive = (scope == 
ComponentHierarchyScope.INCLUDE_CHILD_GROUPS);
         logger.debug("{} stopping all ports", this);
 
         final Collection<Port> inputPorts = recursive ? 
processGroup.findAllInputPorts() : processGroup.getInputPorts();
@@ -290,7 +293,8 @@ public class StandaloneProcessGroupLifecycle implements 
ProcessGroupLifecycle {
     }
 
     @Override
-    public CompletableFuture<Void> startRemoteProcessGroups(final boolean 
recursive) {
+    public CompletableFuture<Void> startRemoteProcessGroups(final 
ComponentHierarchyScope scope) {
+        final boolean recursive = (scope == 
ComponentHierarchyScope.INCLUDE_CHILD_GROUPS);
         logger.debug("{} starting all Remote Process Groups", this);
 
         final Collection<RemoteProcessGroup> rpgs = recursive ? 
processGroup.findAllRemoteProcessGroups() : 
processGroup.getRemoteProcessGroups();
@@ -303,7 +307,8 @@ public class StandaloneProcessGroupLifecycle implements 
ProcessGroupLifecycle {
     }
 
     @Override
-    public CompletableFuture<Void> stopRemoteProcessGroups(final boolean 
recursive) {
+    public CompletableFuture<Void> stopRemoteProcessGroups(final 
ComponentHierarchyScope scope) {
+        final boolean recursive = (scope == 
ComponentHierarchyScope.INCLUDE_CHILD_GROUPS);
         logger.debug("{} stopping all Remote Process Groups", this);
         final List<CompletableFuture<Void>> stopFutures = new ArrayList<>();
 
@@ -317,7 +322,8 @@ public class StandaloneProcessGroupLifecycle implements 
ProcessGroupLifecycle {
     }
 
     @Override
-    public CompletableFuture<Void> startStatelessGroups(final boolean 
recursive) {
+    public CompletableFuture<Void> startStatelessGroups(final 
ComponentHierarchyScope scope) {
+        final boolean recursive = (scope == 
ComponentHierarchyScope.INCLUDE_CHILD_GROUPS);
         logger.debug("{} starting all Stateless Process Groups", this);
         final List<CompletableFuture<Void>> startFutures = new ArrayList<>();
 
@@ -334,7 +340,7 @@ public class StandaloneProcessGroupLifecycle implements 
ProcessGroupLifecycle {
             if (childGroup.resolveExecutionEngine() == 
ExecutionEngine.STATELESS) {
                 
startFutures.add(childLifecycle.start(ControllerServiceReferenceScope.INCLUDE_REFERENCED_SERVICES_ONLY));
             } else if (recursive) {
-                startFutures.add(childLifecycle.startStatelessGroups(true));
+                
startFutures.add(childLifecycle.startStatelessGroups(ComponentHierarchyScope.INCLUDE_CHILD_GROUPS));
             }
         }
 
@@ -343,7 +349,8 @@ public class StandaloneProcessGroupLifecycle implements 
ProcessGroupLifecycle {
     }
 
     @Override
-    public CompletableFuture<Void> stopStatelessGroups(final boolean 
recursive) {
+    public CompletableFuture<Void> stopStatelessGroups(final 
ComponentHierarchyScope scope) {
+        final boolean recursive = (scope == 
ComponentHierarchyScope.INCLUDE_CHILD_GROUPS);
         logger.debug("{} stopping all Stateless Process Groups", this);
         final List<CompletableFuture<Void>> stopFutures = new ArrayList<>();
 
@@ -359,7 +366,7 @@ public class StandaloneProcessGroupLifecycle implements 
ProcessGroupLifecycle {
             if (childGroup.resolveExecutionEngine() == 
ExecutionEngine.STATELESS) {
                 stopFutures.add(childLifecycle.stop());
             } else if (recursive) {
-                stopFutures.add(childLifecycle.stopStatelessGroups(true));
+                
stopFutures.add(childLifecycle.stopStatelessGroups(ComponentHierarchyScope.INCLUDE_CHILD_GROUPS));
             }
         }
 
@@ -378,11 +385,11 @@ public class StandaloneProcessGroupLifecycle implements 
ProcessGroupLifecycle {
 
         Thread.startVirtualThread(() -> {
             try {
-                stopProcessors(false).get();
+                
stopProcessors(ComponentHierarchyScope.IMMEDIATE_GROUP_ONLY).get();
                 stopChildren().get();
-                stopPorts(false).get();
-                stopRemoteProcessGroups(false).get();
-                
disableControllerServices(ControllerServiceReferenceHierarchy.INCLUDE_CHILD_GROUPS).get();
+                stopPorts(ComponentHierarchyScope.IMMEDIATE_GROUP_ONLY).get();
+                
stopRemoteProcessGroups(ComponentHierarchyScope.IMMEDIATE_GROUP_ONLY).get();
+                
disableControllerServices(ComponentHierarchyScope.INCLUDE_CHILD_GROUPS).get();
 
                 logger.info("Stopped Process Group {}", 
processGroup.getIdentifier());
                 result.complete(null);
@@ -412,7 +419,8 @@ public class StandaloneProcessGroupLifecycle implements 
ProcessGroupLifecycle {
     }
 
     @Override
-    public CompletableFuture<Void> stopProcessors(final boolean recursive) {
+    public CompletableFuture<Void> stopProcessors(final 
ComponentHierarchyScope scope) {
+        final boolean recursive = (scope == 
ComponentHierarchyScope.INCLUDE_CHILD_GROUPS);
         final Collection<ProcessorNode> processors = recursive ? 
processGroup.findAllProcessors() : processGroup.getProcessors();
         final List<CompletableFuture<Void>> stopFutures = new ArrayList<>();
         for (final ProcessorNode processor : processors) {
diff --git 
a/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/connector/authorization/AuthorizingProcessGroupFacade.java
 
b/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/connector/authorization/AuthorizingProcessGroupFacade.java
index 67b9ea865f9..f20e97a9bec 100644
--- 
a/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/connector/authorization/AuthorizingProcessGroupFacade.java
+++ 
b/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/connector/authorization/AuthorizingProcessGroupFacade.java
@@ -17,9 +17,9 @@
 package org.apache.nifi.web.connector.authorization;
 
 import org.apache.nifi.components.connector.DropFlowFileSummary;
+import org.apache.nifi.components.connector.components.ComponentHierarchyScope;
 import org.apache.nifi.components.connector.components.ConnectionFacade;
 import org.apache.nifi.components.connector.components.ControllerServiceFacade;
-import 
org.apache.nifi.components.connector.components.ControllerServiceReferenceHierarchy;
 import 
org.apache.nifi.components.connector.components.ControllerServiceReferenceScope;
 import org.apache.nifi.components.connector.components.ProcessGroupFacade;
 import org.apache.nifi.components.connector.components.ProcessGroupLifecycle;
@@ -86,9 +86,9 @@ public class AuthorizingProcessGroupFacade implements 
ProcessGroupFacade {
     }
 
     @Override
-    public Set<ControllerServiceFacade> getControllerServices(final 
ControllerServiceReferenceScope referenceScope, final 
ControllerServiceReferenceHierarchy hierarchy) {
+    public Set<ControllerServiceFacade> getControllerServices(final 
ControllerServiceReferenceScope referenceScope, final ComponentHierarchyScope 
hierarchyScope) {
         authContext.authorizeRead();
-        return delegate.getControllerServices(referenceScope, 
hierarchy).stream()
+        return delegate.getControllerServices(referenceScope, 
hierarchyScope).stream()
                 .map(s -> new AuthorizingControllerServiceFacade(s, 
authContext))
                 .collect(Collectors.toSet());
     }
diff --git 
a/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/connector/authorization/AuthorizingProcessGroupLifecycle.java
 
b/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/connector/authorization/AuthorizingProcessGroupLifecycle.java
index 891e3e95ef9..1ac3267c011 100644
--- 
a/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/connector/authorization/AuthorizingProcessGroupLifecycle.java
+++ 
b/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/connector/authorization/AuthorizingProcessGroupLifecycle.java
@@ -16,7 +16,7 @@
  */
 package org.apache.nifi.web.connector.authorization;
 
-import 
org.apache.nifi.components.connector.components.ControllerServiceReferenceHierarchy;
+import org.apache.nifi.components.connector.components.ComponentHierarchyScope;
 import 
org.apache.nifi.components.connector.components.ControllerServiceReferenceScope;
 import org.apache.nifi.components.connector.components.ProcessGroupLifecycle;
 
@@ -38,9 +38,9 @@ public class AuthorizingProcessGroupLifecycle implements 
ProcessGroupLifecycle {
     }
 
     @Override
-    public CompletableFuture<Void> enableControllerServices(final 
ControllerServiceReferenceScope scope, final 
ControllerServiceReferenceHierarchy hierarchy) {
+    public CompletableFuture<Void> enableControllerServices(final 
ControllerServiceReferenceScope referenceScope, final ComponentHierarchyScope 
hierarchyScope) {
         authContext.authorizeWrite();
-        return delegate.enableControllerServices(scope, hierarchy);
+        return delegate.enableControllerServices(referenceScope, 
hierarchyScope);
     }
 
     @Override
@@ -50,9 +50,9 @@ public class AuthorizingProcessGroupLifecycle implements 
ProcessGroupLifecycle {
     }
 
     @Override
-    public CompletableFuture<Void> disableControllerServices(final 
ControllerServiceReferenceHierarchy hierarchy) {
+    public CompletableFuture<Void> disableControllerServices(final 
ComponentHierarchyScope scope) {
         authContext.authorizeWrite();
-        return delegate.disableControllerServices(hierarchy);
+        return delegate.disableControllerServices(scope);
     }
 
     @Override
@@ -62,9 +62,9 @@ public class AuthorizingProcessGroupLifecycle implements 
ProcessGroupLifecycle {
     }
 
     @Override
-    public CompletableFuture<Void> startProcessors(final boolean recursive) {
+    public CompletableFuture<Void> startProcessors(final 
ComponentHierarchyScope scope) {
         authContext.authorizeWrite();
-        return delegate.startProcessors(recursive);
+        return delegate.startProcessors(scope);
     }
 
     @Override
@@ -80,45 +80,45 @@ public class AuthorizingProcessGroupLifecycle implements 
ProcessGroupLifecycle {
     }
 
     @Override
-    public CompletableFuture<Void> stopProcessors(final boolean recursive) {
+    public CompletableFuture<Void> stopProcessors(final 
ComponentHierarchyScope scope) {
         authContext.authorizeWrite();
-        return delegate.stopProcessors(recursive);
+        return delegate.stopProcessors(scope);
     }
 
     @Override
-    public CompletableFuture<Void> startPorts(final boolean recursive) {
+    public CompletableFuture<Void> startPorts(final ComponentHierarchyScope 
scope) {
         authContext.authorizeWrite();
-        return delegate.startPorts(recursive);
+        return delegate.startPorts(scope);
     }
 
     @Override
-    public CompletableFuture<Void> stopPorts(final boolean recursive) {
+    public CompletableFuture<Void> stopPorts(final ComponentHierarchyScope 
scope) {
         authContext.authorizeWrite();
-        return delegate.stopPorts(recursive);
+        return delegate.stopPorts(scope);
     }
 
     @Override
-    public CompletableFuture<Void> startRemoteProcessGroups(final boolean 
recursive) {
+    public CompletableFuture<Void> startRemoteProcessGroups(final 
ComponentHierarchyScope scope) {
         authContext.authorizeWrite();
-        return delegate.startRemoteProcessGroups(recursive);
+        return delegate.startRemoteProcessGroups(scope);
     }
 
     @Override
-    public CompletableFuture<Void> stopRemoteProcessGroups(final boolean 
recursive) {
+    public CompletableFuture<Void> stopRemoteProcessGroups(final 
ComponentHierarchyScope scope) {
         authContext.authorizeWrite();
-        return delegate.stopRemoteProcessGroups(recursive);
+        return delegate.stopRemoteProcessGroups(scope);
     }
 
     @Override
-    public CompletableFuture<Void> startStatelessGroups(final boolean 
recursive) {
+    public CompletableFuture<Void> startStatelessGroups(final 
ComponentHierarchyScope scope) {
         authContext.authorizeWrite();
-        return delegate.startStatelessGroups(recursive);
+        return delegate.startStatelessGroups(scope);
     }
 
     @Override
-    public CompletableFuture<Void> stopStatelessGroups(final boolean 
recursive) {
+    public CompletableFuture<Void> stopStatelessGroups(final 
ComponentHierarchyScope scope) {
         authContext.authorizeWrite();
-        return delegate.stopStatelessGroups(recursive);
+        return delegate.stopStatelessGroups(scope);
     }
 
     @Override
@@ -127,4 +127,3 @@ public class AuthorizingProcessGroupLifecycle implements 
ProcessGroupLifecycle {
         return delegate.getActiveThreadCount();
     }
 }
-

Reply via email to