Interface PropagationIntegrator
- All Known Implementing Classes:
CrudEntityHelper
public interface PropagationIntegrator
Integration component responsible for interacting with the propagation architecture outside of
the standard transition flow (see
WorkflowTransitionHelper). Enacts immediate propagation
on a catalog discriminated entity that does not honor sandbox support. This situation can occur
as the result of TrackableExtension configuration on the domain, or the omission of
sandbox information in a ContextRequest included in the ContextInfo.
See
PropagationManager for more information on propagation as it relates to catalog
discriminated domain.-
Method Summary
Modifier and TypeMethodDescriptionprepare(Trackable domain, ContextInfo context, OperationType operationType) Prepare aTrackableentity for propagation, if applicable.voidpropagateIfApplicable(Trackable domain, ContextInfo context, OperationType operationType, TrackableRepository<Trackable> repository, String propagationId) Initiate a catalog propagation for the change.
-
Method Details
-
propagateIfApplicable
void propagateIfApplicable(@Nullable Trackable domain, @Nullable ContextInfo context, @NonNull OperationType operationType, @NonNull TrackableRepository<Trackable> repository, @Nullable String propagationId) Initiate a catalog propagation for the change. This is a limited use case forTrackabledomain that useTrackableBehavior.CATALOG, but explicitly omitTrackableBehavior.SANDBOX. This can also apply to catalog behavior supporting domain that also supports sandbox behavior, but has explicitly omitted the sandbox identification in theContextRequestin theContextInfo. This is a special case, and normally propagation is automatically performed for catalog and sandbox behavior domain duringWorkflowTransitionHelper.deploy(WorkflowDeployRequest).- Parameters:
domain- TheTrackablerepository domain instance that was changedcontext- context information around sandbox and authoroperationType- The type of change operation performedrepository- The service responsible for making the state change. Usually aRepositoryinstance.propagationId- The unique id identifying this propagation. Usually returned from a call toprepare(Trackable, ContextInfo, OperationType)
-
prepare
@Nullable String prepare(@Nullable Trackable domain, @Nullable ContextInfo context, @NonNull OperationType operationType) Prepare aTrackableentity for propagation, if applicable. Usually involves preparingChangeDetailinstances andFieldOverrideinstances contained therein.- Parameters:
domain- TheTrackablerepository domain instance that was changedcontext- Context information around sandbox and authoroperationType- The type of change operation performed- Returns:
- The propagationId, or null if not applicable
-