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, List<InstanceStatus> limitResultsByStatus, Date asOfTime, SequencingOrder sequencingOrder, String sequencingPropertyName, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) Construct the duplicate entity iterator. -
Method Summary
Modifier and TypeMethodDescriptiongetConsolidatedEntity
(String userId, EntityDetail startingEntity, String startingEntityTypeName, List<InstanceStatus> limitResultsByStatus, Date asOfTime, SequencingOrder sequencingOrder, String sequencingPropertyName, 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, List<InstanceStatus> limitResultsByStatus, Date asOfTime, SequencingOrder sequencingOrder, String sequencingPropertyName, 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 withlimitResultsByStatus
- By default, relationships in all statuses (other than DELETE) are returned. However, it is possible to specify a list of statuses (for example ACTIVE) to restrict the results to. Null means all status values.asOfTime
- Requests a historical query of the entity. Null means return the present values.sequencingPropertyName
- String name of the property that is to be used to sequence the results. Null means do not sequence on a property name (see SequencingOrder).sequencingOrder
- Enum defining how the results should be ordered.forLineage
- 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, List<InstanceStatus> limitResultsByStatus, Date asOfTime, SequencingOrder sequencingOrder, String sequencingPropertyName, 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 namelimitResultsByStatus
- By default, relationships in all statuses (other than DELETE) are returned. However, it is possible to specify a list of statuses (for example ACTIVE) to restrict the results to. Null means all status values.asOfTime
- Requests a historical query of the entity. Null means return the present values.sequencingPropertyName
- String name of the property that is to be used to sequence the results. Null means do not sequence on a property name (see SequencingOrder).sequencingOrder
- Enum defining how the results should be ordered.forLineage
- 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
-