Interface VersionedComponentSynchronizer
- All Known Implementing Classes:
StandardVersionedComponentSynchronizer
public interface VersionedComponentSynchronizer
-
Method Summary
Modifier and TypeMethodDescriptionaddVersionedComponentsToProcessGroup(ProcessGroup group, VersionedComponentAdditions additions, FlowSynchronizationOptions options) Adds versioned components to the specified Process Group.voidsynchronize(Connection connection, org.apache.nifi.flow.VersionedConnection proposedConnection, ProcessGroup group, FlowSynchronizationOptions synchronizationOptions) Synchronizes the given Connection to match the proposed one, or deletes the Connection if the proposed isnull.voidsynchronize(Funnel funnel, org.apache.nifi.flow.VersionedFunnel proposed, ProcessGroup group, FlowSynchronizationOptions synchronizationOptions) Synchronizes the given Funnel to match the proposed one, or deletes the Funnel if the proposed isnull.voidsynchronize(Port port, org.apache.nifi.flow.VersionedPort proposed, ProcessGroup group, FlowSynchronizationOptions synchronizationOptions) Synchronizes the given Port to match the proposed one, or deletes the Port if the proposed isnull.voidsynchronize(FlowAnalysisRuleNode flowAnalysisRule, org.apache.nifi.flow.VersionedFlowAnalysisRule proposed, FlowSynchronizationOptions synchronizationOptions) Synchronizes the given Flow Analysis Rule to match the proposed one, or deletes the Flow Analysis Rule if the proposed isnull.voidsynchronize(Label label, org.apache.nifi.flow.VersionedLabel proposed, ProcessGroup group, FlowSynchronizationOptions synchronizationOptions) Synchronizes the given Label to match the proposed one, or deletes the Label if the proposed isnull.voidsynchronize(ProcessorNode processor, org.apache.nifi.flow.VersionedProcessor proposedProcessor, ProcessGroup group, FlowSynchronizationOptions synchronizationOptions) Synchronizes the given Processor to match the proposed snapshot, or deletes the Processor if the proposed snapshot isnull.voidsynchronize(ReportingTaskNode reportingTask, org.apache.nifi.flow.VersionedReportingTask proposed, FlowSynchronizationOptions synchronizationOptions) Synchronizes the given Reporting Task to match the proposed one, or deletes the Reporting Task if the proposed isnull.voidsynchronize(ControllerServiceNode controllerService, org.apache.nifi.flow.VersionedControllerService proposed, ProcessGroup group, FlowSynchronizationOptions synchronizationOptions) Synchronizes the given Controller Service to match the proposed version, or deletes the Controller Service if the proposed snapshot isnull.voidsynchronize(ProcessGroup group, org.apache.nifi.flow.VersionedExternalFlow proposedFlow, FlowSynchronizationOptions synchronizationOptions) Synchronize the given Process Group to match the proposed flowvoidsynchronize(RemoteProcessGroup rpg, org.apache.nifi.flow.VersionedRemoteProcessGroup proposed, ProcessGroup group, FlowSynchronizationOptions synchronizationOptions) Synchronizes the given Remote Process Group to match the proposed one, or deletes the rpg if the proposed isnull.voidsynchronize(ParameterContext parameterContext, org.apache.nifi.flow.VersionedParameterContext proposed, FlowSynchronizationOptions synchronizationOptions) voidsynchronizeProcessGroupSettings(ProcessGroup processGroup, org.apache.nifi.flow.VersionedProcessGroup proposed, ProcessGroup parentGroup, FlowSynchronizationOptions synchronizationOptions) voidverifyCanAddVersionedComponents(ProcessGroup group, VersionedComponentAdditions additions) Verifies that the given additions can be applied to the specified process group.voidverifyCanSynchronize(ProcessGroup group, org.apache.nifi.flow.VersionedProcessGroup proposed, boolean verifyConnectionRemoval) Verifies that the given Process Group can be updated to match the proposed flow
-
Method Details
-
addVersionedComponentsToProcessGroup
ComponentAdditions addVersionedComponentsToProcessGroup(ProcessGroup group, VersionedComponentAdditions additions, FlowSynchronizationOptions options) Adds versioned components to the specified Process Group.- Parameters:
group- the Process Group to append toadditions- the component additions to add to the Process Groupoptions- sync options- Returns:
- the component additions
-
verifyCanAddVersionedComponents
Verifies that the given additions can be applied to the specified process group.- Parameters:
group- the Process Group that will be appended toadditions- the component additions that will be added to the Process Group
-
synchronize
void synchronize(ProcessGroup group, org.apache.nifi.flow.VersionedExternalFlow proposedFlow, FlowSynchronizationOptions synchronizationOptions) throws ProcessorInstantiationException Synchronize the given Process Group to match the proposed flow- Parameters:
group- the Process Group to updateproposedFlow- the proposed/desired state for the process groupsynchronizationOptions- options for how to synchronize the group- Throws:
ProcessorInstantiationException
-
verifyCanSynchronize
void verifyCanSynchronize(ProcessGroup group, org.apache.nifi.flow.VersionedProcessGroup proposed, boolean verifyConnectionRemoval) Verifies that the given Process Group can be updated to match the proposed flow- Parameters:
group- the group to updateproposed- the proposed updated versionverifyConnectionRemoval- iftrueand synchronizing the Process Group would result in any Connection being removed, an IllegalStateException will be thrown if that Connection has data in it. Iffalse, the presence of data in removed queues will be ignored.
-
synchronize
void synchronize(ProcessorNode processor, org.apache.nifi.flow.VersionedProcessor proposedProcessor, ProcessGroup group, FlowSynchronizationOptions synchronizationOptions) throws FlowSynchronizationException, TimeoutException, InterruptedException Synchronizes the given Processor to match the proposed snapshot, or deletes the Processor if the proposed snapshot isnull. If the given processor isnull, adds the processor to the given ProcessGroup- Parameters:
processor- the processor to synchronizeproposedProcessor- the proposed/desired state for the processorgroup- the ProcessGroup to which the ProcessorNode should belong.synchronizationOptions- options for how to synchronize the flow- Throws:
FlowSynchronizationException- if unable to synchronize the processor with the proposed versionTimeoutException- if the processor must be stopped in order to synchronize it with the proposed version and stopping takes longer than the timeout allowed by thesynchronization options.InterruptedException- if interrupted while waiting for processor to stop or outbound connections to empty if processor is being removed
-
synchronize
void synchronize(ControllerServiceNode controllerService, org.apache.nifi.flow.VersionedControllerService proposed, ProcessGroup group, FlowSynchronizationOptions synchronizationOptions) throws FlowSynchronizationException, TimeoutException, InterruptedException Synchronizes the given Controller Service to match the proposed version, or deletes the Controller Service if the proposed snapshot isnull. If the given Controller Service isnull, adds the Controller Service to the given Process Group- Parameters:
controllerService- the Controller Service to synchronizeproposed- the proposed/desired state for the controller servicegroup- the ProcessGroup to which the Controller Service should belongsynchronizationOptions- options for how to synchronize the flow- Throws:
FlowSynchronizationException- if unable to synchronize the Controller Service with the proposed versionTimeoutException- if the Controller Service must be disabled in order to synchronize it with the proposed version and disabling takes longer than the timeout allowed by thesynchronization options.InterruptedException- if interrupted while waiting for Controller Service to disable
-
synchronize
void synchronize(Connection connection, org.apache.nifi.flow.VersionedConnection proposedConnection, ProcessGroup group, FlowSynchronizationOptions synchronizationOptions) throws FlowSynchronizationException, TimeoutException Synchronizes the given Connection to match the proposed one, or deletes the Connection if the proposed isnull. If the given connection isnull, adds the connection to the given ProcessGroup- Parameters:
connection- the connection to synchronizeproposedConnection- the proposed/desired state for the connectiongroup- the ProcessGroup to which the connection should belongsynchronizationOptions- options for how to synchronize the flow- Throws:
IllegalStateException- if the connection cannot be updated due to the state of the flowFlowSynchronizationException- if unable to synchronize the connection with the proposed versionTimeoutException- if the source or destination of the connection must be stopped in order to perform the synchronization and stopping it takes longer than the timeout allowed by thesynchronization options.
-
synchronize
void synchronize(Port port, org.apache.nifi.flow.VersionedPort proposed, ProcessGroup group, FlowSynchronizationOptions synchronizationOptions) throws FlowSynchronizationException, TimeoutException, InterruptedException Synchronizes the given Port to match the proposed one, or deletes the Port if the proposed isnull. If the given Port isnull, creates it and adds it to the given ProcessGroup- Parameters:
port- the port to synchronizeproposed- the proposed/desired state for the portgroup- the ProcessGroup to which the port should belongsynchronizationOptions- options for how to synchronize the flow- Throws:
IllegalStateException- if the port cannot be updated due to the state of the flowFlowSynchronizationException- if unable to synchronize the port with the proposed versionTimeoutException- if the port is running and takes longer to stop than the timeout allowed by thesynchronization options.InterruptedException
-
synchronize
void synchronize(Funnel funnel, org.apache.nifi.flow.VersionedFunnel proposed, ProcessGroup group, FlowSynchronizationOptions synchronizationOptions) throws FlowSynchronizationException, TimeoutException, InterruptedException Synchronizes the given Funnel to match the proposed one, or deletes the Funnel if the proposed isnull. If the given Funnel isnull, creates it and adds it to the given ProcessGroup- Parameters:
funnel- the funnel to synchronizeproposed- the proposed/desired state for the funnelgroup- the ProcessGroup to which the funnel should belongsynchronizationOptions- options for how to synchronize the flow- Throws:
IllegalStateException- if the funnel cannot be updated due to the state of the flowFlowSynchronizationException- if unable to synchronize the funnel with the proposed versionTimeoutException- if the funnel is being removed and downstream components take longer to stop than the timeout allowed by thesynchronization options.InterruptedException
-
synchronize
void synchronize(Label label, org.apache.nifi.flow.VersionedLabel proposed, ProcessGroup group, FlowSynchronizationOptions synchronizationOptions) Synchronizes the given Label to match the proposed one, or deletes the Label if the proposed isnull. If the given Label isnull, creates it and adds it to the given ProcessGroup- Parameters:
label- the label to synchronizeproposed- the proposed/desired state for the labelgroup- the ProcessGroup to which the label should belongsynchronizationOptions- options for how to synchronize the flow
-
synchronize
void synchronize(ReportingTaskNode reportingTask, org.apache.nifi.flow.VersionedReportingTask proposed, FlowSynchronizationOptions synchronizationOptions) throws FlowSynchronizationException, TimeoutException, InterruptedException, ReportingTaskInstantiationException Synchronizes the given Reporting Task to match the proposed one, or deletes the Reporting Task if the proposed isnull. If the given Reporting Task isnull, creates it- Parameters:
reportingTask- the reporting task to synchronizeproposed- the proposed/desired statesynchronizationOptions- options for how to synchronize the flow- Throws:
IllegalStateException- if the reporting task cannot be updated due to the state of the flowFlowSynchronizationException- if unable to synchronize the reporting task with the proposed versionTimeoutException- if the reporting task is being removed and takes longer to stop than the timeout allowed by thesynchronization options.InterruptedExceptionReportingTaskInstantiationException
-
synchronize
void synchronize(FlowAnalysisRuleNode flowAnalysisRule, org.apache.nifi.flow.VersionedFlowAnalysisRule proposed, FlowSynchronizationOptions synchronizationOptions) throws FlowSynchronizationException, TimeoutException, InterruptedException, FlowAnalysisRuleInstantiationException Synchronizes the given Flow Analysis Rule to match the proposed one, or deletes the Flow Analysis Rule if the proposed isnull. If the given Flow Analysis Rule isnull, creates it.- Parameters:
flowAnalysisRule- the flow analysis rule to synchronizeproposed- the proposed/desired statesynchronizationOptions- options for how to synchronize the flow- Throws:
IllegalStateException- if the flow analysis rule cannot be updated due to the state of the flowFlowSynchronizationException- if unable to synchronize the flow analysis rule with the proposed versionTimeoutException- if the flow analysis rule is being removed and takes longer to stop than the timeout allowed by thesynchronization options.InterruptedExceptionFlowAnalysisRuleInstantiationException
-
synchronize
void synchronize(RemoteProcessGroup rpg, org.apache.nifi.flow.VersionedRemoteProcessGroup proposed, ProcessGroup group, FlowSynchronizationOptions synchronizationOptions) throws FlowSynchronizationException, TimeoutException, InterruptedException Synchronizes the given Remote Process Group to match the proposed one, or deletes the rpg if the proposed isnull. If the given rpg isnull, creates it and adds it to the given ProcessGroup- Parameters:
rpg- the rpg to synchronizeproposed- the proposed/desired state for the rpggroup- the ProcessGroup to which the rpg should belongsynchronizationOptions- options for how to synchronize the flow- Throws:
IllegalStateException- if the rpg cannot be updated due to the state of the flowFlowSynchronizationException- if unable to synchronize the rpg with the proposed versionTimeoutException- if the rpg is being removed and takes longer to stop than the timeout allowed by thesynchronization options.InterruptedException
-
synchronize
void synchronize(ParameterContext parameterContext, org.apache.nifi.flow.VersionedParameterContext proposed, FlowSynchronizationOptions synchronizationOptions) throws FlowSynchronizationException, TimeoutException, InterruptedException -
synchronizeProcessGroupSettings
void synchronizeProcessGroupSettings(ProcessGroup processGroup, org.apache.nifi.flow.VersionedProcessGroup proposed, ProcessGroup parentGroup, FlowSynchronizationOptions synchronizationOptions) throws FlowSynchronizationException, TimeoutException, InterruptedException, ProcessorInstantiationException
-