Package org.apache.nifi.groups
Class StandardProcessGroup
java.lang.Object
org.apache.nifi.groups.StandardProcessGroup
- All Implemented Interfaces:
Authorizable,ComponentAuthorizable,VersionedComponent,Positionable,ProcessGroup
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static classprivate static classprivate static interface -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final List<DropFlowFileState> private final AssetManagerprivate BatchCountsprivate final AtomicReference<String> private final Map<String, Connection> private final ControllerServiceProviderprivate final Map<String, ControllerServiceNode> private final DataValveprivate static final Stringprivate static final longprivate static final Stringprivate final AtomicReference<String> private final AtomicReference<Long> private final AtomicReference<String> private final PropertyEncryptorprivate org.apache.nifi.flow.ExecutionEngineprivate final ExtensionManagerprivate FlowFileConcurrencyprivate FlowFileGateprivate FlowFileOutboundPolicyprivate final FlowManagerprivate final Stringprivate static final Patternprivate static final org.slf4j.Loggerprivate Stringprivate intprivate final AtomicReference<String> private final Longprivate final Stringprivate final NodeTypeProviderprivate ParameterContextprivate final AtomicReference<ProcessGroup> private final AtomicReference<Position> private final Map<String, ProcessGroup> private final Map<String, ProcessorNode> private static final SecureRandomprivate final Lockprivate final ReloadComponentprivate final Map<String, RemoteProcessGroup> private final ReentrantReadWriteLockprivate final ProcessSchedulerprivate Stringprivate final StatelessGroupNodeprivate final StateManagerProviderprivate final VersionControlFieldsprivate final AtomicReference<StandardVersionControlInformation> private final AtomicReference<String> private final LockFields inherited from interface org.apache.nifi.groups.ProcessGroup
DISABLE_PORTS_FILTER, DISABLE_PROCESSORS_FILTER, ENABLE_PORTS_FILTER, ENABLE_PROCESSORS_FILTER, START_PORTS_FILTER, START_PROCESSORS_FILTER, STOP_PORTS_FILTER, STOP_PROCESSORS_FILTER -
Constructor Summary
ConstructorsConstructorDescriptionStandardProcessGroup(String id, ControllerServiceProvider serviceProvider, ProcessScheduler scheduler, PropertyEncryptor encryptor, ExtensionManager extensionManager, StateManagerProvider stateManagerProvider, FlowManager flowManager, ReloadComponent reloadComponent, NodeTypeProvider nodeTypeProvider, NiFiProperties nifiProperties, StatelessGroupNodeFactory statelessGroupNodeFactory, AssetManager assetManager) -
Method Summary
Modifier and TypeMethodDescriptionvoidaddConnection(Connection connection) voidvoidvoidvoidaddInputPort(Port port) voidvoidaddOutputPort(Port port) voidaddProcessGroup(ProcessGroup group) voidaddProcessor(ProcessorNode processor) voidaddRemoteProcessGroup(RemoteProcessGroup remoteGroup) addVersionedComponents(VersionedComponentAdditions additions, String componentIdSeed) private voidaggregate(DropFlowFileRequest aggregateDropFlowFileStatus, DropFlowFileStatus additionalDropFlowFileStatus) private DropFlowFileStateaggregate(DropFlowFileState state1, DropFlowFileState state2) private QueueSizeprivate voidapplyVersionedComponentIds(ProcessGroup processGroup, Function<String, String> lookup) cancelDropAllFlowFiles(String requestIdentifier) private booleancontainsVersionedComponentId(Collection<? extends VersionedComponent> components, String id) private ConfigurationContextcreateConfigurationContext(ComponentNode component) createGroupSynchronizationContext(ComponentIdGenerator componentIdGenerator, ComponentScheduler componentScheduler, FlowMappingOptions flowMappingOptions) private Map<String, ParameterUpdate> createParameterUpdates(ParameterContext parameterContext, BiFunction<ParameterDescriptor, String, ParameterUpdate> parameterUpdateMapper) private org.apache.nifi.processor.ProcessContextcreateProcessContext(ProcessorNode processorNode) voiddisableInputPort(Port port) voiddisableOutputPort(Port port) voiddisableProcessor(ProcessorNode processor) voiddisconnectVersionControl(boolean removeVersionedComponentIds) dropAllFlowFiles(String requestIdentifier, String requestor) voidenableInputPort(Port port) voidenableOutputPort(Port port) voidenableProcessor(ProcessorNode processor) private <T extends VersionedComponent>
voidensureUniqueVersionControlId(VersionedComponent component, Function<ProcessGroup, Collection<T>> extractComponents) A component's Versioned Component ID is used to link a component on the canvas to a component in a versioned flow.booleanprivate Set<Connectable> findAllConnectables(ProcessGroup group, boolean includeRemotePorts) private List<Connection> findAllConnections(ProcessGroup group) private Set<ControllerServiceNode> findAllFunnels(ProcessGroup start) findAllInputPorts(ProcessGroup start) findAllLabels(ProcessGroup start) findAllOutputPorts(ProcessGroup start) findAllProcessGroups(Predicate<ProcessGroup> filter) private List<ProcessGroup> findAllProcessGroups(ProcessGroup start) private Set<ProcessorNode> findAllProcessors(Snippet snippet) private List<ProcessorNode> findAllProcessors(ProcessGroup start) private List<RemoteProcessGroup> private ControllerServiceNodefindAncestorControllerService(String id, ProcessGroup start) findConnection(String id) findControllerService(String id, boolean includeDescendants, boolean includeAncestors) private ControllerServiceNodefindDescendantControllerService(String id, ProcessGroup start) findFunnel(String id) findInputPort(String id) private LabelfindLabel(String id, ProcessGroup start) findOutputPort(String id) findProcessor(String id) findRemoteGroupPort(String identifier) private RemoteProcessGroupfindRemoteProcessGroup(String id, ProcessGroup start) private StringgenerateUuid(String propposedId, String destinationGroupId, String seed) private Set<Connectable> getAllConnectables(Snippet snippet) private <T extends VersionedComponent>
Set<T> getComponentsInVersionedFlow(ProcessGroup group, Function<ProcessGroup, Collection<T>> extractComponents) Extracts all components from the given Process Group, recursively, but does not include any child group that is directly version controlled.private <T> voidgetComponentsInVersionedFlow(ProcessGroup group, Function<ProcessGroup, Collection<T>> extractComponents, Set<T> accumulated) getConnectable(String id) getConnection(String id) getControllerServices(boolean recursive) getDataValve(Port port) getDropAllFlowFilesStatus(String requestIdentifier) org.apache.nifi.flow.ExecutionEnginegetInputPort(String id) getInputPortByName(String name) intprivate Set<FlowDifference> getName()getOutputPort(String id) getOutputPortByName(String name) private PortgetPortByName(String name, ProcessGroup group, StandardProcessGroup.PortRetriever retriever) getProcessor(String id) private ProcessGroupgetStatelessGroup(ProcessGroup start) private StateManagergetStateManager(String componentId) private Optional<ProcessGroup> If this Process Group is under version control, returnsthis.private Optional<ProcessGroup> private DropFlowFileStatushandleDropAllFlowFiles(String dropRequestId, Function<FlowFileQueue, DropFlowFileStatus> function) inthashCode()voidinheritConnection(Connection connection) booleanprivate booleanisDataQueued(Predicate<Connection> connectionFilter) booleanprivate booleanisDisconnected(Snippet snippet) booleanisEmpty()private booleanisInputPort(Connectable connectable) private booleanisOutputPort(Connectable connectable) private booleanisOwner(ProcessGroup owner) booleanbooleanprivate booleanisValidServiceReference(String serviceId, Class<? extends ControllerService> serviceClass, ComponentNode component) private Map<String, ParameterUpdate> mapParameterUpdates(ParameterContext previousParameterContext, ParameterContext updatedParameterContext) voidmove(Snippet snippet, ProcessGroup destination) voidvoidonParameterContextUpdated(Map<String, ParameterUpdate> updatedParameters) booleanreferencesParameterContext(ParameterContext parameterContext) voidprivate voidremoveComponents(ProcessGroup group) voidremoveConnection(Connection connectionToRemove) voidvoidremoveFunnel(Funnel funnel) voidremoveInputPort(Port port) voidremoveLabel(Label label) voidremoveOutputPort(Port port) voidremoveProcessGroup(ProcessGroup group) voidremoveProcessor(ProcessorNode processor) voidremoveRemoteProcessGroup(RemoteProcessGroup remoteProcessGroup) org.apache.nifi.flow.ExecutionEnginerunProcessorOnce(ProcessorNode processor, Callable<Future<Void>> stopCallback) private voidsetBatchCounts(FlowFileOutboundPolicy outboundPolicy, FlowFileConcurrency flowFileConcurrency) voidsetComments(String comments) voidsetDefaultBackPressureDataSizeThreshold(String defaultBackPressureDataSizeThreshold) voidsetDefaultBackPressureObjectThreshold(Long defaultBackPressureObjectThreshold) voidsetDefaultFlowFileExpiration(String defaultFlowFileExpiration) voidsetExecutionEngine(org.apache.nifi.flow.ExecutionEngine executionEngine) voidsetFlowFileConcurrency(FlowFileConcurrency flowFileConcurrency) voidsetFlowFileOutboundPolicy(FlowFileOutboundPolicy flowFileOutboundPolicy) voidsetLogFileSuffix(String logFileSuffix) voidsetMaxConcurrentTasks(int maxConcurrentTasks) voidvoidsetParameterContext(ParameterContext parameterContext) voidsetParent(ProcessGroup newParent) voidsetPosition(Position position) voidsetStatelessFlowTimeout(String statelessFlowTimeout) voidsetVersionControlInformation(VersionControlInformation versionControlInformation, Map<String, String> versionedComponentIds) voidsetVersionedComponentId(String componentId) voidshutdown()private voidshutdown(ProcessGroup procGroup) voidvoidstartFunnel(Funnel funnel) voidstartInputPort(Port port) voidstartOutputPort(Port port) voidstartProcessor(ProcessorNode processor, boolean failIfStopping) private voidstopFunnel(Funnel funnel) voidstopInputPort(Port port) voidstopOutputPort(Port port) stopProcessor(ProcessorNode processor) private org.apache.nifi.flow.VersionedProcessGroupstripContentsFromRemoteDescendantGroups(org.apache.nifi.flow.VersionedProcessGroup processGroup, boolean topLevel) voidsynchronizeFlow(org.apache.nifi.flow.VersionedExternalFlow proposedSnapshot, FlowSynchronizationOptions synchronizationOptions, FlowMappingOptions flowMappingOptions) voidsynchronizeWithFlowRegistry(FlowManager flowManager) voidterminateProcessor(ProcessorNode processor) toString()private voidupdateControllerServiceReferences(ComponentNode component) Looks for any property that is configured on the given component that references a Controller Service.voidupdateFlow(org.apache.nifi.flow.VersionedExternalFlow proposedSnapshot, String componentIdSeed, boolean verifyNotDirty, boolean updateSettings, boolean updateDescendantVersionedFlows) private voidupdateVersionedComponentIds(ProcessGroup processGroup, Map<String, String> versionedComponentIds) private voidVerifies that all ID's specified by the given set exist as keys in the given Map.voidvoidverifyCanDelete(boolean ignoreConnections) voidverifyCanDelete(Snippet snippet) voidverifyCanMove(Snippet snippet, ProcessGroup newProcessGroup) voidvoidverifyCanSaveToFlowRegistry(String registryId, FlowLocation flowLocation, String saveAction) voidvoidverifyCanSetExecutionEngine(org.apache.nifi.flow.ExecutionEngine executionEngine) voidverifyCanSetParameterContext(ParameterContext parameterContext) voidvoidvoidverifyCanStart(Connectable connectable) voidvoidverifyCanStop(Connectable connectable) voidverifyCanUpdate(org.apache.nifi.flow.VersionedExternalFlow updatedFlow, boolean verifyConnectionRemoval, boolean verifyNotDirty) voidprivate voidverifyContents(Snippet snippet) Verifies that all ID's defined within the given snippet reference components within this ProcessGroup.private voidverifyDestinationNotInSnippet(Snippet snippet, ProcessGroup destination) Verifies that a move request cannot attempt to move a process group into itself.private voidprivate voidverifyParameterSensitivityIsValid(ComponentNode component, ParameterContext parameterContext) private voidMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface org.apache.nifi.authorization.resource.Authorizable
authorize, authorize, checkAuthorization, checkAuthorization, getRequestedResource, isAuthorized
-
Field Details
-
AGGREGATE_DROP_FLOW_FILE_STATE_PRECEDENCES
-
id
-
parent
-
name
-
position
-
comments
-
defaultFlowFileExpiration
-
defaultBackPressureObjectThreshold
-
defaultBackPressureDataSizeThreshold
-
versionedComponentId
-
versionControlInfo
-
randomGenerator
-
scheduler
-
controllerServiceProvider
-
flowManager
-
extensionManager
-
stateManagerProvider
-
reloadComponent
-
inputPorts
-
outputPorts
-
connections
-
processGroups
-
labels
-
remoteGroups
-
processors
-
funnels
-
controllerServices
-
encryptor
-
versionControlFields
-
parameterContext
-
nodeTypeProvider
-
assetManager
-
statelessGroupNode
-
executionEngine
private volatile org.apache.nifi.flow.ExecutionEngine executionEngine -
maxConcurrentTasks
private volatile int maxConcurrentTasks -
statelessFlowTimeout
-
flowFileConcurrency
-
flowFileGate
-
flowFileOutboundPolicy
-
batchCounts
-
dataValve
-
nifiPropertiesBackpressureCount
-
nifiPropertiesBackpressureSize
-
rwLock
-
readLock
-
writeLock
-
LOG
private static final org.slf4j.Logger LOG -
DEFAULT_FLOWFILE_EXPIRATION
- See Also:
-
DEFAULT_BACKPRESSURE_OBJECT
private static final long DEFAULT_BACKPRESSURE_OBJECT- See Also:
-
DEFAULT_BACKPRESSURE_DATA_SIZE
- See Also:
-
INVALID_DIRECTORY_NAME_CHARACTERS
-
logFileSuffix
-
-
Constructor Details
-
StandardProcessGroup
public StandardProcessGroup(String id, ControllerServiceProvider serviceProvider, ProcessScheduler scheduler, PropertyEncryptor encryptor, ExtensionManager extensionManager, StateManagerProvider stateManagerProvider, FlowManager flowManager, ReloadComponent reloadComponent, NodeTypeProvider nodeTypeProvider, NiFiProperties nifiProperties, StatelessGroupNodeFactory statelessGroupNodeFactory, AssetManager assetManager)
-
-
Method Details
-
getParent
- Specified by:
getParentin interfaceProcessGroup
-
setParent
- Specified by:
setParentin interfaceProcessGroup
-
getParentAuthorizable
- Specified by:
getParentAuthorizablein interfaceAuthorizable
-
getResource
- Specified by:
getResourcein interfaceAuthorizable
-
getIdentifier
- Specified by:
getIdentifierin interfaceComponentAuthorizable- Specified by:
getIdentifierin interfaceProcessGroup
-
getProcessGroupIdentifier
- Specified by:
getProcessGroupIdentifierin interfaceComponentAuthorizable
-
getName
- Specified by:
getNamein interfaceProcessGroup
-
setName
- Specified by:
setNamein interfaceProcessGroup
-
setPosition
- Specified by:
setPositionin interfacePositionable
-
getPosition
- Specified by:
getPositionin interfacePositionable
-
getComments
- Specified by:
getCommentsin interfaceProcessGroup
-
setComments
- Specified by:
setCommentsin interfaceProcessGroup
-
getCounts
- Specified by:
getCountsin interfaceProcessGroup
-
isRootGroup
public boolean isRootGroup()- Specified by:
isRootGroupin interfaceProcessGroup
-
startProcessing
public void startProcessing()- Specified by:
startProcessingin interfaceProcessGroup
-
startComponents
public void startComponents()- Specified by:
startComponentsin interfaceProcessGroup
-
stopProcessing
- Specified by:
stopProcessingin interfaceProcessGroup
-
stopComponents
- Specified by:
stopComponentsin interfaceProcessGroup
-
getStatelessScheduledState
- Specified by:
getStatelessScheduledStatein interfaceProcessGroup
-
getDesiredStatelessScheduledState
- Specified by:
getDesiredStatelessScheduledStatein interfaceProcessGroup
-
isStatelessActive
public boolean isStatelessActive()- Specified by:
isStatelessActivein interfaceProcessGroup
-
getStateManager
-
shutdown
-
shutdown
public void shutdown()- Specified by:
shutdownin interfaceProcessGroup
-
verifyPortUniqueness
-
addInputPort
- Specified by:
addInputPortin interfaceProcessGroup
-
removeInputPort
- Specified by:
removeInputPortin interfaceProcessGroup
-
getInputPort
- Specified by:
getInputPortin interfaceProcessGroup
-
getInputPorts
- Specified by:
getInputPortsin interfaceProcessGroup
-
addOutputPort
- Specified by:
addOutputPortin interfaceProcessGroup
-
removeOutputPort
- Specified by:
removeOutputPortin interfaceProcessGroup
-
getOutputPort
- Specified by:
getOutputPortin interfaceProcessGroup
-
getOutputPorts
- Specified by:
getOutputPortsin interfaceProcessGroup
-
getBatchCounts
- Specified by:
getBatchCountsin interfaceProcessGroup
-
addProcessGroup
- Specified by:
addProcessGroupin interfaceProcessGroup
-
getProcessGroup
- Specified by:
getProcessGroupin interfaceProcessGroup
-
getProcessGroups
- Specified by:
getProcessGroupsin interfaceProcessGroup
-
removeProcessGroup
- Specified by:
removeProcessGroupin interfaceProcessGroup
-
removeComponents
-
addRemoteProcessGroup
- Specified by:
addRemoteProcessGroupin interfaceProcessGroup
-
getRemoteProcessGroups
- Specified by:
getRemoteProcessGroupsin interfaceProcessGroup
-
removeRemoteProcessGroup
- Specified by:
removeRemoteProcessGroupin interfaceProcessGroup
-
addProcessor
- Specified by:
addProcessorin interfaceProcessGroup
-
ensureUniqueVersionControlId
private <T extends VersionedComponent> void ensureUniqueVersionControlId(VersionedComponent component, Function<ProcessGroup, Collection<T>> extractComponents) A component's Versioned Component ID is used to link a component on the canvas to a component in a versioned flow. There may, however, be multiple instances of the same versioned flow in a single NiFi instance. In this case, we will have multiple components with the same Versioned Component ID. This is acceptable as long as no two components within the same Process Group have the same Versioned Component ID. However, it is not acceptable to have two components within the same Process Group that have the same Versioned Component ID. If this happens, we will have no way to know which component in our flow maps to which component in the versioned flow. We don't have an issue with this when a flow is imported, etc. because it is always imported to a new Process Group. However, because it's possible to move most components between groups, we can have a situation in which a component is moved to a higher group, and that can result in a conflict. In such a case, we handle this by nulling out the Versioned Component ID if there is a conflict. This essentially makes NiFi behave as if a component is copied invalid input: '&' pasted instead of being moved whenever a conflict occurs.- Parameters:
component- the component whose Versioned Component ID should be nulled if there's a conflictextractComponents- a function to obtain the to check to determine if there's a conflict from a given Process Group
-
getVersionedAncestorOrSelf
If this Process Group is under version control, returnsthis. Otherwise, returns the nearest parent/ancestor group that is under version control. In the event that no Process Group in the chain up to the root group is currently under version control, will return an empty optional.- Returns:
- the nearest Process Group in the chain up to
thisthat is currently under version control, or an empty optional.
-
getVersionedAncestorOrSelf
-
getComponentsInVersionedFlow
private <T extends VersionedComponent> Set<T> getComponentsInVersionedFlow(ProcessGroup group, Function<ProcessGroup, Collection<T>> extractComponents) Extracts all components from the given Process Group, recursively, but does not include any child group that is directly version controlled.- Parameters:
group- the highest-level Process Group to extract components fromextractComponents- a function that extracts the appropriate components from a given Process Group- Returns:
- the set of all components in the given Process Group and children/descendant groups, excluding any child/descendant group(s) that are directly version controlled.
-
getComponentsInVersionedFlow
private <T> void getComponentsInVersionedFlow(ProcessGroup group, Function<ProcessGroup, Collection<T>> extractComponents, Set<T> accumulated) -
containsVersionedComponentId
private boolean containsVersionedComponentId(Collection<? extends VersionedComponent> components, String id) -
updateControllerServiceReferences
Looks for any property that is configured on the given component that references a Controller Service. If any exists, and that Controller Service is not accessible from this Process Group, then the given component will be removed from the service's referencing components.- Parameters:
component- the component whose invalid references should be removed
-
isValidServiceReference
private boolean isValidServiceReference(String serviceId, Class<? extends ControllerService> serviceClass, ComponentNode component) -
removeProcessor
- Specified by:
removeProcessorin interfaceProcessGroup
-
getProcessors
- Specified by:
getProcessorsin interfaceProcessGroup
-
getProcessor
- Specified by:
getProcessorin interfaceProcessGroup
-
isInputPort
-
isOutputPort
-
inheritConnection
- Specified by:
inheritConnectionin interfaceProcessGroup
-
addConnection
- Specified by:
addConnectionin interfaceProcessGroup
-
getConnectable
- Specified by:
getConnectablein interfaceProcessGroup
-
removeConnection
- Specified by:
removeConnectionin interfaceProcessGroup
-
getConnections
- Specified by:
getConnectionsin interfaceProcessGroup
-
getConnection
- Specified by:
getConnectionin interfaceProcessGroup
-
findConnection
- Specified by:
findConnectionin interfaceProcessGroup
-
findAllConnections
- Specified by:
findAllConnectionsin interfaceProcessGroup
-
dropAllFlowFiles
- Specified by:
dropAllFlowFilesin interfaceProcessGroup
-
getDropAllFlowFilesStatus
- Specified by:
getDropAllFlowFilesStatusin interfaceProcessGroup
-
cancelDropAllFlowFiles
- Specified by:
cancelDropAllFlowFilesin interfaceProcessGroup
-
handleDropAllFlowFiles
private DropFlowFileStatus handleDropAllFlowFiles(String dropRequestId, Function<FlowFileQueue, DropFlowFileStatus> function) -
aggregate
private void aggregate(DropFlowFileRequest aggregateDropFlowFileStatus, DropFlowFileStatus additionalDropFlowFileStatus) -
aggregate
-
aggregate
-
findAllConnections
-
addLabel
- Specified by:
addLabelin interfaceProcessGroup
-
removeLabel
- Specified by:
removeLabelin interfaceProcessGroup
-
getLabels
- Specified by:
getLabelsin interfaceProcessGroup
-
getLabel
- Specified by:
getLabelin interfaceProcessGroup
-
isEmpty
public boolean isEmpty()- Specified by:
isEmptyin interfaceProcessGroup
-
getRemoteProcessGroup
- Specified by:
getRemoteProcessGroupin interfaceProcessGroup
-
startProcessor
- Specified by:
startProcessorin interfaceProcessGroup
-
runProcessorOnce
- Specified by:
runProcessorOncein interfaceProcessGroup
-
startInputPort
- Specified by:
startInputPortin interfaceProcessGroup
-
startOutputPort
- Specified by:
startOutputPortin interfaceProcessGroup
-
startFunnel
- Specified by:
startFunnelin interfaceProcessGroup
-
stopProcessor
- Specified by:
stopProcessorin interfaceProcessGroup
-
terminateProcessor
- Specified by:
terminateProcessorin interfaceProcessGroup
-
stopInputPort
- Specified by:
stopInputPortin interfaceProcessGroup
-
stopOutputPort
- Specified by:
stopOutputPortin interfaceProcessGroup
-
stopFunnel
-
enableInputPort
- Specified by:
enableInputPortin interfaceProcessGroup
-
enableOutputPort
- Specified by:
enableOutputPortin interfaceProcessGroup
-
enableProcessor
- Specified by:
enableProcessorin interfaceProcessGroup
-
disableInputPort
- Specified by:
disableInputPortin interfaceProcessGroup
-
disableOutputPort
- Specified by:
disableOutputPortin interfaceProcessGroup
-
disableProcessor
- Specified by:
disableProcessorin interfaceProcessGroup
-
equals
-
hashCode
public int hashCode() -
toString
-
findProcessGroup
- Specified by:
findProcessGroupin interfaceProcessGroup
-
findAllProcessGroups
- Specified by:
findAllProcessGroupsin interfaceProcessGroup
-
findAllProcessGroups
- Specified by:
findAllProcessGroupsin interfaceProcessGroup
-
findAllProcessGroups
-
findAllRemoteProcessGroups
- Specified by:
findAllRemoteProcessGroupsin interfaceProcessGroup
-
findAllRemoteProcessGroups
-
findRemoteProcessGroup
- Specified by:
findRemoteProcessGroupin interfaceProcessGroup
-
findRemoteProcessGroup
-
findProcessor
- Specified by:
findProcessorin interfaceProcessGroup
-
isOwner
-
findAllProcessors
- Specified by:
findAllProcessorsin interfaceProcessGroup
-
findAllProcessors
-
findRemoteGroupPort
- Specified by:
findRemoteGroupPortin interfaceProcessGroup
-
findLabel
- Specified by:
findLabelin interfaceProcessGroup
-
findLabel
-
findAllLabels
- Specified by:
findAllLabelsin interfaceProcessGroup
-
findAllLabels
-
findInputPort
- Specified by:
findInputPortin interfaceProcessGroup
-
findAllInputPorts
- Specified by:
findAllInputPortsin interfaceProcessGroup
-
findAllInputPorts
-
findOutputPort
- Specified by:
findOutputPortin interfaceProcessGroup
-
findAllOutputPorts
- Specified by:
findAllOutputPortsin interfaceProcessGroup
-
findAllOutputPorts
-
findAllFunnels
- Specified by:
findAllFunnelsin interfaceProcessGroup
-
findAllFunnels
-
getInputPortByName
- Specified by:
getInputPortByNamein interfaceProcessGroup
-
getOutputPortByName
- Specified by:
getOutputPortByNamein interfaceProcessGroup
-
getPortByName
private Port getPortByName(String name, ProcessGroup group, StandardProcessGroup.PortRetriever retriever) -
addFunnel
- Specified by:
addFunnelin interfaceProcessGroup
-
addFunnel
- Specified by:
addFunnelin interfaceProcessGroup
-
getFunnel
- Specified by:
getFunnelin interfaceProcessGroup
-
findFunnel
- Specified by:
findFunnelin interfaceProcessGroup
-
findControllerService
public ControllerServiceNode findControllerService(String id, boolean includeDescendants, boolean includeAncestors) - Specified by:
findControllerServicein interfaceProcessGroup
-
findAncestorControllerService
-
findDescendantControllerService
-
findAllControllerServices
- Specified by:
findAllControllerServicesin interfaceProcessGroup
-
findAllControllerServices
-
removeFunnel
- Specified by:
removeFunnelin interfaceProcessGroup
-
getFunnels
- Specified by:
getFunnelsin interfaceProcessGroup
-
addControllerService
- Specified by:
addControllerServicein interfaceProcessGroup
-
getControllerService
- Specified by:
getControllerServicein interfaceProcessGroup
-
getControllerServices
- Specified by:
getControllerServicesin interfaceProcessGroup
-
removeControllerService
- Specified by:
removeControllerServicein interfaceProcessGroup
-
remove
- Specified by:
removein interfaceProcessGroup
-
getKeys
-
move
- Specified by:
movein interfaceProcessGroup
-
getAllConnectables
-
isDisconnected
-
findAllPositionables
- Specified by:
findAllPositionablesin interfaceProcessGroup
-
findAllConnectables
-
verifyContents
Verifies that all ID's defined within the given snippet reference components within this ProcessGroup. If this is not the case, throwsIllegalStateException.- Parameters:
snippet- the snippet- Throws:
NullPointerException- if the argument is nullIllegalStateException- if the snippet contains an ID that references a component that is not part of this ProcessGroup
-
verifyDestinationNotInSnippet
private void verifyDestinationNotInSnippet(Snippet snippet, ProcessGroup destination) throws IllegalStateException Verifies that a move request cannot attempt to move a process group into itself.- Parameters:
snippet- the snippetdestination- the destination- Throws:
IllegalStateException- if the snippet contains an ID that is equal to the identifier of the destination
-
verifyAllKeysExist
Verifies that all ID's specified by the given set exist as keys in the given Map. If any of the ID's does not exist as a key in the map, will throw
IllegalStateExceptionindicating the ID that is invalid and specifying the Component Type.If the ids given are null, will do no validation.
- Parameters:
ids- idsmap- mapcomponentType- type
-
verifyCanDelete
public void verifyCanDelete()- Specified by:
verifyCanDeletein interfaceProcessGroup
-
verifyCanDelete
public void verifyCanDelete(boolean ignoreConnections) - Specified by:
verifyCanDeletein interfaceProcessGroup
-
verifyCanStop
- Specified by:
verifyCanStopin interfaceProcessGroup
-
verifyCanStop
public void verifyCanStop()- Specified by:
verifyCanStopin interfaceProcessGroup
-
verifyCanStart
- Specified by:
verifyCanStartin interfaceProcessGroup
-
verifyCanStart
public void verifyCanStart()- Specified by:
verifyCanStartin interfaceProcessGroup
-
verifyCanScheduleComponentsIndividually
public void verifyCanScheduleComponentsIndividually()- Specified by:
verifyCanScheduleComponentsIndividuallyin interfaceProcessGroup
-
verifyCanDelete
- Specified by:
verifyCanDeletein interfaceProcessGroup- Throws:
IllegalStateException
-
verifyCanMove
public void verifyCanMove(Snippet snippet, ProcessGroup newProcessGroup) throws IllegalStateException - Specified by:
verifyCanMovein interfaceProcessGroup- Throws:
IllegalStateException
-
findAllProcessors
-
getParameterContext
- Specified by:
getParameterContextin interfaceProcessGroup
-
setParameterContext
- Specified by:
setParameterContextin interfaceProcessGroup
-
onParameterContextUpdated
- Specified by:
onParameterContextUpdatedin interfaceProcessGroup
-
mapParameterUpdates
private Map<String,ParameterUpdate> mapParameterUpdates(ParameterContext previousParameterContext, ParameterContext updatedParameterContext) -
createParameterUpdates
private Map<String,ParameterUpdate> createParameterUpdates(ParameterContext parameterContext, BiFunction<ParameterDescriptor, String, ParameterUpdate> parameterUpdateMapper) -
verifyCanSetParameterContext
- Specified by:
verifyCanSetParameterContextin interfaceProcessGroup
-
verifyParameterSensitivityIsValid
private void verifyParameterSensitivityIsValid(ComponentNode component, ParameterContext parameterContext) -
getVersionedComponentId
- Specified by:
getVersionedComponentIdin interfaceVersionedComponent
-
setVersionedComponentId
- Specified by:
setVersionedComponentIdin interfaceVersionedComponent
-
getVersionControlInformation
- Specified by:
getVersionControlInformationin interfaceProcessGroup
-
onComponentModified
public void onComponentModified()- Specified by:
onComponentModifiedin interfaceProcessGroup
-
setVersionControlInformation
public void setVersionControlInformation(VersionControlInformation versionControlInformation, Map<String, String> versionedComponentIds) - Specified by:
setVersionControlInformationin interfaceProcessGroup
-
stripContentsFromRemoteDescendantGroups
private org.apache.nifi.flow.VersionedProcessGroup stripContentsFromRemoteDescendantGroups(org.apache.nifi.flow.VersionedProcessGroup processGroup, boolean topLevel) -
disconnectVersionControl
public void disconnectVersionControl(boolean removeVersionedComponentIds) - Specified by:
disconnectVersionControlin interfaceProcessGroup
-
updateVersionedComponentIds
private void updateVersionedComponentIds(ProcessGroup processGroup, Map<String, String> versionedComponentIds) -
applyVersionedComponentIds
-
synchronizeWithFlowRegistry
- Specified by:
synchronizeWithFlowRegistryin interfaceProcessGroup
-
addVersionedComponents
public ComponentAdditions addVersionedComponents(VersionedComponentAdditions additions, String componentIdSeed) - Specified by:
addVersionedComponentsin interfaceProcessGroup
-
updateFlow
public void updateFlow(org.apache.nifi.flow.VersionedExternalFlow proposedSnapshot, String componentIdSeed, boolean verifyNotDirty, boolean updateSettings, boolean updateDescendantVersionedFlows) - Specified by:
updateFlowin interfaceProcessGroup
-
createProcessContext
-
createConfigurationContext
-
synchronizeFlow
public void synchronizeFlow(org.apache.nifi.flow.VersionedExternalFlow proposedSnapshot, FlowSynchronizationOptions synchronizationOptions, FlowMappingOptions flowMappingOptions) - Specified by:
synchronizeFlowin interfaceProcessGroup
-
getAncestorServiceIds
- Specified by:
getAncestorServiceIdsin interfaceProcessGroup
-
generateUuid
-
getModifications
-
verifyCanUpdate
public void verifyCanUpdate(org.apache.nifi.flow.VersionedExternalFlow updatedFlow, boolean verifyConnectionRemoval, boolean verifyNotDirty) - Specified by:
verifyCanUpdatein interfaceProcessGroup
-
createGroupSynchronizationContext
private VersionedFlowSynchronizationContext createGroupSynchronizationContext(ComponentIdGenerator componentIdGenerator, ComponentScheduler componentScheduler, FlowMappingOptions flowMappingOptions) -
verifyCanSaveToFlowRegistry
public void verifyCanSaveToFlowRegistry(String registryId, FlowLocation flowLocation, String saveAction) - Specified by:
verifyCanSaveToFlowRegistryin interfaceProcessGroup
-
verifyCanRevertLocalModifications
public void verifyCanRevertLocalModifications()- Specified by:
verifyCanRevertLocalModificationsin interfaceProcessGroup
-
verifyCanShowLocalModifications
public void verifyCanShowLocalModifications()- Specified by:
verifyCanShowLocalModificationsin interfaceProcessGroup
-
verifyNoDescendantsWithLocalModifications
-
getFlowFileGate
- Specified by:
getFlowFileGatein interfaceProcessGroup
-
getFlowFileConcurrency
- Specified by:
getFlowFileConcurrencyin interfaceProcessGroup
-
setFlowFileConcurrency
- Specified by:
setFlowFileConcurrencyin interfaceProcessGroup
-
isDataQueued
public boolean isDataQueued()- Specified by:
isDataQueuedin interfaceProcessGroup
-
isDataQueuedForProcessing
public boolean isDataQueuedForProcessing()- Specified by:
isDataQueuedForProcessingin interfaceProcessGroup
-
isDataQueued
-
getFlowFileOutboundPolicy
- Specified by:
getFlowFileOutboundPolicyin interfaceProcessGroup
-
setFlowFileOutboundPolicy
- Specified by:
setFlowFileOutboundPolicyin interfaceProcessGroup
-
setBatchCounts
private void setBatchCounts(FlowFileOutboundPolicy outboundPolicy, FlowFileConcurrency flowFileConcurrency) -
getDataValve
- Specified by:
getDataValvein interfaceProcessGroup
-
getDataValve
- Specified by:
getDataValvein interfaceProcessGroup
-
referencesParameterContext
- Specified by:
referencesParameterContextin interfaceProcessGroup
-
setDefaultFlowFileExpiration
- Specified by:
setDefaultFlowFileExpirationin interfaceProcessGroup
-
getDefaultFlowFileExpiration
- Specified by:
getDefaultFlowFileExpirationin interfaceProcessGroup
-
setDefaultBackPressureObjectThreshold
- Specified by:
setDefaultBackPressureObjectThresholdin interfaceProcessGroup
-
getDefaultBackPressureObjectThreshold
- Specified by:
getDefaultBackPressureObjectThresholdin interfaceProcessGroup
-
setDefaultBackPressureDataSizeThreshold
- Specified by:
setDefaultBackPressureDataSizeThresholdin interfaceProcessGroup
-
getQueueSize
- Specified by:
getQueueSizein interfaceProcessGroup
-
getLogFileSuffix
- Specified by:
getLogFileSuffixin interfaceProcessGroup
-
setLogFileSuffix
- Specified by:
setLogFileSuffixin interfaceProcessGroup
-
getExecutionEngine
public org.apache.nifi.flow.ExecutionEngine getExecutionEngine()- Specified by:
getExecutionEnginein interfaceProcessGroup
-
setExecutionEngine
public void setExecutionEngine(org.apache.nifi.flow.ExecutionEngine executionEngine) - Specified by:
setExecutionEnginein interfaceProcessGroup
-
getStatelessGroupNode
- Specified by:
getStatelessGroupNodein interfaceProcessGroup
-
resolveExecutionEngine
public org.apache.nifi.flow.ExecutionEngine resolveExecutionEngine()- Specified by:
resolveExecutionEnginein interfaceProcessGroup
-
getStatelessGroup
-
verifyCanSetExecutionEngine
public void verifyCanSetExecutionEngine(org.apache.nifi.flow.ExecutionEngine executionEngine) - Specified by:
verifyCanSetExecutionEnginein interfaceProcessGroup
-
verifyCanUpdateExecutionEngine
public void verifyCanUpdateExecutionEngine()- Specified by:
verifyCanUpdateExecutionEnginein interfaceProcessGroup
-
setMaxConcurrentTasks
public void setMaxConcurrentTasks(int maxConcurrentTasks) - Specified by:
setMaxConcurrentTasksin interfaceProcessGroup
-
getMaxConcurrentTasks
public int getMaxConcurrentTasks()- Specified by:
getMaxConcurrentTasksin interfaceProcessGroup
-
getDefaultBackPressureDataSizeThreshold
- Specified by:
getDefaultBackPressureDataSizeThresholdin interfaceProcessGroup
-
getStatelessFlowTimeout
- Specified by:
getStatelessFlowTimeoutin interfaceProcessGroup
-
setStatelessFlowTimeout
- Specified by:
setStatelessFlowTimeoutin interfaceProcessGroup
-