Class DuplicateEntityIterator
java.lang.Object
org.odpi.openmetadata.commonservices.repositoryhandler.DuplicateEntityIterator
DuplicateEntityIterator retrieves the list of entities that need to be processed for a specific entity.
The first entity returned is the principle entity or its consolidated replacement. After that are the peer duplicates.
Note: this class is not thread-safe - use only within a single-threaded request.
-
Constructor Summary
ConstructorDescriptionDuplicateEntityIterator
(RepositoryHandler repositoryHandler, RepositoryErrorHandler errorHandler, InvalidParameterHandler invalidParameterHandler, String userId, EntityDetail startingEntity, String entityTypeName, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) Construct the duplicate entity iterator. -
Method Summary
Modifier and TypeMethodDescriptiongetConsolidatedEntity
(String userId, EntityDetail startingEntity, String startingEntityTypeName, boolean forLineage, Date effectiveTime, String methodName) Return the entity at the other end of the requested relationship type.
-
Constructor Details
-
DuplicateEntityIterator
public DuplicateEntityIterator(RepositoryHandler repositoryHandler, RepositoryErrorHandler errorHandler, InvalidParameterHandler invalidParameterHandler, String userId, EntityDetail startingEntity, String entityTypeName, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Construct the duplicate entity iterator.- Parameters:
repositoryHandler
- this repository handlererrorHandler
- generates error messages and exceptionsinvalidParameterHandler
- handles parameter errorsuserId
- calling userstartingEntity
- entity to start processing onentityTypeName
- type of entities that the iterator is working withforLineage
- is this a lineage requestforDuplicateProcessing
- is this a duplicate processing requesteffectiveTime
- what is the effective time needed by the callermethodName
- calling method- Throws:
InvalidParameterException
- bad parametersUserNotAuthorizedException
- broader security failurePropertyServerException
- logic error
-
-
Method Details
-
getConsolidatedEntity
public EntityDetail getConsolidatedEntity(String userId, EntityDetail startingEntity, String startingEntityTypeName, boolean forLineage, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Return the entity at the other end of the requested relationship type. The assumption is that this is a 0..1 relationship so one entity (or null) is returned. If lots of relationships are found then the PropertyServerException is thrown.- Parameters:
userId
- user making the requeststartingEntity
- starting entitystartingEntityTypeName
- starting entity's type nameforLineage
- the query is to support lineage retrievaleffectiveTime
- the time that the retrieved elements must be effective for (null for any time, new Date() for now)methodName
- name of calling method- Returns:
- retrieved entity or null
- Throws:
InvalidParameterException
- bad starting entityPropertyServerException
- problem accessing the property serverUserNotAuthorizedException
- security access problem
-