Class OrganizationResource
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 Summary
-
Method Summary
Modifier and TypeMethodDescriptionaddContactMethod
(String serverName, String userId, String actorProfileGUID, ContactMethodRequestBody requestBody) Add a new contact method to the profile.createActorProfile
(String serverName, String userId, ActorProfileRequestBody requestBody) Create a definition of an actor profile.createPersonRole
(String serverName, String userId, PersonRoleRequestBody requestBody) Create a definition of a person role.deleteActorProfile
(String serverName, String userId, String actorProfileGUID, ExternalSourceRequestBody requestBody) Remove the definition of an actor profile.deleteContactMethod
(String serverName, String userId, String contactMethodGUID, ExternalSourceRequestBody requestBody) Remove an obsolete contact method from the profile.deletePersonRole
(String serverName, String userId, String personRoleGUID, ExternalSourceRequestBody requestBody) Remove the definition of a person role.findActorProfile
(String serverName, String userId, int startFrom, int pageSize, SearchStringRequestBody requestBody) Retrieve the list of matching profiles for the search string.findPersonRole
(String serverName, String userId, int startFrom, int pageSize, SearchStringRequestBody requestBody) Retrieve the list of matching roles for the search string.getActorProfileByGUID
(String serverName, String userId, String actorProfileGUID) Return information about a specific actor profile.getActorProfileByUserId
(String serverName, String userId, String actorProfileUserId) Return information about a specific actor profile.getActorProfiles
(String serverName, String userId, int startFrom, int pageSize) Return all actor profiles.getActorProfilesByLocation
(String serverName, String userId, String locationGUID, int startFrom, int pageSize) Return information about a specific actor profile.getActorProfilesByName
(String serverName, String userId, int startFrom, int pageSize, NameRequestBody requestBody) Return information about a named actor profile.getAppointees
(String serverName, String userId, String personRoleGUID, int startFrom, int pageSize, EffectiveTimeRequestBody requestBody) Return the list of people appointed to a particular role.getLeadershipRolesForTeam
(String serverName, String userId, String teamGUID, int startFrom, int pageSize) Return information about a person role connected to the named team via the TeamLeadership relationship.getMembershipRolesForTeam
(String serverName, String userId, String teamGUID, int startFrom, int pageSize) Return information about a person role connected to the named team via the TeamMembership relationship.getPersonRoleByGUID
(String serverName, String userId, String personRoleGUID) Return information about a specific person role.getPersonRoleByName
(String serverName, String userId, int startFrom, int pageSize, NameRequestBody requestBody) Return information about a named person role.linkPersonRoleToProfile
(String serverName, String userId, String personRoleGUID, String personProfileGUID, AppointmentRequestBody requestBody) Link a person role to a person profile to show that that person is performing the role.linkTeamPlayer
(String serverName, String userId, String teamRoleGUID, String teamProfileGUID, TeamPlayerRequestBody requestBody) Link a team leader person role or team member person role to a team profile.linkTeamsInHierarchy
(String serverName, String userId, String superTeamProfileGUID, String subTeamProfileGUID, boolean delegationEscalationAuthority, EffectiveDatesRequestBody requestBody) Link two related team/organization actor profiles together as part of a hierarchy.unlinkPersonRoleFromProfile
(String serverName, String userId, String appointmentGUID, ExternalSourceRequestBody requestBody) Remove the link between a person role and a person profile.unlinkTeamPlayer
(String serverName, String userId, String teamRoleGUID, String teamProfileGUID, TeamPlayerRequestBody requestBody) Remove the link between a person role and a team profile.unlinkTeamsInHierarchy
(String serverName, String userId, String superTeamProfileGUID, String subTeamProfileGUID, ExternalSourceRequestBody requestBody) Remove the link between two actor profiles in the actor profile hierarchy.updateActorProfile
(String serverName, String userId, String actorProfileGUID, boolean isMergeUpdate, ActorProfileRequestBody requestBody) Update the definition of an actor profile.updateAppointment
(String serverName, String userId, String appointmentGUID, boolean isMergeUpdate, AppointmentRequestBody requestBody) Update the properties for the appointment of a person to a role.updatePersonRole
(String serverName, String userId, String personRoleGUID, boolean isMergeUpdate, PersonRoleRequestBody requestBody) Update the definition of a person role.
-
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 serveruserId
- calling userrequestBody
- 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 serveruserId
- calling useractorProfileGUID
- unique identifier of profile to updateisMergeUpdate
- 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 serveruserId
- calling useractorProfileGUID
- unique identifier of actor profilerequestBody
- 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 serveruserId
- 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 serveruserId
- 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 serveruserId
- calling usersuperTeamProfileGUID
- unique identifier of the parent team profilesubTeamProfileGUID
- unique identifier of the child team profiledelegationEscalationAuthority
- 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 serveruserId
- calling usersuperTeamProfileGUID
- unique identifier of the parent actor profilesubTeamProfileGUID
- unique identifier of the child actor profilerequestBody
- 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 serveruserId
- calling useractorProfileGUID
- 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 serveruserId
- calling useractorProfileUserId
- 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 serveruserId
- calling userstartFrom
- 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 serveruserId
- calling userlocationGUID
- unique identifier for the locationstartFrom
- 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 serveruserId
- calling userstartFrom
- 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 serveruserId
- the name of the calling user.requestBody
- RegEx string to search forstartFrom
- 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 serveruserId
- calling userrequestBody
- 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 serveruserId
- calling userpersonRoleGUID
- unique identifier of person roleisMergeUpdate
- 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 serveruserId
- calling userpersonRoleGUID
- unique identifier of person rolerequestBody
- 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 serveruserId
- calling userpersonRoleGUID
- unique identifier of the person rolepersonProfileGUID
- unique identifier of the person profilerequestBody
- 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 EffectiveTimeRequestBody requestBody) Return the list of people appointed to a particular role.- Parameters:
serverName
- called serveruserId
- calling userpersonRoleGUID
- unique identifier of the person rolestartFrom
- index of the list to start from (0 for start)pageSize
- maximum number of elements to returnrequestBody
- 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 serveruserId
- calling userappointmentGUID
- unique identifier of the appointment relationshipisMergeUpdate
- 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 serveruserId
- calling userappointmentGUID
- unique identifier of the appointment relationshiprequestBody
- 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 serveruserId
- calling userteamRoleGUID
- unique identifier of the person roleteamProfileGUID
- unique identifier of the team profilerequestBody
- 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 serveruserId
- calling userteamRoleGUID
- unique identifier of the person roleteamProfileGUID
- unique identifier of the team profilerequestBody
- 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 serveruserId
- calling userpersonRoleGUID
- 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 serveruserId
- calling userstartFrom
- 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 serveruserId
- calling userteamGUID
- unique identifier for the Team actor profilestartFrom
- 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 serveruserId
- calling userteamGUID
- unique identifier for the Team actor profilestartFrom
- 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 serveruserId
- 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.
-