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 (seeWorkflowTransitionHelper
). Enacts immediate propagation on a catalog discriminated entity that does not honor sandbox support. This situation can occur as the result ofTrackableExtension
configuration on the domain, or the omission of sandbox information in aContextRequest
included in theContextInfo
.PropagationManager
for more information on propagation as it relates to catalog discriminated domain.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description String
prepare(Trackable domain, ContextInfo context, OperationType operationType)
Prepare aTrackable
entity for propagation, if applicable.void
propagateIfApplicable(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 forTrackable
domain 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 theContextRequest
in theContextInfo
. This is a special case, and normally propagation is automatically performed for catalog and sandbox behavior domain duringWorkflowTransitionHelper.deploy(WorkflowDeployRequest)
.- Parameters:
domain
- TheTrackable
repository 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 aRepository
instance.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 aTrackable
entity for propagation, if applicable. Usually involves preparingChangeDetail
instances andFieldOverride
instances contained therein.- Parameters:
domain
- TheTrackable
repository 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
-
-