Interface PropagationManager

  • All Known Implementing Classes:
    DefaultPropagationManager

    public interface PropagationManager
    Manager component responsible for aggregating one or more PropagationHandler instances and picking the best handler to perform propagation give a set of contextual criteria.
    Author:
    Jeff Fischer
    • Method Detail

      • propagate

        void propagate​(Trackable deployed,
                       String parentCatalog,
                       OperationType changeType,
                       String propagationId,
                       TrackableRepository<Trackable> repository)
        Given a deployed catalog discriminated change, recurse through versions of the entity in child catalogs and transfer the deployed changes using the process defined implementations of PropagationHandler. PropagationHandler instances are registered with Spring and ordered. The first instance capable of handling is used and others are ignored.
        Parameters:
        deployed - The deployed item containing changes to propagate
        parentCatalog - The catalog whose children will be checked for propagation items
        changeType - The type of operation to be propagated (CREATE,UPDATE,DELETE)
        propagationId - An id that identifies changes as part of this propagation. See ChangeDetail.getPropagationId().
        repository - The repository responsible for persistence of the entity type