Class GovernanceExchangeClient
- java.lang.Object
-
- org.odpi.openmetadata.accessservices.assetmanager.client.ExchangeClientBase
-
- org.odpi.openmetadata.accessservices.assetmanager.client.GovernanceExchangeClient
-
- All Implemented Interfaces:
GovernanceExchangeInterface
public class GovernanceExchangeClient extends ExchangeClientBase implements GovernanceExchangeInterface
GovernanceExchangeClient is the client for managing governance policies and rules.
-
-
Constructor Summary
Constructors Constructor Description GovernanceExchangeClient(String serverName, String serverPlatformURLRoot)Create a new client with no authentication embedded in the HTTP request.GovernanceExchangeClient(String serverName, String serverPlatformURLRoot, String userId, String password)Create a new client that passes userId and password in each HTTP request.GovernanceExchangeClient(String serverName, String serverPlatformURLRoot, String userId, String password, AuditLog auditLog)Create a new client that passes userId and password in each HTTP request.GovernanceExchangeClient(String serverName, String serverPlatformURLRoot, AssetManagerRESTClient restClient, int maxPageSize, AuditLog auditLog)Create a new client that is going to be used in an OMAG Server.GovernanceExchangeClient(String serverName, 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 voidaddElementToSubjectArea(String userId, String assetManagerGUID, String assetManagerName, String elementGUID, String elementExternalIdentifier, String subjectAreaName, String methodName)Classify the element to asset that the definitions it represents are part of a subject area definition.voidaddGovernanceDefinitionToElement(String userId, String assetManagerGUID, String assetManagerName, String definitionGUID, String elementGUID, String methodName)Link a governance definition to an element using the GovernedBy relationship.voidclearGovernanceDelegation(String userId, String assetManagerGUID, String assetManagerName, String definitionGUID, String delegatedToDefinitionGUID)Remove the link between a governance definition and a governance definition that is delegated to (ie provides an implementation of).StringcreateGovernanceDefinition(String userId, String assetManagerGUID, String assetManagerName, String typeName, String definitionExternalIdentifier, String definitionExternalIdentifierName, String definitionExternalIdentifierUsage, String definitionExternalIdentifierSource, KeyPattern definitionExternalIdentifierKeyPattern, Map<String,String> mappingProperties, GovernanceDefinitionProperties definitionProperties)Create a new definition.voiddeleteGovernanceDefinition(String userId, String assetManagerGUID, String assetManagerName, String definitionGUID)Delete a specific governance definition.GovernanceDefinitionElementgetGovernanceDefinitionByDocId(String userId, String assetManagerGUID, String assetManagerName, String documentIdentifier)Retrieve the governance definition by its assigned unique document identifier.GovernanceDefinitionElementgetGovernanceDefinitionByGUID(String userId, String assetManagerGUID, String assetManagerName, String definitionGUID)Retrieve the governance definition by the unique identifier assigned by this service when it was created.voidlinkDefinitions(String userId, String assetManagerGUID, String assetManagerName, String definitionOneGUID, String definitionTwoGUID, String description)Link two related definitions together.voidremoveElementFromSubjectArea(String userId, String assetManagerGUID, String assetManagerName, String elementGUID, String externalElementIdentifier, String methodName)Remove the subject area designation from the identified element.voidremoveGovernanceDefinitionFromElement(String userId, String assetManagerGUID, String assetManagerName, String definitionGUID, String elementGUID, String methodName)Remove the GovernedBy relationship between a governance definition and an element.voidsetupGovernanceDelegation(String userId, String assetManagerGUID, String assetManagerName, String definitionGUID, String delegatedToDefinitionGUID, String rationale)Create a link to show that a governance definition supports the requirements of one of the governance drivers.voidunlinkDefinitions(String userId, String assetManagerGUID, String assetManagerName, String definitionOneGUID, String definitionTwoGUID)Remove the link between two definitions.voidupdateGovernanceDefinition(String userId, String assetManagerGUID, String assetManagerName, String definitionGUID, boolean isMergeUpdate, GovernanceDefinitionProperties definitionProperties)Update an existing definition.
-
-
-
Constructor Detail
-
GovernanceExchangeClient
public GovernanceExchangeClient(String serverName, 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 toserverPlatformURLRoot- the network address of the server running the OMAS REST serversauditLog- logging destination- Throws:
InvalidParameterException- there is a problem creating the client-side components to issue any REST API calls.
-
GovernanceExchangeClient
public GovernanceExchangeClient(String serverName, String serverPlatformURLRoot) throws InvalidParameterException
Create a new client with no authentication embedded in the HTTP request.- Parameters:
serverName- name of the server to connect toserverPlatformURLRoot- 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.
-
GovernanceExchangeClient
public GovernanceExchangeClient(String serverName, String serverPlatformURLRoot, String userId, 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 toserverPlatformURLRoot- the network address of the server running the OMAS REST serversuserId- caller's userId embedded in all HTTP requestspassword- caller's userId embedded in all HTTP requestsauditLog- logging destination- Throws:
InvalidParameterException- there is a problem creating the client-side components to issue any REST API calls.
-
GovernanceExchangeClient
public GovernanceExchangeClient(String serverName, String serverPlatformURLRoot, AssetManagerRESTClient restClient, int maxPageSize, AuditLog auditLog) throws InvalidParameterException
Create a new client that is going to be used in an OMAG Server.- Parameters:
serverName- name of the server to connect toserverPlatformURLRoot- the network address of the server running the OMAS REST serversrestClient- client that issues the REST API callsmaxPageSize- maximum number of results supported by this serverauditLog- logging destination- Throws:
InvalidParameterException- there is a problem creating the client-side components to issue any REST API calls.
-
GovernanceExchangeClient
public GovernanceExchangeClient(String serverName, String serverPlatformURLRoot, String userId, 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 toserverPlatformURLRoot- the network address of the server running the OMAS REST serversuserId- caller's userId embedded in all HTTP requestspassword- 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
-
createGovernanceDefinition
public String createGovernanceDefinition(String userId, String assetManagerGUID, String assetManagerName, String typeName, String definitionExternalIdentifier, String definitionExternalIdentifierName, String definitionExternalIdentifierUsage, String definitionExternalIdentifierSource, KeyPattern definitionExternalIdentifierKeyPattern, Map<String,String> mappingProperties, GovernanceDefinitionProperties definitionProperties) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Create a new definition.- Specified by:
createGovernanceDefinitionin interfaceGovernanceExchangeInterface- Parameters:
userId- calling userassetManagerGUID- unique identifier of software server capability representing the callerassetManagerName- unique name of software server capability representing the callerdefinitionExternalIdentifier- unique identifier of the definition in the external asset managerdefinitionExternalIdentifierName- name of property for the external identifier in the external asset managerdefinitionExternalIdentifierUsage- optional usage description for the external identifier when calling the external asset managerdefinitionExternalIdentifierSource- component that issuing this request.definitionExternalIdentifierKeyPattern- pattern for the external identifier within the external asset manager (default is LOCAL_KEY)mappingProperties- additional properties to help with the mapping of the elements in the external asset manager and open metadatatypeName- type of definitiondefinitionProperties- 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 validPropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
updateGovernanceDefinition
public void updateGovernanceDefinition(String userId, String assetManagerGUID, String assetManagerName, String definitionGUID, boolean isMergeUpdate, GovernanceDefinitionProperties definitionProperties) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Update an existing definition.- Specified by:
updateGovernanceDefinitionin interfaceGovernanceExchangeInterface- Parameters:
userId- calling userassetManagerGUID- unique identifier of software server capability representing the callerassetManagerName- unique name of software server capability representing the callerdefinitionGUID- unique identifier of the definition to updateisMergeUpdate- 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 knownPropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
deleteGovernanceDefinition
public void deleteGovernanceDefinition(String userId, String assetManagerGUID, String assetManagerName, String definitionGUID) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Delete a specific governance definition.- Specified by:
deleteGovernanceDefinitionin interfaceGovernanceExchangeInterface- Parameters:
userId- calling userassetManagerGUID- unique identifier of software server capability representing the callerassetManagerName- unique name of software server capability representing the callerdefinitionGUID- unique identifier of the definition to remove- Throws:
InvalidParameterException- guid is null or not knownPropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
linkDefinitions
public void linkDefinitions(String userId, String assetManagerGUID, String assetManagerName, String definitionOneGUID, String definitionTwoGUID, String description) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Link two related definitions together. If the link already exists the description is updated.- Specified by:
linkDefinitionsin interfaceGovernanceExchangeInterface- Parameters:
userId- calling userassetManagerGUID- unique identifier of software server capability representing the callerassetManagerName- unique name of software server capability representing the callerdefinitionOneGUID- unique identifier of the first definitiondefinitionTwoGUID- unique identifier of the second definitiondescription- description of their relationship- Throws:
InvalidParameterException- one of the guids is null or not knownPropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
unlinkDefinitions
public void unlinkDefinitions(String userId, String assetManagerGUID, String assetManagerName, String definitionOneGUID, String definitionTwoGUID) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Remove the link between two definitions.- Specified by:
unlinkDefinitionsin interfaceGovernanceExchangeInterface- Parameters:
userId- calling userassetManagerGUID- unique identifier of software server capability representing the callerassetManagerName- unique name of software server capability representing the callerdefinitionOneGUID- unique identifier of the first definitiondefinitionTwoGUID- unique identifier of the second definition- Throws:
InvalidParameterException- one of the guids is null or not knownPropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
setupGovernanceDelegation
public void setupGovernanceDelegation(String userId, String assetManagerGUID, String assetManagerName, String definitionGUID, String delegatedToDefinitionGUID, 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.- Specified by:
setupGovernanceDelegationin interfaceGovernanceExchangeInterface- Parameters:
userId- calling userassetManagerGUID- unique identifier of software server capability representing the callerassetManagerName- unique name of software server capability representing the callerdefinitionGUID- unique identifier of the governance definitiondelegatedToDefinitionGUID- unique identifier of the governance definition that is delegated torationale- description of how the delegation supports the definition- Throws:
InvalidParameterException- one of the guids is null or not knownPropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
clearGovernanceDelegation
public void clearGovernanceDelegation(String userId, String assetManagerGUID, String assetManagerName, String definitionGUID, 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).- Specified by:
clearGovernanceDelegationin interfaceGovernanceExchangeInterface- Parameters:
userId- calling userassetManagerGUID- unique identifier of software server capability representing the callerassetManagerName- unique name of software server capability representing the callerdefinitionGUID- unique identifier of the governance definitiondelegatedToDefinitionGUID- unique identifier of the governance definition that is delegated to- Throws:
InvalidParameterException- one of the guids is null or not knownPropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
getGovernanceDefinitionByGUID
public GovernanceDefinitionElement getGovernanceDefinitionByGUID(String userId, String assetManagerGUID, String assetManagerName, String definitionGUID) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Retrieve the governance definition by the unique identifier assigned by this service when it was created.- Specified by:
getGovernanceDefinitionByGUIDin interfaceGovernanceExchangeInterface- Parameters:
userId- calling userassetManagerGUID- unique identifier of software server capability representing the callerassetManagerName- unique name of software server capability representing the callerdefinitionGUID- identifier of the governance definition to retrieve- Returns:
- properties of the matching definition
- Throws:
InvalidParameterException- documentIdentifier or userId is null; guid is not recognizedPropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
getGovernanceDefinitionByDocId
public GovernanceDefinitionElement getGovernanceDefinitionByDocId(String userId, String assetManagerGUID, String assetManagerName, String documentIdentifier) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Retrieve the governance definition by its assigned unique document identifier.- Specified by:
getGovernanceDefinitionByDocIdin interfaceGovernanceExchangeInterface- Parameters:
userId- calling userassetManagerGUID- unique identifier of software server capability representing the callerassetManagerName- unique name of software server capability representing the callerdocumentIdentifier- identifier to search for- Returns:
- properties of the matching definition
- Throws:
InvalidParameterException- documentIdentifier or userId is null; documentIdentifier is not recognizedPropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
addGovernanceDefinitionToElement
public void addGovernanceDefinitionToElement(String userId, String assetManagerGUID, String assetManagerName, String definitionGUID, String elementGUID, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Link a governance definition to an element using the GovernedBy relationship.- Specified by:
addGovernanceDefinitionToElementin interfaceGovernanceExchangeInterface- Parameters:
userId- calling userassetManagerGUID- unique identifier of software server capability representing the callerassetManagerName- unique name of software server capability representing the callerdefinitionGUID- identifier of the governance definition to linkelementGUID- unique identifier of the metadata element to linkmethodName- calling method- Throws:
InvalidParameterException- one of the parameters is invalidUserNotAuthorizedException- the user is not authorized to issue this requestPropertyServerException- there is a problem reported in the open metadata server(s)
-
removeGovernanceDefinitionFromElement
public void removeGovernanceDefinitionFromElement(String userId, String assetManagerGUID, String assetManagerName, String definitionGUID, String elementGUID, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Remove the GovernedBy relationship between a governance definition and an element.- Specified by:
removeGovernanceDefinitionFromElementin interfaceGovernanceExchangeInterface- Parameters:
userId- calling userassetManagerGUID- unique identifier of software server capability representing the callerassetManagerName- unique name of software server capability representing the callerdefinitionGUID- identifier of the governance definition to linkelementGUID- unique identifier of the metadata element to updatemethodName- calling method- Throws:
InvalidParameterException- one of the parameters is invalidUserNotAuthorizedException- the user is not authorized to issue this requestPropertyServerException- there is a problem reported in the open metadata server(s)
-
addElementToSubjectArea
public void addElementToSubjectArea(String userId, String assetManagerGUID, String assetManagerName, String elementGUID, String elementExternalIdentifier, String subjectAreaName, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Classify the element to asset that the definitions it represents are part of a subject area definition.- Specified by:
addElementToSubjectAreain interfaceGovernanceExchangeInterface- Parameters:
userId- calling userassetManagerGUID- unique identifier of software server capability representing the callerassetManagerName- unique name of software server capability representing the callerelementGUID- unique identifier of the metadata element to updateelementExternalIdentifier- unique identifier of the glossary category in the external asset managersubjectAreaName- qualified name of subject areamethodName- calling method- Throws:
InvalidParameterException- one of the parameters is invalidUserNotAuthorizedException- the user is not authorized to issue this requestPropertyServerException- there is a problem reported in the open metadata server(s)
-
removeElementFromSubjectArea
public void removeElementFromSubjectArea(String userId, String assetManagerGUID, String assetManagerName, String elementGUID, String externalElementIdentifier, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Remove the subject area designation from the identified element.- Specified by:
removeElementFromSubjectAreain interfaceGovernanceExchangeInterface- Parameters:
userId- calling userassetManagerGUID- unique identifier of software server capability representing the callerassetManagerName- unique name of software server capability representing the callerelementGUID- unique identifier of the metadata element to updateexternalElementIdentifier- unique identifier of the equivalent element in the external asset managermethodName- calling method- Throws:
InvalidParameterException- one of the parameters is invalidUserNotAuthorizedException- the user is not authorized to issue this requestPropertyServerException- there is a problem reported in the open metadata server(s)
-
-