Class LDAPMembershipPullActions
- java.lang.Object
-
- org.apache.syncope.core.provisioning.java.pushpull.SchedulingPullActions
-
- org.apache.syncope.core.provisioning.java.pushpull.LDAPMembershipPullActions
-
- All Implemented Interfaces:
org.apache.syncope.core.provisioning.api.pushpull.ProvisioningActions
,org.apache.syncope.core.provisioning.api.pushpull.PullActions
- Direct Known Subclasses:
ADMembershipPullActions
public class LDAPMembershipPullActions extends SchedulingPullActions
Simple action for pulling LDAP groups memberships to Syncope group memberships, when the same resource is configured for both users and groups.- See Also:
LDAPMembershipPropagationActions
-
-
Field Summary
Fields Modifier and Type Field Description protected org.apache.syncope.core.persistence.api.dao.AnyTypeDAO
anyTypeDAO
protected org.apache.syncope.core.persistence.api.dao.GroupDAO
groupDAO
protected static org.slf4j.Logger
LOG
protected Map<String,Set<String>>
membershipsAfter
protected Map<String,Set<String>>
membershipsBefore
-
Fields inherited from class org.apache.syncope.core.provisioning.java.pushpull.SchedulingPullActions
scheduler
-
-
Constructor Summary
Constructors Constructor Description LDAPMembershipPullActions()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
after(org.apache.syncope.core.provisioning.api.pushpull.ProvisioningProfile<?,?> profile, org.identityconnectors.framework.common.objects.SyncDelta delta, org.apache.syncope.common.lib.to.EntityTO entity, org.apache.syncope.common.lib.to.ProvisioningReport result)
Keep track of members of the group being updated after actual update took place.void
afterAll(org.apache.syncope.core.provisioning.api.pushpull.ProvisioningProfile<?,?> profile)
void
beforeUpdate(org.apache.syncope.core.provisioning.api.pushpull.ProvisioningProfile<?,?> profile, org.identityconnectors.framework.common.objects.SyncDelta delta, org.apache.syncope.common.lib.to.EntityTO entity, org.apache.syncope.common.lib.request.AnyUR anyUR)
Keep track of members of the group being updated before actual update takes place.protected String
getGroupMembershipAttrName(org.apache.syncope.core.provisioning.api.Connector connector)
Allows easy subclassing for the ConnId AD connector bundle.protected List<Object>
getMembAttrValues(org.identityconnectors.framework.common.objects.SyncDelta delta, org.apache.syncope.core.provisioning.api.Connector connector)
Read values of attribute returned by getGroupMembershipAttrName(); if not present in the given delta, perform an additional read on the underlying connector.-
Methods inherited from class org.apache.syncope.core.provisioning.java.pushpull.SchedulingPullActions
schedule
-
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.ProvisioningActions
beforeAll
-
Methods inherited from interface org.apache.syncope.core.provisioning.api.pushpull.PullActions
beforeAssign, beforeAssign, beforeAssign, beforeDelete, beforeDeprovision, beforeLink, beforeProvision, beforeProvision, beforeProvision, beforeUnassign, beforeUnlink, moreAttrsToGet, moreAttrsToGet, onError, preprocess
-
-
-
-
Method Detail
-
getGroupMembershipAttrName
protected String getGroupMembershipAttrName(org.apache.syncope.core.provisioning.api.Connector connector)
Allows easy subclassing for the ConnId AD connector bundle.- Parameters:
connector
- A Connector instance to query for the groupMemberAttribute property name- Returns:
- the name of the attribute used to keep track of group memberships
-
getMembAttrValues
protected List<Object> getMembAttrValues(org.identityconnectors.framework.common.objects.SyncDelta delta, org.apache.syncope.core.provisioning.api.Connector connector)
Read values of attribute returned by getGroupMembershipAttrName(); if not present in the given delta, perform an additional read on the underlying connector.- Parameters:
delta
- representing the pulling groupconnector
- associated to the current resource- Returns:
- value of attribute returned by
getGroupMembershipAttrName(org.apache.syncope.core.provisioning.api.Connector)
-
beforeUpdate
@Transactional(readOnly=true) public void beforeUpdate(org.apache.syncope.core.provisioning.api.pushpull.ProvisioningProfile<?,?> profile, org.identityconnectors.framework.common.objects.SyncDelta delta, org.apache.syncope.common.lib.to.EntityTO entity, org.apache.syncope.common.lib.request.AnyUR anyUR) throws org.quartz.JobExecutionException
Keep track of members of the group being updated before actual update takes place. This is not needed onPullActions.beforeProvision(org.apache.syncope.core.provisioning.api.pushpull.ProvisioningProfile<?, ?>, org.identityconnectors.framework.common.objects.SyncDelta, org.apache.syncope.common.lib.request.AnyCR)
because the pulling group does not exist yet on SyncopePullActions.beforeDelete(org.apache.syncope.core.provisioning.api.pushpull.ProvisioningProfile<?, ?>, org.identityconnectors.framework.common.objects.SyncDelta, org.apache.syncope.common.lib.to.EntityTO)
because group delete cascades as membership removal for all users involved
- Throws:
org.quartz.JobExecutionException
-
after
public void after(org.apache.syncope.core.provisioning.api.pushpull.ProvisioningProfile<?,?> profile, org.identityconnectors.framework.common.objects.SyncDelta delta, org.apache.syncope.common.lib.to.EntityTO entity, org.apache.syncope.common.lib.to.ProvisioningReport result) throws org.quartz.JobExecutionException
Keep track of members of the group being updated after actual update took place.- Throws:
org.quartz.JobExecutionException
-
afterAll
public void afterAll(org.apache.syncope.core.provisioning.api.pushpull.ProvisioningProfile<?,?> profile) throws org.quartz.JobExecutionException
- Throws:
org.quartz.JobExecutionException
-
-