Interface GovernanceExchangeInterface

  • All Known Implementing Classes:
    GovernanceExchangeClient

    public interface GovernanceExchangeInterface
    The GovernanceExchangeInterface enables the exchange of governance definitions between an external asset manager and open metadata. It includes the exchanges of governance definitions such as GovernancePolicy and GovernanceRule as well as classifications set up by the governance teams such as SubjectArea classification.
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      void addElementToSubjectArea​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String elementGUID, java.lang.String elementExternalIdentifier, java.lang.String subjectAreaName, java.lang.String methodName)
      Classify the element to assert that it is part of a subject area definition.
      void addGovernanceDefinitionToElement​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String definitionGUID, java.lang.String elementGUID, java.lang.String methodName)
      Link a governance definition to an element using the GovernedBy relationship.
      void clearGovernanceDelegation​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String definitionGUID, java.lang.String delegatedToDefinitionGUID)
      Remove the link between a governance definition and a governance definition that is delegated to (ie provides an implementation of).
      java.lang.String createGovernanceDefinition​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String typeName, ExternalIdentifierProperties externalIdentifierProperties, GovernanceDefinitionProperties definitionProperties)
      Create a new definition.
      void deleteGovernanceDefinition​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String definitionGUID)
      Delete a specific governance definition.
      java.util.List<GovernanceActionProcessElement> findGovernanceActionProcesses​(java.lang.String userId, java.lang.String searchString, int startFrom, int pageSize)
      Retrieve the list of governance action process metadata elements that contain the search string.
      java.util.List<GovernanceActionTypeElement> findGovernanceActionTypes​(java.lang.String userId, java.lang.String searchString, int startFrom, int pageSize)
      Retrieve the list of governance action type metadata elements that contain the search string.
      java.util.List<GovernanceActionElement> getActiveGovernanceActions​(java.lang.String userId, int startFrom, int pageSize)
      Retrieve the governance actions that are still in process.
      GovernanceActionTypeElement getFirstActionType​(java.lang.String userId, java.lang.String processGUID)
      Return the governance action type that is the first step in a governance action process.
      GovernanceActionElement getGovernanceAction​(java.lang.String userId, java.lang.String governanceActionGUID)
      Request the status of an executing governance action request.
      GovernanceActionProcessElement getGovernanceActionProcessByGUID​(java.lang.String userId, java.lang.String processGUID)
      Retrieve the governance action process metadata element with the supplied unique identifier.
      java.util.List<GovernanceActionProcessElement> getGovernanceActionProcessesByName​(java.lang.String userId, java.lang.String name, int startFrom, int pageSize)
      Retrieve the list of governance action process metadata elements with a matching qualified or display name.
      java.util.List<GovernanceActionElement> getGovernanceActions​(java.lang.String userId, int startFrom, int pageSize)
      Retrieve the governance actions that are known to the server.
      GovernanceActionTypeElement getGovernanceActionTypeByGUID​(java.lang.String userId, java.lang.String actionTypeGUID)
      Retrieve the governance action type metadata element with the supplied unique identifier.
      java.util.List<GovernanceActionTypeElement> getGovernanceActionTypesByName​(java.lang.String userId, java.lang.String name, int startFrom, int pageSize)
      Retrieve the list of governance action type metadata elements with a matching qualified or display name.
      GovernanceDefinitionElement getGovernanceDefinitionByDocId​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String documentIdentifier)
      Retrieve the governance definition by its assigned unique document identifier.
      GovernanceDefinitionElement getGovernanceDefinitionByGUID​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String definitionGUID)
      Retrieve the governance definition by the unique identifier assigned by this service when it was created.
      java.util.List<NextGovernanceActionTypeElement> getNextGovernanceActionTypes​(java.lang.String userId, java.lang.String actionTypeGUID, int startFrom, int pageSize)
      Return the lust of next action type defined for the governance action process.
      void linkDefinitions​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String definitionOneGUID, java.lang.String definitionTwoGUID, java.lang.String description)
      Link two related definitions together.
      void removeElementFromSubjectArea​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String elementGUID, java.lang.String externalElementIdentifier, java.lang.String methodName)
      Remove the subject area designation from the identified element.
      void removeGovernanceDefinitionFromElement​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String definitionGUID, java.lang.String elementGUID, java.lang.String methodName)
      Remove the GovernedBy relationship between a governance definition and an element.
      void setupGovernanceDelegation​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String definitionGUID, java.lang.String delegatedToDefinitionGUID, java.lang.String rationale)
      Create a link to show that a governance definition supports the requirements of one of the governance drivers.
      void unlinkDefinitions​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String definitionOneGUID, java.lang.String definitionTwoGUID)
      Remove the link between two definitions.
      void updateGovernanceDefinition​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String definitionGUID, boolean isMergeUpdate, GovernanceDefinitionProperties definitionProperties)
      Update an existing definition.
    • Method Detail

      • createGovernanceDefinition

        java.lang.String createGovernanceDefinition​(java.lang.String userId,
                                                    java.lang.String assetManagerGUID,
                                                    java.lang.String assetManagerName,
                                                    java.lang.String typeName,
                                                    ExternalIdentifierProperties externalIdentifierProperties,
                                                    GovernanceDefinitionProperties definitionProperties)
                                             throws InvalidParameterException,
                                                    UserNotAuthorizedException,
                                                    PropertyServerException
        Create a new definition.
        Parameters:
        userId - calling user
        assetManagerGUID - unique identifier of software capability representing the caller
        assetManagerName - unique name of software capability representing the caller
        externalIdentifierProperties - optional properties used to define an external identifier
        typeName - type of definition
        definitionProperties - properties of the definition
        Returns:
        unique identifier of the definition
        Throws:
        InvalidParameterException - typeName, documentIdentifier or userId is null; documentIdentifier is not unique; typeName is not valid
        PropertyServerException - problem accessing property server
        UserNotAuthorizedException - security access problem
      • updateGovernanceDefinition

        void updateGovernanceDefinition​(java.lang.String userId,
                                        java.lang.String assetManagerGUID,
                                        java.lang.String assetManagerName,
                                        java.lang.String definitionGUID,
                                        boolean isMergeUpdate,
                                        GovernanceDefinitionProperties definitionProperties)
                                 throws InvalidParameterException,
                                        UserNotAuthorizedException,
                                        PropertyServerException
        Update an existing definition.
        Parameters:
        userId - calling user
        assetManagerGUID - unique identifier of software capability representing the caller
        assetManagerName - unique name of software capability representing the caller
        definitionGUID - unique identifier of the definition to update
        isMergeUpdate - are unspecified properties unchanged (true) or replaced with null?
        definitionProperties - properties to update
        Throws:
        InvalidParameterException - guid, documentIdentifier or userId is null; documentIdentifier is not unique; guid is not known
        PropertyServerException - problem accessing property server
        UserNotAuthorizedException - security access problem
      • deleteGovernanceDefinition

        void deleteGovernanceDefinition​(java.lang.String userId,
                                        java.lang.String assetManagerGUID,
                                        java.lang.String assetManagerName,
                                        java.lang.String definitionGUID)
                                 throws InvalidParameterException,
                                        UserNotAuthorizedException,
                                        PropertyServerException
        Delete a specific governance definition.
        Parameters:
        userId - calling user
        assetManagerGUID - unique identifier of software capability representing the caller
        assetManagerName - unique name of software capability representing the caller
        definitionGUID - unique identifier of the definition to remove
        Throws:
        InvalidParameterException - guid is null or not known
        PropertyServerException - problem accessing property server
        UserNotAuthorizedException - security access problem
      • linkDefinitions

        void linkDefinitions​(java.lang.String userId,
                             java.lang.String assetManagerGUID,
                             java.lang.String assetManagerName,
                             java.lang.String definitionOneGUID,
                             java.lang.String definitionTwoGUID,
                             java.lang.String description)
                      throws InvalidParameterException,
                             UserNotAuthorizedException,
                             PropertyServerException
        Link two related definitions together. If the link already exists the description is updated.
        Parameters:
        userId - calling user
        assetManagerGUID - unique identifier of software capability representing the caller
        assetManagerName - unique name of software capability representing the caller
        definitionOneGUID - unique identifier of the first definition
        definitionTwoGUID - unique identifier of the second definition
        description - description of their relationship
        Throws:
        InvalidParameterException - one of the guids is null or not known
        PropertyServerException - problem accessing property server
        UserNotAuthorizedException - security access problem
      • unlinkDefinitions

        void unlinkDefinitions​(java.lang.String userId,
                               java.lang.String assetManagerGUID,
                               java.lang.String assetManagerName,
                               java.lang.String definitionOneGUID,
                               java.lang.String definitionTwoGUID)
                        throws InvalidParameterException,
                               UserNotAuthorizedException,
                               PropertyServerException
        Remove the link between two definitions.
        Parameters:
        userId - calling user
        assetManagerGUID - unique identifier of software capability representing the caller
        assetManagerName - unique name of software capability representing the caller
        definitionOneGUID - unique identifier of the first definition
        definitionTwoGUID - unique identifier of the second definition
        Throws:
        InvalidParameterException - one of the guids is null or not known
        PropertyServerException - problem accessing property server
        UserNotAuthorizedException - security access problem
      • setupGovernanceDelegation

        void setupGovernanceDelegation​(java.lang.String userId,
                                       java.lang.String assetManagerGUID,
                                       java.lang.String assetManagerName,
                                       java.lang.String definitionGUID,
                                       java.lang.String delegatedToDefinitionGUID,
                                       java.lang.String rationale)
                                throws InvalidParameterException,
                                       UserNotAuthorizedException,
                                       PropertyServerException
        Create a link to show that a governance definition supports the requirements of one of the governance drivers. If the link already exists the rationale is updated.
        Parameters:
        userId - calling user
        assetManagerGUID - unique identifier of software capability representing the caller
        assetManagerName - unique name of software capability representing the caller
        definitionGUID - unique identifier of the governance definition
        delegatedToDefinitionGUID - unique identifier of the governance definition that is delegated to
        rationale - description of how the delegation supports the definition
        Throws:
        InvalidParameterException - one of the guids is null or not known
        PropertyServerException - problem accessing property server
        UserNotAuthorizedException - security access problem
      • clearGovernanceDelegation

        void clearGovernanceDelegation​(java.lang.String userId,
                                       java.lang.String assetManagerGUID,
                                       java.lang.String assetManagerName,
                                       java.lang.String definitionGUID,
                                       java.lang.String delegatedToDefinitionGUID)
                                throws InvalidParameterException,
                                       UserNotAuthorizedException,
                                       PropertyServerException
        Remove the link between a governance definition and a governance definition that is delegated to (ie provides an implementation of).
        Parameters:
        userId - calling user
        assetManagerGUID - unique identifier of software capability representing the caller
        assetManagerName - unique name of software capability representing the caller
        definitionGUID - unique identifier of the governance definition
        delegatedToDefinitionGUID - unique identifier of the governance definition that is delegated to
        Throws:
        InvalidParameterException - one of the guids is null or not known
        PropertyServerException - problem accessing property server
        UserNotAuthorizedException - security access problem
      • getGovernanceDefinitionByGUID

        GovernanceDefinitionElement getGovernanceDefinitionByGUID​(java.lang.String userId,
                                                                  java.lang.String assetManagerGUID,
                                                                  java.lang.String assetManagerName,
                                                                  java.lang.String definitionGUID)
                                                           throws InvalidParameterException,
                                                                  UserNotAuthorizedException,
                                                                  PropertyServerException
        Retrieve the governance definition by the unique identifier assigned by this service when it was created.
        Parameters:
        userId - calling user
        assetManagerGUID - unique identifier of software capability representing the caller
        assetManagerName - unique name of software capability representing the caller
        definitionGUID - identifier of the governance definition to retrieve
        Returns:
        properties of the matching definition
        Throws:
        InvalidParameterException - documentIdentifier or userId is null; guid is not recognized
        PropertyServerException - problem accessing property server
        UserNotAuthorizedException - security access problem
      • getGovernanceDefinitionByDocId

        GovernanceDefinitionElement getGovernanceDefinitionByDocId​(java.lang.String userId,
                                                                   java.lang.String assetManagerGUID,
                                                                   java.lang.String assetManagerName,
                                                                   java.lang.String documentIdentifier)
                                                            throws InvalidParameterException,
                                                                   UserNotAuthorizedException,
                                                                   PropertyServerException
        Retrieve the governance definition by its assigned unique document identifier.
        Parameters:
        userId - calling user
        assetManagerGUID - unique identifier of software capability representing the caller
        assetManagerName - unique name of software capability representing the caller
        documentIdentifier - identifier to search for
        Returns:
        properties of the matching definition
        Throws:
        InvalidParameterException - documentIdentifier or userId is null; documentIdentifier is not recognized
        PropertyServerException - problem accessing property server
        UserNotAuthorizedException - security access problem
      • addGovernanceDefinitionToElement

        void addGovernanceDefinitionToElement​(java.lang.String userId,
                                              java.lang.String assetManagerGUID,
                                              java.lang.String assetManagerName,
                                              java.lang.String definitionGUID,
                                              java.lang.String elementGUID,
                                              java.lang.String methodName)
                                       throws InvalidParameterException,
                                              UserNotAuthorizedException,
                                              PropertyServerException
        Link a governance definition to an element using the GovernedBy relationship.
        Parameters:
        userId - calling user
        assetManagerGUID - unique identifier of software capability representing the caller
        assetManagerName - unique name of software capability representing the caller
        definitionGUID - identifier of the governance definition to link
        elementGUID - unique identifier of the metadata element to link
        methodName - calling method
        Throws:
        InvalidParameterException - one of the parameters is invalid
        UserNotAuthorizedException - the user is not authorized to issue this request
        PropertyServerException - there is a problem reported in the open metadata server(s)
      • removeGovernanceDefinitionFromElement

        void removeGovernanceDefinitionFromElement​(java.lang.String userId,
                                                   java.lang.String assetManagerGUID,
                                                   java.lang.String assetManagerName,
                                                   java.lang.String definitionGUID,
                                                   java.lang.String elementGUID,
                                                   java.lang.String methodName)
                                            throws InvalidParameterException,
                                                   UserNotAuthorizedException,
                                                   PropertyServerException
        Remove the GovernedBy relationship between a governance definition and an element.
        Parameters:
        userId - calling user
        assetManagerGUID - unique identifier of software capability representing the caller
        assetManagerName - unique name of software capability representing the caller
        definitionGUID - identifier of the governance definition to link
        elementGUID - unique identifier of the metadata element to update
        methodName - calling method
        Throws:
        InvalidParameterException - one of the parameters is invalid
        UserNotAuthorizedException - the user is not authorized to issue this request
        PropertyServerException - there is a problem reported in the open metadata server(s)
      • addElementToSubjectArea

        void addElementToSubjectArea​(java.lang.String userId,
                                     java.lang.String assetManagerGUID,
                                     java.lang.String assetManagerName,
                                     java.lang.String elementGUID,
                                     java.lang.String elementExternalIdentifier,
                                     java.lang.String subjectAreaName,
                                     java.lang.String methodName)
                              throws InvalidParameterException,
                                     UserNotAuthorizedException,
                                     PropertyServerException
        Classify the element to assert that it is part of a subject area definition.
        Parameters:
        userId - calling user
        assetManagerGUID - unique identifier of software capability representing the caller
        assetManagerName - unique name of software capability representing the caller
        elementGUID - unique identifier of the metadata element to update
        elementExternalIdentifier - unique identifier of the element in the external asset manager
        subjectAreaName - qualified name of subject area
        methodName - calling method
        Throws:
        InvalidParameterException - one of the parameters is invalid
        UserNotAuthorizedException - the user is not authorized to issue this request
        PropertyServerException - there is a problem reported in the open metadata server(s)
      • removeElementFromSubjectArea

        void removeElementFromSubjectArea​(java.lang.String userId,
                                          java.lang.String assetManagerGUID,
                                          java.lang.String assetManagerName,
                                          java.lang.String elementGUID,
                                          java.lang.String externalElementIdentifier,
                                          java.lang.String methodName)
                                   throws InvalidParameterException,
                                          UserNotAuthorizedException,
                                          PropertyServerException
        Remove the subject area designation from the identified element.
        Parameters:
        userId - calling user
        assetManagerGUID - unique identifier of software capability representing the caller
        assetManagerName - unique name of software capability representing the caller
        elementGUID - unique identifier of the metadata element to update
        externalElementIdentifier - unique identifier of the equivalent element in the external asset manager
        methodName - calling method
        Throws:
        InvalidParameterException - one of the parameters is invalid
        UserNotAuthorizedException - the user is not authorized to issue this request
        PropertyServerException - there is a problem reported in the open metadata server(s)