Class UserProvisionDispatcher
- java.lang.Object
-
- org.openiam.idm.provisioning.service.UserProvisionDispatcher
-
@Component public class UserProvisionDispatcher extends Object
-
-
Field Summary
Fields Modifier and Type Field Description protected AuditLogHelper
auditLogHelper
protected org.apache.commons.logging.Log
log
protected CustomJacksonMapper
mapper
-
Constructor Summary
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
dispatch(ManagedSysDto managedSystem, String identityValue, UserProvisionAPI operation, String provisionDocId)
This method is called by direct provision operations.void
dispatch(ManagedSysDto managedSystem, ProvisionUserObjectDiff diff, String userId, UserProvisionAPI operation, boolean currentValuesForProvision, String provisionRequestDocId)
This method is called by provision operations.void
executeSimulationReq(String request)
protected String
getManagedSystemPolicyObjectType()
protected Set<MngSysPolicyDto>
getPolicyDto(ManagedSysDto managedSysDto)
protected String
getRequestBody(List<T> attributes, CustomJacksonMapper mapper)
protected void
getSensitiveAttributes(ManagedSysDto mgSys, List<String> sensitiveAttrs)
protected void
populateAuditLog(AuditLogBuilder auditLogBuilder, AuditLogBuilder currentLog, ManagedSysDto managedSystem, List<T> attributes, CustomJacksonMapper mapper, boolean doProvisionSave, ProvisioningAPI operation)
-
-
-
Field Detail
-
log
protected final org.apache.commons.logging.Log log
-
auditLogHelper
protected final AuditLogHelper auditLogHelper
-
mapper
protected final CustomJacksonMapper mapper
-
-
Constructor Detail
-
UserProvisionDispatcher
protected UserProvisionDispatcher(ProvisionConnectorRequestElasticSearchRepository esRepo, AuditLogHelper auditLogHelper, CustomJacksonMapper mapper, PolicyMapProcessorFactory policyMapFactory, SaveUserConnectorProvisioningOperation saveUserConnectorProvisioningOperation, DeleteUserConnectorProvisioningOperation deleteUserConnectorProvisioningOperation, ResetPasswordUserConnectorProvisioningOperation resetUserConnectorProvisioningOperation, SendSingleProvisionEventProvisioningOperation sendSingleProvisionEventProvisioningOperation, SuspendUserConnectorProvisioningOperation suspendUserProvisioningConnectorResponse, ResumeUserConnectorProvisioningOperation resumeUserConnectorProvisioningOperation, LoginMQService loginMQService, DeleteUserDirectConnectorProvisioningOperation deleteUserDirectConnectorProvisioningOperation, LoginUserConnectorProvisioningOperation loginUserConnectorProvisioningOperation, ManagedSystemRabbitMQService mgSysMQService, ManagedSystemCache sysCache)
-
-
Method Detail
-
getManagedSystemPolicyObjectType
protected String getManagedSystemPolicyObjectType()
-
dispatch
public void dispatch(ManagedSysDto managedSystem, ProvisionUserObjectDiff diff, String userId, UserProvisionAPI operation, boolean currentValuesForProvision, String provisionRequestDocId)
This method is called by provision operations. It's job is to create new ProvisionUserConnectorServiceRequest, and put it on the RabbitMQ bus It should also create, save, and manage any audit logs (TODO)- Parameters:
managedSystem
- - the managed system that we will be talking todiff
- - the Diff for the provision operationoperation
- - the operation
-
executeSimulationReq
public void executeSimulationReq(String request)
-
dispatch
public void dispatch(ManagedSysDto managedSystem, String identityValue, UserProvisionAPI operation, String provisionDocId)
This method is called by direct provision operations. Need for direct request to connector, when IDM has not object For example reconciliation : IDM - not exists, Target system - exist, action - Remove object from Target system For example orphan management : user was created by sync but wasn't matched to any existed user, admin did review or orphans and decided to delete one, so we don't have user for it but we need to delete him from target. It's job is to create new ProvisionUserConnectorServiceRequest, and put it on the RabbitMQ bus It should also create, save, and manage any audit logs (TODO)- Parameters:
managedSystem
- - the managed system that we will be talking toidentityValue
- - the Diff for the provision operationoperation
- - the operation
-
getRequestBody
protected String getRequestBody(List<T> attributes, CustomJacksonMapper mapper) throws Exception
- Throws:
Exception
-
populateAuditLog
protected void populateAuditLog(AuditLogBuilder auditLogBuilder, AuditLogBuilder currentLog, ManagedSysDto managedSystem, List<T> attributes, CustomJacksonMapper mapper, boolean doProvisionSave, ProvisioningAPI operation) throws Exception
- Throws:
Exception
-
getPolicyDto
protected Set<MngSysPolicyDto> getPolicyDto(ManagedSysDto managedSysDto)
-
getSensitiveAttributes
protected void getSensitiveAttributes(ManagedSysDto mgSys, List<String> sensitiveAttrs)
-
-