Class SubjectAreaManager
- java.lang.Object
-
- org.odpi.openmetadata.accessservices.governanceprogram.client.SubjectAreaManager
-
- All Implemented Interfaces:
SubjectAreasInterface
public class SubjectAreaManager extends Object implements SubjectAreasInterface
The SubjectAreasInterface is used by the governance team to define the subject area for topic related governance definitions.
-
-
Constructor Summary
Constructors Constructor Description SubjectAreaManager(String serverName, String serverPlatformURLRoot)Create a new client with no authentication embedded in the HTTP request.SubjectAreaManager(String serverName, String serverPlatformURLRoot, int maxPageSize, AuditLog auditLog)Create a new client with no authentication embedded in the HTTP request.SubjectAreaManager(String serverName, String serverPlatformURLRoot, String userId, String password)Create a new client that passes userId and password in each HTTP request.SubjectAreaManager(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.SubjectAreaManager(String serverName, String serverPlatformURLRoot, GovernanceProgramRESTClient restClient, int maxPageSize)Create a new client that uses the supplied rest client.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description StringcreateSubjectArea(String userId, SubjectAreaProperties properties)Create a definition of a subject area.voiddeleteSubjectArea(String userId, String subjectAreaGUID)Remove the definition of a subject area.SubjectAreaElementgetSubjectAreaByGUID(String userId, String subjectAreaGUID)Return information about a specific subject area.SubjectAreaElementgetSubjectAreaByName(String userId, String qualifiedName)Return information about a specific subject area.SubjectAreaDefinitiongetSubjectAreaDefinitionByGUID(String userId, String subjectAreaGUID)Return information about a specific subject area and its linked governance definitions.List<SubjectAreaElement>getSubjectAreasForDomain(String userId, int domainIdentifier, int startFrom, int pageSize)Return information about the defined subject areas.voidlinkSubjectAreasInHierarchy(String userId, String parentSubjectAreaGUID, String childSubjectAreaGUID)Link two related subject areas together as part of a hierarchy.voidlinkSubjectAreaToGovernanceDefinition(String userId, String subjectAreaGUID, String definitionGUID)Link a subject area to a governance definition that controls how the definitions in the subject area should be governed.voidunlinkSubjectAreaFromGovernanceDefinition(String userId, String subjectAreaGUID, String definitionGUID)Remove the link between a subject area and a governance definition.voidunlinkSubjectAreasInHierarchy(String userId, String parentSubjectAreaGUID, String childSubjectAreaGUID)Remove the link between two subject areas in the subject area hierarchy.voidupdateSubjectArea(String userId, String subjectAreaGUID, boolean isMergeUpdate, SubjectAreaProperties properties)Update the definition of a subject area.
-
-
-
Constructor Detail
-
SubjectAreaManager
public SubjectAreaManager(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.
-
SubjectAreaManager
public SubjectAreaManager(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.
-
SubjectAreaManager
public SubjectAreaManager(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 serversmaxPageSize- pre-initialized parameter limitauditLog- logging destination- Throws:
InvalidParameterException- there is a problem creating the client-side components to issue any REST API calls.
-
SubjectAreaManager
public SubjectAreaManager(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 serversuserId- caller's userId embedded in all HTTP requestspassword- caller's userId embedded in all HTTP requestsmaxPageSize- pre-initialized parameter limitauditLog- logging destination- Throws:
InvalidParameterException- there is a problem creating the client-side components to issue any REST API calls.
-
SubjectAreaManager
public SubjectAreaManager(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 fro manother OMAG Server.- Parameters:
serverName- name of the server to connect toserverPlatformURLRoot- the network address of the server running the OMAS REST serversrestClient- internal client for rest callsmaxPageSize- pre-initialized parameter limit- Throws:
InvalidParameterException- bad input parameters
-
-
Method Detail
-
createSubjectArea
public String createSubjectArea(String userId, SubjectAreaProperties properties) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Create a definition of a subject area.- Specified by:
createSubjectAreain interfaceSubjectAreasInterface- Parameters:
userId- calling userproperties- properties for a subject area- Returns:
- unique identifier of subject area
- Throws:
InvalidParameterException- qualifiedName or userId is null; qualifiedName is not uniquePropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
updateSubjectArea
public void updateSubjectArea(String userId, String subjectAreaGUID, boolean isMergeUpdate, SubjectAreaProperties properties) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Update the definition of a subject area.- Specified by:
updateSubjectAreain interfaceSubjectAreasInterface- Parameters:
userId- calling usersubjectAreaGUID- unique identifier of subject areaisMergeUpdate- are unspecified properties unchanged (true) or replaced with null?properties- properties to change- Throws:
InvalidParameterException- guid, qualifiedName or userId is null; qualifiedName is not unique; guid is not knownPropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
deleteSubjectArea
public void deleteSubjectArea(String userId, String subjectAreaGUID) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Remove the definition of a subject area.- Specified by:
deleteSubjectAreain interfaceSubjectAreasInterface- Parameters:
userId- calling usersubjectAreaGUID- unique identifier of subject area- Throws:
InvalidParameterException- guid or userId is null; guid is not knownPropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
linkSubjectAreasInHierarchy
public void linkSubjectAreasInHierarchy(String userId, String parentSubjectAreaGUID, String childSubjectAreaGUID) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Link two related subject areas together as part of a hierarchy. A subject area can only have one parent but many child subject areas.- Specified by:
linkSubjectAreasInHierarchyin interfaceSubjectAreasInterface- Parameters:
userId- calling userparentSubjectAreaGUID- unique identifier of the parent subject areachildSubjectAreaGUID- unique identifier of the child subject area- Throws:
InvalidParameterException- one of the guids is null or not knownPropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problemPropertyServerException
-
unlinkSubjectAreasInHierarchy
public void unlinkSubjectAreasInHierarchy(String userId, String parentSubjectAreaGUID, String childSubjectAreaGUID) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Remove the link between two subject areas in the subject area hierarchy.- Specified by:
unlinkSubjectAreasInHierarchyin interfaceSubjectAreasInterface- Parameters:
userId- calling userparentSubjectAreaGUID- unique identifier of the parent subject areachildSubjectAreaGUID- unique identifier of the child subject area- Throws:
InvalidParameterException- one of the guids is null or not knownPropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
linkSubjectAreaToGovernanceDefinition
public void linkSubjectAreaToGovernanceDefinition(String userId, String subjectAreaGUID, String definitionGUID) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Link a subject area to a governance definition that controls how the definitions in the subject area should be governed.- Specified by:
linkSubjectAreaToGovernanceDefinitionin interfaceSubjectAreasInterface- Parameters:
userId- calling usersubjectAreaGUID- unique identifier of the subject areadefinitionGUID- unique identifier of the governance definition- Throws:
InvalidParameterException- one of the guids is null or not knownPropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
unlinkSubjectAreaFromGovernanceDefinition
public void unlinkSubjectAreaFromGovernanceDefinition(String userId, String subjectAreaGUID, String definitionGUID) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Remove the link between a subject area and a governance definition.- Specified by:
unlinkSubjectAreaFromGovernanceDefinitionin interfaceSubjectAreasInterface- Parameters:
userId- calling usersubjectAreaGUID- unique identifier of the subject areadefinitionGUID- unique identifier of the governance definition- Throws:
InvalidParameterException- one of the guids is null or not knownPropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
getSubjectAreaByGUID
public SubjectAreaElement getSubjectAreaByGUID(String userId, String subjectAreaGUID) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Return information about a specific subject area.- Specified by:
getSubjectAreaByGUIDin interfaceSubjectAreasInterface- Parameters:
userId- calling usersubjectAreaGUID- unique identifier for the subject area- Returns:
- properties of the subject area
- Throws:
InvalidParameterException- subjectAreaGUID or userId is nullPropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
getSubjectAreaByName
public SubjectAreaElement getSubjectAreaByName(String userId, String qualifiedName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Return information about a specific subject area.- Specified by:
getSubjectAreaByNamein interfaceSubjectAreasInterface- Parameters:
userId- calling userqualifiedName- unique name for the subject area- Returns:
- properties of the subject area
- Throws:
InvalidParameterException- qualifiedName or userId is nullPropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
getSubjectAreasForDomain
public List<SubjectAreaElement> getSubjectAreasForDomain(String userId, int domainIdentifier, int startFrom, int pageSize) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Return information about the defined subject areas.- Specified by:
getSubjectAreasForDomainin interfaceSubjectAreasInterface- Parameters:
userId- calling userdomainIdentifier- identifier for the desired governance domain - zero for allstartFrom- paging start pointpageSize- maximum results that can be returned- Returns:
- properties of the subject area
- Throws:
InvalidParameterException- qualifiedName or userId is nullPropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
getSubjectAreaDefinitionByGUID
public SubjectAreaDefinition getSubjectAreaDefinitionByGUID(String userId, String subjectAreaGUID) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Return information about a specific subject area and its linked governance definitions.- Specified by:
getSubjectAreaDefinitionByGUIDin interfaceSubjectAreasInterface- Parameters:
userId- calling usersubjectAreaGUID- unique identifier for the subject area- Returns:
- properties of the subject area
- Throws:
InvalidParameterException- subjectAreaGUID or userId is nullPropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
-