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 LoginMQService
loginMQService
protected PropertyValueCache
propertyValueService
-
Constructor Summary
Constructors Constructor Description AbstractMapProcessorService()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected String
decryptPassword(String password, String userId)
void
evictCachedGroovies()
evict groovies cache.ConnectorAttribute
generatePassword(MngSysPolicyDto mngSysPolicyDto, D diff)
ConnectorAttribute
generatePrimaryIdentity(MngSysPolicyDto mngSysPolicyDto, D diff, RequestPolicyMapSourceEnum requestType)
protected ConnectorAttribute
generateSpecialAttributes(PolicyMapObjectTypeOptions type, MngSysPolicyDto mngSysPolicyDto, D diff, boolean forceExecution, RequestPolicyMapSourceEnum requestType)
protected abstract Class<ObjectType>
getConnectorObjectType()
protected abstract String
getManagedSystemPolicyObjectType()
protected ObjectType
getObject(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 ConnectorAttribute
getPasswordForManagedSystem(String mSysId, AttributeMap attributeMap, D d, boolean isNew)
extract password from managed system for given id.protected abstract boolean
isChangePasswordOperation(D diffObject, ManagedSysDto managedSysDto)
method return true if it detect password changing.protected abstract boolean
isProcessingAllFields(D diffObject, ManagedSysDto managedSysDto)
protected abstract void
mergeIdentity(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:IPolicyMapProcessorService
Due 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:
getObjects
in 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:IPolicyMapProcessorService
evict groovies cache.- Specified by:
evictCachedGroovies
in 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:
generatePrimaryIdentity
in interfaceIPolicyMapProcessorService<D extends AbstractProvisionObjectDiff,ObjectType extends ConnectorObject>
- Throws:
AttributeMapProcessorException
BasicDataServiceException
-
generatePassword
public ConnectorAttribute generatePassword(MngSysPolicyDto mngSysPolicyDto, D diff) throws AttributeMapProcessorException, BasicDataServiceException
- Specified by:
generatePassword
in interfaceIPolicyMapProcessorService<D extends AbstractProvisionObjectDiff,ObjectType extends ConnectorObject>
- Throws:
AttributeMapProcessorException
BasicDataServiceException
-
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:
- -
ConnectorAttribute
with filled data for password for target system. - Throws:
AttributeMapProcessorException
BasicDataServiceException
-
decryptPassword
protected String decryptPassword(String password, String userId) throws BasicDataServiceException
- Throws:
BasicDataServiceException
-
-