java.lang.Object
org.odpi.openmetadata.accessservices.projectmanagement.client.ProjectManagementBaseClient
org.odpi.openmetadata.accessservices.projectmanagement.client.ProjectManagement
All Implemented Interfaces:
org.odpi.openmetadata.accessservices.projectmanagement.api.ProjectsInterface, org.odpi.openmetadata.accessservices.projectmanagement.api.RelatedElementsInterface

public class ProjectManagement extends ProjectManagementBaseClient implements org.odpi.openmetadata.accessservices.projectmanagement.api.ProjectsInterface
ProjectManagerClient supports the APIs to maintain projects and their related objects.
  • Constructor Details

    • ProjectManagement

      public ProjectManagement(String serverName, String serverPlatformURLRoot, org.odpi.openmetadata.frameworks.auditlog.AuditLog auditLog) throws org.odpi.openmetadata.frameworks.connectors.ffdc.InvalidParameterException
      Create a new client with no authentication embedded in the HTTP request.
      Parameters:
      serverName - name of the server to connect to
      serverPlatformURLRoot - the network address of the server running the OMAS REST services
      auditLog - logging destination
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.InvalidParameterException - there is a problem creating the client-side components to issue any REST API calls.
    • ProjectManagement

      public ProjectManagement(String serverName, String serverPlatformURLRoot) throws org.odpi.openmetadata.frameworks.connectors.ffdc.InvalidParameterException
      Create a new client with no authentication embedded in the HTTP request.
      Parameters:
      serverName - name of the server to connect to
      serverPlatformURLRoot - the network address of the server running the OMAS REST services
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.InvalidParameterException - there is a problem creating the client-side components to issue any REST API calls.
    • ProjectManagement

      public ProjectManagement(String serverName, String serverPlatformURLRoot, String userId, String password) throws org.odpi.openmetadata.frameworks.connectors.ffdc.InvalidParameterException
      Create a new client that passes userId and password in each HTTP request. This is the userId/password of the calling server. The end user's userId is sent on each request.
      Parameters:
      serverName - name of the server to connect to
      serverPlatformURLRoot - the network address of the server running the OMAS REST services
      userId - caller's userId embedded in all HTTP requests
      password - caller's userId embedded in all HTTP requests
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.InvalidParameterException - there is a problem creating the client-side components to issue any REST API calls.
    • ProjectManagement

      public ProjectManagement(String serverName, String serverPlatformURLRoot, String userId, String password, org.odpi.openmetadata.frameworks.auditlog.AuditLog auditLog) throws org.odpi.openmetadata.frameworks.connectors.ffdc.InvalidParameterException
      Create a new client that passes userId and password in each HTTP request. This is the userId/password of the calling server. The end user's userId is sent on each request.
      Parameters:
      serverName - name of the server to connect to
      serverPlatformURLRoot - the network address of the server running the OMAS REST services
      userId - caller's userId embedded in all HTTP requests
      password - caller's userId embedded in all HTTP requests
      auditLog - logging destination
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.InvalidParameterException - there is a problem creating the client-side components to issue any REST API calls.
    • ProjectManagement

      public ProjectManagement(String serverName, String serverPlatformURLRoot, ProjectManagementRESTClient restClient, int maxPageSize) throws org.odpi.openmetadata.frameworks.connectors.ffdc.InvalidParameterException
      Create a new client that is going to be used in an OMAG Server.
      Parameters:
      serverName - name of the server to connect to
      serverPlatformURLRoot - the network address of the server running the OMAS REST services
      restClient - client that issues the REST API calls
      maxPageSize - maximum number of results supported by this server
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.InvalidParameterException - there is a problem creating the client-side components to issue any REST API calls.
  • Method Details

    • createProject

      public String createProject(String userId, String externalSourceGUID, String externalSourceName, org.odpi.openmetadata.accessservices.projectmanagement.properties.ProjectProperties projectProperties) throws org.odpi.openmetadata.frameworks.connectors.ffdc.InvalidParameterException, org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException, org.odpi.openmetadata.frameworks.connectors.ffdc.PropertyServerException
      Create a new metadata element to represent a project.
      Specified by:
      createProject in interface org.odpi.openmetadata.accessservices.projectmanagement.api.ProjectsInterface
      Parameters:
      userId - calling user
      externalSourceGUID - unique identifier of software capability representing the caller
      externalSourceName - unique name of software capability representing the caller
      projectProperties - properties about the project to store
      Returns:
      unique identifier of the new project
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.InvalidParameterException - one of the parameters is invalid
      org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException - the user is not authorized to issue this request
      org.odpi.openmetadata.frameworks.connectors.ffdc.PropertyServerException - there is a problem reported in the open metadata server(s)
    • createProjectFromTemplate

      public String createProjectFromTemplate(String userId, String externalSourceGUID, String externalSourceName, String templateGUID, org.odpi.openmetadata.accessservices.projectmanagement.properties.TemplateProperties templateProperties) throws org.odpi.openmetadata.frameworks.connectors.ffdc.InvalidParameterException, org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException, org.odpi.openmetadata.frameworks.connectors.ffdc.PropertyServerException
      Create a new metadata element to represent a project using an existing metadata element as a template.
      Specified by:
      createProjectFromTemplate in interface org.odpi.openmetadata.accessservices.projectmanagement.api.ProjectsInterface
      Parameters:
      userId - calling user
      externalSourceGUID - unique identifier of software capability representing the caller
      externalSourceName - unique name of software capability representing the caller
      templateGUID - unique identifier of the metadata element to copy
      templateProperties - properties that override the template
      Returns:
      unique identifier of the new project
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.InvalidParameterException - one of the parameters is invalid
      org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException - the user is not authorized to issue this request
      org.odpi.openmetadata.frameworks.connectors.ffdc.PropertyServerException - there is a problem reported in the open metadata server(s)
    • updateProject

      public void updateProject(String userId, String externalSourceGUID, String externalSourceName, String projectGUID, boolean isMergeUpdate, org.odpi.openmetadata.accessservices.projectmanagement.properties.ProjectProperties projectProperties) throws org.odpi.openmetadata.frameworks.connectors.ffdc.InvalidParameterException, org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException, org.odpi.openmetadata.frameworks.connectors.ffdc.PropertyServerException
      Update the metadata element representing a project. It is possible to use the subtype property classes or set up specialized properties in extended properties.
      Specified by:
      updateProject in interface org.odpi.openmetadata.accessservices.projectmanagement.api.ProjectsInterface
      Parameters:
      userId - calling user
      externalSourceGUID - unique identifier of software capability representing the caller
      externalSourceName - unique name of software capability representing the caller
      projectGUID - unique identifier of the metadata element to update
      isMergeUpdate - should the new properties be merged with existing properties (true) or completely replace them (false)?
      projectProperties - new properties for the metadata element
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.InvalidParameterException - one of the parameters is invalid
      org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException - the user is not authorized to issue this request
      org.odpi.openmetadata.frameworks.connectors.ffdc.PropertyServerException - there is a problem reported in the open metadata server(s)
    • setupProjectManagementRole

      public void setupProjectManagementRole(String userId, String externalSourceGUID, String externalSourceName, String projectGUID, String personRoleGUID) throws org.odpi.openmetadata.frameworks.connectors.ffdc.InvalidParameterException, org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException, org.odpi.openmetadata.frameworks.connectors.ffdc.PropertyServerException
      Create a membership relationship between a project and a person role to show that anyone appointed to the role is a member of the project.
      Specified by:
      setupProjectManagementRole in interface org.odpi.openmetadata.accessservices.projectmanagement.api.ProjectsInterface
      Parameters:
      userId - calling user
      externalSourceGUID - unique identifier of software capability representing the caller
      externalSourceName - unique name of software capability representing the caller
      projectGUID - unique identifier of the project in the external data manager
      personRoleGUID - unique identifier of the person role in the external data manager
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.InvalidParameterException - one of the parameters is invalid
      org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException - the user is not authorized to issue this request
      org.odpi.openmetadata.frameworks.connectors.ffdc.PropertyServerException - there is a problem reported in the open metadata server(s)
    • clearProjectManagementRole

      public void clearProjectManagementRole(String userId, String externalSourceGUID, String externalSourceName, String projectGUID, String personRoleGUID) throws org.odpi.openmetadata.frameworks.connectors.ffdc.InvalidParameterException, org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException, org.odpi.openmetadata.frameworks.connectors.ffdc.PropertyServerException
      Remove a membership relationship between a project and a person role.
      Specified by:
      clearProjectManagementRole in interface org.odpi.openmetadata.accessservices.projectmanagement.api.ProjectsInterface
      Parameters:
      userId - calling user
      externalSourceGUID - unique identifier of software capability representing the caller
      externalSourceName - unique name of software capability representing the caller
      projectGUID - unique identifier of the project in the external data manager
      personRoleGUID - unique identifier of the person role in the external data manager
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.InvalidParameterException - one of the parameters is invalid
      org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException - the user is not authorized to issue this request
      org.odpi.openmetadata.frameworks.connectors.ffdc.PropertyServerException - there is a problem reported in the open metadata server(s)
    • setupProjectTeam

      public void setupProjectTeam(String userId, String externalSourceGUID, String externalSourceName, String projectGUID, org.odpi.openmetadata.accessservices.projectmanagement.properties.ProjectTeamProperties properties, String actorProfileGUID) throws org.odpi.openmetadata.frameworks.connectors.ffdc.InvalidParameterException, org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException, org.odpi.openmetadata.frameworks.connectors.ffdc.PropertyServerException
      Create a project team relationship between a project and a person role to show that anyone appointed to the role is a member of the project.
      Specified by:
      setupProjectTeam in interface org.odpi.openmetadata.accessservices.projectmanagement.api.ProjectsInterface
      Parameters:
      userId - calling user
      externalSourceGUID - unique identifier of software capability representing the caller
      externalSourceName - unique name of software capability representing the caller
      projectGUID - unique identifier of the project
      properties - describes the permissions that the role has in the project
      actorProfileGUID - unique identifier of the person role
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.InvalidParameterException - one of the parameters is invalid
      org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException - the user is not authorized to issue this request
      org.odpi.openmetadata.frameworks.connectors.ffdc.PropertyServerException - there is a problem reported in the open metadata server(s)
    • clearProjectTeam

      public void clearProjectTeam(String userId, String externalSourceGUID, String externalSourceName, String projectGUID, String actorProfileGUID) throws org.odpi.openmetadata.frameworks.connectors.ffdc.InvalidParameterException, org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException, org.odpi.openmetadata.frameworks.connectors.ffdc.PropertyServerException
      Remove a membership relationship between a project and a person role.
      Specified by:
      clearProjectTeam in interface org.odpi.openmetadata.accessservices.projectmanagement.api.ProjectsInterface
      Parameters:
      userId - calling user
      externalSourceGUID - unique identifier of software capability representing the caller
      externalSourceName - unique name of software capability representing the caller
      projectGUID - unique identifier of the project in the external data manager
      actorProfileGUID - unique identifier of the person role in the external data manager
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.InvalidParameterException - one of the parameters is invalid
      org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException - the user is not authorized to issue this request
      org.odpi.openmetadata.frameworks.connectors.ffdc.PropertyServerException - there is a problem reported in the open metadata server(s)
    • removeProject

      public void removeProject(String userId, String externalSourceGUID, String externalSourceName, String projectGUID) throws org.odpi.openmetadata.frameworks.connectors.ffdc.InvalidParameterException, org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException, org.odpi.openmetadata.frameworks.connectors.ffdc.PropertyServerException
      Remove the metadata element representing a project.
      Specified by:
      removeProject in interface org.odpi.openmetadata.accessservices.projectmanagement.api.ProjectsInterface
      Parameters:
      userId - calling user
      externalSourceGUID - unique identifier of software capability representing the caller
      externalSourceName - unique name of software capability representing the caller
      projectGUID - unique identifier of the metadata element to remove
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.InvalidParameterException - one of the parameters is invalid
      org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException - the user is not authorized to issue this request
      org.odpi.openmetadata.frameworks.connectors.ffdc.PropertyServerException - there is a problem reported in the open metadata server(s)
    • findProjects

      public List<org.odpi.openmetadata.accessservices.projectmanagement.metadataelements.ProjectElement> findProjects(String userId, String searchString, int startFrom, int pageSize) throws org.odpi.openmetadata.frameworks.connectors.ffdc.InvalidParameterException, org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException, org.odpi.openmetadata.frameworks.connectors.ffdc.PropertyServerException
      Retrieve the list of metadata elements that contain the search string. The search string is treated as a regular expression.
      Specified by:
      findProjects in interface org.odpi.openmetadata.accessservices.projectmanagement.api.ProjectsInterface
      Parameters:
      userId - calling user
      searchString - string to find in the properties
      startFrom - paging start point
      pageSize - maximum results that can be returned
      Returns:
      list of matching metadata elements
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.InvalidParameterException - one of the parameters is invalid
      org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException - the user is not authorized to issue this request
      org.odpi.openmetadata.frameworks.connectors.ffdc.PropertyServerException - there is a problem reported in the open metadata server(s)
    • getProjectsByName

      public List<org.odpi.openmetadata.accessservices.projectmanagement.metadataelements.ProjectElement> getProjectsByName(String userId, String name, int startFrom, int pageSize) throws org.odpi.openmetadata.frameworks.connectors.ffdc.InvalidParameterException, org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException, org.odpi.openmetadata.frameworks.connectors.ffdc.PropertyServerException
      Retrieve the list of metadata elements with a matching qualified or display name. There are no wildcards supported on this request.
      Specified by:
      getProjectsByName in interface org.odpi.openmetadata.accessservices.projectmanagement.api.ProjectsInterface
      Parameters:
      userId - calling user
      name - name to search for
      startFrom - paging start point
      pageSize - maximum results that can be returned
      Returns:
      list of matching metadata elements
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.InvalidParameterException - one of the parameters is invalid
      org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException - the user is not authorized to issue this request
      org.odpi.openmetadata.frameworks.connectors.ffdc.PropertyServerException - there is a problem reported in the open metadata server(s)
    • getProjects

      public List<org.odpi.openmetadata.accessservices.projectmanagement.metadataelements.ProjectElement> getProjects(String userId, int startFrom, int pageSize) throws org.odpi.openmetadata.frameworks.connectors.ffdc.InvalidParameterException, org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException, org.odpi.openmetadata.frameworks.connectors.ffdc.PropertyServerException
      Retrieve the list of projects.
      Specified by:
      getProjects in interface org.odpi.openmetadata.accessservices.projectmanagement.api.ProjectsInterface
      Parameters:
      userId - calling user
      startFrom - paging start point
      pageSize - maximum results that can be returned
      Returns:
      list of matching metadata elements
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.InvalidParameterException - one of the parameters is invalid
      org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException - the user is not authorized to issue this request
      org.odpi.openmetadata.frameworks.connectors.ffdc.PropertyServerException - there is a problem reported in the open metadata server(s)
    • getProjectManagementRoles

      public List<org.odpi.openmetadata.accessservices.projectmanagement.metadataelements.PersonRoleElement> getProjectManagementRoles(String userId, String projectGUID, int startFrom, int pageSize) throws org.odpi.openmetadata.frameworks.connectors.ffdc.InvalidParameterException, org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException, org.odpi.openmetadata.frameworks.connectors.ffdc.PropertyServerException
      Return information about the person roles linked to a project.
      Specified by:
      getProjectManagementRoles in interface org.odpi.openmetadata.accessservices.projectmanagement.api.ProjectsInterface
      Parameters:
      userId - calling user
      projectGUID - unique identifier for the project
      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)
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.InvalidParameterException - name or userId is null
      org.odpi.openmetadata.frameworks.connectors.ffdc.PropertyServerException - problem accessing property server
      org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException - security access problem
    • getProjectActors

      public List<org.odpi.openmetadata.accessservices.projectmanagement.metadataelements.ActorProfileElement> getProjectActors(String userId, String projectGUID, int startFrom, int pageSize) throws org.odpi.openmetadata.frameworks.connectors.ffdc.InvalidParameterException, org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException, org.odpi.openmetadata.frameworks.connectors.ffdc.PropertyServerException
      Return information about the actors linked to a project.
      Specified by:
      getProjectActors in interface org.odpi.openmetadata.accessservices.projectmanagement.api.ProjectsInterface
      Parameters:
      userId - calling user
      projectGUID - unique identifier for the project
      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)
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.InvalidParameterException - name or userId is null
      org.odpi.openmetadata.frameworks.connectors.ffdc.PropertyServerException - problem accessing property server
      org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException - security access problem
    • getProjectByGUID

      public org.odpi.openmetadata.accessservices.projectmanagement.metadataelements.ProjectElement getProjectByGUID(String userId, String projectGUID) throws org.odpi.openmetadata.frameworks.connectors.ffdc.InvalidParameterException, org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException, org.odpi.openmetadata.frameworks.connectors.ffdc.PropertyServerException
      Retrieve the metadata element with the supplied unique identifier.
      Specified by:
      getProjectByGUID in interface org.odpi.openmetadata.accessservices.projectmanagement.api.ProjectsInterface
      Parameters:
      userId - calling user
      projectGUID - unique identifier of the requested metadata element
      Returns:
      requested metadata element
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.InvalidParameterException - one of the parameters is invalid
      org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException - the user is not authorized to issue this request
      org.odpi.openmetadata.frameworks.connectors.ffdc.PropertyServerException - there is a problem reported in the open metadata server(s)