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 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 to
      userId - calling user
      requestBody - 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 to
      userId - calling user
      subjectAreaGUID - unique identifier of subject area
      isMergeUpdate - 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 to
      userId - calling user
      subjectAreaGUID - unique identifier of subject area
      requestBody - 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 to
      userId - calling user
      parentSubjectAreaGUID - unique identifier of the parent subject area
      childSubjectAreaGUID - unique identifier of the child subject area
      requestBody - 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 to
      userId - calling user
      parentSubjectAreaGUID - unique identifier of the parent subject area
      childSubjectAreaGUID - unique identifier of the child subject area
      requestBody - 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 to
      userId - calling user
      subjectAreaGUID - unique identifier of the subject area
      definitionGUID - unique identifier of the governance definition
      requestBody - 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 to
      userId - calling user
      subjectAreaGUID - unique identifier of the subject area
      definitionGUID - unique identifier of the governance definition
      requestBody - 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 to
      userId - calling user
      subjectAreaGUID - 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 to
      userId - calling user
      qualifiedName - 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 to
      userId - calling user
      domainIdentifier - identifier for the desired governance domain
      startFrom - paging start point
      pageSize - 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 to
      userId - calling user
      subjectAreaGUID - 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 to
      userId - calling user
      elementGUID - unique identifier for the element
      requestBody - 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 to
      userId - calling user
      elementGUID - unique identifier for the element
      requestBody - 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 to
      userId - calling user
      subjectAreaName - unique identifier for the subject area
      startFrom - paging start point
      pageSize - 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