java.lang.Object
org.odpi.openmetadata.accessservices.communityprofile.server.spring.OrganizationResource

@RestController @RequestMapping("/servers/{serverName}/open-metadata/access-services/community-profile/users/{userId}") public class OrganizationResource extends Object
The OrganizationResource provides a Spring based server-side REST API that supports the OrganizationManagementInterface. It delegates each request to the OrganizationRESTServices. This provides the server-side implementation of the Community Profile Open Metadata Assess Service (OMAS) which is used to manage information about people, roles and organizations.
  • Constructor Details

    • OrganizationResource

      public OrganizationResource()
      Default constructor
  • Method Details

    • createActorProfile

      @PostMapping(path="/profiles") public GUIDResponse createActorProfile(@PathVariable String serverName, @PathVariable String userId, @RequestBody ActorProfileRequestBody requestBody)
      Create a definition of an actor profile. This could be for the whole organization, a team, a person or a system.
      Parameters:
      serverName - called server
      userId - calling user
      requestBody - properties for a actor profile
      Returns:
      unique identifier of actor profile InvalidParameterException qualifiedName or userId is null; qualifiedName is not unique PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
    • updateActorProfile

      @PostMapping(path="/profiles/{actorProfileGUID}") public VoidResponse updateActorProfile(@PathVariable String serverName, @PathVariable String userId, @PathVariable String actorProfileGUID, @RequestParam boolean isMergeUpdate, @RequestBody ActorProfileRequestBody requestBody)
      Update the definition of an actor profile.
      Parameters:
      serverName - called server
      userId - calling user
      actorProfileGUID - unique identifier of profile to update
      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
    • deleteActorProfile

      @PostMapping(path="/profiles/{actorProfileGUID}/delete") public VoidResponse deleteActorProfile(@PathVariable String serverName, @PathVariable String userId, @PathVariable String actorProfileGUID, @RequestBody ExternalSourceRequestBody requestBody)
      Remove the definition of an actor profile.
      Parameters:
      serverName - called server
      userId - calling user
      actorProfileGUID - unique identifier of actor profile
      requestBody - identifiers of the software server capability entity that represented the external source - null for local
      Returns:
      void or InvalidParameterException guid or userId is null; guid is not known PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
    • addContactMethod

      @PostMapping(path="/profiles/{actorProfileGUID}/contact-methods") public GUIDResponse addContactMethod(@PathVariable String serverName, @PathVariable String userId, @PathVariable String actorProfileGUID, @RequestBody ContactMethodRequestBody requestBody)
      Add a new contact method to the profile.
      Parameters:
      serverName - called server
      userId - the name of the calling user.
      actorProfileGUID - identifier of the profile to update.
      requestBody - properties of contact method.
      Returns:
      unique identifier (guid) for the new contact method. InvalidParameterException the userId is null or invalid. Another property is invalid. PropertyServerException there is a problem retrieving information from the property server(s). UserNotAuthorizedException the requesting user is not authorized to issue this request.
    • deleteContactMethod

      @PostMapping(path="/profiles/contact-methods/{contactMethodGUID}/delete") public VoidResponse deleteContactMethod(@PathVariable String serverName, @PathVariable String userId, @PathVariable String contactMethodGUID, @RequestBody ExternalSourceRequestBody requestBody)
      Remove an obsolete contact method from the profile.
      Parameters:
      serverName - called server
      userId - the name of the calling user.
      contactMethodGUID - unique identifier (guid) for the obsolete contact method.
      requestBody - identifiers of the software server capability entity that represented the external source - null for local
      Returns:
      void or InvalidParameterException the userId is null or invalid. Another property is invalid. PropertyServerException there is a problem retrieving information from the property server(s). UserNotAuthorizedException the requesting user is not authorized to issue this request.
    • linkTeamsInHierarchy

      @PostMapping(path="/profiles/{superTeamProfileGUID}/sub-team-profiles/{subTeamProfileGUID}/link") public VoidResponse linkTeamsInHierarchy(@PathVariable String serverName, @PathVariable String userId, @PathVariable String superTeamProfileGUID, @PathVariable String subTeamProfileGUID, @RequestParam boolean delegationEscalationAuthority, @RequestBody EffectiveDatesRequestBody requestBody)
      Link two related team/organization actor profiles together as part of a hierarchy. A team/organization actor profile can only have one parent but many child actor profiles.
      Parameters:
      serverName - called server
      userId - calling user
      superTeamProfileGUID - unique identifier of the parent team profile
      subTeamProfileGUID - unique identifier of the child team profile
      delegationEscalationAuthority - can workflows delegate/escalate through this link?
      requestBody - identifiers of the software server capability entity that represented the external source - null for local
      Returns:
      void or InvalidParameterException one of the guids is null or not known PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
    • unlinkTeamsInHierarchy

      @PostMapping(path="/profiles/{superTeamProfileGUID}/sub-team-profiles/{subTeamProfileGUID}/unlink") public VoidResponse unlinkTeamsInHierarchy(@PathVariable String serverName, @PathVariable String userId, @PathVariable String superTeamProfileGUID, @PathVariable String subTeamProfileGUID, @RequestBody ExternalSourceRequestBody requestBody)
      Remove the link between two actor profiles in the actor profile hierarchy.
      Parameters:
      serverName - called server
      userId - calling user
      superTeamProfileGUID - unique identifier of the parent actor profile
      subTeamProfileGUID - unique identifier of the child actor profile
      requestBody - identifiers of the software server capability entity that represented the external source - null for local
      Returns:
      void or InvalidParameterException one of the guids is null or not known PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
    • getActorProfileByGUID

      @GetMapping(path="/profiles/{actorProfileGUID}") public ActorProfileResponse getActorProfileByGUID(@PathVariable String serverName, @PathVariable String userId, @PathVariable String actorProfileGUID)
      Return information about a specific actor profile.
      Parameters:
      serverName - called server
      userId - calling user
      actorProfileGUID - unique identifier for the actor profile
      Returns:
      properties of the actor profile InvalidParameterException actorProfileGUID or userId is null PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
    • getActorProfileByUserId

      @GetMapping(path="/profiles/user-ids/{actorProfileUserId}") public ActorProfileResponse getActorProfileByUserId(@PathVariable String serverName, @PathVariable String userId, @PathVariable String actorProfileUserId)
      Return information about a specific actor profile.
      Parameters:
      serverName - called server
      userId - calling user
      actorProfileUserId - unique identifier for the userId
      Returns:
      properties of the actor profile InvalidParameterException actorProfileUserId or userId is null PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
    • getActorProfiles

      @GetMapping(path="/profiles") public ActorProfilesResponse getActorProfiles(@PathVariable String serverName, @PathVariable String userId, @RequestParam int startFrom, @RequestParam int pageSize)
      Return all actor profiles.
      Parameters:
      serverName - called server
      userId - calling user
      startFrom - index of the list to start from (0 for start)
      pageSize - maximum number of elements to return.
      Returns:
      list of the actor profiles InvalidParameterException actorProfileUserId or userId is null PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
    • getActorProfilesByLocation

      @GetMapping(path="/profiles/locations/{locationGUID}") public ActorProfilesResponse getActorProfilesByLocation(@PathVariable String serverName, @PathVariable String userId, @PathVariable String locationGUID, @RequestParam int startFrom, @RequestParam int pageSize)
      Return information about a specific actor profile.
      Parameters:
      serverName - called server
      userId - calling user
      locationGUID - unique identifier for the location
      startFrom - index of the list to start from (0 for start)
      pageSize - maximum number of elements to return.
      Returns:
      properties of the actor profile InvalidParameterException actorProfileUserId or userId is null PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
    • getActorProfilesByName

      @PostMapping(path="/profiles/by-name") public ActorProfilesResponse getActorProfilesByName(@PathVariable String serverName, @PathVariable String userId, @RequestParam int startFrom, @RequestParam int pageSize, @RequestBody NameRequestBody requestBody)
      Return information about a named actor profile.
      Parameters:
      serverName - called server
      userId - calling user
      startFrom - index of the list to start from (0 for start)
      pageSize - maximum number of elements to return.
      requestBody - unique name for the actor profile
      Returns:
      list of matching actor profiles (hopefully only one) InvalidParameterException name or userId is null PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
    • findActorProfile

      @PostMapping(path="/profiles/by-search-string") public ActorProfilesResponse findActorProfile(@PathVariable String serverName, @PathVariable String userId, @RequestParam int startFrom, @RequestParam int pageSize, @RequestBody SearchStringRequestBody requestBody)
      Retrieve the list of matching profiles for the search string.
      Parameters:
      serverName - called server
      userId - the name of the calling user.
      requestBody - RegEx string to search for
      startFrom - index of the list to start from (0 for start)
      pageSize - maximum number of elements to return.
      Returns:
      list of matching actor profiles InvalidParameterException guid invalid or the external references are not correctly specified, or are null. PropertyServerException the server is not available. UserNotAuthorizedException the calling user is not authorized to issue the call.
    • createPersonRole

      @PostMapping(path="/person-roles") public GUIDResponse createPersonRole(@PathVariable String serverName, @PathVariable String userId, @RequestBody PersonRoleRequestBody requestBody)
      Create a definition of a person role.
      Parameters:
      serverName - called server
      userId - calling user
      requestBody - properties for a person role
      Returns:
      unique identifier of person role InvalidParameterException qualifiedName or userId is null; qualifiedName is not unique PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
    • updatePersonRole

      @PostMapping(path="/person-roles/{personRoleGUID}") public VoidResponse updatePersonRole(@PathVariable String serverName, @PathVariable String userId, @PathVariable String personRoleGUID, @RequestParam boolean isMergeUpdate, @RequestBody PersonRoleRequestBody requestBody)
      Update the definition of a person role.
      Parameters:
      serverName - called server
      userId - calling user
      personRoleGUID - unique identifier of person role
      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
    • deletePersonRole

      @PostMapping(path="/person-roles/{personRoleGUID}/delete") public VoidResponse deletePersonRole(@PathVariable String serverName, @PathVariable String userId, @PathVariable String personRoleGUID, @RequestBody ExternalSourceRequestBody requestBody)
      Remove the definition of a person role.
      Parameters:
      serverName - called server
      userId - calling user
      personRoleGUID - unique identifier of person role
      requestBody - identifiers of the software server capability entity that represented the external source - null for local
      Returns:
      void or InvalidParameterException guid or userId is null; guid is not known PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
    • linkPersonRoleToProfile

      @PostMapping(path="/person-roles/{personRoleGUID}/profiles/{personProfileGUID}/link") public GUIDResponse linkPersonRoleToProfile(@PathVariable String serverName, @PathVariable String userId, @PathVariable String personRoleGUID, @PathVariable String personProfileGUID, @RequestBody AppointmentRequestBody requestBody)
      Link a person role to a person profile to show that that person is performing the role.
      Parameters:
      serverName - called server
      userId - calling user
      personRoleGUID - unique identifier of the person role
      personProfileGUID - unique identifier of the person profile
      requestBody - identifiers of the software server capability entity that represented the external source - null for local
      Returns:
      appointment unique identifier or InvalidParameterException one of the guids is null or not known PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
    • getAppointees

      @PostMapping(path="/person-roles/{personRoleGUID}/appointees") public AppointeesResponse getAppointees(@PathVariable String serverName, @PathVariable String userId, @PathVariable String personRoleGUID, @RequestParam int startFrom, @RequestParam int pageSize, @RequestBody ResultsRequestBody requestBody)
      Return the list of people appointed to a particular role.
      Parameters:
      serverName - called server
      userId - calling user
      personRoleGUID - unique identifier of the person role
      startFrom - index of the list to start from (0 for start)
      pageSize - maximum number of elements to return
      requestBody - time for appointments, null for full appointment history
      Returns:
      list of appointees or InvalidParameterException one of the guids is null or not known PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
    • updateAppointment

      @PostMapping(path="/person-roles/appointees/{appointmentGUID}") public VoidResponse updateAppointment(@PathVariable String serverName, @PathVariable String userId, @PathVariable String appointmentGUID, @RequestParam boolean isMergeUpdate, @RequestBody AppointmentRequestBody requestBody)
      Update the properties for the appointment of a person to a role.
      Parameters:
      serverName - called server
      userId - calling user
      appointmentGUID - unique identifier of the appointment relationship
      isMergeUpdate - are unspecified properties unchanged (true) or replaced with null?
      requestBody - properties to change
      Returns:
      void or InvalidParameterException one of the guids is null or not known PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
    • unlinkPersonRoleFromProfile

      @PostMapping(path="/person-roles/appointees/{appointmentGUID}/unlink") public VoidResponse unlinkPersonRoleFromProfile(@PathVariable String serverName, @PathVariable String userId, @PathVariable String appointmentGUID, @RequestBody ExternalSourceRequestBody requestBody)
      Remove the link between a person role and a person profile.
      Parameters:
      serverName - called server
      userId - calling user
      appointmentGUID - unique identifier of the appointment relationship
      requestBody - identifiers of the software server capability entity that represented the external source - null for local
      Returns:
      void or InvalidParameterException one of the guids is null or not known PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
    • linkTeamPlayer

      @PostMapping(path="/team-profiles/{teamProfileGUID}/team-roles/{teamRoleGUID}/link") public VoidResponse linkTeamPlayer(@PathVariable String serverName, @PathVariable String userId, @PathVariable String teamRoleGUID, @PathVariable String teamProfileGUID, @RequestBody TeamPlayerRequestBody requestBody)
      Link a team leader person role or team member person role to a team profile.
      Parameters:
      serverName - called server
      userId - calling user
      teamRoleGUID - unique identifier of the person role
      teamProfileGUID - unique identifier of the team profile
      requestBody - identifiers of the software server capability entity that represented the external source - null for local
      Returns:
      void or InvalidParameterException one of the guids is null or not known; the person role is not a team member or team leader PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
    • unlinkTeamPlayer

      @PostMapping(path="/team-profiles/{teamProfileGUID}/team-roles/{teamRoleGUID}/unlink") public VoidResponse unlinkTeamPlayer(@PathVariable String serverName, @PathVariable String userId, @PathVariable String teamRoleGUID, @PathVariable String teamProfileGUID, @RequestBody TeamPlayerRequestBody requestBody)
      Remove the link between a person role and a team profile.
      Parameters:
      serverName - called server
      userId - calling user
      teamRoleGUID - unique identifier of the person role
      teamProfileGUID - unique identifier of the team profile
      requestBody - identifiers of the software server capability entity that represented the external source - null for local
      Returns:
      void or InvalidParameterException one of the guids is null or not known; the person role is not a team member or team leader PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
    • getPersonRoleByGUID

      @GetMapping(path="/person-roles/{personRoleGUID}") public PersonRoleResponse getPersonRoleByGUID(@PathVariable String serverName, @PathVariable String userId, @PathVariable String personRoleGUID)
      Return information about a specific person role.
      Parameters:
      serverName - called server
      userId - calling user
      personRoleGUID - unique identifier for the person role
      Returns:
      properties of the person role InvalidParameterException personRoleGUID or userId is null PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
    • getPersonRoleByName

      @PostMapping(path="/person-roles/by-name") public PersonRolesResponse getPersonRoleByName(@PathVariable String serverName, @PathVariable String userId, @RequestParam int startFrom, @RequestParam int pageSize, @RequestBody NameRequestBody requestBody)
      Return information about a named person role.
      Parameters:
      serverName - called server
      userId - calling user
      startFrom - index of the list to start from (0 for start)
      pageSize - maximum number of elements to return.
      requestBody - unique name for the actor profile
      Returns:
      list of matching person roles InvalidParameterException name or userId is null PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
    • getLeadershipRolesForTeam

      @GetMapping(path="/person-roles/by-team/{teamGUID}/leadership") public PersonRolesResponse getLeadershipRolesForTeam(@PathVariable String serverName, @PathVariable String userId, @PathVariable String teamGUID, @RequestParam int startFrom, @RequestParam int pageSize)
      Return information about a person role connected to the named team via the TeamLeadership relationship.
      Parameters:
      serverName - called server
      userId - calling user
      teamGUID - unique identifier for the Team actor profile
      startFrom - index of the list to start from (0 for start)
      pageSize - maximum number of elements to return.
      Returns:
      list of matching person roles InvalidParameterException name or userId is null PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
    • getMembershipRolesForTeam

      @GetMapping(path="/person-roles/by-team/{teamGUID}/membership") public PersonRolesResponse getMembershipRolesForTeam(@PathVariable String serverName, @PathVariable String userId, @PathVariable String teamGUID, @RequestParam int startFrom, @RequestParam int pageSize)
      Return information about a person role connected to the named team via the TeamMembership relationship.
      Parameters:
      serverName - called server
      userId - calling user
      teamGUID - unique identifier for the Team actor profile
      startFrom - index of the list to start from (0 for start)
      pageSize - maximum number of elements to return.
      Returns:
      list of matching person roles InvalidParameterException name or userId is null PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
    • findPersonRole

      @PostMapping(path="/person-roles/by-search-string") public PersonRolesResponse findPersonRole(@PathVariable String serverName, @PathVariable String userId, @RequestParam int startFrom, @RequestParam int pageSize, @RequestBody SearchStringRequestBody requestBody)
      Retrieve the list of matching roles for the search string.
      Parameters:
      serverName - called server
      userId - the name of the calling user.
      startFrom - index of the list to start from (0 for start)
      pageSize - maximum number of elements to return.
      requestBody - RegEx string to search for
      Returns:
      list of matching person roles InvalidParameterException guid invalid or the external references are not correctly specified, or are null. PropertyServerException the server is not available. UserNotAuthorizedException the calling user is not authorized to issue the call.