Package org.openiam.idm.service
Class AbstractMapProcessorService<D extends AbstractProvisionObjectDiff,ObjectType extends ConnectorObject,Object extends ProvisionObject>
- java.lang.Object
-
- org.openiam.idm.service.AbstractMapProcessorService<D,ObjectType,Object>
-
- Type Parameters:
D-
- All Implemented Interfaces:
IPolicyMapProcessorService<D,ObjectType>
- Direct Known Subclasses:
GroupPolicyMapProcessorServiceImpl,UserPolicyMapProcessorServiceImpl
public abstract class AbstractMapProcessorService<D extends AbstractProvisionObjectDiff,ObjectType extends ConnectorObject,Object extends ProvisionObject> extends Object implements IPolicyMapProcessorService<D,ObjectType>
iam-services Created by zaporozhec on 3/27/17 All PolicyMap processors must extend this abstract class.
-
-
Field Summary
Fields Modifier and Type Field Description protected LoginMQServiceloginMQServiceprotected PropertyValueCachepropertyValueService
-
Constructor Summary
Constructors Constructor Description AbstractMapProcessorService()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected StringdecryptPassword(String password, String userId)voidevictCachedGroovies()evict groovies cache.ConnectorAttributegeneratePassword(MngSysPolicyDto mngSysPolicyDto, D diff)ConnectorAttributegeneratePrimaryIdentity(MngSysPolicyDto mngSysPolicyDto, D diff, RequestPolicyMapSourceEnum requestType)protected ConnectorAttributegenerateSpecialAttributes(PolicyMapObjectTypeOptions type, MngSysPolicyDto mngSysPolicyDto, D diff, boolean forceExecution, RequestPolicyMapSourceEnum requestType)protected abstract Class<ObjectType>getConnectorObjectType()protected abstract StringgetManagedSystemPolicyObjectType()protected ObjectTypegetObject(ManagedSysDto managedSysDto, MngSysPolicyDto mngSysPolicyDto, D diffObject, RequestPolicyMapSourceEnum requestType)generate Connector Object for given managed system policyList<ObjectType>getObjects(D diffObject, ManagedSysDto managedSysDto, RequestPolicyMapSourceEnum requestType)Due to Managed system could have multiple policies with same GROUPING it could be generated multiple accounts to provision in the same Target Systemprotected abstract ConnectorAttributegetPasswordForManagedSystem(String mSysId, AttributeMap attributeMap, D d, boolean isNew)extract password from managed system for given id.protected abstract booleanisChangePasswordOperation(D diffObject, ManagedSysDto managedSysDto)method return true if it detect password changing.protected abstract booleanisProcessingAllFields(D diffObject, ManagedSysDto managedSysDto)protected abstract voidmergeIdentity(ConnectorAttribute attribute, ObjectType object, D diff, String mSysId)
-
-
-
Field Detail
-
propertyValueService
@Autowired protected PropertyValueCache propertyValueService
-
loginMQService
@Autowired protected LoginMQService loginMQService
-
-
Method Detail
-
getManagedSystemPolicyObjectType
protected abstract String getManagedSystemPolicyObjectType()
-
getConnectorObjectType
protected abstract Class<ObjectType> getConnectorObjectType()
-
getObjects
public List<ObjectType> getObjects(D diffObject, ManagedSysDto managedSysDto, RequestPolicyMapSourceEnum requestType)
Description copied from interface:IPolicyMapProcessorServiceDue to Managed system could have multiple policies with same GROUPING it could be generated multiple accounts to provision in the same Target System- Specified by:
getObjectsin interfaceIPolicyMapProcessorService<D extends AbstractProvisionObjectDiff,ObjectType extends ConnectorObject>- Returns:
- List of Object to provision
-
isChangePasswordOperation
protected abstract boolean isChangePasswordOperation(D diffObject, ManagedSysDto managedSysDto)
method return true if it detect password changing.- Parameters:
diffObject- - difference onjectmanagedSysDto- - current managed system- Returns:
- boolean.
-
isProcessingAllFields
protected abstract boolean isProcessingAllFields(D diffObject, ManagedSysDto managedSysDto)
-
getObject
protected ObjectType getObject(ManagedSysDto managedSysDto, MngSysPolicyDto mngSysPolicyDto, D diffObject, RequestPolicyMapSourceEnum requestType) throws Exception
generate Connector Object for given managed system policy- Parameters:
managedSysDto-mngSysPolicyDto-diffObject-- Returns:
- return ConnectorObject that is ready to push to connector
- Throws:
Exception
-
mergeIdentity
protected abstract void mergeIdentity(ConnectorAttribute attribute, ObjectType object, D diff, String mSysId)
-
evictCachedGroovies
public void evictCachedGroovies()
Description copied from interface:IPolicyMapProcessorServiceevict groovies cache.- Specified by:
evictCachedGrooviesin interfaceIPolicyMapProcessorService<D extends AbstractProvisionObjectDiff,ObjectType extends ConnectorObject>
-
generateSpecialAttributes
protected ConnectorAttribute generateSpecialAttributes(PolicyMapObjectTypeOptions type, MngSysPolicyDto mngSysPolicyDto, D diff, boolean forceExecution, RequestPolicyMapSourceEnum requestType) throws AttributeMapProcessorException, BasicDataServiceException
-
generatePrimaryIdentity
public ConnectorAttribute generatePrimaryIdentity(MngSysPolicyDto mngSysPolicyDto, D diff, RequestPolicyMapSourceEnum requestType) throws AttributeMapProcessorException, BasicDataServiceException
- Specified by:
generatePrimaryIdentityin interfaceIPolicyMapProcessorService<D extends AbstractProvisionObjectDiff,ObjectType extends ConnectorObject>- Throws:
AttributeMapProcessorExceptionBasicDataServiceException
-
generatePassword
public ConnectorAttribute generatePassword(MngSysPolicyDto mngSysPolicyDto, D diff) throws AttributeMapProcessorException, BasicDataServiceException
- Specified by:
generatePasswordin interfaceIPolicyMapProcessorService<D extends AbstractProvisionObjectDiff,ObjectType extends ConnectorObject>- Throws:
AttributeMapProcessorExceptionBasicDataServiceException
-
getPasswordForManagedSystem
protected abstract ConnectorAttribute getPasswordForManagedSystem(String mSysId, AttributeMap attributeMap, D d, boolean isNew) throws AttributeMapProcessorException, BasicDataServiceException
extract password from managed system for given id.- Parameters:
mSysId- - provided manages system IdattributeMap- - AttributeMap with Type PASSWORDd- - differenceObjectisNew- - if true - will prefer to get password from left (new object)- Returns:
- -
ConnectorAttributewith filled data for password for target system. - Throws:
AttributeMapProcessorExceptionBasicDataServiceException
-
decryptPassword
protected String decryptPassword(String password, String userId) throws BasicDataServiceException
- Throws:
BasicDataServiceException
-
-