Class GovernanceDefinitionManager
java.lang.Object
org.odpi.openmetadata.accessservices.governanceprogram.client.GovernanceProgramBaseClient
org.odpi.openmetadata.accessservices.governanceprogram.client.GovernanceDefinitionManager
- All Implemented Interfaces:
GovernanceDefinitionsInterface
,RelatedElementsManagementInterface
public class GovernanceDefinitionManager
extends GovernanceProgramBaseClient
implements GovernanceDefinitionsInterface
GovernanceDefinitionManager is the java client for managing the definitions for the governance drivers, policies and controls
that define the motivation, goals and implementation approach for the governance program.
Governance drivers document of the business strategy and regulations that provide the motivation behind the governance program. They feed
into the governance program's policymaking phase ensuring the governance program is focused on activity that delivers value to the organization.
A governance driver could be a governance strategy statement, a business imperative, a regulation or a regulation's article.
Governance policies define the goals and best practices for the governance program. There are three types of governance policies:
- Governance Principles define the invariants that the organization tries to maintain.
- Governance Obligations define the requirements coming from regulations and policy makers of the organization.
- Governance Approaches describe preferred approaches and methods to follow
-
Technical Controls define the use of technology to implement governance definitions. They consist of either:
- GovernanceRule - a rule that need to be enforced to support a requirement of the governance program.
- GovernanceProcess - a series of automated steps that need to run to support a requirement of the governance program.
-
Organizational controls define roles, teams and manual procedures that implement an aspect of governance. They consist of either:
- GovernanceResponsibility - a set of responsibilities that can be associated with a governance role
- GovernanceProcedure - an manual procedure
-
Field Summary
Fields inherited from class org.odpi.openmetadata.accessservices.governanceprogram.client.GovernanceProgramBaseClient
nullRequestBody
-
Constructor Summary
ConstructorDescriptionGovernanceDefinitionManager
(String serverName, String serverPlatformURLRoot) Create a new client with no authentication embedded in the HTTP request.GovernanceDefinitionManager
(String serverName, String serverPlatformURLRoot, int maxPageSize, AuditLog auditLog) Create a new client with no authentication embedded in the HTTP request.GovernanceDefinitionManager
(String serverName, String serverPlatformURLRoot, String userId, String password) Create a new client that passes userId and password in each HTTP request.GovernanceDefinitionManager
(String serverName, String serverPlatformURLRoot, String userId, String password, int maxPageSize, AuditLog auditLog) Create a new client that passes userId and password in each HTTP request.GovernanceDefinitionManager
(String serverName, String serverPlatformURLRoot, GovernanceProgramRESTClient restClient, int maxPageSize) Create a new client that uses the supplied rest client. -
Method Summary
Modifier and TypeMethodDescriptionvoid
clearSupportingDefinition
(String userId, String definitionGUID, String supportingDefinitionGUID, String relationshipTypeName) Remove the supporting link between two governance definitions.createGovernanceDefinition
(String userId, GovernanceDefinitionProperties properties, GovernanceDefinitionStatus initialStatus) Create a new governance definition.void
deleteGovernanceDefinition
(String userId, String definitionGUID) Delete a specific governance definition.void
linkPeerDefinitions
(String userId, String definitionOneGUID, String definitionTwoGUID, String relationshipTypeName, PeerDefinitionProperties properties) Link two related governance definitions together.void
setGovernanceDefinitionStatus
(String userId, String definitionGUID, GovernanceDefinitionStatus newStatus) Update the status of a governance definitionvoid
setupSupportingDefinition
(String userId, String definitionGUID, String supportingDefinitionGUID, String relationshipTypeName, SupportingDefinitionProperties properties) Create a link to show that a governance definition supports the requirements of another governance definition.void
unlinkPeerDefinitions
(String userId, String definitionOneGUID, String definitionTwoGUID, String relationshipTypeName) Remove the link between two definitions.void
updateGovernanceDefinition
(String userId, String definitionGUID, boolean isMergeUpdate, GovernanceDefinitionProperties properties) Update an existing governance definition.Methods inherited from class org.odpi.openmetadata.accessservices.governanceprogram.client.GovernanceProgramBaseClient
clearAssignmentScope, clearGovernanceDefinitionScope, clearGovernanceResponsibilityAssignment, clearGovernedBy, clearMoreInformation, clearResource, clearStakeholder, getAssignedActors, getAssignedScopes, getDescriptiveElements, getGovernanceDefinitionScopes, getGovernanceDefinitionsForElement, getGovernedElements, getMoreInformation, getResourceList, getResponsibleRoles, getRoleResponsibilities, getScopedGovernanceDefinitions, getStakeholderCommissionedElements, getStakeholders, getSupportedByResource, removeReferenceable, setupAssignmentScope, setupGovernanceDefinitionScope, setupGovernanceResponsibilityAssignment, setupGovernedBy, setupMoreInformation, setupResource, setupStakeholder, updateGovernanceDefinitionStatus, updateRelationship
-
Constructor Details
-
GovernanceDefinitionManager
public GovernanceDefinitionManager(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 services- Throws:
InvalidParameterException
- bad input parameters
-
GovernanceDefinitionManager
public GovernanceDefinitionManager(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 servicesuserId
- caller's userId embedded in all HTTP requestspassword
- caller's userId embedded in all HTTP requests- Throws:
InvalidParameterException
- bad input parameters
-
GovernanceDefinitionManager
public GovernanceDefinitionManager(String serverName, String serverPlatformURLRoot, int maxPageSize, 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 servicesmaxPageSize
- pre-initialized parameter limitauditLog
- logging destination- Throws:
InvalidParameterException
- bad input parameters
-
GovernanceDefinitionManager
public GovernanceDefinitionManager(String serverName, String serverPlatformURLRoot, String userId, String password, int maxPageSize, 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 servicesuserId
- caller's userId embedded in all HTTP requestspassword
- caller's userId embedded in all HTTP requestsmaxPageSize
- pre-initialized parameter limitauditLog
- logging destination- Throws:
InvalidParameterException
- bad input parameters
-
GovernanceDefinitionManager
public GovernanceDefinitionManager(String serverName, String serverPlatformURLRoot, GovernanceProgramRESTClient restClient, int maxPageSize) throws InvalidParameterException Create a new client that uses the supplied rest client. This is typically used when called from another OMAG Server.- Parameters:
serverName
- name of the server to connect toserverPlatformURLRoot
- the network address of the server running the OMAS REST servicesrestClient
- internal client for rest callsmaxPageSize
- pre-initialized parameter limit- Throws:
InvalidParameterException
- bad input parameters
-
-
Method Details
-
createGovernanceDefinition
public String createGovernanceDefinition(String userId, GovernanceDefinitionProperties properties, GovernanceDefinitionStatus initialStatus) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Create a new governance definition. The type of the definition is located in the properties.- Specified by:
createGovernanceDefinition
in interfaceGovernanceDefinitionsInterface
- Parameters:
userId
- calling userproperties
- properties of the definitioninitialStatus
- what is the initial status for the governance definition - default value is DRAFT- Returns:
- unique identifier of the definition
- Throws:
InvalidParameterException
- typeName, documentIdentifier or userId is null; documentIdentifier is not unique; typeName is not validPropertyServerException
- problem accessing the metadata serviceUserNotAuthorizedException
- security access problem
-
updateGovernanceDefinition
public void updateGovernanceDefinition(String userId, String definitionGUID, boolean isMergeUpdate, GovernanceDefinitionProperties properties) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Update an existing governance definition.- Specified by:
updateGovernanceDefinition
in interfaceGovernanceDefinitionsInterface
- Parameters:
userId
- calling userdefinitionGUID
- unique identifier of the definition to updateisMergeUpdate
- are unspecified properties unchanged (true) or removed?properties
- 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
-
setGovernanceDefinitionStatus
public void setGovernanceDefinitionStatus(String userId, String definitionGUID, GovernanceDefinitionStatus newStatus) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Update the status of a governance definition- Specified by:
setGovernanceDefinitionStatus
in interfaceGovernanceDefinitionsInterface
- Parameters:
userId
- calling userdefinitionGUID
- unique identifiernewStatus
- new status- 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 definitionGUID) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Delete a specific governance definition.- Specified by:
deleteGovernanceDefinition
in interfaceGovernanceDefinitionsInterface
- Parameters:
userId
- calling userdefinitionGUID
- unique identifier of the definition to remove- Throws:
InvalidParameterException
- guid is null or not knownPropertyServerException
- problem accessing property serverUserNotAuthorizedException
- security access problem
-
linkPeerDefinitions
public void linkPeerDefinitions(String userId, String definitionOneGUID, String definitionTwoGUID, String relationshipTypeName, PeerDefinitionProperties properties) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Link two related governance definitions together. The governance definitions are of the same type as follows:- A relationship of type GovernanceDriverLink is between two GovernanceDriver definitions
- A relationship of type GovernancePolicyLink is between two GovernancePolicy definitions
- A relationship of type GovernanceControl is between two GovernanceControl definitions
- Specified by:
linkPeerDefinitions
in interfaceGovernanceDefinitionsInterface
- Parameters:
userId
- calling userdefinitionOneGUID
- unique identifier of the first definitiondefinitionTwoGUID
- unique identifier of the second definitionrelationshipTypeName
- the name of the relationship to createproperties
- description of their relationship- Throws:
InvalidParameterException
- one of the guids is null or not knownPropertyServerException
- problem accessing property serverUserNotAuthorizedException
- security access problem
-
unlinkPeerDefinitions
public void unlinkPeerDefinitions(String userId, String definitionOneGUID, String definitionTwoGUID, String relationshipTypeName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Remove the link between two definitions.- Specified by:
unlinkPeerDefinitions
in interfaceGovernanceDefinitionsInterface
- Parameters:
userId
- calling userdefinitionOneGUID
- unique identifier of the first definitiondefinitionTwoGUID
- unique identifier of the second definitionrelationshipTypeName
- the name of the relationship to delete- Throws:
InvalidParameterException
- one of the guids is null or not knownPropertyServerException
- problem accessing property serverUserNotAuthorizedException
- security access problem
-
setupSupportingDefinition
public void setupSupportingDefinition(String userId, String definitionGUID, String supportingDefinitionGUID, String relationshipTypeName, SupportingDefinitionProperties properties) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Create a link to show that a governance definition supports the requirements of another governance definition. This supporting relationship is between definitions of different types as follows:- A relationship of type GovernanceResponse is between a GovernanceDriver and a GovernancePolicy
- A relationship of type GovernanceImplementation is between a GovernancePolicy and a GovernanceControl
- Specified by:
setupSupportingDefinition
in interfaceGovernanceDefinitionsInterface
- Parameters:
userId
- calling userdefinitionGUID
- unique identifier of the governance definitionsupportingDefinitionGUID
- unique identifier of the supporting governance definitionrelationshipTypeName
- the name of the relationship to createproperties
- description of how the supporting definition provides support- Throws:
InvalidParameterException
- one of the guids is null or not knownPropertyServerException
- problem accessing property serverUserNotAuthorizedException
- security access problem
-
clearSupportingDefinition
public void clearSupportingDefinition(String userId, String definitionGUID, String supportingDefinitionGUID, String relationshipTypeName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Remove the supporting link between two governance definitions.- Specified by:
clearSupportingDefinition
in interfaceGovernanceDefinitionsInterface
- Parameters:
userId
- calling userdefinitionGUID
- unique identifier of the governance definitionsupportingDefinitionGUID
- unique identifier of the supporting governance definitionrelationshipTypeName
- the name of the relationship to delete- Throws:
InvalidParameterException
- one of the guids is null or not knownPropertyServerException
- problem accessing property serverUserNotAuthorizedException
- security access problem
-