Class GlossaryTermHandler<B>

Type Parameters:
B - class for the glossary term bean

public class GlossaryTermHandler<B> extends ReferenceableHandler<B>
GlossaryTermHandler retrieves Glossary Term objects from the property server. It runs server-side and retrieves Glossary Term entities through the OMRSRepositoryConnector.
  • Constructor Details

    • GlossaryTermHandler

      public GlossaryTermHandler(OpenMetadataAPIGenericConverter<B> converter, Class<B> beanClass, String serviceName, String serverName, InvalidParameterHandler invalidParameterHandler, RepositoryHandler repositoryHandler, OMRSRepositoryHelper repositoryHelper, String localServerUserId, OpenMetadataServerSecurityVerifier securityVerifier, List<String> supportedZones, List<String> defaultZones, List<String> publishZones, AuditLog auditLog)
      Construct the glossary term handler caching the objects needed to operate within a single server instance.
      Parameters:
      converter - specific converter for this bean class
      beanClass - name of bean class that is represented by the generic class B
      serviceName - name of this service
      serverName - name of the local server
      invalidParameterHandler - handler for managing parameter errors
      repositoryHandler - manages calls to the repository services
      repositoryHelper - provides utilities for manipulating the repository services objects
      localServerUserId - userId for this server
      securityVerifier - open metadata security services verifier
      supportedZones - list of zones that the access service is allowed to serve Asset instances from.
      defaultZones - list of zones that the access service should set in all new Asset instances.
      publishZones - list of zones that the access service sets up in published Asset instances.
      auditLog - destination for audit log events.
  • Method Details

    • getTermRelationshipTypeNames

      public List<String> getTermRelationshipTypeNames()
      Return the list of term-to-term relationship names.
      Returns:
      list of type names that are subtypes of asset
    • createGlossaryTerm

      public String createGlossaryTerm(String userId, String externalSourceGUID, String externalSourceName, String glossaryGUID, String glossaryGUIDParameterName, String qualifiedName, String displayName, String summary, String description, String examples, String abbreviation, String usage, String publishVersionIdentifier, Map<String,String> additionalProperties, String suppliedTypeName, Map<String,Object> extendedProperties, InstanceStatus initialStatus, Date effectiveFrom, Date effectiveTo, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Create a new metadata element to represent a glossary term (or a subtype).
      Parameters:
      userId - calling user
      externalSourceGUID - unique identifier of software capability representing the caller
      externalSourceName - unique name of software capability representing the caller
      glossaryGUID - unique identifier of the owning glossary
      glossaryGUIDParameterName - parameter supplying glossaryGUID
      qualifiedName - unique name for the category - used in other configuration
      displayName - display name for the term
      summary - short description
      description - description of the term
      examples - examples of this term
      abbreviation - abbreviation used for the term
      usage - illustrations of how the term is used
      publishVersionIdentifier - user control version identifier
      additionalProperties - additional properties for a term
      suppliedTypeName - type name from the caller (enables creation of subtypes)
      extendedProperties - properties for a term subtype
      initialStatus - glossary term status to use when the object is created
      effectiveFrom - the time that the element must be effective from (null for any time, new Date() for now)
      effectiveTo - the time that the must be effective to (null for any time, new Date() for now)
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      methodName - calling method
      Returns:
      unique identifier of the new metadata element for the glossary term
      Throws:
      InvalidParameterException - one of the parameters is invalid
      UserNotAuthorizedException - the user is not authorized to issue this request
      PropertyServerException - there is a problem reported in the open metadata server(s)
    • createGlossaryTermFromTemplate

      public String createGlossaryTermFromTemplate(String userId, String externalSourceGUID, String externalSourceName, String glossaryGUID, String glossaryGUIDParameterName, String templateGUID, String qualifiedName, String displayName, String description, String publishVersionIdentifier, InstanceStatus initialStatus, boolean deepCopy, boolean templateSubstitute, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Create a new metadata element to represent a glossary term using an existing metadata element as a template.
      Parameters:
      userId - calling user
      externalSourceGUID - unique identifier of software capability representing the caller
      externalSourceName - unique name of software capability representing the caller
      glossaryGUID - unique identifier of the owning glossary
      glossaryGUIDParameterName - parameter supplying glossaryGUID
      templateGUID - unique identifier of the metadata element to copy
      qualifiedName - unique name for the term - used in other configuration
      displayName - short display name for the term
      description - description of the term
      publishVersionIdentifier - author controlled version identifier
      initialStatus - glossary term status to use when the object is created
      deepCopy - should the template creation extend to the anchored elements or just the direct entity?
      templateSubstitute - is this element a template substitute (used as the "other end" of a new/updated relationship)
      methodName - calling method
      Returns:
      unique identifier of the new metadata element for the glossary term
      Throws:
      InvalidParameterException - one of the parameters is invalid
      UserNotAuthorizedException - the user is not authorized to issue this request
      PropertyServerException - there is a problem reported in the open metadata server(s)
    • updateGlossaryTerm

      public void updateGlossaryTerm(String userId, String externalSourceGUID, String externalSourceName, String glossaryTermGUID, String glossaryTermGUIDParameterName, String qualifiedName, String displayName, String summary, String description, String examples, String abbreviation, String usage, String publishVersionIdentifier, Map<String,String> additionalProperties, String typeName, Map<String,Object> extendedProperties, Date effectiveFrom, Date effectiveTo, boolean isMergeUpdate, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Update the properties of the metadata element representing a glossary term.
      Parameters:
      userId - calling user
      externalSourceGUID - unique identifier of software capability representing the caller
      externalSourceName - unique name of software capability representing the caller
      glossaryTermGUID - unique identifier of the glossary term to update
      glossaryTermGUIDParameterName - parameter supplying glossaryGUID
      qualifiedName - unique name for the category - used in other configuration
      displayName - short display name for the term
      summary - string text
      description - description of the term
      examples - string text
      abbreviation - string text
      usage - string text
      publishVersionIdentifier - user-controlled version identifier
      additionalProperties - additional properties for a term
      typeName - type name from the caller (enables creation of subtypes)
      extendedProperties - properties for a term subtype
      effectiveFrom - the time that the relationship element must be effective from (null for any time, new Date() for now)
      effectiveTo - the time that the relationship must be effective to (null for any time, new Date() for now)
      isMergeUpdate - should the properties be merged with the existing properties or completely over-write them
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      methodName - calling method
      Throws:
      InvalidParameterException - one of the parameters is invalid
      UserNotAuthorizedException - the user is not authorized to issue this request
      PropertyServerException - there is a problem reported in the open metadata server(s)
    • updateGlossaryTermStatus

      public void updateGlossaryTermStatus(String userId, String externalSourceGUID, String externalSourceName, String glossaryTermGUID, String glossaryTermGUIDParameterName, InstanceStatus glossaryTermStatus, String glossaryTermStatusParameterName, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Update the status of the metadata element representing a glossary term. This is only valid on a controlled glossary term.
      Parameters:
      userId - calling user
      externalSourceGUID - unique identifier of software capability representing the caller
      externalSourceName - unique name of software capability representing the caller
      glossaryTermGUID - unique identifier of the glossary term to update
      glossaryTermGUIDParameterName - parameter name for glossaryTermGUID
      glossaryTermStatus - new status value for the glossary term
      glossaryTermStatusParameterName - parameter name for the status value
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      methodName - calling method
      Throws:
      InvalidParameterException - one of the parameters is invalid
      UserNotAuthorizedException - the user is not authorized to issue this request
      PropertyServerException - there is a problem reported in the open metadata server(s)
    • updateGlossaryTermFromTemplate

      public void updateGlossaryTermFromTemplate(String userId, String externalSourceGUID, String externalSourceName, String glossaryTermGUID, String glossaryTermGUIDParameterName, String templateGUID, String templateGUIDParameterName, boolean isMergeClassifications, boolean isMergeProperties, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Update the glossary term using the properties and classifications from the parentGUID stored in the request body. This may be turned into a method for generic types in the future. At the moment it does not traverse the associated anchored elements and so only works for glossary workflow cases.
      Parameters:
      userId - calling user
      externalSourceGUID - unique identifier of software capability representing the caller
      externalSourceName - unique name of software capability representing the caller
      glossaryTermGUID - unique identifier of the glossary term to update
      glossaryTermGUIDParameterName - parameter name for glossaryTermGUID
      templateGUID - identifier for the new glossary
      templateGUIDParameterName - parameter name for the templateGUID value
      isMergeClassifications - should the classification be merged or replace the target entity?
      isMergeProperties - should the properties be merged with the existing ones or replace them
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      methodName - calling method
      Throws:
      InvalidParameterException - one of the parameters is invalid
      UserNotAuthorizedException - the user is not authorized to issue this request
      PropertyServerException - there is a problem reported in the open metadata server(s)
    • moveGlossaryTerm

      public void moveGlossaryTerm(String userId, String externalSourceGUID, String externalSourceName, String glossaryTermGUID, String glossaryTermGUIDParameterName, String newGlossaryGUID, String newGlossaryGUIDParameterName, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Move a glossary term from one glossary to another.
      Parameters:
      userId - calling user
      externalSourceGUID - unique identifier of software capability representing the caller
      externalSourceName - unique name of software capability representing the caller
      glossaryTermGUID - unique identifier of the glossary term to update
      glossaryTermGUIDParameterName - parameter name for glossaryTermGUID
      newGlossaryGUID - identifier for the new glossary
      newGlossaryGUIDParameterName - parameter name for the newGlossaryGUID value
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      methodName - calling method
      Throws:
      InvalidParameterException - one of the parameters is invalid
      UserNotAuthorizedException - the user is not authorized to issue this request
      PropertyServerException - there is a problem reported in the open metadata server(s)
    • setupTermCategory

      public void setupTermCategory(String userId, String externalSourceGUID, String externalSourceName, String glossaryCategoryGUID, String glossaryCategoryGUIDParameterName, String glossaryTermGUID, String glossaryTermGUIDParameterName, String description, int relationshipStatus, Date effectiveFrom, Date effectiveTo, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Link a term to a category.
      Parameters:
      userId - calling user
      externalSourceGUID - unique identifier of software capability representing the caller
      externalSourceName - unique name of software capability representing the caller
      glossaryCategoryGUID - unique identifier of the glossary category
      glossaryCategoryGUIDParameterName - parameter supplying glossaryCategoryGUID
      glossaryTermGUID - unique identifier of the glossary term
      glossaryTermGUIDParameterName - parameter supplying glossaryTermGUID
      description - description of the categorization
      relationshipStatus - ordinal for the relationship status enum
      effectiveFrom - the time that the relationship element must be effective from (null for any time, new Date() for now)
      effectiveTo - the time that the relationship must be effective to (null for any time, new Date() for now)
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      methodName - calling method
      Throws:
      InvalidParameterException - one of the parameters is invalid
      UserNotAuthorizedException - the user is not authorized to issue this request
      PropertyServerException - there is a problem reported in the open metadata server(s)
    • clearTermCategory

      public void clearTermCategory(String userId, String externalSourceGUID, String externalSourceName, String glossaryCategoryGUID, String glossaryCategoryGUIDParameterName, String glossaryTermGUID, String glossaryTermGUIDParameterName, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Unlink a term from a category.
      Parameters:
      userId - calling user
      externalSourceGUID - unique identifier of software capability representing the caller
      externalSourceName - unique name of software capability representing the caller
      glossaryCategoryGUID - unique identifier of the glossary category
      glossaryCategoryGUIDParameterName - parameter supplying glossaryCategoryGUID
      glossaryTermGUID - unique identifier of the glossary term
      glossaryTermGUIDParameterName - parameter supplying glossaryTermGUID
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      methodName - calling method
      Throws:
      InvalidParameterException - one of the parameters is invalid
      UserNotAuthorizedException - the user is not authorized to issue this request
      PropertyServerException - there is a problem reported in the open metadata server(s)
    • setupTermRelationship

      public void setupTermRelationship(String userId, String externalSourceGUID, String externalSourceName, String glossaryTermOneGUID, String glossaryTermOneGUIDParameterName, String relationshipTypeName, String relationshipTypeParameterName, String glossaryTermTwoGUID, String glossaryTermTwoGUIDParameterName, String expression, String description, int relationshipStatus, String steward, String source, Date effectiveFrom, Date effectiveTo, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Link two terms together using a specialist relationship.
      Parameters:
      userId - calling user
      externalSourceGUID - unique identifier of software capability representing the caller
      externalSourceName - unique name of software capability representing the caller
      glossaryTermOneGUID - unique identifier of the glossary term at end 1
      glossaryTermOneGUIDParameterName - parameter supplying glossaryTermOneGUID
      relationshipTypeName - name of the type of relationship to create
      relationshipTypeParameterName - name of parameter passing the relationship
      glossaryTermTwoGUID - unique identifier of the glossary term at end 2
      glossaryTermTwoGUIDParameterName - parameter supplying glossaryTermTwoGUID
      description - description of the relationship
      expression - expression that describes the relationship
      relationshipStatus - ordinal for the relationship status enum (draft, active, deprecated, obsolete, other)
      steward - user id or name of steward id who assigned the relationship (or approved the discovered value).
      source - id of the source of the knowledge of the relationship
      effectiveFrom - the time that the relationship element must be effective from (null for any time, new Date() for now)
      effectiveTo - the time that the relationship must be effective to (null for any time, new Date() for now)
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      methodName - calling method
      Throws:
      InvalidParameterException - one of the parameters is invalid
      UserNotAuthorizedException - the user is not authorized to issue this request
      PropertyServerException - there is a problem reported in the open metadata server(s)
    • updateTermRelationship

      public void updateTermRelationship(String userId, String externalSourceGUID, String externalSourceName, String glossaryTermOneGUID, String glossaryTermOneGUIDParameterName, String relationshipTypeName, String relationshipTypeParameterName, String glossaryTermTwoGUID, String glossaryTermTwoGUIDParameterName, String expression, String description, int relationshipStatus, String steward, String source, Date effectiveFrom, Date effectiveTo, boolean isMergeUpdate, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Update the relationship properties for the two terms.
      Parameters:
      userId - calling user
      externalSourceGUID - unique identifier of software capability representing the caller
      externalSourceName - unique name of software capability representing the caller
      glossaryTermOneGUID - unique identifier of the glossary term at end 1
      glossaryTermOneGUIDParameterName - parameter supplying glossaryTermOneGUID
      relationshipTypeName - name of the type of relationship to create
      relationshipTypeParameterName - name of parameter passing the relationship
      glossaryTermTwoGUID - unique identifier of the glossary term at end 2
      glossaryTermTwoGUIDParameterName - parameter supplying glossaryTermTwoGUID
      description - description of the relationship
      expression - expression that describes the relationship
      relationshipStatus - ordinal for the relationship status enum (draft, active, deprecated, obsolete, other)
      steward - user id or name of steward id who assigned the relationship (or approved the discovered value).
      source - id of the source of the knowledge of the relationship
      effectiveFrom - the time that the element must be effective from (null for any time, new Date() for now)
      effectiveTo - the time that the must be effective to (null for any time, new Date() for now)
      isMergeUpdate - should the properties be merged with the existing properties or completely over-write them
      forLineage - the request is to support lineage retrieval this means entities with the Memento classification can be returned
      forDuplicateProcessing - the request is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      methodName - calling method
      Throws:
      InvalidParameterException - one of the parameters is invalid
      UserNotAuthorizedException - the user is not authorized to issue this request
      PropertyServerException - there is a problem reported in the open metadata server(s)
    • clearTermRelationship

      public void clearTermRelationship(String userId, String externalSourceGUID, String externalSourceName, String glossaryTermOneGUID, String glossaryTermOneGUIDParameterName, String relationshipTypeName, String relationshipTypeParameterName, String glossaryTermTwoGUID, String glossaryTermTwoGUIDParameterName, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Remove the relationship between two terms.
      Parameters:
      userId - calling user
      externalSourceGUID - unique identifier of software capability representing the caller
      externalSourceName - unique name of software capability representing the caller
      glossaryTermOneGUID - unique identifier of the glossary term at end 1
      glossaryTermOneGUIDParameterName - parameter supplying glossaryTermOneGUID
      relationshipTypeName - name of the type of relationship to create
      relationshipTypeParameterName - name of parameter passing the relationship
      glossaryTermTwoGUID - unique identifier of the glossary term at end 2
      glossaryTermTwoGUIDParameterName - parameter supplying glossaryTermTwoGUID
      forLineage - the request is to support lineage retrieval this means entities with the Memento classification can be returned
      forDuplicateProcessing - the request is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      methodName - calling method
      Throws:
      InvalidParameterException - one of the parameters is invalid
      UserNotAuthorizedException - the user is not authorized to issue this request
      PropertyServerException - there is a problem reported in the open metadata server(s)
    • setTermAsAbstractConcept

      public void setTermAsAbstractConcept(String userId, String externalSourceGUID, String externalSourceName, String glossaryTermGUID, String glossaryTermGUIDParameterName, Date effectiveFrom, Date effectiveTo, boolean isMergeUpdate, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Classify the glossary term to indicate that it describes an abstract concept.
      Parameters:
      userId - calling user
      externalSourceGUID - unique identifier of software capability representing the caller
      externalSourceName - unique name of software capability representing the caller
      glossaryTermGUID - unique identifier of the metadata element to update
      glossaryTermGUIDParameterName - parameter supplying glossaryTermGUID
      effectiveFrom - the time that the element must be effective from (null for any time, new Date() for now)
      effectiveTo - the time that the must be effective to (null for any time, new Date() for now)
      isMergeUpdate - should the properties be merged with the existing properties or completely over-write them
      forLineage - the request is to support lineage retrieval this means entities with the Memento classification can be returned
      forDuplicateProcessing - the request is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      methodName - calling method
      Throws:
      InvalidParameterException - one of the parameters is invalid
      UserNotAuthorizedException - the user is not authorized to issue this request
      PropertyServerException - there is a problem reported in the open metadata server(s)
    • clearTermAsAbstractConcept

      public void clearTermAsAbstractConcept(String userId, String externalSourceGUID, String externalSourceName, String glossaryTermGUID, String glossaryTermGUIDParameterName, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Remove the abstract concept designation from the glossary term.
      Parameters:
      userId - calling user
      externalSourceGUID - unique identifier of software capability representing the caller
      externalSourceName - unique name of software capability representing the caller
      glossaryTermGUID - unique identifier of the metadata element to update
      glossaryTermGUIDParameterName - parameter supplying glossaryTermGUID
      forLineage - the request is to support lineage retrieval this means entities with the Memento classification can be returned
      forDuplicateProcessing - the request is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      methodName - calling method
      Throws:
      InvalidParameterException - one of the parameters is invalid
      UserNotAuthorizedException - the user is not authorized to issue this request
      PropertyServerException - there is a problem reported in the open metadata server(s)
    • setTermAsDataValue

      public void setTermAsDataValue(String userId, String externalSourceGUID, String externalSourceName, String glossaryTermGUID, String glossaryTermGUIDParameterName, Date effectiveFrom, Date effectiveTo, boolean isMergeUpdate, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Classify the glossary term to indicate that it describes a data value.
      Parameters:
      userId - calling user
      externalSourceGUID - unique identifier of software capability representing the caller
      externalSourceName - unique name of software capability representing the caller
      glossaryTermGUID - unique identifier of the metadata element to update
      glossaryTermGUIDParameterName - parameter supplying glossaryTermGUID
      effectiveFrom - the time that the element must be effective from (null for any time, new Date() for now)
      effectiveTo - the time that the must be effective to (null for any time, new Date() for now)
      isMergeUpdate - should the properties be merged with the existing properties or completely over-write them
      forLineage - the request is to support lineage retrieval this means entities with the Memento classification can be returned
      forDuplicateProcessing - the request is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      methodName - calling method
      Throws:
      InvalidParameterException - one of the parameters is invalid
      UserNotAuthorizedException - the user is not authorized to issue this request
      PropertyServerException - there is a problem reported in the open metadata server(s)
    • clearTermAsDataValue

      public void clearTermAsDataValue(String userId, String externalSourceGUID, String externalSourceName, String glossaryTermGUID, String glossaryTermGUIDParameterName, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Remove the data value designation from the glossary term.
      Parameters:
      userId - calling user
      glossaryTermGUID - unique identifier of the metadata element to update
      glossaryTermGUIDParameterName - parameter supplying glossaryTermGUID
      externalSourceGUID - unique identifier of software capability representing the caller
      externalSourceName - unique name of software capability representing the caller
      forLineage - the request is to support lineage retrieval this means entities with the Memento classification can be returned
      forDuplicateProcessing - the request is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      methodName - calling method
      Throws:
      InvalidParameterException - one of the parameters is invalid
      UserNotAuthorizedException - the user is not authorized to issue this request
      PropertyServerException - there is a problem reported in the open metadata server(s)
    • setTermAsActivity

      public void setTermAsActivity(String userId, String externalSourceGUID, String externalSourceName, String glossaryTermGUID, String glossaryTermGUIDParameterName, int activityType, Date effectiveFrom, Date effectiveTo, boolean isMergeUpdate, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Classify the glossary term to indicate that it describes a data value.
      Parameters:
      userId - calling user
      externalSourceGUID - unique identifier of software capability representing the caller
      externalSourceName - unique name of software capability representing the caller
      glossaryTermGUID - unique identifier of the metadata element to update
      glossaryTermGUIDParameterName - parameter supplying glossaryTermGUID
      activityType - ordinal for type of activity
      effectiveFrom - the time that the element must be effective from (null for any time, new Date() for now)
      effectiveTo - the time that the must be effective to (null for any time, new Date() for now)
      isMergeUpdate - should the properties be merged with the existing properties or completely over-write them
      forLineage - the request is to support lineage retrieval this means entities with the Memento classification can be returned
      forDuplicateProcessing - the request is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      methodName - calling method
      Throws:
      InvalidParameterException - one of the parameters is invalid
      UserNotAuthorizedException - the user is not authorized to issue this request
      PropertyServerException - there is a problem reported in the open metadata server(s)
    • clearTermAsActivity

      public void clearTermAsActivity(String userId, String externalSourceGUID, String externalSourceName, String glossaryTermGUID, String glossaryTermGUIDParameterName, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Remove the activity designation from the glossary term.
      Parameters:
      userId - calling user
      externalSourceGUID - unique identifier of software capability representing the caller
      externalSourceName - unique name of software capability representing the caller
      glossaryTermGUID - unique identifier of the metadata element to update
      glossaryTermGUIDParameterName - parameter supplying glossaryTermGUID
      forLineage - the request is to support lineage retrieval this means entities with the Memento classification can be returned
      forDuplicateProcessing - the request is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      methodName - calling method
      Throws:
      InvalidParameterException - one of the parameters is invalid
      UserNotAuthorizedException - the user is not authorized to issue this request
      PropertyServerException - there is a problem reported in the open metadata server(s)
    • setTermAsContext

      public void setTermAsContext(String userId, String externalSourceGUID, String externalSourceName, String glossaryTermGUID, String glossaryTermGUIDParameterName, String description, String scope, Date effectiveFrom, Date effectiveTo, boolean isMergeUpdate, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Classify the glossary term to indicate that it describes a context.
      Parameters:
      userId - calling user
      externalSourceGUID - unique identifier of software capability representing the caller
      externalSourceName - unique name of software capability representing the caller
      glossaryTermGUID - unique identifier of the metadata element to update
      glossaryTermGUIDParameterName - parameter supplying glossaryTermGUID
      description - description of the context
      scope - the scope of where the context applies
      effectiveFrom - the time that the element must be effective from (null for any time, new Date() for now)
      effectiveTo - the time that the must be effective to (null for any time, new Date() for now)
      isMergeUpdate - should the properties be merged with the existing properties or completely over-write them
      forLineage - the request is to support lineage retrieval this means entities with the Memento classification can be returned
      forDuplicateProcessing - the request is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      methodName - calling method
      Throws:
      InvalidParameterException - one of the parameters is invalid
      UserNotAuthorizedException - the user is not authorized to issue this request
      PropertyServerException - there is a problem reported in the open metadata server(s)
    • clearTermAsContext

      public void clearTermAsContext(String userId, String externalSourceGUID, String externalSourceName, String glossaryTermGUID, String glossaryTermGUIDParameterName, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Remove the context definition designation from the glossary term.
      Parameters:
      userId - calling user
      externalSourceGUID - unique identifier of software capability representing the caller
      externalSourceName - unique name of software capability representing the caller
      glossaryTermGUID - unique identifier of the metadata element to update
      glossaryTermGUIDParameterName - parameter supplying glossaryTermGUID
      forLineage - the request is to support lineage retrieval this means entities with the Memento classification can be returned
      forDuplicateProcessing - the request is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      methodName - calling method
      Throws:
      InvalidParameterException - one of the parameters is invalid
      UserNotAuthorizedException - the user is not authorized to issue this request
      PropertyServerException - there is a problem reported in the open metadata server(s)
    • setTermAsSpineObject

      public void setTermAsSpineObject(String userId, String externalSourceGUID, String externalSourceName, String glossaryTermGUID, String glossaryTermGUIDParameterName, Date effectiveFrom, Date effectiveTo, boolean isMergeUpdate, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Classify the glossary term to indicate that it describes a spine object.
      Parameters:
      userId - calling user
      externalSourceGUID - unique identifier of software capability representing the caller
      externalSourceName - unique name of software capability representing the caller
      glossaryTermGUID - unique identifier of the metadata element to update
      glossaryTermGUIDParameterName - parameter supplying glossaryTermGUID
      effectiveFrom - the time that the element must be effective from (null for any time, new Date() for now)
      effectiveTo - the time that the must be effective to (null for any time, new Date() for now)
      isMergeUpdate - should the properties be merged with the existing properties or completely over-write them
      forLineage - the request is to support lineage retrieval this means entities with the Memento classification can be returned
      forDuplicateProcessing - the request is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      methodName - calling method
      Throws:
      InvalidParameterException - one of the parameters is invalid
      UserNotAuthorizedException - the user is not authorized to issue this request
      PropertyServerException - there is a problem reported in the open metadata server(s)
    • clearTermAsSpineObject

      public void clearTermAsSpineObject(String userId, String externalSourceGUID, String externalSourceName, String glossaryTermGUID, String glossaryTermGUIDParameterName, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Remove the spine object designation from the glossary term.
      Parameters:
      userId - calling user
      externalSourceGUID - unique identifier of software capability representing the caller
      externalSourceName - unique name of software capability representing the caller
      glossaryTermGUID - unique identifier of the metadata element to update
      glossaryTermGUIDParameterName - parameter supplying glossaryTermGUID
      forLineage - the request is to support lineage retrieval this means entities with the Memento classification can be returned
      forDuplicateProcessing - the request is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      methodName - calling method
      Throws:
      InvalidParameterException - one of the parameters is invalid
      UserNotAuthorizedException - the user is not authorized to issue this request
      PropertyServerException - there is a problem reported in the open metadata server(s)
    • setTermAsSpineAttribute

      public void setTermAsSpineAttribute(String userId, String externalSourceGUID, String externalSourceName, String glossaryTermGUID, String glossaryTermGUIDParameterName, Date effectiveFrom, Date effectiveTo, boolean isMergeUpdate, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Classify the glossary term to indicate that it describes a spine attribute.
      Parameters:
      userId - calling user
      externalSourceGUID - guid of the software capability entity that represented the external source - null for local
      externalSourceName - name of the software capability entity that represented the external source
      glossaryTermGUID - unique identifier of the metadata element to update
      glossaryTermGUIDParameterName - parameter supplying glossaryTermGUID
      effectiveFrom - the time that the element must be effective from (null for any time, new Date() for now)
      effectiveTo - the time that the must be effective to (null for any time, new Date() for now)
      isMergeUpdate - should the properties be merged with the existing properties or completely over-write them
      forLineage - the request is to support lineage retrieval this means entities with the Memento classification can be returned
      forDuplicateProcessing - the request is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      methodName - calling method
      Throws:
      InvalidParameterException - one of the parameters is invalid
      UserNotAuthorizedException - the user is not authorized to issue this request
      PropertyServerException - there is a problem reported in the open metadata server(s)
    • clearTermAsSpineAttribute

      public void clearTermAsSpineAttribute(String userId, String externalSourceGUID, String externalSourceName, String glossaryTermGUID, String glossaryTermGUIDParameterName, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Remove the spine attribute designation from the glossary term.
      Parameters:
      userId - calling user
      externalSourceGUID - unique identifier of software capability representing the caller
      externalSourceName - unique name of software capability representing the caller
      glossaryTermGUID - unique identifier of the metadata element to update
      glossaryTermGUIDParameterName - parameter supplying glossaryTermGUID
      forLineage - the request is to support lineage retrieval this means entities with the Memento classification can be returned
      forDuplicateProcessing - the request is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      methodName - calling method
      Throws:
      InvalidParameterException - one of the parameters is invalid
      UserNotAuthorizedException - the user is not authorized to issue this request
      PropertyServerException - there is a problem reported in the open metadata server(s)
    • setTermAsObjectIdentifier

      public void setTermAsObjectIdentifier(String userId, String externalSourceGUID, String externalSourceName, String glossaryTermGUID, String glossaryTermGUIDParameterName, Date effectiveFrom, Date effectiveTo, boolean isMergeUpdate, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Classify the glossary term to indicate that it describes an object identifier.
      Parameters:
      userId - calling user
      externalSourceGUID - unique identifier of software capability representing the caller
      externalSourceName - unique name of software capability representing the caller
      glossaryTermGUID - unique identifier of the metadata element to update
      glossaryTermGUIDParameterName - parameter supplying glossaryTermGUID
      effectiveFrom - the time that the element must be effective from (null for any time, new Date() for now)
      effectiveTo - the time that the must be effective to (null for any time, new Date() for now)
      isMergeUpdate - should the properties be merged with the existing properties or completely over-write them
      forLineage - the request is to support lineage retrieval this means entities with the Memento classification can be returned
      forDuplicateProcessing - the request is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      methodName - calling method
      Throws:
      InvalidParameterException - one of the parameters is invalid
      UserNotAuthorizedException - the user is not authorized to issue this request
      PropertyServerException - there is a problem reported in the open metadata server(s)
    • clearTermAsObjectIdentifier

      public void clearTermAsObjectIdentifier(String userId, String externalSourceGUID, String externalSourceName, String glossaryTermGUID, String glossaryTermGUIDParameterName, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Remove the object identifier designation from the glossary term.
      Parameters:
      userId - calling user
      externalSourceGUID - unique identifier of software capability representing the caller
      externalSourceName - unique name of software capability representing the caller
      glossaryTermGUID - unique identifier of the metadata element to update
      glossaryTermGUIDParameterName - parameter supplying glossaryTermGUID
      forLineage - the request is to support lineage retrieval this means entities with the Memento classification can be returned
      forDuplicateProcessing - the request is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      methodName - calling method
      Throws:
      InvalidParameterException - one of the parameters is invalid
      UserNotAuthorizedException - the user is not authorized to issue this request
      PropertyServerException - there is a problem reported in the open metadata server(s)
    • archiveGlossaryTerm

      public void archiveGlossaryTerm(String userId, String assetManagerGUID, String assetManagerName, String glossaryTermGUID, String glossaryTermGUIDParameterName, Date archiveDate, String archiveProcess, Map<String,String> archiveProperties, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Classify the glossary term in the repository to show that it has been archived and is only needed for lineage.
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      glossaryTermGUID - unique identifier of the metadata element to update
      glossaryTermGUIDParameterName - parameter supplying glossaryTermGUID
      archiveDate - date that the file was archived or discovered to have been archived. Null means now.
      archiveProcess - name of archiving process
      archiveProperties - properties to help locate the archive copy
      forDuplicateProcessing - the request is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      methodName - calling method
      Throws:
      InvalidParameterException - one of the parameters is null or invalid.
      PropertyServerException - there is a problem removing the properties from the repositories.
      UserNotAuthorizedException - the requesting user is not authorized to issue this request.
    • removeGlossaryTerm

      public void removeGlossaryTerm(String userId, String externalSourceGUID, String externalSourceName, String glossaryTermGUID, String glossaryTermGUIDParameterName, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Remove the metadata element representing a glossary term.
      Parameters:
      userId - calling user
      externalSourceGUID - unique identifier of software capability representing the caller
      externalSourceName - unique name of software capability representing the caller
      glossaryTermGUID - unique identifier of the metadata element to update
      glossaryTermGUIDParameterName - parameter supplying glossaryTermGUID
      forLineage - the request is to support lineage retrieval this means entities with the Memento classification can be returned
      forDuplicateProcessing - the request is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      methodName - calling method
      Throws:
      InvalidParameterException - one of the parameters is invalid
      UserNotAuthorizedException - the user is not authorized to issue this request
      PropertyServerException - there is a problem reported in the open metadata server(s)
    • getTermsByName

      public List<B> getTermsByName(String userId, String glossaryGUID, String name, List<InstanceStatus> limitResultsByStatus, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Returns the glossary term object corresponding to the supplied term name.
      Parameters:
      userId - String - userId of user making request.
      glossaryGUID - unique identifier of the glossary to query
      name - this may be the qualifiedName or displayName of the term.
      limitResultsByStatus - By default, terms in all statuses are returned. However, it is possible to specify a list of statuses (eg ACTIVE) to restrict the results to. Null means all status values.
      startFrom - index of the list to start from (0 for start)
      pageSize - maximum number of elements to return.
      forLineage - the request is to support lineage retrieval this means entities with the Memento classification can be returned
      forDuplicateProcessing - the request is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      methodName - calling method
      Returns:
      List of glossary terms retrieved from property server
      Throws:
      InvalidParameterException - one of the parameters is null or invalid.
      PropertyServerException - there is a problem retrieving information from the property (metadata) server.
      UserNotAuthorizedException - the requesting user is not authorized to issue this request.
    • findTerms

      public List<B> findTerms(String userId, String glossaryGUID, String searchString, List<InstanceStatus> limitResultsByStatus, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Returns the glossary term object containing the supplied term name. This may include wildcard characters
      Parameters:
      userId - String - userId of user making request.
      glossaryGUID - unique identifier of the glossary to query
      searchString - string to find in the properties
      limitResultsByStatus - By default, terms in all statuses are returned. However, it is possible to specify a list of statuses (eg ACTIVE) to restrict the results to. Null means all status values.
      startFrom - index of the list to start from (0 for start)
      pageSize - maximum number of elements to return.
      forLineage - the request is to support lineage retrieval this means entities with the Memento classification can be returned
      forDuplicateProcessing - the request is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      methodName - calling method
      Returns:
      List of glossary terms retrieved from property server
      Throws:
      InvalidParameterException - one of the parameters is null or invalid.
      PropertyServerException - there is a problem retrieving information from the property (metadata) server.
      UserNotAuthorizedException - the requesting user is not authorized to issue this request.
    • getTerm

      public B getTerm(String userId, String guid, String guidParameter, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Returns the glossary term object corresponding to the supplied glossary term GUID.
      Parameters:
      userId - String - userId of user making request
      guid - the unique id for the glossary term within the property server
      guidParameter - name of parameter supplying the guid
      forLineage - the request is to support lineage retrieval this means entities with the Memento classification can be returned
      forDuplicateProcessing - the request is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      methodName - calling method
      Returns:
      Glossary Term retrieved from the property server
      Throws:
      InvalidParameterException - one of the parameters is null or invalid.
      PropertyServerException - there is a problem retrieving information from the property (metadata) server.
      UserNotAuthorizedException - the requesting user is not authorized to issue this request.
    • getTermsForGlossary

      public List<B> getTermsForGlossary(String userId, String glossaryGUID, String glossaryGUIDParameterName, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Retrieve the list of glossary terms associated with a glossary.
      Parameters:
      userId - calling user
      glossaryGUID - unique identifier of the glossary of interest
      glossaryGUIDParameterName - property supplying the glossaryGUID
      startFrom - paging start point
      pageSize - maximum results that can be returned
      forLineage - the request is to support lineage retrieval this means entities with the Memento classification can be returned
      forDuplicateProcessing - the request is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      methodName - calling method
      Returns:
      list of associated metadata elements
      Throws:
      InvalidParameterException - one of the parameters is invalid
      UserNotAuthorizedException - the user is not authorized to issue this request
      PropertyServerException - there is a problem reported in the open metadata server(s)
    • getTermsForGlossaryCategory

      public List<B> getTermsForGlossaryCategory(String userId, String glossaryCategoryGUID, String glossaryCategoryGUIDParameterName, List<Integer> limitResultsByStatus, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Retrieve the list of glossary terms associated with a glossary category.
      Parameters:
      userId - calling user
      glossaryCategoryGUID - unique identifier of the glossary category of interest
      glossaryCategoryGUIDParameterName - property supplying the glossaryCategoryGUID
      limitResultsByStatus - By default, term relationships in all statuses are returned. However, it is possible to specify a list of statuses (eg ACTIVE) to restrict the results to. Null means all status values.
      startFrom - paging start point
      pageSize - maximum results that can be returned
      forLineage - the request is to support lineage retrieval this means entities with the Memento classification can be returned
      forDuplicateProcessing - the request is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      methodName - calling method
      Returns:
      list of associated metadata elements
      Throws:
      InvalidParameterException - one of the parameters is invalid
      UserNotAuthorizedException - the user is not authorized to issue this request
      PropertyServerException - there is a problem reported in the open metadata server(s)
    • getRelatedTerms

      public List<B> getRelatedTerms(String userId, String glossaryGUID, String glossaryGUIDParameterName, String relationshipTypeName, List<Integer> limitResultsByStatus, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Retrieve the list of glossary terms associated with a glossary.
      Parameters:
      userId - calling user
      glossaryGUID - unique identifier of the glossary of interest
      glossaryGUIDParameterName - property supplying the glossaryGUID
      relationshipTypeName - optional name of relationship
      limitResultsByStatus - By default, term relationships in all statuses are returned. However, it is possible to specify a list of statuses (eg ACTIVE) to restrict the results to. Null means all status values.
      startFrom - paging start point
      pageSize - maximum results that can be returned
      forLineage - the request is to support lineage retrieval this means entities with the Memento classification can be returned
      forDuplicateProcessing - the request is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      methodName - calling method
      Returns:
      list of associated metadata elements
      Throws:
      InvalidParameterException - one of the parameters is invalid
      UserNotAuthorizedException - the user is not authorized to issue this request
      PropertyServerException - there is a problem reported in the open metadata server(s)
    • getAttachedMeanings

      public List<B> getAttachedMeanings(String userId, String elementGUID, String elementGUIDParameterName, String elementTypeName, List<String> serviceSupportedZones, int startingFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Return the glossary terms attached to a supplied entity through the semantic assignment.
      Parameters:
      userId - calling user
      elementGUID - identifier for the entity that the feedback is attached to
      elementGUIDParameterName - name of parameter supplying the GUID
      elementTypeName - name of the type of object being attached to
      serviceSupportedZones - supported zones for calling service
      startingFrom - where to start from in the list
      pageSize - maximum number of results that can be returned
      forLineage - the request is to support lineage retrieval this means entities with the Memento classification can be returned
      forDuplicateProcessing - the request is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      methodName - calling method
      Returns:
      list of objects or null if none found
      Throws:
      InvalidParameterException - the input properties are invalid
      UserNotAuthorizedException - user not authorized to issue this request
      PropertyServerException - problem accessing the property server