Class AbstractPropagationTaskExecutor
java.lang.Object
org.apache.syncope.core.provisioning.java.propagation.AbstractPropagationTaskExecutor
- All Implemented Interfaces:
PropagationTaskExecutor
- Direct Known Subclasses:
PriorityPropagationTaskExecutor
@Transactional(rollbackFor=java.lang.Throwable.class)
public abstract class AbstractPropagationTaskExecutor
extends Object
implements PropagationTaskExecutor
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final AnyUtilsFactoryprotected final AuditManagerprotected final ConnectorManagerprotected final ConnObjectUtilsprotected static final Loggerprotected final NotificationManagerprotected final OutboundMatcherprotected final Map<String, PropagationActions> protected final PlainSchemaDAOprotected final ApplicationEventPublisherprotected final ExternalResourceDAOprotected final TaskDAOprotected final TaskDataBinderprotected final TaskUtilsFactoryprotected final PlainAttrValidationManager -
Constructor Summary
ConstructorsConstructorDescriptionAbstractPropagationTaskExecutor(ConnectorManager connectorManager, ConnObjectUtils connObjectUtils, TaskDAO taskDAO, ExternalResourceDAO resourceDAO, PlainSchemaDAO plainSchemaDAO, NotificationManager notificationManager, AuditManager auditManager, TaskDataBinder taskDataBinder, AnyUtilsFactory anyUtilsFactory, TaskUtilsFactory taskUtilsFactory, OutboundMatcher outboundMatcher, PlainAttrValidationManager validator, ApplicationEventPublisher publisher) -
Method Summary
Modifier and TypeMethodDescriptionprotected voidcheckMandatoryMissing(PropagationTaskInfo taskInfo, Set<Attribute> attrs, boolean enablePasswordCheck) protected UidcreateOrUpdate(PropagationTaskInfo taskInfo, boolean fetchRemoteObj, ConnectorObject beforeObj, Connector connector, Mutable<Boolean> propagationAttempted) protected Uiddelete(PropagationTaskInfo taskInfo, boolean fetchRemoteObj, ConnectorObject beforeObj, Connector connector, Mutable<Boolean> propagationAttempted) protected UiddoCreate(PropagationTaskInfo taskInfo, Connector connector, Mutable<Boolean> propagationAttempted) protected TaskExec<PropagationTask> doExecute(PropagationTaskInfo taskInfo, PropagationReporter reporter, String executor) protected UiddoUpdate(PropagationTaskInfo taskInfo, Connector connector, ConnectorObject beforeObj, Mutable<Boolean> propagationAttempted) protected UiddoUpdateDelta(PropagationTaskInfo taskInfo, Set<AttributeDelta> modifications, Connector connector, Mutable<Boolean> propagationAttempted) execute(PropagationTaskInfo taskInfo, PropagationReporter reporter, String executor) Execute the given task and returns the generatedTaskExec.voidexpireRetryTemplate(String resource) Remove any RetryTemplate defined for the given External Resource from local cache.protected List<PropagationActions> getPropagationActions(ExternalResource resource) protected ConnectorObjectgetRemoteObject(PropagationTaskInfo taskInfo, Connector connector, OrgUnit orgUnit, List<PropagationActions> actions, boolean latest) Get remote object for given task.protected ConnectorObjectgetRemoteObject(PropagationTaskInfo taskInfo, Connector connector, Provision provision, List<PropagationActions> actions, boolean latest) Get remote object for given task.protected Optional<PropagationTask> hasToBeregistered(PropagationTaskInfo taskInfo, TaskExec<PropagationTask> execution) Check whether an execution has to be stored, for a given task.protected booleanisFetchRemoteObj(PropagationTaskInfo taskInfo) protected TaskExec<PropagationTask> rejected(PropagationTaskInfo taskInfo, String rejectReason, PropagationReporter reporter, String executor) protected Optional<org.springframework.retry.support.RetryTemplate> retryTemplate(ExternalResource resource) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.syncope.core.provisioning.api.propagation.PropagationTaskExecutor
execute
-
Field Details
-
LOG
-
retryTemplates
-
connectorManager
-
connObjectUtils
-
taskDAO
-
resourceDAO
-
plainSchemaDAO
-
notificationManager
-
auditManager
-
taskDataBinder
-
anyUtilsFactory
-
taskUtilsFactory
-
outboundMatcher
-
validator
-
publisher
-
perContextActions
-
-
Constructor Details
-
AbstractPropagationTaskExecutor
public AbstractPropagationTaskExecutor(ConnectorManager connectorManager, ConnObjectUtils connObjectUtils, TaskDAO taskDAO, ExternalResourceDAO resourceDAO, PlainSchemaDAO plainSchemaDAO, NotificationManager notificationManager, AuditManager auditManager, TaskDataBinder taskDataBinder, AnyUtilsFactory anyUtilsFactory, TaskUtilsFactory taskUtilsFactory, OutboundMatcher outboundMatcher, PlainAttrValidationManager validator, ApplicationEventPublisher publisher)
-
-
Method Details
-
expireRetryTemplate
Description copied from interface:PropagationTaskExecutorRemove any RetryTemplate defined for the given External Resource from local cache.- Specified by:
expireRetryTemplatein interfacePropagationTaskExecutor- Parameters:
resource- External Resource name
-
getPropagationActions
-
checkMandatoryMissing
protected void checkMandatoryMissing(PropagationTaskInfo taskInfo, Set<Attribute> attrs, boolean enablePasswordCheck) -
doCreate
protected Uid doCreate(PropagationTaskInfo taskInfo, Connector connector, Mutable<Boolean> propagationAttempted) -
doUpdate
protected Uid doUpdate(PropagationTaskInfo taskInfo, Connector connector, ConnectorObject beforeObj, Mutable<Boolean> propagationAttempted) -
doUpdateDelta
protected Uid doUpdateDelta(PropagationTaskInfo taskInfo, Set<AttributeDelta> modifications, Connector connector, Mutable<Boolean> propagationAttempted) -
createOrUpdate
protected Uid createOrUpdate(PropagationTaskInfo taskInfo, boolean fetchRemoteObj, ConnectorObject beforeObj, Connector connector, Mutable<Boolean> propagationAttempted) -
delete
protected Uid delete(PropagationTaskInfo taskInfo, boolean fetchRemoteObj, ConnectorObject beforeObj, Connector connector, Mutable<Boolean> propagationAttempted) -
retryTemplate
protected Optional<org.springframework.retry.support.RetryTemplate> retryTemplate(ExternalResource resource) -
execute
public TaskExec<PropagationTask> execute(PropagationTaskInfo taskInfo, PropagationReporter reporter, String executor) Description copied from interface:PropagationTaskExecutorExecute the given task and returns the generatedTaskExec.- Specified by:
executein interfacePropagationTaskExecutor- Parameters:
taskInfo- to be executedreporter- to report propagation execution statusexecutor- the executor of this task- Returns:
- the generated TaskExec
-
isFetchRemoteObj
-
doExecute
protected TaskExec<PropagationTask> doExecute(PropagationTaskInfo taskInfo, PropagationReporter reporter, String executor) -
rejected
protected TaskExec<PropagationTask> rejected(PropagationTaskInfo taskInfo, String rejectReason, PropagationReporter reporter, String executor) -
hasToBeregistered
protected Optional<PropagationTask> hasToBeregistered(PropagationTaskInfo taskInfo, TaskExec<PropagationTask> execution) Check whether an execution has to be stored, for a given task.- Parameters:
taskInfo- propagation taskexecution- to be decide whether to store or not- Returns:
- true if execution has to be store, false otherwise
-
getRemoteObject
protected ConnectorObject getRemoteObject(PropagationTaskInfo taskInfo, Connector connector, Provision provision, List<PropagationActions> actions, boolean latest) Get remote object for given task.- Parameters:
taskInfo- current propagation taskconnector- connector facade proxyprovision- provisionactions- propagation actionslatest- 'FALSE' to retrieve object using old connObjectKey if not null.- Returns:
- remote connector object.
-
getRemoteObject
protected ConnectorObject getRemoteObject(PropagationTaskInfo taskInfo, Connector connector, OrgUnit orgUnit, List<PropagationActions> actions, boolean latest) Get remote object for given task.- Parameters:
taskInfo- current propagation taskconnector- connector facade proxyorgUnit- orgUnitactions- propagation actionslatest- 'FALSE' to retrieve object using old connObjectKey if not null.- Returns:
- remote connector object.
-