Interface PropagationIntegrator
-
- All Known Implementing Classes:
CrudEntityHelper
public interface PropagationIntegratorIntegration component responsible for interacting with the propagation architecture outside of the standard transition flow (seeWorkflowTransitionHelper). Enacts immediate propagation on a catalog discriminated entity that does not honor sandbox support. This situation can occur as the result ofTrackableExtensionconfiguration on the domain, or the omission of sandbox information in aContextRequestincluded in theContextInfo.
SeePropagationManagerfor more information on propagation as it relates to catalog discriminated domain.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Stringprepare(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 Detail
-
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
-
-