All Implemented Interfaces:
StewardshipExchangeInterface, ExternalIdentifierManagerInterface

public class StewardshipExchangeClient extends ExchangeClientBase implements StewardshipExchangeInterface
StewardshipExchangeClient is the client for assigning relationships and classifications that help govern both metadata and its associated resources.
  • Constructor Details

    • StewardshipExchangeClient

      public StewardshipExchangeClient(String serverName, String serverPlatformURLRoot, AuditLog auditLog, int maxPageSize) throws InvalidParameterException
      Create a new client with no authentication embedded in the HTTP request.
      Parameters:
      serverName - name of the server to connect to
      serverPlatformURLRoot - the network address of the server running the OMAS REST services
      auditLog - logging destination
      maxPageSize - maximum value allowed for page size
      Throws:
      InvalidParameterException - there is a problem creating the client-side components to issue any REST API calls.
    • StewardshipExchangeClient

      public StewardshipExchangeClient(String serverName, String serverPlatformURLRoot, int maxPageSize) throws InvalidParameterException
      Create a new client with no authentication embedded in the HTTP request.
      Parameters:
      serverName - name of the server to connect to
      serverPlatformURLRoot - the network address of the server running the OMAS REST services
      maxPageSize - maximum value allowed for page size
      Throws:
      InvalidParameterException - there is a problem creating the client-side components to issue any REST API calls.
    • StewardshipExchangeClient

      public StewardshipExchangeClient(String serverName, String serverPlatformURLRoot, String userId, String password, AuditLog auditLog, int maxPageSize) throws InvalidParameterException
      Create a new client that passes userId and password in each HTTP request. This is the userId/password of the calling server. The end user's userId is sent on each request.
      Parameters:
      serverName - name of the server to connect to
      serverPlatformURLRoot - the network address of the server running the OMAS REST services
      userId - caller's userId embedded in all HTTP requests
      password - caller's userId embedded in all HTTP requests
      auditLog - logging destination
      maxPageSize - maximum value allowed for page size
      Throws:
      InvalidParameterException - there is a problem creating the client-side components to issue any REST API calls.
    • StewardshipExchangeClient

      public StewardshipExchangeClient(String serverName, String serverPlatformURLRoot, AssetManagerRESTClient restClient, int maxPageSize, AuditLog auditLog) throws InvalidParameterException
      Create a new client that is going to be used in an OMAG Server.
      Parameters:
      serverName - name of the server to connect to
      serverPlatformURLRoot - the network address of the server running the OMAS REST services
      restClient - client that issues the REST API calls
      maxPageSize - maximum number of results supported by this server
      auditLog - logging destination
      Throws:
      InvalidParameterException - there is a problem creating the client-side components to issue any REST API calls.
    • StewardshipExchangeClient

      public StewardshipExchangeClient(String serverName, String serverPlatformURLRoot, String userId, String password, int maxPageSize) throws InvalidParameterException
      Create a new client that passes userId and password in each HTTP request. This is the userId/password of the calling server. The end user's userId is sent on each request.
      Parameters:
      serverName - name of the server to connect to
      serverPlatformURLRoot - the network address of the server running the OMAS REST services
      userId - caller's userId embedded in all HTTP requests
      password - caller's userId embedded in all HTTP requests
      maxPageSize - maximum value allowed for page size
      Throws:
      InvalidParameterException - there is a problem creating the client-side components to issue any REST API calls.
  • Method Details

    • setElementAsDataField

      public void setElementAsDataField(String userId, String assetManagerGUID, String assetManagerName, String elementGUID, String externalIdentifier, DataFieldValuesProperties properties, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Classify the element to indicate that it describes a data field and supply properties that describe the characteristics of the data values found within.
      Specified by:
      setElementAsDataField in interface StewardshipExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software capability representing the caller
      assetManagerName - unique name of software capability representing the caller
      elementGUID - unique identifier of the metadata element to update
      externalIdentifier - unique identifier of the element in the external asset manager
      properties - descriptive properties for the data field
      effectiveTime - the time that the retrieved elements must be effective for
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      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)
    • clearElementAsDataField

      public void clearElementAsDataField(String userId, String assetManagerGUID, String assetManagerName, String elementGUID, String externalIdentifier, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Remove the data field designation from the element.
      Specified by:
      clearElementAsDataField in interface StewardshipExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software capability representing the caller
      assetManagerName - unique name of software capability representing the caller
      elementGUID - unique identifier of the metadata element to update
      externalIdentifier - unique identifier of the element in the external asset manager
      effectiveTime - the time that the retrieved elements must be effective for
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      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)
    • getDataFieldClassifiedElements

      public List<ElementStub> getDataFieldClassifiedElements(String userId, String assetManagerGUID, String assetManagerName, DataFieldQueryProperties properties, int startFrom, int pageSize, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Return information about the elements classified with the DataField classification.
      Specified by:
      getDataFieldClassifiedElements in interface StewardshipExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software capability representing the caller
      assetManagerName - unique name of software capability representing the caller
      properties - values to match on
      startFrom - paging start point
      pageSize - maximum results that can be returned
      effectiveTime - the time that the retrieved elements must be effective for
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      Returns:
      list of element stubs
      Throws:
      InvalidParameterException - qualifiedName or userId is null
      PropertyServerException - problem accessing property server
      UserNotAuthorizedException - security access problem
    • setConfidenceClassification

      public void setConfidenceClassification(String userId, String assetManagerGUID, String assetManagerName, String elementGUID, String externalIdentifier, GovernanceClassificationProperties properties, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Classify/reclassify the element (typically an asset) to indicate the level of confidence that the organization has that the data is complete, accurate and up-to-date. The level of confidence is expressed by the levelIdentifier property.
      Specified by:
      setConfidenceClassification in interface StewardshipExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software capability representing the caller
      assetManagerName - unique name of software capability representing the caller
      elementGUID - unique identifier of the metadata element to classify
      externalIdentifier - unique identifier of the element in the external asset manager
      properties - details of the classification
      effectiveTime - the time that the retrieved elements must be effective for
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      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)
    • clearConfidenceClassification

      public void clearConfidenceClassification(String userId, String assetManagerGUID, String assetManagerName, String elementGUID, String externalIdentifier, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Remove the confidence classification from the element. This normally occurs when the organization has lost track of the level of confidence to assign to the element.
      Specified by:
      clearConfidenceClassification in interface StewardshipExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software capability representing the caller
      assetManagerName - unique name of software capability representing the caller
      elementGUID - unique identifier of the metadata element to unclassify
      externalIdentifier - unique identifier of the element in the external asset manager
      effectiveTime - the time that the retrieved elements must be effective for
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      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)
    • getConfidenceClassifiedElements

      public List<ElementStub> getConfidenceClassifiedElements(String userId, String assetManagerGUID, String assetManagerName, boolean returnSpecificLevel, int levelIdentifier, int startFrom, int pageSize, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Return information about the elements classified with the confidence classification.
      Specified by:
      getConfidenceClassifiedElements in interface StewardshipExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software capability representing the caller
      assetManagerName - unique name of software capability representing the caller
      returnSpecificLevel - should the results be filtered by levelIdentifier?
      levelIdentifier - the identifier to filter by (if returnSpecificLevel=true)
      startFrom - paging start point
      pageSize - maximum results that can be returned
      effectiveTime - the time that the retrieved elements must be effective for
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      Returns:
      list of element stubs
      Throws:
      InvalidParameterException - qualifiedName or userId is null
      PropertyServerException - problem accessing property server
      UserNotAuthorizedException - security access problem
    • setCriticalityClassification

      public void setCriticalityClassification(String userId, String assetManagerGUID, String assetManagerName, String elementGUID, GovernanceClassificationProperties properties, String externalIdentifier, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Classify/reclassify the element (typically an asset) to indicate how critical the element (or associated resource) is to the organization. The level of criticality is expressed by the levelIdentifier property.
      Specified by:
      setCriticalityClassification in interface StewardshipExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software capability representing the caller
      assetManagerName - unique name of software capability representing the caller
      elementGUID - unique identifier of the metadata element to classify
      externalIdentifier - unique identifier of the element in the external asset manager
      properties - details of the classification
      effectiveTime - the time that the retrieved elements must be effective for
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      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)
    • clearCriticalityClassification

      public void clearCriticalityClassification(String userId, String assetManagerGUID, String assetManagerName, String elementGUID, String externalIdentifier, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Remove the criticality classification from the element. This normally occurs when the organization has lost track of the level of criticality to assign to the element.
      Specified by:
      clearCriticalityClassification in interface StewardshipExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software capability representing the caller
      assetManagerName - unique name of software capability representing the caller
      elementGUID - unique identifier of the metadata element to unclassify
      externalIdentifier - unique identifier of the element in the external asset manager
      effectiveTime - the time that the retrieved elements must be effective for
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      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)
    • getCriticalityClassifiedElements

      public List<ElementStub> getCriticalityClassifiedElements(String userId, String assetManagerGUID, String assetManagerName, boolean returnSpecificLevel, int levelIdentifier, int startFrom, int pageSize, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Return information about the elements classified with the criticality classification.
      Specified by:
      getCriticalityClassifiedElements in interface StewardshipExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software capability representing the caller
      assetManagerName - unique name of software capability representing the caller
      returnSpecificLevel - should the results be filtered by levelIdentifier?
      levelIdentifier - the identifier to filter by (if returnSpecificLevel=true)
      startFrom - paging start point
      pageSize - maximum results that can be returned
      effectiveTime - the time that the retrieved elements must be effective for
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      Returns:
      list of element stubs
      Throws:
      InvalidParameterException - qualifiedName or userId is null
      PropertyServerException - problem accessing property server
      UserNotAuthorizedException - security access problem
    • setConfidentialityClassification

      public void setConfidentialityClassification(String userId, String assetManagerGUID, String assetManagerName, String elementGUID, String externalIdentifier, GovernanceClassificationProperties properties, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Classify/reclassify the element (typically a data field, schema attribute or glossary term) to indicate the level of confidentiality that any data associated with the element should be given. If the classification is attached to a glossary term, the level of confidentiality is a suggestion for any element linked to the glossary term via the SemanticAssignment classification. The level of confidence is expressed by the levelIdentifier property.
      Specified by:
      setConfidentialityClassification in interface StewardshipExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software capability representing the caller
      assetManagerName - unique name of software capability representing the caller
      elementGUID - unique identifier of the metadata element to classify
      externalIdentifier - unique identifier of the element in the external asset manager
      properties - details of the classification
      effectiveTime - the time that the retrieved elements must be effective for
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      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)
    • clearConfidentialityClassification

      public void clearConfidentialityClassification(String userId, String assetManagerGUID, String assetManagerName, String elementGUID, String externalIdentifier, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Remove the confidence classification from the element. This normally occurs when the organization has lost track of the level of confidentiality to assign to the element.
      Specified by:
      clearConfidentialityClassification in interface StewardshipExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software capability representing the caller
      assetManagerName - unique name of software capability representing the caller
      elementGUID - unique identifier of the metadata element to unclassify
      externalIdentifier - unique identifier of the element in the external asset manager
      effectiveTime - the time that the retrieved elements must be effective for
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      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)
    • getConfidentialityClassifiedElements

      public List<ElementStub> getConfidentialityClassifiedElements(String userId, String assetManagerGUID, String assetManagerName, boolean returnSpecificLevel, int levelIdentifier, int startFrom, int pageSize, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Return information about the elements classified with the confidentiality classification.
      Specified by:
      getConfidentialityClassifiedElements in interface StewardshipExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software capability representing the caller
      assetManagerName - unique name of software capability representing the caller
      returnSpecificLevel - should the results be filtered by levelIdentifier?
      levelIdentifier - the identifier to filter by (if returnSpecificLevel=true)
      startFrom - paging start point
      pageSize - maximum results that can be returned
      effectiveTime - the time that the retrieved elements must be effective for
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      Returns:
      list of element stubs
      Throws:
      InvalidParameterException - qualifiedName or userId is null
      PropertyServerException - problem accessing property server
      UserNotAuthorizedException - security access problem
    • setRetentionClassification

      public void setRetentionClassification(String userId, String assetManagerGUID, String assetManagerName, String elementGUID, String externalIdentifier, RetentionClassificationProperties properties, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Classify/reclassify the element (typically an asset) to indicate how long the element (or associated resource) is to be retained by the organization. The policy to apply to the element/resource is captured by the retentionBasis property. The dates after which the element/resource is archived and then deleted are specified in the archiveAfter and deleteAfter properties respectively.
      Specified by:
      setRetentionClassification in interface StewardshipExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software capability representing the caller
      assetManagerName - unique name of software capability representing the caller
      elementGUID - unique identifier of the metadata element to classify
      externalIdentifier - unique identifier of the element in the external asset manager
      properties - details of the classification
      effectiveTime - the time that the retrieved elements must be effective for
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      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)
    • clearRetentionClassification

      public void clearRetentionClassification(String userId, String assetManagerGUID, String assetManagerName, String elementGUID, String externalIdentifier, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Remove the retention classification from the element. This normally occurs when the organization has lost track of, or no longer needs to track the retention period to assign to the element.
      Specified by:
      clearRetentionClassification in interface StewardshipExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software capability representing the caller
      assetManagerName - unique name of software capability representing the caller
      elementGUID - unique identifier of the metadata element to unclassify
      externalIdentifier - unique identifier of the element in the external asset manager
      effectiveTime - the time that the retrieved elements must be effective for
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      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)
    • getRetentionClassifiedElements

      public List<ElementStub> getRetentionClassifiedElements(String userId, String assetManagerGUID, String assetManagerName, boolean returnSpecificBasisIdentifier, int basisIdentifier, int startFrom, int pageSize, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Return information about the elements classified with the retention classification.
      Specified by:
      getRetentionClassifiedElements in interface StewardshipExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software capability representing the caller
      assetManagerName - unique name of software capability representing the caller
      returnSpecificBasisIdentifier - should the results be filtered by basisIdentifier?
      basisIdentifier - the identifier to filter by (if returnSpecificBasisIdentifier=true)
      startFrom - paging start point
      pageSize - maximum results that can be returned
      effectiveTime - the time that the retrieved elements must be effective for
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      Returns:
      list of element stubs
      Throws:
      InvalidParameterException - qualifiedName or userId is null
      PropertyServerException - problem accessing property server
      UserNotAuthorizedException - security access problem
    • addSecurityTags

      public void addSecurityTags(String userId, String assetManagerGUID, String assetManagerName, String elementGUID, String externalIdentifier, SecurityTagsProperties properties, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Add or replace the security tags for an element.
      Specified by:
      addSecurityTags in interface StewardshipExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software capability representing the caller
      assetManagerName - unique name of software capability representing the caller
      elementGUID - element to link it to - its type must inherit from Referenceable.
      externalIdentifier - unique identifier of the element in the external asset manager
      properties - details of the security tags
      effectiveTime - the time that the retrieved elements must be effective for
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      Throws:
      InvalidParameterException - element not known, null userId or guid
      PropertyServerException - problem accessing property server
      UserNotAuthorizedException - security access problem
    • clearSecurityTags

      public void clearSecurityTags(String userId, String assetManagerGUID, String assetManagerName, String elementGUID, String externalIdentifier, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Remove the security tags classification from an element.
      Specified by:
      clearSecurityTags in interface StewardshipExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software capability representing the caller
      assetManagerName - unique name of software capability representing the caller
      elementGUID - element where the security tags need to be removed.
      externalIdentifier - unique identifier of the element in the external asset manager
      effectiveTime - the time that the retrieved elements must be effective for
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      Throws:
      InvalidParameterException - asset or element not known, null userId or guid
      PropertyServerException - problem accessing property server
      UserNotAuthorizedException - security access problem
    • getSecurityTaggedElements

      public List<ElementStub> getSecurityTaggedElements(String userId, String assetManagerGUID, String assetManagerName, int startFrom, int pageSize, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Return information about the contents of a subject area such as the glossaries, reference data sets and quality definitions.
      Specified by:
      getSecurityTaggedElements in interface StewardshipExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software capability representing the caller
      assetManagerName - unique name of software capability representing the caller
      startFrom - paging start point
      pageSize - maximum results that can be returned
      effectiveTime - the time that the retrieved elements must be effective for
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      Returns:
      list of element stubs
      Throws:
      InvalidParameterException - qualifiedName or userId is null
      PropertyServerException - problem accessing property server
      UserNotAuthorizedException - security access problem
    • addOwnership

      public void addOwnership(String userId, String assetManagerGUID, String assetManagerName, String elementGUID, String externalIdentifier, OwnerProperties properties, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Add or replace the ownership classification for an element.
      Specified by:
      addOwnership in interface StewardshipExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software capability representing the caller
      assetManagerName - unique name of software capability representing the caller
      elementGUID - element to link it to - its type must inherit from Referenceable.
      externalIdentifier - unique identifier of the element in the external asset manager
      properties - details of the ownership
      effectiveTime - the time that the retrieved elements must be effective for
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      Throws:
      InvalidParameterException - element not known, null userId or guid
      PropertyServerException - problem accessing property server
      UserNotAuthorizedException - security access problem
    • clearOwnership

      public void clearOwnership(String userId, String assetManagerGUID, String assetManagerName, String elementGUID, String externalIdentifier, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Remove the ownership classification from an element.
      Specified by:
      clearOwnership in interface StewardshipExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software capability representing the caller
      assetManagerName - unique name of software capability representing the caller
      elementGUID - element where the classification needs to be removed.
      externalIdentifier - unique identifier of the element in the external asset manager
      effectiveTime - the time that the retrieved elements must be effective for
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      Throws:
      InvalidParameterException - asset or element not known, null userId or guid
      PropertyServerException - problem accessing property server
      UserNotAuthorizedException - security access problem
    • getOwnersElements

      public List<ElementStub> getOwnersElements(String userId, String assetManagerGUID, String assetManagerName, String owner, int startFrom, int pageSize, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Return information about the contents of a subject area such as the glossaries, reference data sets and quality definitions.
      Specified by:
      getOwnersElements in interface StewardshipExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software capability representing the caller
      assetManagerName - unique name of software capability representing the caller
      owner - unique identifier for the owner
      startFrom - paging start point
      pageSize - maximum results that can be returned
      effectiveTime - the time that the retrieved elements must be effective for
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      Returns:
      list of element stubs
      Throws:
      InvalidParameterException - qualifiedName or userId is null
      PropertyServerException - problem accessing property server
      UserNotAuthorizedException - security access problem
    • addAssetOrigin

      public void addAssetOrigin(String userId, String assetManagerGUID, String assetManagerName, String assetGUID, String externalIdentifier, AssetOriginProperties properties, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Add or replace the origin classification for an asset.
      Specified by:
      addAssetOrigin in interface StewardshipExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software capability representing the caller
      assetManagerName - unique name of software capability representing the caller
      assetGUID - element to link it to - its type must inherit from Asset.
      externalIdentifier - unique identifier of the element in the external asset manager
      properties - details of the origin
      effectiveTime - the time that the retrieved elements must be effective for
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      Throws:
      InvalidParameterException - element not known, null userId or guid
      PropertyServerException - problem accessing property server
      UserNotAuthorizedException - security access problem
    • clearAssetOrigin

      public void clearAssetOrigin(String userId, String assetManagerGUID, String assetManagerName, String assetGUID, String externalIdentifier, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Remove the origin classification from an asset.
      Specified by:
      clearAssetOrigin in interface StewardshipExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software capability representing the caller
      assetManagerName - unique name of software capability representing the caller
      assetGUID - element where the classification needs to be removed.
      effectiveTime - the time that the retrieved elements must be effective for
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      externalIdentifier - unique identifier of the element in the external asset manager
      Throws:
      InvalidParameterException - asset or element not known, null userId or guid
      PropertyServerException - problem accessing property server
      UserNotAuthorizedException - security access problem
    • getAssetsByOrigin

      public List<AssetElement> getAssetsByOrigin(String userId, String assetManagerGUID, String assetManagerName, FindAssetOriginProperties properties, int startFrom, int pageSize, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Return information about the assets from a specific origin.
      Specified by:
      getAssetsByOrigin in interface StewardshipExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software capability representing the caller
      assetManagerName - unique name of software capability representing the caller
      properties - values to search on - null means any value
      startFrom - paging start point
      pageSize - maximum results that can be returned
      effectiveTime - the time that the retrieved elements must be effective for
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      Returns:
      list of the assets
      Throws:
      InvalidParameterException - qualifiedName or userId is null
      PropertyServerException - problem accessing property server
      UserNotAuthorizedException - security access problem
    • addElementToSubjectArea

      public void addElementToSubjectArea(String userId, String assetManagerGUID, String assetManagerName, String elementGUID, String externalIdentifier, SubjectAreaMemberProperties properties, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Classify the element to assert that the definitions it represents are part of a subject area definition.
      Specified by:
      addElementToSubjectArea in interface StewardshipExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      elementGUID - unique identifier of the metadata element to update
      externalIdentifier - unique identifier of the element in the external asset manager
      properties - qualified name of subject area
      effectiveTime - the time that the retrieved elements must be effective for
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      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)
    • removeElementFromSubjectArea

      public void removeElementFromSubjectArea(String userId, String assetManagerGUID, String assetManagerName, String elementGUID, String externalIdentifier, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Remove the subject area designation from the identified element.
      Specified by:
      removeElementFromSubjectArea in interface StewardshipExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      elementGUID - unique identifier of the metadata element to update
      externalIdentifier - unique identifier of the equivalent element in the external asset manager
      effectiveTime - the time that the retrieved elements must be effective for
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      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)
    • getMembersOfSubjectArea

      public List<ElementStub> getMembersOfSubjectArea(String userId, String assetManagerGUID, String assetManagerName, String subjectAreaName, int startFrom, int pageSize, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Return information about the contents of a subject area such as the glossaries, reference data sets and quality definitions.
      Specified by:
      getMembersOfSubjectArea in interface StewardshipExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software capability representing the caller
      assetManagerName - unique name of software capability representing the caller
      subjectAreaName - unique identifier for the subject area
      startFrom - paging start point
      pageSize - maximum results that can be returned
      effectiveTime - the time that the retrieved elements must be effective for
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      Returns:
      list of element stubs
      Throws:
      InvalidParameterException - qualifiedName or userId is null
      PropertyServerException - problem accessing property server
      UserNotAuthorizedException - security access problem
    • setupSemanticAssignment

      public void setupSemanticAssignment(String userId, String assetManagerGUID, String assetManagerName, String elementGUID, String glossaryTermGUID, SemanticAssignmentProperties properties, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Create a semantic assignment relationship between a glossary term and an element (normally a schema attribute, data field or asset). This relationship indicates that the data associated with the element meaning matches the description in the glossary term.
      Specified by:
      setupSemanticAssignment in interface StewardshipExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software capability representing the caller
      assetManagerName - unique name of software capability representing the caller
      elementGUID - unique identifier of the element that is being assigned to the glossary term
      glossaryTermGUID - unique identifier of the glossary term that provides the meaning
      effectiveTime - the time that the retrieved elements must be effective for
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      properties - properties for the relationship
      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)
    • clearSemanticAssignment

      public void clearSemanticAssignment(String userId, String assetManagerGUID, String assetManagerName, String elementGUID, String glossaryTermGUID, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Remove a semantic assignment relationship between an element and its glossary term.
      Specified by:
      clearSemanticAssignment in interface StewardshipExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software capability representing the caller
      assetManagerName - unique name of software capability representing the caller
      elementGUID - unique identifier of the element that is being assigned to the glossary term
      glossaryTermGUID - unique identifier of the glossary term that provides the meaning
      effectiveTime - the time that the retrieved elements must be effective for
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      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)
    • getMeanings

      public List<GlossaryTermElement> getMeanings(String userId, String assetManagerGUID, String assetManagerName, String elementGUID, int startFrom, int pageSize, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Retrieve the glossary terms linked via a "SemanticAssignment" relationship to the requested element.
      Specified by:
      getMeanings in interface StewardshipExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software capability representing the caller
      assetManagerName - unique name of software capability representing the caller
      elementGUID - unique identifier of the element
      startFrom - index of the list to start from (0 for start)
      pageSize - maximum number of elements to return.
      effectiveTime - the time that the retrieved elements must be effective for
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      Returns:
      list of related 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)
    • getSemanticAssignees

      public List<RelatedElement> getSemanticAssignees(String userId, String assetManagerGUID, String assetManagerName, String glossaryTermGUID, int startFrom, int pageSize, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Retrieve the elements linked via a "SemanticAssignment" relationship to the requested glossary term.
      Specified by:
      getSemanticAssignees in interface StewardshipExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software capability representing the caller
      assetManagerName - unique name of software capability representing the caller
      glossaryTermGUID - unique identifier of the glossary term that the returned elements are linked to
      startFrom - index of the list to start from (0 for start)
      pageSize - maximum number of elements to return.
      effectiveTime - the time that the retrieved elements must be effective for
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      Returns:
      list of related 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)
    • addGovernanceDefinitionToElement

      public void addGovernanceDefinitionToElement(String userId, String assetManagerGUID, String assetManagerName, String definitionGUID, String elementGUID, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Link a governance definition to an element using the GovernedBy relationship.
      Specified by:
      addGovernanceDefinitionToElement in interface StewardshipExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      definitionGUID - identifier of the governance definition to link
      elementGUID - unique identifier of the metadata element to link
      effectiveTime - the time that the retrieved elements must be effective for
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      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)
    • removeGovernanceDefinitionFromElement

      public void removeGovernanceDefinitionFromElement(String userId, String assetManagerGUID, String assetManagerName, String definitionGUID, String elementGUID, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Remove the GovernedBy relationship between a governance definition and an element.
      Specified by:
      removeGovernanceDefinitionFromElement in interface StewardshipExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      definitionGUID - identifier of the governance definition to link
      elementGUID - unique identifier of the metadata element to update
      effectiveTime - the time that the retrieved elements must be effective for
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      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)
    • getGovernedByDefinitions

      public List<GovernanceDefinitionElement> getGovernedByDefinitions(String userId, String assetManagerGUID, String assetManagerName, String elementGUID, int startFrom, int pageSize, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Retrieve the governance definitions linked via a "GovernedBy" relationship to the requested element.
      Specified by:
      getGovernedByDefinitions in interface StewardshipExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software capability representing the caller
      assetManagerName - unique name of software capability representing the caller
      elementGUID - unique identifier of the element
      startFrom - index of the list to start from (0 for start)
      pageSize - maximum number of elements to return.
      effectiveTime - the time that the retrieved elements must be effective for
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      Returns:
      list of related 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)
    • getGovernedElements

      public List<RelatedElement> getGovernedElements(String userId, String assetManagerGUID, String assetManagerName, String governanceDefinitionGUID, int startFrom, int pageSize, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Retrieve the elements linked via a "GovernedBy" relationship to the requested governance definition.
      Specified by:
      getGovernedElements in interface StewardshipExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software capability representing the caller
      assetManagerName - unique name of software capability representing the caller
      governanceDefinitionGUID - unique identifier of the glossary term that the returned elements are linked to
      startFrom - index of the list to start from (0 for start)
      pageSize - maximum number of elements to return.
      effectiveTime - the time that the retrieved elements must be effective for
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      Returns:
      list of related 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)
    • getSourceElements

      public List<RelatedElement> getSourceElements(String userId, String assetManagerGUID, String assetManagerName, String elementGUID, int startFrom, int pageSize, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Retrieve the elements linked via a "SourceFrom" relationship to the requested element. The elements returned were used to create the requested element. Typically only one element is returned.
      Specified by:
      getSourceElements in interface StewardshipExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software capability representing the caller
      assetManagerName - unique name of software capability representing the caller
      elementGUID - unique identifier of the glossary term that the returned elements are linked to
      startFrom - index of the list to start from (0 for start)
      pageSize - maximum number of elements to return.
      effectiveTime - the time that the retrieved elements must be effective for
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      Returns:
      list of related 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)
    • getElementsSourceFrom

      public List<RelatedElement> getElementsSourceFrom(String userId, String assetManagerGUID, String assetManagerName, String elementGUID, int startFrom, int pageSize, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Retrieve the elements linked via a "SourceFrom" relationship to the requested element. The elements returned were created using the requested element as a template.
      Specified by:
      getElementsSourceFrom in interface StewardshipExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software capability representing the caller
      assetManagerName - unique name of software capability representing the caller
      elementGUID - unique identifier of the glossary term that the returned elements are linked to
      startFrom - index of the list to start from (0 for start)
      pageSize - maximum number of elements to return.
      effectiveTime - the time that the retrieved elements must be effective for
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      Returns:
      list of related 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)