Package org.openiam.match
Class AbstractMatchObjectRule<DB_RESPONSE extends BaseListResponse,PROVISION_OBJECT extends ProvisionObject,PAIR extends AbstractMatchPair>
- java.lang.Object
-
- org.openiam.match.AbstractMatchObjectRule<DB_RESPONSE,PROVISION_OBJECT,PAIR>
-
- All Implemented Interfaces:
MatchObjectRule<DB_RESPONSE,PAIR>
- Direct Known Subclasses:
GroupMatchObjectRule
,LogMatchObjectRule
,ManagedSystemMatchObjectRule
,OrganizationMatchObjectRule
,PolicyMatchObjectRule
,ResourceMatchObjectRule
,RoleMatchObjectRule
,UserMatchObjectRule
public abstract class AbstractMatchObjectRule<DB_RESPONSE extends BaseListResponse,PROVISION_OBJECT extends ProvisionObject,PAIR extends AbstractMatchPair> extends Object implements MatchObjectRule<DB_RESPONSE,PAIR>
-
-
Field Summary
Fields Modifier and Type Field Description protected PropertyValueCache
propertyValueSweeper
protected RabbitMQSender
rabbitMQSender
-
Constructor Summary
Constructors Constructor Description AbstractMatchObjectRule()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract Predicate<PROVISION_OBJECT>
byAttribute(String name, String value)
protected abstract Predicate<PROVISION_OBJECT>
byEmail(String searchFilter)
protected abstract Predicate<PROVISION_OBJECT>
byEmployeeId(String searchFilter)
protected abstract Predicate<PROVISION_OBJECT>
byManagedSystemPrincipal(String searchFilter, String managedSystemId)
protected abstract Predicate<PROVISION_OBJECT>
byName(String searchFilter)
protected DB_RESPONSE
doDBLookup(MatchConfig matchConfig, Set<String> values)
protected int
getBatchSearchSize()
protected abstract Class<? extends PAIR>
getPairClass()
List<PAIR>
lookup(MatchConfig matchConfig, List<LineObject> lineObjects)
Look up the OBJECTs contained in the object with in the IDM system.protected PROVISION_OBJECT
map(Object income)
in case we recieve as a result not aAbstractMatchObjectRule
type.protected abstract PROVISION_OBJECT
newObjectInstance(MatchConfig config)
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.openiam.match.MatchObjectRule
getApi, getDataResponseClassName, getMatchRegex
-
-
-
-
Field Detail
-
propertyValueSweeper
@Autowired protected PropertyValueCache propertyValueSweeper
-
rabbitMQSender
@Autowired protected RabbitMQSender rabbitMQSender
-
-
Method Detail
-
getBatchSearchSize
protected int getBatchSearchSize()
-
byName
protected abstract Predicate<PROVISION_OBJECT> byName(String searchFilter) throws OperationNotSupportedException
- Throws:
OperationNotSupportedException
-
byAttribute
protected abstract Predicate<PROVISION_OBJECT> byAttribute(String name, String value) throws OperationNotSupportedException
- Throws:
OperationNotSupportedException
-
byManagedSystemPrincipal
protected abstract Predicate<PROVISION_OBJECT> byManagedSystemPrincipal(String searchFilter, String managedSystemId) throws OperationNotSupportedException
- Throws:
OperationNotSupportedException
-
byEmail
protected abstract Predicate<PROVISION_OBJECT> byEmail(String searchFilter) throws OperationNotSupportedException
- Throws:
OperationNotSupportedException
-
byEmployeeId
protected abstract Predicate<PROVISION_OBJECT> byEmployeeId(String searchFilter) throws OperationNotSupportedException
- Throws:
OperationNotSupportedException
-
doDBLookup
protected DB_RESPONSE doDBLookup(MatchConfig matchConfig, Set<String> values) throws Exception
- Throws:
Exception
-
lookup
public List<PAIR> lookup(MatchConfig matchConfig, List<LineObject> lineObjects)
Description copied from interface:MatchObjectRule
Look up the OBJECTs contained in the object with in the IDM system. The look up will be based on the match criteria defined in the config object.- Specified by:
lookup
in interfaceMatchObjectRule<DB_RESPONSE extends BaseListResponse,PROVISION_OBJECT extends ProvisionObject>
- Parameters:
matchConfig
- - match configlineObjects
- - list of line objects from the source system (CSV, connector and etc..)- Returns:
- list of matched pairs <
ProvisionObject
,LineObject
>. if in db no object for given line object, new ProvisionObject will be created
-
newObjectInstance
protected abstract PROVISION_OBJECT newObjectInstance(MatchConfig config)
-
map
protected PROVISION_OBJECT map(Object income)
in case we recieve as a result not aAbstractMatchObjectRule
type.- Parameters:
income
- - incoming data with any type- Returns:
- data converted to
AbstractMatchObjectRule
type
-
-