Class SubjectAreaResource
java.lang.Object
org.odpi.openmetadata.accessservices.governanceprogram.server.spring.SubjectAreaResource
@RestController
@RequestMapping("/servers/{serverName}/open-metadata/access-services/governance-program/users/{userId}")
public class SubjectAreaResource
extends Object
The SubjectAreasResource provides a Spring based server-side REST API
that supports the SubjectAreasInterface. It delegates each request to the
SubjectAreaRESTServices.
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionaddSubjectAreaMemberClassification
(String serverName, String userId, String elementGUID, ClassificationRequestBody requestBody) Add a subject area classification to a referenceable element.createSubjectArea
(String serverName, String userId, ReferenceableRequestBody requestBody) Create a definition of a subject area.deleteSubjectArea
(String serverName, String userId, String subjectAreaGUID, ExternalSourceRequestBody requestBody) Remove the definition of a subject area.deleteSubjectAreaMemberClassification
(String serverName, String userId, String elementGUID, ExternalSourceRequestBody requestBody) Remove a subject area classification from a referenceable.getMembersOfSubjectArea
(String serverName, String userId, String subjectAreaName, int startFrom, int pageSize) Return information about the contents of a subject area such as the glossaries, reference data sets and quality definitions.getSubjectAreaByGUID
(String serverName, String userId, String subjectAreaGUID) Return information about a specific subject area.getSubjectAreaByName
(String serverName, String userId, String qualifiedName) Return information about a specific subject area.getSubjectAreaDefinitionByGUID
(String serverName, String userId, String subjectAreaGUID) Return information about a specific subject area and its linked governance definitions.getSubjectAreasForDomain
(String serverName, String userId, int domainIdentifier, int startFrom, int pageSize) Return information about the defined subject areas.linkSubjectAreasInHierarchy
(String serverName, String userId, String parentSubjectAreaGUID, String childSubjectAreaGUID, RelationshipRequestBody requestBody) Link two related subject areas together as part of a hierarchy.linkSubjectAreaToGovernanceDefinition
(String serverName, String userId, String subjectAreaGUID, String definitionGUID, RelationshipRequestBody requestBody) Link a subject area to a governance definition that controls how the assets in the subject area should be governed.unlinkSubjectAreaFromGovernanceDefinition
(String serverName, String userId, String subjectAreaGUID, String definitionGUID, RelationshipRequestBody requestBody) Remove the link between a subject area and a governance definition.unlinkSubjectAreasInHierarchy
(String serverName, String userId, String parentSubjectAreaGUID, String childSubjectAreaGUID, RelationshipRequestBody requestBody) Remove the link between two subject areas in the subject area hierarchy.updateSubjectArea
(String serverName, String userId, String subjectAreaGUID, boolean isMergeUpdate, ReferenceableRequestBody requestBody) Update the definition of a subject area.
-
Constructor Details
-
SubjectAreaResource
public SubjectAreaResource()Default constructor
-
-
Method Details
-
createSubjectArea
@PostMapping(path="/subject-areas") public GUIDResponse createSubjectArea(@PathVariable String serverName, @PathVariable String userId, @RequestBody ReferenceableRequestBody requestBody) Create a definition of a subject area.- Parameters:
serverName
- name of the server instance to connect touserId
- calling userrequestBody
- properties to store- Returns:
- unique identifier of the new subject area or InvalidParameterException full path or userId is null or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem
-
updateSubjectArea
@PostMapping(path="/subject-areas/{subjectAreaGUID}") public VoidResponse updateSubjectArea(@PathVariable String serverName, @PathVariable String userId, @PathVariable String subjectAreaGUID, @RequestParam boolean isMergeUpdate, @RequestBody ReferenceableRequestBody requestBody) Update the definition of a subject area.- Parameters:
serverName
- name of the server instance to connect touserId
- calling usersubjectAreaGUID
- unique identifier of subject areaisMergeUpdate
- are unspecified properties unchanged (true) or replaced with null?requestBody
- properties to change- Returns:
- void or InvalidParameterException guid, qualifiedName or userId is null; qualifiedName is not unique; guid is not known PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
-
deleteSubjectArea
@PostMapping(path="/subject-areas/{subjectAreaGUID}/delete") public VoidResponse deleteSubjectArea(@PathVariable String serverName, @PathVariable String userId, @PathVariable String subjectAreaGUID, @RequestBody(required=false) ExternalSourceRequestBody requestBody) Remove the definition of a subject area.- Parameters:
serverName
- name of the server instance to connect touserId
- calling usersubjectAreaGUID
- unique identifier of subject arearequestBody
- external source requestBody- Returns:
- void or InvalidParameterException guid or userId is null; guid is not known PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
-
linkSubjectAreasInHierarchy
@PostMapping(path="/subject-areas/{parentSubjectAreaGUID}/nested-subject-area/{childSubjectAreaGUID}/link") public VoidResponse linkSubjectAreasInHierarchy(@PathVariable String serverName, @PathVariable String userId, @PathVariable String parentSubjectAreaGUID, @PathVariable String childSubjectAreaGUID, @RequestBody(required=false) RelationshipRequestBody requestBody) Link two related subject areas together as part of a hierarchy. A subject area can only have one parent but many child subject areas.- Parameters:
serverName
- name of the server instance to connect touserId
- calling userparentSubjectAreaGUID
- unique identifier of the parent subject areachildSubjectAreaGUID
- unique identifier of the child subject arearequestBody
- relationship requestBody- Returns:
- void or InvalidParameterException one of the guids is null or not known PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
-
unlinkSubjectAreasInHierarchy
@PostMapping(path="/subject-areas/{parentSubjectAreaGUID}/nested-subject-area/{childSubjectAreaGUID}/unlink") public VoidResponse unlinkSubjectAreasInHierarchy(@PathVariable String serverName, @PathVariable String userId, @PathVariable String parentSubjectAreaGUID, @PathVariable String childSubjectAreaGUID, @RequestBody(required=false) RelationshipRequestBody requestBody) Remove the link between two subject areas in the subject area hierarchy.- Parameters:
serverName
- name of the server instance to connect touserId
- calling userparentSubjectAreaGUID
- unique identifier of the parent subject areachildSubjectAreaGUID
- unique identifier of the child subject arearequestBody
- relationship requestBody- Returns:
- void or InvalidParameterException one of the guids is null or not known PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
-
linkSubjectAreaToGovernanceDefinition
@PostMapping(path="/subject-areas/{subjectAreaGUID}/governed-by/{definitionGUID}/link") public VoidResponse linkSubjectAreaToGovernanceDefinition(@PathVariable String serverName, @PathVariable String userId, @PathVariable String subjectAreaGUID, @PathVariable String definitionGUID, @RequestBody(required=false) RelationshipRequestBody requestBody) Link a subject area to a governance definition that controls how the assets in the subject area should be governed.- Parameters:
serverName
- name of the server instance to connect touserId
- calling usersubjectAreaGUID
- unique identifier of the subject areadefinitionGUID
- unique identifier of the governance definitionrequestBody
- relationship requestBody- Returns:
- void or InvalidParameterException one of the guids is null or not known PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
-
unlinkSubjectAreaFromGovernanceDefinition
@PostMapping(path="/subject-areas/{subjectAreaGUID}/governed-by/{definitionGUID}/unlink") public VoidResponse unlinkSubjectAreaFromGovernanceDefinition(@PathVariable String serverName, @PathVariable String userId, @PathVariable String subjectAreaGUID, @PathVariable String definitionGUID, @RequestBody(required=false) RelationshipRequestBody requestBody) Remove the link between a subject area and a governance definition.- Parameters:
serverName
- name of the server instance to connect touserId
- calling usersubjectAreaGUID
- unique identifier of the subject areadefinitionGUID
- unique identifier of the governance definitionrequestBody
- relationship requestBody- Returns:
- void or InvalidParameterException one of the guids is null or not known PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
-
getSubjectAreaByGUID
@GetMapping(path="/subject-areas/{subjectAreaGUID}") public SubjectAreaResponse getSubjectAreaByGUID(@PathVariable String serverName, @PathVariable String userId, @PathVariable String subjectAreaGUID) Return information about a specific subject area.- Parameters:
serverName
- name of the server instance to connect touserId
- calling usersubjectAreaGUID
- unique identifier for the subject area- Returns:
- properties of the subject area or InvalidParameterException subjectAreaGUID or userId is null PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
-
getSubjectAreaByName
@GetMapping(path="/subject-areas/name/{qualifiedName}") public SubjectAreaResponse getSubjectAreaByName(@PathVariable String serverName, @PathVariable String userId, @PathVariable String qualifiedName) Return information about a specific subject area.- Parameters:
serverName
- name of the server instance to connect touserId
- calling userqualifiedName
- unique name for the subject area- Returns:
- properties of the subject area or InvalidParameterException qualifiedName or userId is null PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
-
getSubjectAreasForDomain
@GetMapping(path="/subject-areas/for-domain") public SubjectAreasResponse getSubjectAreasForDomain(@PathVariable String serverName, @PathVariable String userId, @RequestParam int domainIdentifier, @RequestParam int startFrom, @RequestParam int pageSize) Return information about the defined subject areas.- Parameters:
serverName
- name of the server instance to connect touserId
- calling userdomainIdentifier
- identifier for the desired governance domainstartFrom
- paging start pointpageSize
- maximum results that can be returned- Returns:
- properties of the subject area or InvalidParameterException qualifiedName or userId is null PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
-
getSubjectAreaDefinitionByGUID
@GetMapping(path="/subject-areas/{subjectAreaGUID}/with-definitions") public SubjectAreaDefinitionResponse getSubjectAreaDefinitionByGUID(@PathVariable String serverName, @PathVariable String userId, @PathVariable String subjectAreaGUID) Return information about a specific subject area and its linked governance definitions.- Parameters:
serverName
- name of the server instance to connect touserId
- calling usersubjectAreaGUID
- unique identifier for the subject area- Returns:
- properties of the subject area linked to the associated governance definitions or InvalidParameterException subjectAreaGUID or userId is null PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
-
addSubjectAreaMemberClassification
@PostMapping(path="/elements/{elementGUID}/subject-area") public VoidResponse addSubjectAreaMemberClassification(@PathVariable String serverName, @PathVariable String userId, @PathVariable String elementGUID, @RequestBody ClassificationRequestBody requestBody) Add a subject area classification to a referenceable element.- Parameters:
serverName
- name of the server instance to connect touserId
- calling userelementGUID
- unique identifier for the elementrequestBody
- identifier for a subject area- Returns:
- void or InvalidParameterException qualifiedName or userId is null; qualifiedName is not unique PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
-
deleteSubjectAreaMemberClassification
@PostMapping(path="/elements/{elementGUID}/subject-area/delete") public VoidResponse deleteSubjectAreaMemberClassification(@PathVariable String serverName, @PathVariable String userId, @PathVariable String elementGUID, @RequestBody ExternalSourceRequestBody requestBody) Remove a subject area classification from a referenceable.- Parameters:
serverName
- name of the server instance to connect touserId
- calling userelementGUID
- unique identifier for the elementrequestBody
- external source request body- Returns:
- void or InvalidParameterException guid or userId is null; guid is not known PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
-
getMembersOfSubjectArea
@GetMapping(path="/subject-areas/{subjectAreaName}/members") public ElementStubsResponse getMembersOfSubjectArea(@PathVariable String serverName, @PathVariable String userId, @PathVariable String subjectAreaName, @RequestParam int startFrom, @RequestParam int pageSize) Return information about the contents of a subject area such as the glossaries, reference data sets and quality definitions.- Parameters:
serverName
- name of the server instance to connect touserId
- calling usersubjectAreaName
- unique identifier for the subject areastartFrom
- paging start pointpageSize
- maximum results that can be returned- Returns:
- list of subject area members or InvalidParameterException qualifiedName or userId is null PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
-