Class OrganizationRESTServices

java.lang.Object
org.odpi.openmetadata.accessservices.communityprofile.server.OrganizationRESTServices

public class OrganizationRESTServices extends Object
The OrganizationRESTServices provides the server-side implementation of the Community Profile Open Metadata Assess Service (OMAS) capability for organization management. This interface provides support for creating all types of actor profiles and associated user roles in order to describe the structure of an organization.
  • Constructor Details

    • OrganizationRESTServices

      public OrganizationRESTServices()
      Default constructor
  • Method Details

    • createActorProfile

      public GUIDResponse createActorProfile(String serverName, String userId, 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

      public VoidResponse updateActorProfile(String serverName, String userId, String actorProfileGUID, boolean isMergeUpdate, ActorProfileRequestBody requestBody)
      Update the definition of an actor profile.
      Parameters:
      serverName - called server
      userId - calling user
      actorProfileGUID - unique identifier of actor profile
      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

      public VoidResponse deleteActorProfile(String serverName, String userId, String actorProfileGUID, 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

      public GUIDResponse addContactMethod(String serverName, String userId, String actorProfileGUID, 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

      public VoidResponse deleteContactMethod(String serverName, String userId, String contactMethodGUID, 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

      public VoidResponse 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. 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

      public VoidResponse unlinkTeamsInHierarchy(String serverName, String userId, String superTeamProfileGUID, String subTeamProfileGUID, 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

      public ActorProfileResponse getActorProfileByGUID(String serverName, String userId, 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

      public ActorProfileResponse getActorProfileByUserId(String serverName, String userId, String actorProfileUserId)
      Return information about a specific actor profile.
      Parameters:
      serverName - called server
      userId - calling user
      actorProfileUserId - unique identifier for the actor profile
      Returns:
      properties of the actor profile InvalidParameterException actorProfileUserId or userId is null PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
    • getActorProfilesByName

      public ActorProfilesResponse getActorProfilesByName(String serverName, String userId, int startFrom, int pageSize, NameRequestBody requestBody)
      Return information about a named 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.
      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
    • getActorProfiles

      public ActorProfilesResponse getActorProfiles(String serverName, String userId, int startFrom, 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 matching actor profiles (hopefully only one) InvalidParameterException name or userId is null PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
    • getActorProfilesByLocation

      public ActorProfilesResponse getActorProfilesByLocation(String serverName, String userId, String locationGUID, int startFrom, int pageSize)
      Return information about a named actor profiles.
      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:
      list of matching actor profiles (hopefully only one) InvalidParameterException name or userId is null PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
    • findActorProfiles

      public ActorProfilesResponse findActorProfiles(String serverName, String userId, int startFrom, int pageSize, SearchStringRequestBody requestBody)
      Retrieve the list of matching profiles 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 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

      public GUIDResponse createPersonRole(String serverName, String userId, 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

      public VoidResponse updatePersonRole(String serverName, String userId, String personRoleGUID, boolean isMergeUpdate, 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

      public VoidResponse deletePersonRole(String serverName, String userId, String personRoleGUID, 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

      public GUIDResponse 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.
      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:
      void or InvalidParameterException one of the guids is null or not known PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
    • getAppointees

      public AppointeesResponse getAppointees(String serverName, String userId, String personRoleGUID, int startFrom, int pageSize, EffectiveTimeRequestBody 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

      public VoidResponse updateAppointment(String serverName, String userId, String appointmentGUID, boolean isMergeUpdate, 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

      public VoidResponse unlinkPersonRoleFromProfile(String serverName, String userId, String appointmentGUID, 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

      public VoidResponse 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.
      Parameters:
      serverName - called server
      userId - calling user
      teamRoleGUID - unique identifier of the person role
      teamProfileGUID - unique identifier of the team profile
      requestBody - properties for the relationship
      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

      public VoidResponse unlinkTeamPlayer(String serverName, String userId, String teamRoleGUID, String teamProfileGUID, 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

      public PersonRoleResponse getPersonRoleByGUID(String serverName, String userId, 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

      public PersonRolesResponse getPersonRoleByName(String serverName, String userId, int startFrom, int pageSize, 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 (hopefully only one) InvalidParameterException name or userId is null PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
    • getLeadershipRolesForTeam

      public PersonRolesResponse 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.
      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

      public PersonRolesResponse 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.
      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
    • findPersonRoles

      public PersonRolesResponse findPersonRoles(String serverName, String userId, int startFrom, int pageSize, 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 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.