Class AbstractPullResultHandler
- java.lang.Object
-
- org.apache.syncope.core.provisioning.java.pushpull.AbstractSyncopeResultHandler<PullTask,PullActions>
-
- org.apache.syncope.core.provisioning.java.pushpull.AbstractPullResultHandler
-
- All Implemented Interfaces:
SyncopePullResultHandler
,SyncopeResultHandler<PullTask,PullActions>
,SyncResultsHandler
- Direct Known Subclasses:
DefaultAnyObjectPullResultHandler
,DefaultGroupPullResultHandler
,DefaultUserPullResultHandler
public abstract class AbstractPullResultHandler extends AbstractSyncopeResultHandler<PullTask,PullActions> implements SyncopePullResultHandler
-
-
Field Summary
Fields Modifier and Type Field Description protected AnyTypeDAO
anyTypeDAO
protected AuditManager
auditManager
protected ConnObjectUtils
connObjectUtils
protected EntityFactory
entityFactory
protected InboundMatcher
inboundMatcher
protected NotificationManager
notificationManager
protected RemediationDAO
remediationDAO
protected TaskDAO
taskDAO
protected UserDAO
userDAO
protected VirAttrCache
virAttrCache
protected VirSchemaDAO
virSchemaDAO
-
Fields inherited from class org.apache.syncope.core.provisioning.java.pushpull.AbstractSyncopeResultHandler
anyObjectDataBinder, anyUtilsFactory, awfAdapter, groupDataBinder, gwfAdapter, LOG, profile, propagationManager, securityProperties, taskExecutor, userDataBinder, uwfAdapter
-
-
Constructor Summary
Constructors Constructor Description AbstractPullResultHandler()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected static AuditElements.Result
and(AuditElements.Result left, AuditElements.Result right)
protected void
createRemediation(String anyType, String anyKey, AnyCR anyCR, AnyUR anyUR, ProvisioningReport result, SyncDelta delta)
protected void
createRemediationIfNeeded(AnyUR anyUR, SyncDelta delta, ProvisioningReport result)
protected AuditElements.Result
delete(SyncDelta delta, List<PullMatch> matches, Provision provision)
protected AuditElements.Result
deprovision(MatchingRule matchingRule, SyncDelta delta, List<PullMatch> matches, Provision provision)
protected abstract AnyTO
doCreate(AnyCR anyCR, SyncDelta delta)
protected AuditElements.Result
doHandle(SyncDelta delta, Provision provision, AnyTypeKind anyTypeKind)
Look into SyncDelta and take necessary profile.getActions() (create / update / delete) on any object(s).protected abstract AnyUR
doUpdate(AnyTO before, AnyUR anyUR, SyncDelta delta, ProvisioningReport result)
protected void
end(String anyType, String event, AuditElements.Result result, Object before, Object output, SyncDelta delta, Object... furtherInput)
protected abstract String
getName(AnyCR anyCR)
protected abstract String
getName(AnyTO anyTO)
protected abstract ProvisioningManager<?,?>
getProvisioningManager()
boolean
handle(SyncDelta delta)
protected AuditElements.Result
handleAnys(SyncDelta delta, List<PullMatch> matches, AnyTypeKind anyTypeKind, Provision provision)
protected AuditElements.Result
handleLinkedAccounts(SyncDelta delta, List<PullMatch> matches, Provision provision)
protected AuditElements.Result
ignore(SyncDelta delta, List<PullMatch> matches, Provision provision, boolean matching, String... message)
protected AuditElements.Result
link(SyncDelta delta, List<PullMatch> matches, Provision provision, boolean unlink)
protected AuditElements.Result
provision(UnmatchingRule rule, SyncDelta delta, AnyTypeKind anyTypeKind, Provision provision)
protected void
throwIgnoreProvisionException(SyncDelta delta, Exception exception)
protected AuditElements.Result
update(SyncDelta delta, List<PullMatch> matches, Provision provision)
-
Methods inherited from class org.apache.syncope.core.provisioning.java.pushpull.AbstractSyncopeResultHandler
getAnyTO, getAnyUtils, getContext, setProfile, update
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.syncope.core.provisioning.api.pushpull.SyncopeResultHandler
setProfile
-
-
-
-
Field Detail
-
inboundMatcher
@Autowired protected InboundMatcher inboundMatcher
-
notificationManager
@Autowired protected NotificationManager notificationManager
-
auditManager
@Autowired protected AuditManager auditManager
-
connObjectUtils
@Autowired protected ConnObjectUtils connObjectUtils
-
userDAO
@Autowired protected UserDAO userDAO
-
anyTypeDAO
@Autowired protected AnyTypeDAO anyTypeDAO
-
taskDAO
@Autowired protected TaskDAO taskDAO
-
remediationDAO
@Autowired protected RemediationDAO remediationDAO
-
virSchemaDAO
@Autowired protected VirSchemaDAO virSchemaDAO
-
virAttrCache
@Autowired protected VirAttrCache virAttrCache
-
entityFactory
@Autowired protected EntityFactory entityFactory
-
-
Method Detail
-
and
protected static AuditElements.Result and(AuditElements.Result left, AuditElements.Result right)
-
getProvisioningManager
protected abstract ProvisioningManager<?,?> getProvisioningManager()
-
doUpdate
protected abstract AnyUR doUpdate(AnyTO before, AnyUR anyUR, SyncDelta delta, ProvisioningReport result)
-
handle
@Transactional(rollbackFor=java.lang.Throwable.class, propagation=REQUIRES_NEW) public boolean handle(SyncDelta delta)
- Specified by:
handle
in interfaceSyncopePullResultHandler
- Specified by:
handle
in interfaceSyncResultsHandler
-
throwIgnoreProvisionException
protected void throwIgnoreProvisionException(SyncDelta delta, Exception exception) throws org.quartz.JobExecutionException
- Throws:
org.quartz.JobExecutionException
-
provision
protected AuditElements.Result provision(UnmatchingRule rule, SyncDelta delta, AnyTypeKind anyTypeKind, Provision provision) throws org.quartz.JobExecutionException
- Throws:
org.quartz.JobExecutionException
-
update
protected AuditElements.Result update(SyncDelta delta, List<PullMatch> matches, Provision provision) throws org.quartz.JobExecutionException
- Throws:
org.quartz.JobExecutionException
-
deprovision
protected AuditElements.Result deprovision(MatchingRule matchingRule, SyncDelta delta, List<PullMatch> matches, Provision provision) throws org.quartz.JobExecutionException
- Throws:
org.quartz.JobExecutionException
-
link
protected AuditElements.Result link(SyncDelta delta, List<PullMatch> matches, Provision provision, boolean unlink) throws org.quartz.JobExecutionException
- Throws:
org.quartz.JobExecutionException
-
delete
protected AuditElements.Result delete(SyncDelta delta, List<PullMatch> matches, Provision provision) throws org.quartz.JobExecutionException
- Throws:
org.quartz.JobExecutionException
-
ignore
protected AuditElements.Result ignore(SyncDelta delta, List<PullMatch> matches, Provision provision, boolean matching, String... message) throws org.quartz.JobExecutionException
- Throws:
org.quartz.JobExecutionException
-
handleAnys
protected AuditElements.Result handleAnys(SyncDelta delta, List<PullMatch> matches, AnyTypeKind anyTypeKind, Provision provision) throws org.quartz.JobExecutionException
- Throws:
org.quartz.JobExecutionException
-
handleLinkedAccounts
protected AuditElements.Result handleLinkedAccounts(SyncDelta delta, List<PullMatch> matches, Provision provision) throws org.quartz.JobExecutionException
- Throws:
org.quartz.JobExecutionException
-
doHandle
protected AuditElements.Result doHandle(SyncDelta delta, Provision provision, AnyTypeKind anyTypeKind) throws org.quartz.JobExecutionException
Look into SyncDelta and take necessary profile.getActions() (create / update / delete) on any object(s).- Parameters:
delta
- returned by the underlying profile.getConnector()provision
- provisioning infoanyTypeKind
- any type kind- Returns:
- if handle was successful or not
- Throws:
org.quartz.JobExecutionException
- in case of pull failure.
-
end
protected void end(String anyType, String event, AuditElements.Result result, Object before, Object output, SyncDelta delta, Object... furtherInput)
-
createRemediationIfNeeded
protected void createRemediationIfNeeded(AnyUR anyUR, SyncDelta delta, ProvisioningReport result)
-
-