public class DefaultPropagationManager extends Object implements PropagationManager
PropagationManager
Constructor and Description |
---|
DefaultPropagationManager(CommonCatalogService<? extends Catalog> catalogService,
List<PropagationHandler> handlers) |
Modifier and Type | Method and Description |
---|---|
protected Trackable |
handleCreate(Trackable incoming,
String incomingCatalog,
String parentCatalog,
String propagationId,
TrackableRepository<Trackable> repository) |
protected Trackable |
handleDelete(Trackable incoming,
String incomingCatalog,
String parentCatalog,
String propagationId,
Trackable candidate,
TrackableRepository<Trackable> repository) |
protected Trackable |
handleUpdate(Trackable incoming,
String incomingCatalog,
String parentCatalog,
String propagationId,
Trackable candidate,
TrackableRepository<Trackable> repository) |
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 . |
public DefaultPropagationManager(CommonCatalogService<? extends Catalog> catalogService, List<PropagationHandler> handlers)
@SuppressNotification(value="SINGLE_INDEX_REQUEST") public void propagate(Trackable deployed, String parentCatalog, OperationType changeType, String propagationId, TrackableRepository<Trackable> repository)
PropagationManager
PropagationHandler
. PropagationHandler
instances are registered with Spring
and ordered. The first instance capable of handling is used and others are ignored.propagate
in interface PropagationManager
deployed
- The deployed item containing changes to propagateparentCatalog
- The catalog whose children will be checked for propagation itemschangeType
- 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 typeprotected Trackable handleDelete(Trackable incoming, String incomingCatalog, String parentCatalog, String propagationId, @Nullable Trackable candidate, TrackableRepository<Trackable> repository)
protected Trackable handleCreate(Trackable incoming, String incomingCatalog, String parentCatalog, String propagationId, TrackableRepository<Trackable> repository)
Copyright © 2021. All rights reserved.