All Implemented Interfaces:
LineageExchangeInterface, SchemaExchangeInterface, ExternalIdentifierManagerInterface

public class LineageExchangeClient extends SchemaExchangeClientBase implements LineageExchangeInterface
LineageExchangeClient is the client for managing processes and lineage linkage.
  • Constructor Details

    • LineageExchangeClient

      public LineageExchangeClient(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.
    • LineageExchangeClient

      public LineageExchangeClient(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.
    • LineageExchangeClient

      public LineageExchangeClient(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.
    • LineageExchangeClient

      public LineageExchangeClient(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.
    • LineageExchangeClient

      public LineageExchangeClient(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

    • createProcess

      public String createProcess(String userId, String assetManagerGUID, String assetManagerName, boolean assetManagerIsHome, ExternalIdentifierProperties externalIdentifierProperties, ProcessStatus processStatus, ProcessProperties processProperties) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Create a new metadata element to represent a process.
      Specified by:
      createProcess in interface LineageExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      assetManagerIsHome - ensure that only the process manager can update this process
      externalIdentifierProperties - optional properties used to define an external identifier
      processStatus - initial status of the process
      processProperties - properties about the process to store
      Returns:
      unique identifier of the new process
      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)
    • createProcessFromTemplate

      public String createProcessFromTemplate(String userId, String assetManagerGUID, String assetManagerName, boolean assetManagerIsHome, String templateGUID, ExternalIdentifierProperties externalIdentifierProperties, TemplateProperties templateProperties) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Create a new metadata element to represent a process using an existing metadata element as a template.
      Specified by:
      createProcessFromTemplate in interface LineageExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      assetManagerIsHome - ensure that only the process manager can update this process
      templateGUID - unique identifier of the metadata element to copy
      externalIdentifierProperties - optional properties used to define an external identifier
      templateProperties - properties that override the template
      Returns:
      unique identifier of the new process
      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)
    • updateProcess

      public void updateProcess(String userId, String assetManagerGUID, String assetManagerName, String processGUID, String processExternalIdentifier, boolean isMergeUpdate, ProcessProperties processProperties, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Update the metadata element representing a process.
      Specified by:
      updateProcess in interface LineageExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      processGUID - unique identifier of the metadata element to update
      processExternalIdentifier - unique identifier of the process in the external process manager
      isMergeUpdate - should the new properties be merged with existing properties (true) or completely replace them (false)?
      processProperties - new properties for the metadata element
      effectiveTime - optional date for effective time of the query. Null means any effective time
      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)
    • updateProcessStatus

      public void updateProcessStatus(String userId, String assetManagerGUID, String assetManagerName, String processGUID, String processExternalIdentifier, ProcessStatus processStatus, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Update the status of the metadata element representing a process.
      Specified by:
      updateProcessStatus in interface LineageExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      processGUID - unique identifier of the process to update
      processExternalIdentifier - unique identifier of the process in the external process manager
      processStatus - new status for the process
      effectiveTime - optional date for effective time of the query. Null means any effective time
      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)
    • setupProcessParent

      public void setupProcessParent(String userId, String assetManagerGUID, String assetManagerName, boolean assetManagerIsHome, String parentProcessGUID, String childProcessGUID, ProcessContainmentProperties containmentProperties, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Create a parent-child relationship between two processes.
      Specified by:
      setupProcessParent in interface LineageExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      assetManagerIsHome - ensure that only the process manager can update this process
      parentProcessGUID - unique identifier of the process in the external process manager that is to be the parent process
      childProcessGUID - unique identifier of the process in the external process manager that is to be the nested sub-process
      containmentProperties - describes the ownership of the sub-process
      effectiveTime - optional date for effective time of the query. Null means any effective time
      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)
    • clearProcessParent

      public void clearProcessParent(String userId, String assetManagerGUID, String assetManagerName, String parentProcessGUID, String childProcessGUID, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Remove a parent-child relationship between two processes.
      Specified by:
      clearProcessParent in interface LineageExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      parentProcessGUID - unique identifier of the process in the external process manager that is to be the parent process
      childProcessGUID - unique identifier of the process in the external process manager that is to be the nested sub-process
      effectiveTime - optional date for effective time of the query. Null means any effective time
      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)
    • publishProcess

      public void publishProcess(String userId, String assetManagerGUID, String assetManagerName, String processGUID, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Update the zones for the process so that it becomes visible to consumers. (The zones are set to the list of zones in the publishedZones option configured for each instance of the Asset Manager OMAS).
      Specified by:
      publishProcess in interface LineageExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      processGUID - unique identifier of the metadata element to publish
      effectiveTime - optional date for effective time of the query. Null means any effective time
      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)
    • withdrawProcess

      public void withdrawProcess(String userId, String assetManagerGUID, String assetManagerName, String processGUID, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Update the zones for the process so that it is no longer visible to consumers. (The zones are set to the list of zones in the defaultZones option configured for each instance of the Asset Manager OMAS. This is the setting when the process is first created).
      Specified by:
      withdrawProcess in interface LineageExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      processGUID - unique identifier of the metadata element to withdraw
      effectiveTime - optional date for effective time of the query. Null means any effective time
      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)
    • removeProcess

      public void removeProcess(String userId, String assetManagerGUID, String assetManagerName, String processGUID, String processExternalIdentifier, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Remove the metadata element representing a process.
      Specified by:
      removeProcess in interface LineageExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      processGUID - unique identifier of the metadata element to remove
      processExternalIdentifier - unique identifier of the process in the external process manager
      effectiveTime - optional date for effective time of the query. Null means any effective time
      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)
    • findProcesses

      public List<ProcessElement> findProcesses(String userId, String assetManagerGUID, String assetManagerName, String searchString, int startFrom, int pageSize, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Retrieve the list of process metadata elements that contain the search string. The search string is treated as a regular expression.
      Specified by:
      findProcesses in interface LineageExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      searchString - string to find in the properties
      startFrom - paging start point
      pageSize - maximum results that can be returned
      effectiveTime - optional date for effective time of the query. Null means any effective time
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      Returns:
      list of matching 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)
    • getProcessesForAssetManager

      public List<ProcessElement> getProcessesForAssetManager(String userId, String assetManagerGUID, String assetManagerName, int startFrom, int pageSize, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Return the list of processes associated with the process manager.
      Specified by:
      getProcessesForAssetManager in interface LineageExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      startFrom - paging start point
      pageSize - maximum results that can be returned
      effectiveTime - optional date for effective time of the query. Null means any effective time
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      Returns:
      list of metadata elements describing the processes associated with the requested process manager
      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)
    • getProcessesByName

      public List<ProcessElement> getProcessesByName(String userId, String assetManagerGUID, String assetManagerName, String name, int startFrom, int pageSize, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Retrieve the list of process metadata elements with a matching qualified or display name. There are no wildcards supported on this request.
      Specified by:
      getProcessesByName in interface LineageExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      name - name to search for
      startFrom - paging start point
      pageSize - maximum results that can be returned
      effectiveTime - optional date for effective time of the query. Null means any effective time
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      Returns:
      list of matching 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)
    • getProcessByGUID

      public ProcessElement getProcessByGUID(String userId, String assetManagerGUID, String assetManagerName, String processGUID, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Retrieve the process metadata element with the supplied unique identifier.
      Specified by:
      getProcessByGUID in interface LineageExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      processGUID - unique identifier of the requested metadata element
      effectiveTime - optional date for effective time of the query. Null means any effective time
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      Returns:
      requested metadata element
      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)
    • getProcessParent

      public ProcessElement getProcessParent(String userId, String assetManagerGUID, String assetManagerName, String processGUID, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Retrieve the process metadata element with the supplied unique identifier.
      Specified by:
      getProcessParent in interface LineageExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      processGUID - unique identifier of the requested metadata element
      effectiveTime - optional date for effective time of the query. Null means any effective time
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      Returns:
      parent process element
      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)
    • getSubProcesses

      public List<ProcessElement> getSubProcesses(String userId, String assetManagerGUID, String assetManagerName, String processGUID, int startFrom, int pageSize, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Retrieve the process metadata element with the supplied unique identifier.
      Specified by:
      getSubProcesses in interface LineageExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      processGUID - unique identifier of the requested metadata element
      startFrom - paging start point
      pageSize - maximum results that can be returned
      effectiveTime - optional date for effective time of the query. Null means any effective time
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      Returns:
      list of process element
      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)
    • createPort

      public String createPort(String userId, String assetManagerGUID, String assetManagerName, boolean assetManagerIsHome, String processGUID, ExternalIdentifierProperties externalIdentifierProperties, PortProperties portProperties, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Create a new metadata element to represent a port.
      Specified by:
      createPort in interface LineageExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      assetManagerIsHome - ensure that only the process manager can update this port
      processGUID - unique identifier of the process where the port is located
      externalIdentifierProperties - optional properties used to define an external identifier
      portProperties - properties for the port
      effectiveTime - optional date for effective time of the query. Null means any effective time
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      Returns:
      unique identifier of the new metadata element for the port
      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)
    • updatePort

      public void updatePort(String userId, String assetManagerGUID, String assetManagerName, String portGUID, String portExternalIdentifier, PortProperties portProperties, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Update the properties of the metadata element representing a port. This call replaces all existing properties with the supplied properties.
      Specified by:
      updatePort in interface LineageExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      portGUID - unique identifier of the port to update
      portProperties - new properties for the port
      portExternalIdentifier - unique identifier of the port in the external process manager
      effectiveTime - optional date for effective time of the query. Null means any effective time
      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)
    • setupProcessPort

      public void setupProcessPort(String userId, String assetManagerGUID, String assetManagerName, boolean assetManagerIsHome, String processGUID, String portGUID, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Link a port to a process.
      Specified by:
      setupProcessPort in interface LineageExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      assetManagerIsHome - ensure that only the process manager can update this process
      processGUID - unique identifier of the process
      portGUID - unique identifier of the port
      effectiveTime - optional date for effective time of the query. Null means any effective time
      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)
    • clearProcessPort

      public void clearProcessPort(String userId, String assetManagerGUID, String assetManagerName, String processGUID, String portGUID, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Unlink a port from a process.
      Specified by:
      clearProcessPort in interface LineageExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      processGUID - unique identifier of the process
      portGUID - unique identifier of the port
      effectiveTime - optional date for effective time of the query. Null means any effective time
      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)
    • setupPortDelegation

      public void setupPortDelegation(String userId, String assetManagerGUID, String assetManagerName, boolean assetManagerIsHome, String portOneGUID, String portTwoGUID, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Link two ports together to show that portTwo is an implementation of portOne. (That is, portOne delegates to portTwo.)
      Specified by:
      setupPortDelegation in interface LineageExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      assetManagerIsHome - ensure that only the process manager can update this process
      portOneGUID - unique identifier of the port at end 1
      portTwoGUID - unique identifier of the port at end 2
      effectiveTime - optional date for effective time of the query. Null means any effective time
      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)
    • clearPortDelegation

      public void clearPortDelegation(String userId, String assetManagerGUID, String assetManagerName, String portOneGUID, String portTwoGUID, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Remove the port delegation relationship between two ports.
      Specified by:
      clearPortDelegation in interface LineageExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      portOneGUID - unique identifier of the port at end 1
      portTwoGUID - unique identifier of the port at end 2
      effectiveTime - optional date for effective time of the query. Null means any effective time
      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)
    • setupPortSchemaType

      public void setupPortSchemaType(String userId, String assetManagerGUID, String assetManagerName, boolean assetManagerIsHome, String portGUID, String schemaTypeGUID, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Link a schema type to a port to show the structure of data it accepts.
      Specified by:
      setupPortSchemaType in interface LineageExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      assetManagerIsHome - ensure that only the process manager can update this process
      portGUID - unique identifier of the port
      schemaTypeGUID - unique identifier of the schemaType
      effectiveTime - optional date for effective time of the query. Null means any effective time
      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)
    • clearPortSchemaType

      public void clearPortSchemaType(String userId, String assetManagerGUID, String assetManagerName, String portGUID, String schemaTypeGUID, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Remove the schema type from a port.
      Specified by:
      clearPortSchemaType in interface LineageExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      portGUID - unique identifier of the port
      schemaTypeGUID - unique identifier of the schemaType
      effectiveTime - optional date for effective time of the query. Null means any effective time
      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)
    • removePort

      public void removePort(String userId, String assetManagerGUID, String assetManagerName, String portGUID, String portExternalIdentifier, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Remove the metadata element representing a port.
      Specified by:
      removePort in interface LineageExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      portGUID - unique identifier of the metadata element to remove
      portExternalIdentifier - unique identifier of the port in the external process manager
      effectiveTime - optional date for effective time of the query. Null means any effective time
      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)
    • findPorts

      public List<PortElement> findPorts(String userId, String assetManagerGUID, String assetManagerName, String searchString, int startFrom, int pageSize, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Retrieve the list of port metadata elements that contain the search string. The search string is treated as a regular expression.
      Specified by:
      findPorts in interface LineageExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      searchString - string to find in the properties
      startFrom - paging start point
      pageSize - maximum results that can be returned
      effectiveTime - optional date for effective time of the query. Null means any effective time
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      Returns:
      list of matching 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)
    • getPortsForProcess

      public List<PortElement> getPortsForProcess(String userId, String assetManagerGUID, String assetManagerName, String processGUID, int startFrom, int pageSize, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Retrieve the list of ports associated with a process.
      Specified by:
      getPortsForProcess in interface LineageExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      processGUID - unique identifier of the process of interest
      startFrom - paging start point
      pageSize - maximum results that can be returned
      effectiveTime - optional date for effective time of the query. Null means any effective time
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      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)
    • getPortUse

      public List<PortElement> getPortUse(String userId, String assetManagerGUID, String assetManagerName, String portGUID, int startFrom, int pageSize, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Retrieve the list of ports that delegate to this port.
      Specified by:
      getPortUse in interface LineageExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      portGUID - unique identifier of the starting port
      startFrom - paging start point
      pageSize - maximum results that can be returned
      effectiveTime - optional date for effective time of the query. Null means any effective time
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      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)
    • getPortDelegation

      public PortElement getPortDelegation(String userId, String assetManagerGUID, String assetManagerName, String portGUID, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Retrieve the port that this port delegates to.
      Specified by:
      getPortDelegation in interface LineageExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      portGUID - unique identifier of the starting port alias
      effectiveTime - optional date for effective time of the query. Null means any effective time
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      Returns:
      matching metadata element
      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)
    • getPortsByName

      public List<PortElement> getPortsByName(String userId, String assetManagerGUID, String assetManagerName, String name, int startFrom, int pageSize, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Retrieve the list of port metadata elements with a matching qualified or display name. There are no wildcards supported on this request.
      Specified by:
      getPortsByName in interface LineageExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      name - name to search for
      startFrom - paging start point
      pageSize - maximum results that can be returned
      effectiveTime - optional date for effective time of the query. Null means any effective time
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      Returns:
      list of matching 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)
    • getPortByGUID

      public PortElement getPortByGUID(String userId, String assetManagerGUID, String assetManagerName, String portGUID, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Retrieve the port metadata element with the supplied unique identifier.
      Specified by:
      getPortByGUID in interface LineageExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      portGUID - unique identifier of the requested metadata element
      effectiveTime - optional date for effective time of the query. Null means any effective time
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      Returns:
      matching metadata element
      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)
    • setBusinessSignificant

      public void setBusinessSignificant(String userId, String assetManagerGUID, String assetManagerName, String elementGUID, String elementExternalIdentifier, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Classify a port, process or process as "BusinessSignificant" (this may affect the way that lineage is displayed).
      Specified by:
      setBusinessSignificant in interface LineageExchangeInterface
      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
      elementExternalIdentifier - unique identifier of the port in the external process manager
      effectiveTime - optional date for effective time of the query. Null means any effective time
      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)
    • clearBusinessSignificant

      public void clearBusinessSignificant(String userId, String assetManagerGUID, String assetManagerName, String elementGUID, String elementExternalIdentifier, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Remove the "BusinessSignificant" designation from the element.
      Specified by:
      clearBusinessSignificant in interface LineageExchangeInterface
      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
      elementExternalIdentifier - unique identifier of the element in the external process manager (can be null)
      effectiveTime - optional date for effective time of the query. Null means any effective time
      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)
    • setupDataFlow

      public String setupDataFlow(String userId, String assetManagerGUID, String assetManagerName, boolean assetManagerIsHome, String dataSupplierGUID, String dataConsumerGUID, DataFlowProperties properties, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Link two elements together to show that data flows from one to the other.
      Specified by:
      setupDataFlow in interface LineageExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      assetManagerIsHome - ensure that only the process manager can update this process
      dataSupplierGUID - unique identifier of the data supplier
      dataConsumerGUID - unique identifier of the data consumer
      properties - unique identifier for this relationship along with description and/or additional relevant properties
      effectiveTime - optional date for effective time of the query. Null means any effective time
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      Returns:
      unique identifier of 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)
    • getDataFlow

      public DataFlowElement getDataFlow(String userId, String assetManagerGUID, String assetManagerName, String dataSupplierGUID, String dataConsumerGUID, String qualifiedName, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Retrieve the data flow relationship between two elements. The qualifiedName is optional unless there is more than one data flow relationships between these two elements since it is used to disambiguate the request.
      Specified by:
      getDataFlow in interface LineageExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      dataSupplierGUID - unique identifier of the data supplier
      dataConsumerGUID - unique identifier of the data consumer
      qualifiedName - unique identifier for this relationship
      effectiveTime - optional date for effective time of the query. Null means any effective time
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      Returns:
      unique identifier and properties of 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)
    • updateDataFlow

      public void updateDataFlow(String userId, String assetManagerGUID, String assetManagerName, String dataFlowGUID, DataFlowProperties properties, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Update relationship between two elements that shows that data flows from one to the other.
      Specified by:
      updateDataFlow in interface LineageExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      dataFlowGUID - unique identifier of the data flow relationship
      properties - unique identifier for this relationship along with description and/or additional relevant properties
      effectiveTime - optional date for effective time of the query. Null means any effective time
      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)
    • clearDataFlow

      public void clearDataFlow(String userId, String assetManagerGUID, String assetManagerName, String dataFlowGUID, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Remove the data flow relationship between two elements.
      Specified by:
      clearDataFlow in interface LineageExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      dataFlowGUID - unique identifier of the data flow relationship
      effectiveTime - optional date for effective time of the query. Null means any effective time
      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)
    • getDataFlowConsumers

      public List<DataFlowElement> getDataFlowConsumers(String userId, String assetManagerGUID, String assetManagerName, String dataSupplierGUID, int startFrom, int pageSize, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Retrieve the data flow relationships linked from a specific element to the downstream consumers.
      Specified by:
      getDataFlowConsumers in interface LineageExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      dataSupplierGUID - unique identifier of the data supplier
      startFrom - paging start point
      pageSize - maximum results that can be returned
      effectiveTime - optional date for effective time of the query. Null means any effective time
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      Returns:
      unique identifier and properties of 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)
    • getDataFlowSuppliers

      public List<DataFlowElement> getDataFlowSuppliers(String userId, String assetManagerGUID, String assetManagerName, String dataConsumerGUID, int startFrom, int pageSize, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Retrieve the data flow relationships linked from a specific element to the upstream suppliers.
      Specified by:
      getDataFlowSuppliers in interface LineageExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      dataConsumerGUID - unique identifier of the data consumer
      startFrom - paging start point
      pageSize - maximum results that can be returned
      effectiveTime - optional date for effective time of the query. Null means any effective time
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      Returns:
      unique identifier and properties of 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)
    • setupControlFlow

      public String setupControlFlow(String userId, String assetManagerGUID, String assetManagerName, boolean assetManagerIsHome, String currentStepGUID, String nextStepGUID, ControlFlowProperties properties, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Link two elements to show that when one completes the next is started.
      Specified by:
      setupControlFlow in interface LineageExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      assetManagerIsHome - ensure that only the process manager can update this process
      currentStepGUID - unique identifier of the previous step
      nextStepGUID - unique identifier of the next step
      properties - unique identifier for this relationship along with description and/or additional relevant properties
      effectiveTime - optional date for effective time of the query. Null means any effective time
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      Returns:
      unique identifier for the control flow 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)
    • getControlFlow

      public ControlFlowElement getControlFlow(String userId, String assetManagerGUID, String assetManagerName, String currentStepGUID, String nextStepGUID, String qualifiedName, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Retrieve the control flow relationship between two elements. The qualifiedName is optional unless there is more than one control flow relationships between these two elements since it is used to disambiguate the request.
      Specified by:
      getControlFlow in interface LineageExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      currentStepGUID - unique identifier of the previous step
      nextStepGUID - unique identifier of the next step
      qualifiedName - unique identifier for this relationship
      effectiveTime - optional date for effective time of the query. Null means any effective time
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      Returns:
      unique identifier and properties of 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)
    • updateControlFlow

      public void updateControlFlow(String userId, String assetManagerGUID, String assetManagerName, String controlFlowGUID, ControlFlowProperties properties, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Update the relationship between two elements that shows that when one completes the next is started.
      Specified by:
      updateControlFlow in interface LineageExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      controlFlowGUID - unique identifier of the control flow relationship
      properties - unique identifier for this relationship along with description and/or additional relevant properties
      effectiveTime - optional date for effective time of the query. Null means any effective time
      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)
    • clearControlFlow

      public void clearControlFlow(String userId, String assetManagerGUID, String assetManagerName, String controlFlowGUID, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Remove the control flow relationship between two elements.
      Specified by:
      clearControlFlow in interface LineageExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      controlFlowGUID - unique identifier of the control flow relationship
      effectiveTime - optional date for effective time of the query. Null means any effective time
      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)
    • getControlFlowNextSteps

      public List<ControlFlowElement> getControlFlowNextSteps(String userId, String assetManagerGUID, String assetManagerName, String currentStepGUID, int startFrom, int pageSize, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Retrieve the control relationships linked from a specific element to the possible next elements in the process.
      Specified by:
      getControlFlowNextSteps in interface LineageExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      currentStepGUID - unique identifier of the current step
      startFrom - paging start point
      pageSize - maximum results that can be returned
      effectiveTime - optional date for effective time of the query. Null means any effective time
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      Returns:
      unique identifier and properties of 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)
    • getControlFlowPreviousSteps

      public List<ControlFlowElement> getControlFlowPreviousSteps(String userId, String assetManagerGUID, String assetManagerName, String currentStepGUID, int startFrom, int pageSize, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Retrieve the control relationships linked from a specific element to the possible previous elements in the process.
      Specified by:
      getControlFlowPreviousSteps in interface LineageExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      currentStepGUID - unique identifier of the previous step
      startFrom - paging start point
      pageSize - maximum results that can be returned
      effectiveTime - optional date for effective time of the query. Null means any effective time
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      Returns:
      unique identifier and properties of 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)
    • setupProcessCall

      public String setupProcessCall(String userId, String assetManagerGUID, String assetManagerName, boolean assetManagerIsHome, String callerGUID, String calledGUID, ProcessCallProperties properties, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Link two elements together to show a request-response call between them.
      Specified by:
      setupProcessCall in interface LineageExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      assetManagerIsHome - ensure that only the process manager can update this process
      callerGUID - unique identifier of the element that is making the call
      calledGUID - unique identifier of the element that is processing the call
      properties - unique identifier for this relationship along with description and/or additional relevant properties
      effectiveTime - optional date for effective time of the query. Null means any effective time
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      Returns:
      unique identifier of the new 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)
    • getProcessCall

      public ProcessCallElement getProcessCall(String userId, String assetManagerGUID, String assetManagerName, String callerGUID, String calledGUID, String qualifiedName, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Retrieve the process call relationship between two elements. The qualifiedName is optional unless there is more than one process call relationships between these two elements since it is used to disambiguate the request. This is often used in conjunction with update.
      Specified by:
      getProcessCall in interface LineageExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      callerGUID - unique identifier of the element that is making the call
      calledGUID - unique identifier of the element that is processing the call
      qualifiedName - unique identifier for this relationship
      effectiveTime - optional date for effective time of the query. Null means any effective time
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      Returns:
      unique identifier and properties of 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)
    • updateProcessCall

      public void updateProcessCall(String userId, String assetManagerGUID, String assetManagerName, String processCallGUID, ProcessCallProperties properties, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Update the relationship between two elements that shows a request-response call between them.
      Specified by:
      updateProcessCall in interface LineageExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      processCallGUID - unique identifier of the process call relationship
      properties - unique identifier for this relationship along with description and/or additional relevant properties
      effectiveTime - optional date for effective time of the query. Null means any effective time
      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)
    • clearProcessCall

      public void clearProcessCall(String userId, String assetManagerGUID, String assetManagerName, String processCallGUID, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Remove the process call relationship.
      Specified by:
      clearProcessCall in interface LineageExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      processCallGUID - unique identifier of the process call relationship
      effectiveTime - optional date for effective time of the query. Null means any effective time
      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)
    • getProcessCalled

      public List<ProcessCallElement> getProcessCalled(String userId, String assetManagerGUID, String assetManagerName, String callerGUID, int startFrom, int pageSize, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Retrieve the process call relationships linked from a specific element to the elements it calls.
      Specified by:
      getProcessCalled in interface LineageExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      callerGUID - unique identifier of the element that is making the call
      startFrom - paging start point
      pageSize - maximum results that can be returned
      effectiveTime - optional date for effective time of the query. Null means any effective time
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      Returns:
      unique identifier and properties of 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)
    • getProcessCallers

      public List<ProcessCallElement> getProcessCallers(String userId, String assetManagerGUID, String assetManagerName, String calledGUID, int startFrom, int pageSize, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Retrieve the process call relationships linked from a specific element to its callers.
      Specified by:
      getProcessCallers in interface LineageExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      calledGUID - unique identifier of the element that is processing the call
      startFrom - paging start point
      pageSize - maximum results that can be returned
      effectiveTime - optional date for effective time of the query. Null means any effective time
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      Returns:
      unique identifier and properties of 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)
    • setupLineageMapping

      public String setupLineageMapping(String userId, String assetManagerGUID, String assetManagerName, String sourceElementGUID, String destinationElementGUID, LineageMappingProperties properties, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Link to elements together to show that they are part of the lineage of the data that is moving between the processes. Typically, the lineage relationships stitch together processes and data assets supported by different technologies.
      Specified by:
      setupLineageMapping in interface LineageExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      sourceElementGUID - unique identifier of the source
      destinationElementGUID - unique identifier of the destination
      properties - unique identifier for this relationship along with description and/or additional relevant properties
      effectiveTime - optional date for effective time of the query. Null means any effective time
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      Returns:
      unique identifier of 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)
    • getLineageMapping

      public LineageMappingElement getLineageMapping(String userId, String assetManagerGUID, String assetManagerName, String sourceElementGUID, String destinationElementGUID, String qualifiedName, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Retrieve the relationship between two elements. The qualifiedName is optional unless there is more than one relationship between these two elements since it is used to disambiguate the request. This is often used in conjunction with update.
      Specified by:
      getLineageMapping in interface LineageExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      sourceElementGUID - unique identifier of the element that is making the call
      destinationElementGUID - unique identifier of the element that is processing the call
      qualifiedName - unique identifier for this relationship
      effectiveTime - optional date for effective time of the query. Null means any effective time
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      Returns:
      unique identifier and properties of 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)
    • updateLineageMapping

      public void updateLineageMapping(String userId, String assetManagerGUID, String assetManagerName, String lineageMappingGUID, LineageMappingProperties properties, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Update the lineage mapping relationship between two elements.
      Specified by:
      updateLineageMapping in interface LineageExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      lineageMappingGUID - unique identifier of the lineage mapping relationship
      properties - unique identifier for this relationship along with description and/or additional relevant properties
      effectiveTime - optional date for effective time of the query. Null means any effective time
      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)
    • clearLineageMapping

      public void clearLineageMapping(String userId, String assetManagerGUID, String assetManagerName, String lineageMappingGUID, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Remove the lineage mapping between two elements.
      Specified by:
      clearLineageMapping in interface LineageExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      lineageMappingGUID - unique identifier of the source
      effectiveTime - optional date for effective time of the query. Null means any effective time
      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)
    • getDestinationLineageMappings

      public List<LineageMappingElement> getDestinationLineageMappings(String userId, String assetManagerGUID, String assetManagerName, String sourceElementGUID, int startFrom, int pageSize, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Retrieve the lineage mapping relationships linked from a specific source element to its destinations.
      Specified by:
      getDestinationLineageMappings in interface LineageExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      sourceElementGUID - unique identifier of the source
      startFrom - paging start point
      pageSize - maximum results that can be returned
      effectiveTime - optional date for effective time of the query. Null means any effective time
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      Returns:
      list of lineage mapping relationships
      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)
    • getSourceLineageMappings

      public List<LineageMappingElement> getSourceLineageMappings(String userId, String assetManagerGUID, String assetManagerName, String destinationElementGUID, int startFrom, int pageSize, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Retrieve the lineage mapping relationships linked from a specific destination element to its sources.
      Specified by:
      getSourceLineageMappings in interface LineageExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      destinationElementGUID - unique identifier of the destination
      startFrom - paging start point
      pageSize - maximum results that can be returned
      effectiveTime - optional date for effective time of the query. Null means any effective time
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      Returns:
      list of lineage mapping relationships
      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)
    • addMementoClassification

      public void addMementoClassification(String userId, String assetManagerGUID, String assetManagerName, String elementGUID, String elementExternalIdentifier, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Classify the element with the Memento classification to indicate that it has been logically deleted for by lineage requests.
      Specified by:
      addMementoClassification in interface LineageExchangeInterface
      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
      elementExternalIdentifier - unique identifier of the element in the external asset manager
      effectiveTime - optional date for effective time of the query. Null means any effective time
      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)
    • clearMementoClassification

      public void clearMementoClassification(String userId, String assetManagerGUID, String assetManagerName, String elementGUID, String elementExternalIdentifier, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Remove the memento designation from the element.
      Specified by:
      clearMementoClassification in interface LineageExchangeInterface
      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
      elementExternalIdentifier - unique identifier of the element in the external asset manager
      effectiveTime - optional date for effective time of the query. Null means any effective time
      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)
    • addIncompleteClassification

      public void addIncompleteClassification(String userId, String assetManagerGUID, String assetManagerName, String elementGUID, String elementExternalIdentifier, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Classify the element with the Incomplete classification to indicate that it has more details to come.
      Specified by:
      addIncompleteClassification in interface LineageExchangeInterface
      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
      elementExternalIdentifier - unique identifier of the element in the external asset manager
      effectiveTime - optional date for effective time of the query. Null means any effective time
      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)
    • clearIncompleteClassification

      public void clearIncompleteClassification(String userId, String assetManagerGUID, String assetManagerName, String elementGUID, String elementExternalIdentifier, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Remove the Incomplete designation from the element.
      Specified by:
      clearIncompleteClassification in interface LineageExchangeInterface
      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
      elementExternalIdentifier - unique identifier of the element in the external asset manager
      effectiveTime - optional date for effective time of the query. Null means any effective time
      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)