Class LineageExchangeClient

    • Constructor Summary

      Constructors 
      Constructor Description
      LineageExchangeClient​(java.lang.String serverName, java.lang.String serverPlatformURLRoot)
      Create a new client with no authentication embedded in the HTTP request.
      LineageExchangeClient​(java.lang.String serverName, java.lang.String serverPlatformURLRoot, java.lang.String userId, java.lang.String password)
      Create a new client that passes userId and password in each HTTP request.
      LineageExchangeClient​(java.lang.String serverName, java.lang.String serverPlatformURLRoot, java.lang.String userId, java.lang.String password, AuditLog auditLog)
      Create a new client that passes userId and password in each HTTP request.
      LineageExchangeClient​(java.lang.String serverName, java.lang.String serverPlatformURLRoot, AssetManagerRESTClient restClient, int maxPageSize, AuditLog auditLog)
      Create a new client that is going to be used in an OMAG Server.
      LineageExchangeClient​(java.lang.String serverName, java.lang.String serverPlatformURLRoot, AuditLog auditLog)
      Create a new client with no authentication embedded in the HTTP request.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void clearBusinessSignificant​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String elementGUID, java.lang.String elementExternalIdentifier, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Remove the "BusinessSignificant" designation from the element.
      void clearControlFlow​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String controlFlowGUID, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Remove the control flow relationship between two elements.
      void clearDataFlow​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String dataFlowGUID, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Remove the data flow relationship between two elements.
      void clearLineageMapping​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String lineageMappingGUID, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Remove the lineage mapping between two elements.
      void clearPortDelegation​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String portOneGUID, java.lang.String portTwoGUID, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Remove the port delegation relationship between two ports.
      void clearPortSchemaType​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String portGUID, java.lang.String schemaTypeGUID, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Remove the schema type from a port.
      void clearProcessCall​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String processCallGUID, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Remove the process call relationship.
      void clearProcessParent​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String parentProcessGUID, java.lang.String childProcessGUID, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Remove a parent-child relationship between two processes.
      void clearProcessPort​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String processGUID, java.lang.String portGUID, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Unlink a port from a process.
      java.lang.String createPort​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, boolean assetManagerIsHome, java.lang.String processGUID, ExternalIdentifierProperties externalIdentifierProperties, PortProperties portProperties, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Create a new metadata element to represent a port.
      java.lang.String createProcess​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, boolean assetManagerIsHome, ExternalIdentifierProperties externalIdentifierProperties, ProcessStatus processStatus, ProcessProperties processProperties)
      Create a new metadata element to represent a process.
      java.lang.String createProcessFromTemplate​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, boolean assetManagerIsHome, java.lang.String templateGUID, ExternalIdentifierProperties externalIdentifierProperties, TemplateProperties templateProperties)
      Create a new metadata element to represent a process using an existing metadata element as a template.
      java.util.List<PortElement> findPorts​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String searchString, int startFrom, int pageSize, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Retrieve the list of port metadata elements that contain the search string.
      java.util.List<ProcessElement> findProcesses​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String searchString, int startFrom, int pageSize, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Retrieve the list of process metadata elements that contain the search string.
      ControlFlowElement getControlFlow​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String currentStepGUID, java.lang.String nextStepGUID, java.lang.String qualifiedName, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Retrieve the control flow relationship between two elements.
      java.util.List<ControlFlowElement> getControlFlowNextSteps​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String currentStepGUID, int startFrom, int pageSize, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Retrieve the control relationships linked from a specific element to the possible next elements in the process.
      java.util.List<ControlFlowElement> getControlFlowPreviousSteps​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String currentStepGUID, int startFrom, int pageSize, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Retrieve the control relationships linked from a specific element to the possible previous elements in the process.
      DataFlowElement getDataFlow​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String dataSupplierGUID, java.lang.String dataConsumerGUID, java.lang.String qualifiedName, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Retrieve the data flow relationship between two elements.
      java.util.List<DataFlowElement> getDataFlowConsumers​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String dataSupplierGUID, int startFrom, int pageSize, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Retrieve the data flow relationships linked from a specific element to the downstream consumers.
      java.util.List<DataFlowElement> getDataFlowSuppliers​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String dataConsumerGUID, int startFrom, int pageSize, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Retrieve the data flow relationships linked from a specific element to the upstream suppliers.
      java.util.List<LineageMappingElement> getDestinationLineageMappings​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String sourceElementGUID, int startFrom, int pageSize, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Retrieve the lineage mapping relationships linked from a specific source element to its destinations.
      LineageMappingElement getLineageMapping​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String sourceElementGUID, java.lang.String destinationElementGUID, java.lang.String qualifiedName, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Retrieve the relationship between two elements.
      PortElement getPortByGUID​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String portGUID, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Retrieve the port metadata element with the supplied unique identifier.
      PortElement getPortDelegation​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String portGUID, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Retrieve the port that this port delegates to.
      java.util.List<PortElement> getPortsByName​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String name, int startFrom, int pageSize, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Retrieve the list of port metadata elements with a matching qualified or display name.
      java.util.List<PortElement> getPortsForProcess​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String processGUID, int startFrom, int pageSize, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Retrieve the list of ports associated with a process.
      java.util.List<PortElement> getPortUse​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String portGUID, int startFrom, int pageSize, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Retrieve the list of ports that delegate to this port.
      ProcessElement getProcessByGUID​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String processGUID, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Retrieve the process metadata element with the supplied unique identifier.
      ProcessCallElement getProcessCall​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String callerGUID, java.lang.String calledGUID, java.lang.String qualifiedName, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Retrieve the process call relationship between two elements.
      java.util.List<ProcessCallElement> getProcessCalled​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String callerGUID, int startFrom, int pageSize, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Retrieve the process call relationships linked from a specific element to the elements it calls.
      java.util.List<ProcessCallElement> getProcessCallers​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String calledGUID, int startFrom, int pageSize, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Retrieve the process call relationships linked from a specific element to its callers.
      java.util.List<ProcessElement> getProcessesByName​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String name, int startFrom, int pageSize, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Retrieve the list of process metadata elements with a matching qualified or display name.
      java.util.List<ProcessElement> getProcessesForAssetManager​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, int startFrom, int pageSize, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Return the list of processes associated with the process manager.
      ProcessElement getProcessParent​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String processGUID, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Retrieve the process metadata element with the supplied unique identifier.
      java.util.List<LineageMappingElement> getSourceLineageMappings​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String destinationElementGUID, int startFrom, int pageSize, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Retrieve the lineage mapping relationships linked from a specific destination element to its sources.
      java.util.List<ProcessElement> getSubProcesses​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String processGUID, int startFrom, int pageSize, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Retrieve the process metadata element with the supplied unique identifier.
      void publishProcess​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String processGUID, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Update the zones for the process so that it becomes visible to consumers.
      void removePort​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String portGUID, java.lang.String portExternalIdentifier, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Remove the metadata element representing a port.
      void removeProcess​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String processGUID, java.lang.String processExternalIdentifier, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Remove the metadata element representing a process.
      void setBusinessSignificant​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String elementGUID, java.lang.String elementExternalIdentifier, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Classify a port, process or process as "BusinessSignificant" (this may affect the way that lineage is displayed).
      java.lang.String setupControlFlow​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, boolean assetManagerIsHome, java.lang.String currentStepGUID, java.lang.String nextStepGUID, ControlFlowProperties properties, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Link two elements to show that when one completes the next is started.
      java.lang.String setupDataFlow​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, boolean assetManagerIsHome, java.lang.String dataSupplierGUID, java.lang.String dataConsumerGUID, DataFlowProperties properties, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Link two elements together to show that data flows from one to the other.
      void setupLineageMapping​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String sourceElementGUID, java.lang.String destinationElementGUID, LineageMappingProperties properties, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Link to elements together to show that they are part of the lineage of the data that is moving between the processes.
      void setupPortDelegation​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, boolean assetManagerIsHome, java.lang.String portOneGUID, java.lang.String portTwoGUID, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Link two ports together to show that portTwo is an implementation of portOne.
      void setupPortSchemaType​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, boolean assetManagerIsHome, java.lang.String portGUID, java.lang.String schemaTypeGUID, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Link a schema type to a port to show the structure of data it accepts.
      java.lang.String setupProcessCall​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, boolean assetManagerIsHome, java.lang.String callerGUID, java.lang.String calledGUID, ProcessCallProperties properties, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Link two elements together to show a request-response call between them.
      void setupProcessParent​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, boolean assetManagerIsHome, java.lang.String parentProcessGUID, java.lang.String childProcessGUID, ProcessContainmentProperties containmentProperties, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Create a parent-child relationship between two processes.
      void setupProcessPort​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, boolean assetManagerIsHome, java.lang.String processGUID, java.lang.String portGUID, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Link a port to a process.
      void updateControlFlow​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String controlFlowGUID, ControlFlowProperties properties, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Update the relationship between two elements that shows that when one completes the next is started.
      void updateDataFlow​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String dataFlowGUID, DataFlowProperties properties, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Update relationship between two elements that shows that data flows from one to the other.
      void updateLineageMapping​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String lineageMappingGUID, LineageMappingProperties properties, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Update the lineage mapping relationship between two elements.
      void updatePort​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String portGUID, java.lang.String portExternalIdentifier, PortProperties portProperties, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Update the properties of the metadata element representing a port.
      void updateProcess​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String processGUID, java.lang.String processExternalIdentifier, boolean isMergeUpdate, ProcessProperties processProperties, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Update the metadata element representing a process.
      void updateProcessCall​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String processCallGUID, ProcessCallProperties properties, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Update the relationship between two elements that shows a request-response call between them.
      void updateProcessStatus​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String processGUID, java.lang.String processExternalIdentifier, ProcessStatus processStatus, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Update the status of the metadata element representing a process.
      void withdrawProcess​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String processGUID, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Update the zones for the process so that it is no longer visible to consumers.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • LineageExchangeClient

        public LineageExchangeClient​(java.lang.String serverName,
                                     java.lang.String serverPlatformURLRoot,
                                     AuditLog auditLog)
                              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 servers
        auditLog - logging destination
        Throws:
        InvalidParameterException - there is a problem creating the client-side components to issue any REST API calls.
      • LineageExchangeClient

        public LineageExchangeClient​(java.lang.String serverName,
                                     java.lang.String serverPlatformURLRoot)
                              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 servers
        Throws:
        InvalidParameterException - there is a problem creating the client-side components to issue any REST API calls.
      • LineageExchangeClient

        public LineageExchangeClient​(java.lang.String serverName,
                                     java.lang.String serverPlatformURLRoot,
                                     java.lang.String userId,
                                     java.lang.String password,
                                     AuditLog auditLog)
                              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 servers
        userId - caller's userId embedded in all HTTP requests
        password - caller's userId embedded in all HTTP requests
        auditLog - logging destination
        Throws:
        InvalidParameterException - there is a problem creating the client-side components to issue any REST API calls.
      • LineageExchangeClient

        public LineageExchangeClient​(java.lang.String serverName,
                                     java.lang.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 servers
        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​(java.lang.String serverName,
                                     java.lang.String serverPlatformURLRoot,
                                     java.lang.String userId,
                                     java.lang.String password)
                              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 servers
        userId - caller's userId embedded in all HTTP requests
        password - caller's userId embedded in all HTTP requests
        Throws:
        InvalidParameterException - there is a problem creating the client-side components to issue any REST API calls.
    • Method Detail

      • createProcess

        public java.lang.String createProcess​(java.lang.String userId,
                                              java.lang.String assetManagerGUID,
                                              java.lang.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 java.lang.String createProcessFromTemplate​(java.lang.String userId,
                                                          java.lang.String assetManagerGUID,
                                                          java.lang.String assetManagerName,
                                                          boolean assetManagerIsHome,
                                                          java.lang.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​(java.lang.String userId,
                                  java.lang.String assetManagerGUID,
                                  java.lang.String assetManagerName,
                                  java.lang.String processGUID,
                                  java.lang.String processExternalIdentifier,
                                  boolean isMergeUpdate,
                                  ProcessProperties processProperties,
                                  java.util.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​(java.lang.String userId,
                                        java.lang.String assetManagerGUID,
                                        java.lang.String assetManagerName,
                                        java.lang.String processGUID,
                                        java.lang.String processExternalIdentifier,
                                        ProcessStatus processStatus,
                                        java.util.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​(java.lang.String userId,
                                       java.lang.String assetManagerGUID,
                                       java.lang.String assetManagerName,
                                       boolean assetManagerIsHome,
                                       java.lang.String parentProcessGUID,
                                       java.lang.String childProcessGUID,
                                       ProcessContainmentProperties containmentProperties,
                                       java.util.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​(java.lang.String userId,
                                       java.lang.String assetManagerGUID,
                                       java.lang.String assetManagerName,
                                       java.lang.String parentProcessGUID,
                                       java.lang.String childProcessGUID,
                                       java.util.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​(java.lang.String userId,
                                   java.lang.String assetManagerGUID,
                                   java.lang.String assetManagerName,
                                   java.lang.String processGUID,
                                   java.util.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​(java.lang.String userId,
                                    java.lang.String assetManagerGUID,
                                    java.lang.String assetManagerName,
                                    java.lang.String processGUID,
                                    java.util.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​(java.lang.String userId,
                                  java.lang.String assetManagerGUID,
                                  java.lang.String assetManagerName,
                                  java.lang.String processGUID,
                                  java.lang.String processExternalIdentifier,
                                  java.util.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 java.util.List<ProcessElement> findProcesses​(java.lang.String userId,
                                                            java.lang.String assetManagerGUID,
                                                            java.lang.String assetManagerName,
                                                            java.lang.String searchString,
                                                            int startFrom,
                                                            int pageSize,
                                                            java.util.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 java.util.List<ProcessElement> getProcessesForAssetManager​(java.lang.String userId,
                                                                          java.lang.String assetManagerGUID,
                                                                          java.lang.String assetManagerName,
                                                                          int startFrom,
                                                                          int pageSize,
                                                                          java.util.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 java.util.List<ProcessElement> getProcessesByName​(java.lang.String userId,
                                                                 java.lang.String assetManagerGUID,
                                                                 java.lang.String assetManagerName,
                                                                 java.lang.String name,
                                                                 int startFrom,
                                                                 int pageSize,
                                                                 java.util.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​(java.lang.String userId,
                                               java.lang.String assetManagerGUID,
                                               java.lang.String assetManagerName,
                                               java.lang.String processGUID,
                                               java.util.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​(java.lang.String userId,
                                               java.lang.String assetManagerGUID,
                                               java.lang.String assetManagerName,
                                               java.lang.String processGUID,
                                               java.util.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 java.util.List<ProcessElement> getSubProcesses​(java.lang.String userId,
                                                              java.lang.String assetManagerGUID,
                                                              java.lang.String assetManagerName,
                                                              java.lang.String processGUID,
                                                              int startFrom,
                                                              int pageSize,
                                                              java.util.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 java.lang.String createPort​(java.lang.String userId,
                                           java.lang.String assetManagerGUID,
                                           java.lang.String assetManagerName,
                                           boolean assetManagerIsHome,
                                           java.lang.String processGUID,
                                           ExternalIdentifierProperties externalIdentifierProperties,
                                           PortProperties portProperties,
                                           java.util.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​(java.lang.String userId,
                               java.lang.String assetManagerGUID,
                               java.lang.String assetManagerName,
                               java.lang.String portGUID,
                               java.lang.String portExternalIdentifier,
                               PortProperties portProperties,
                               java.util.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​(java.lang.String userId,
                                     java.lang.String assetManagerGUID,
                                     java.lang.String assetManagerName,
                                     boolean assetManagerIsHome,
                                     java.lang.String processGUID,
                                     java.lang.String portGUID,
                                     java.util.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​(java.lang.String userId,
                                     java.lang.String assetManagerGUID,
                                     java.lang.String assetManagerName,
                                     java.lang.String processGUID,
                                     java.lang.String portGUID,
                                     java.util.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​(java.lang.String userId,
                                        java.lang.String assetManagerGUID,
                                        java.lang.String assetManagerName,
                                        boolean assetManagerIsHome,
                                        java.lang.String portOneGUID,
                                        java.lang.String portTwoGUID,
                                        java.util.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​(java.lang.String userId,
                                        java.lang.String assetManagerGUID,
                                        java.lang.String assetManagerName,
                                        java.lang.String portOneGUID,
                                        java.lang.String portTwoGUID,
                                        java.util.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​(java.lang.String userId,
                                        java.lang.String assetManagerGUID,
                                        java.lang.String assetManagerName,
                                        boolean assetManagerIsHome,
                                        java.lang.String portGUID,
                                        java.lang.String schemaTypeGUID,
                                        java.util.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​(java.lang.String userId,
                                        java.lang.String assetManagerGUID,
                                        java.lang.String assetManagerName,
                                        java.lang.String portGUID,
                                        java.lang.String schemaTypeGUID,
                                        java.util.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​(java.lang.String userId,
                               java.lang.String assetManagerGUID,
                               java.lang.String assetManagerName,
                               java.lang.String portGUID,
                               java.lang.String portExternalIdentifier,
                               java.util.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 java.util.List<PortElement> findPorts​(java.lang.String userId,
                                                     java.lang.String assetManagerGUID,
                                                     java.lang.String assetManagerName,
                                                     java.lang.String searchString,
                                                     int startFrom,
                                                     int pageSize,
                                                     java.util.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 java.util.List<PortElement> getPortsForProcess​(java.lang.String userId,
                                                              java.lang.String assetManagerGUID,
                                                              java.lang.String assetManagerName,
                                                              java.lang.String processGUID,
                                                              int startFrom,
                                                              int pageSize,
                                                              java.util.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 java.util.List<PortElement> getPortUse​(java.lang.String userId,
                                                      java.lang.String assetManagerGUID,
                                                      java.lang.String assetManagerName,
                                                      java.lang.String portGUID,
                                                      int startFrom,
                                                      int pageSize,
                                                      java.util.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​(java.lang.String userId,
                                             java.lang.String assetManagerGUID,
                                             java.lang.String assetManagerName,
                                             java.lang.String portGUID,
                                             java.util.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 java.util.List<PortElement> getPortsByName​(java.lang.String userId,
                                                          java.lang.String assetManagerGUID,
                                                          java.lang.String assetManagerName,
                                                          java.lang.String name,
                                                          int startFrom,
                                                          int pageSize,
                                                          java.util.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​(java.lang.String userId,
                                         java.lang.String assetManagerGUID,
                                         java.lang.String assetManagerName,
                                         java.lang.String portGUID,
                                         java.util.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​(java.lang.String userId,
                                           java.lang.String assetManagerGUID,
                                           java.lang.String assetManagerName,
                                           java.lang.String elementGUID,
                                           java.lang.String elementExternalIdentifier,
                                           java.util.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​(java.lang.String userId,
                                             java.lang.String assetManagerGUID,
                                             java.lang.String assetManagerName,
                                             java.lang.String elementGUID,
                                             java.lang.String elementExternalIdentifier,
                                             java.util.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 java.lang.String setupDataFlow​(java.lang.String userId,
                                              java.lang.String assetManagerGUID,
                                              java.lang.String assetManagerName,
                                              boolean assetManagerIsHome,
                                              java.lang.String dataSupplierGUID,
                                              java.lang.String dataConsumerGUID,
                                              DataFlowProperties properties,
                                              java.util.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​(java.lang.String userId,
                                           java.lang.String assetManagerGUID,
                                           java.lang.String assetManagerName,
                                           java.lang.String dataSupplierGUID,
                                           java.lang.String dataConsumerGUID,
                                           java.lang.String qualifiedName,
                                           java.util.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​(java.lang.String userId,
                                   java.lang.String assetManagerGUID,
                                   java.lang.String assetManagerName,
                                   java.lang.String dataFlowGUID,
                                   DataFlowProperties properties,
                                   java.util.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​(java.lang.String userId,
                                  java.lang.String assetManagerGUID,
                                  java.lang.String assetManagerName,
                                  java.lang.String dataFlowGUID,
                                  java.util.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 java.util.List<DataFlowElement> getDataFlowConsumers​(java.lang.String userId,
                                                                    java.lang.String assetManagerGUID,
                                                                    java.lang.String assetManagerName,
                                                                    java.lang.String dataSupplierGUID,
                                                                    int startFrom,
                                                                    int pageSize,
                                                                    java.util.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 java.util.List<DataFlowElement> getDataFlowSuppliers​(java.lang.String userId,
                                                                    java.lang.String assetManagerGUID,
                                                                    java.lang.String assetManagerName,
                                                                    java.lang.String dataConsumerGUID,
                                                                    int startFrom,
                                                                    int pageSize,
                                                                    java.util.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 java.lang.String setupControlFlow​(java.lang.String userId,
                                                 java.lang.String assetManagerGUID,
                                                 java.lang.String assetManagerName,
                                                 boolean assetManagerIsHome,
                                                 java.lang.String currentStepGUID,
                                                 java.lang.String nextStepGUID,
                                                 ControlFlowProperties properties,
                                                 java.util.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​(java.lang.String userId,
                                                 java.lang.String assetManagerGUID,
                                                 java.lang.String assetManagerName,
                                                 java.lang.String currentStepGUID,
                                                 java.lang.String nextStepGUID,
                                                 java.lang.String qualifiedName,
                                                 java.util.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​(java.lang.String userId,
                                      java.lang.String assetManagerGUID,
                                      java.lang.String assetManagerName,
                                      java.lang.String controlFlowGUID,
                                      ControlFlowProperties properties,
                                      java.util.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​(java.lang.String userId,
                                     java.lang.String assetManagerGUID,
                                     java.lang.String assetManagerName,
                                     java.lang.String controlFlowGUID,
                                     java.util.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 java.util.List<ControlFlowElement> getControlFlowNextSteps​(java.lang.String userId,
                                                                          java.lang.String assetManagerGUID,
                                                                          java.lang.String assetManagerName,
                                                                          java.lang.String currentStepGUID,
                                                                          int startFrom,
                                                                          int pageSize,
                                                                          java.util.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 java.util.List<ControlFlowElement> getControlFlowPreviousSteps​(java.lang.String userId,
                                                                              java.lang.String assetManagerGUID,
                                                                              java.lang.String assetManagerName,
                                                                              java.lang.String currentStepGUID,
                                                                              int startFrom,
                                                                              int pageSize,
                                                                              java.util.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 java.lang.String setupProcessCall​(java.lang.String userId,
                                                 java.lang.String assetManagerGUID,
                                                 java.lang.String assetManagerName,
                                                 boolean assetManagerIsHome,
                                                 java.lang.String callerGUID,
                                                 java.lang.String calledGUID,
                                                 ProcessCallProperties properties,
                                                 java.util.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​(java.lang.String userId,
                                                 java.lang.String assetManagerGUID,
                                                 java.lang.String assetManagerName,
                                                 java.lang.String callerGUID,
                                                 java.lang.String calledGUID,
                                                 java.lang.String qualifiedName,
                                                 java.util.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​(java.lang.String userId,
                                      java.lang.String assetManagerGUID,
                                      java.lang.String assetManagerName,
                                      java.lang.String processCallGUID,
                                      ProcessCallProperties properties,
                                      java.util.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​(java.lang.String userId,
                                     java.lang.String assetManagerGUID,
                                     java.lang.String assetManagerName,
                                     java.lang.String processCallGUID,
                                     java.util.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 java.util.List<ProcessCallElement> getProcessCalled​(java.lang.String userId,
                                                                   java.lang.String assetManagerGUID,
                                                                   java.lang.String assetManagerName,
                                                                   java.lang.String callerGUID,
                                                                   int startFrom,
                                                                   int pageSize,
                                                                   java.util.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 java.util.List<ProcessCallElement> getProcessCallers​(java.lang.String userId,
                                                                    java.lang.String assetManagerGUID,
                                                                    java.lang.String assetManagerName,
                                                                    java.lang.String calledGUID,
                                                                    int startFrom,
                                                                    int pageSize,
                                                                    java.util.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 void setupLineageMapping​(java.lang.String userId,
                                        java.lang.String assetManagerGUID,
                                        java.lang.String assetManagerName,
                                        java.lang.String sourceElementGUID,
                                        java.lang.String destinationElementGUID,
                                        LineageMappingProperties properties,
                                        java.util.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?
        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​(java.lang.String userId,
                                                       java.lang.String assetManagerGUID,
                                                       java.lang.String assetManagerName,
                                                       java.lang.String sourceElementGUID,
                                                       java.lang.String destinationElementGUID,
                                                       java.lang.String qualifiedName,
                                                       java.util.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​(java.lang.String userId,
                                         java.lang.String assetManagerGUID,
                                         java.lang.String assetManagerName,
                                         java.lang.String lineageMappingGUID,
                                         LineageMappingProperties properties,
                                         java.util.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​(java.lang.String userId,
                                        java.lang.String assetManagerGUID,
                                        java.lang.String assetManagerName,
                                        java.lang.String lineageMappingGUID,
                                        java.util.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 java.util.List<LineageMappingElement> getDestinationLineageMappings​(java.lang.String userId,
                                                                                   java.lang.String assetManagerGUID,
                                                                                   java.lang.String assetManagerName,
                                                                                   java.lang.String sourceElementGUID,
                                                                                   int startFrom,
                                                                                   int pageSize,
                                                                                   java.util.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 java.util.List<LineageMappingElement> getSourceLineageMappings​(java.lang.String userId,
                                                                              java.lang.String assetManagerGUID,
                                                                              java.lang.String assetManagerName,
                                                                              java.lang.String destinationElementGUID,
                                                                              int startFrom,
                                                                              int pageSize,
                                                                              java.util.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)