Class DuplicateEntityIterator

java.lang.Object
org.odpi.openmetadata.commonservices.repositoryhandler.DuplicateEntityIterator

public class DuplicateEntityIterator extends Object
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 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 handler
      errorHandler - generates error messages and exceptions
      invalidParameterHandler - handles parameter errors
      userId - calling user
      startingEntity - entity to start processing on
      entityTypeName - type of entities that the iterator is working with
      limitResultsByStatus - 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 request
      forDuplicateProcessing - is this a duplicate processing request
      effectiveTime - what is the effective time needed by the caller
      methodName - calling method
      Throws:
      InvalidParameterException - bad parameters
      UserNotAuthorizedException - broader security failure
      PropertyServerException - 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 request
      startingEntity - starting entity
      startingEntityTypeName - starting entity's type name
      limitResultsByStatus - 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 retrieval
      effectiveTime - 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 entity
      PropertyServerException - problem accessing the property server
      UserNotAuthorizedException - security access problem