Class 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 Detail

      • SubjectAreaResource

        public SubjectAreaResource()
        Default constructor
    • Method Detail

      • createSubjectArea

        @PostMapping(path="/subject-areas")
        public GUIDResponse createSubjectArea​(@PathVariable
                                              String serverName,
                                              @PathVariable
                                              String userId,
                                              @RequestBody
                                              SubjectAreaProperties requestBody)
        Create a definition of a subject area.
        Parameters:
        serverName - name of the server instance to connect to
        userId - calling user
        requestBody - other properties for a subject area
        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
                                              SubjectAreaProperties 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)
                                              NullRequestBody 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 - null 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)
                                                        NullRequestBody 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 - null 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)
                                                          NullRequestBody 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 - null 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)
                                                                  NullRequestBody 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 - null 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)
                                                                      NullRequestBody 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 - null 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 SubjectAreaListResponse 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