Class LDAPMembershipPullActions
java.lang.Object
org.apache.syncope.core.provisioning.java.pushpull.LDAPMembershipPullActions
- All Implemented Interfaces:
InboundActions
,ProvisioningActions
- Direct Known Subclasses:
ADMembershipPullActions
Simple action for pulling LDAP groups memberships to Syncope group memberships, when the same resource is
configured for both users and groups.
- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionprotected AnyTypeDAO
protected GroupDAO
protected InboundMatcher
protected static final Logger
protected UserProvisioningManager
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
after
(ProvisioningProfile<?, ?> profile, LiveSyncDelta delta, EntityTO entity, ProvisioningReport result) Keep track of members of the group being updated after actual update took place.void
afterAll
(ProvisioningProfile<?, ?> profile) Action to be executed after the provisioning (push / pull) task completion.void
beforeUpdate
(ProvisioningProfile<?, ?> profile, LiveSyncDelta delta, EntityTO entity, AnyUR anyUR) Keep track of members of the group being updated before actual update takes place.protected String
getGroupMembershipAttrName
(Connector connector) Allows easy subclassing for the ConnId AD connector bundle.getMembAttrValues
(LiveSyncDelta delta, 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 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.InboundActions
beforeAssign, beforeAssign, beforeAssign, beforeDelete, beforeDeprovision, beforeLink, beforeProvision, beforeProvision, beforeProvision, beforeUnassign, beforeUnlink, moreAttrsToGet, moreAttrsToGet, onError, preprocess
Methods inherited from interface org.apache.syncope.core.provisioning.api.pushpull.ProvisioningActions
beforeAll
-
Field Details
-
LOG
-
anyTypeDAO
-
groupDAO
-
inboundMatcher
-
userProvisioningManager
-
membershipsBefore
-
membershipsAfter
-
-
Constructor Details
-
LDAPMembershipPullActions
public LDAPMembershipPullActions()
-
-
Method Details
-
getGroupMembershipAttrName
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
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(ProvisioningProfile<?, ?> profile, LiveSyncDelta delta, EntityTO entity, AnyUR anyUR) throws JobExecutionExceptionKeep track of members of the group being updated before actual update takes place. This is not needed onInboundActions.beforeProvision(org.apache.syncope.core.provisioning.api.pushpull.ProvisioningProfile<?, ?>, org.identityconnectors.framework.common.objects.LiveSyncDelta, org.apache.syncope.common.lib.request.AnyCR)
because the pulling group does not exist yet on SyncopeInboundActions.beforeDelete(org.apache.syncope.core.provisioning.api.pushpull.ProvisioningProfile<?, ?>, org.identityconnectors.framework.common.objects.LiveSyncDelta, org.apache.syncope.common.lib.to.EntityTO)
because group delete cascades as membership removal for all users involved
MatchingRule.UPDATE
(default matching rule) is applied.- Specified by:
beforeUpdate
in interfaceInboundActions
- Parameters:
profile
- profile of the inbound being executed.delta
- retrieved inbound informationentity
- entityanyUR
- modification- Throws:
JobExecutionException
- in case of generic failure.
-
after
public void after(ProvisioningProfile<?, ?> profile, LiveSyncDelta delta, EntityTO entity, ProvisioningReport result) throws JobExecutionExceptionKeep track of members of the group being updated after actual update took place. Action to be executed after each local entity inbound.- Specified by:
after
in interfaceInboundActions
- Parameters:
profile
- profile of the inbound being executed.delta
- retrieved inbound information (may be modified by beforeProvisionTO / beforeUpdate / beforeDelete)entity
- entityresult
- global inbound results at the current inbound step- Throws:
JobExecutionException
- in case of generic failure
-
afterAll
Description copied from interface:ProvisioningActions
Action to be executed after the provisioning (push / pull) task completion.- Specified by:
afterAll
in interfaceProvisioningActions
- Parameters:
profile
- provisioning profile
-