java.lang.Object
org.odpi.openmetadata.viewservices.projectmanager.server.spring.ProjectManagerResource

@RestController @RequestMapping("/servers/{serverName}/api/open-metadata/project-manager") public class ProjectManagerResource extends Object
The ProjectManagerResource provides the Spring API endpoints of the Project Manager Open Metadata View Service (OMVS). =
  • Constructor Details

    • ProjectManagerResource

      public ProjectManagerResource()
      Default constructor
  • Method Details

    • getLinkedProjects

      @PostMapping(path="/metadata-elements/{parentGUID}/projects") public OpenMetadataRootElementsResponse getLinkedProjects(@PathVariable String serverName, @PathVariable String parentGUID, @RequestBody(required=false) FilterRequestBody requestBody)
      Returns the list of projects that are linked off of the supplied element. Any relationship will do.
      Parameters:
      serverName - name of called server
      parentGUID - unique identifier of referenceable object (typically a personal profile, project or community) that the projects hang off of
      requestBody - filter response by project status - if null, any value will do
      Returns:
      a list of projects InvalidParameterException one of the parameters is null or invalid. PropertyServerException there is a problem retrieving information from the property server(s). UserNotAuthorizedException the requesting user is not authorized to issue this request.
    • getClassifiedProjects

      @PostMapping(path="/projects/by-classifications") public OpenMetadataRootElementsResponse getClassifiedProjects(@PathVariable String serverName, @RequestBody FilterRequestBody requestBody)
      Returns the list of projects with a particular classification.
      Parameters:
      serverName - name of called server
      requestBody - name of the classification - if null, all projects are returned
      Returns:
      a list of projects InvalidParameterException one of the parameters is null or invalid. PropertyServerException there is a problem retrieving information from the property server(s). UserNotAuthorizedException the requesting user is not authorized to issue this request.
    • getProjectTeam

      @PostMapping(path="/projects/{projectGUID}/team") public OpenMetadataRootElementsResponse getProjectTeam(@PathVariable String serverName, @PathVariable String projectGUID, @RequestBody(required=false) FilterRequestBody requestBody)
      Returns the list of actors that are linked off of the project.
      Parameters:
      serverName - name of called server
      projectGUID - unique identifier of the project
      requestBody - filter response by team role
      Returns:
      a list of projects InvalidParameterException one of the parameters is null or invalid. PropertyServerException there is a problem retrieving information from the property server(s). UserNotAuthorizedException the requesting user is not authorized to issue this request.
    • findProjects

      @PostMapping(path="/projects/by-search-string") public OpenMetadataRootElementsResponse findProjects(@PathVariable String serverName, @RequestBody(required=false) SearchStringRequestBody requestBody)
      Returns the list of projects matching the search string.
      Parameters:
      serverName - name of the service to route the request to
      requestBody - string to find in the properties
      Returns:
      a list of projects InvalidParameterException one of the parameters is null or invalid. PropertyServerException there is a problem retrieving information from the property server(s). UserNotAuthorizedException the requesting user is not authorized to issue this request.
    • getProjectsByName

      @PostMapping(path="/projects/by-name") public OpenMetadataRootElementsResponse getProjectsByName(@PathVariable String serverName, @RequestBody(required=false) FilterRequestBody requestBody)
      Returns the list of projects with a particular name.
      Parameters:
      serverName - name of called server
      requestBody - name of the projects to return - match is full text match in qualifiedName or name
      Returns:
      a list of projects InvalidParameterException one of the parameters is null or invalid. PropertyServerException there is a problem retrieving information from the property server(s). UserNotAuthorizedException the requesting user is not authorized to issue this request.
    • getProject

      @PostMapping(path="/projects/{projectGUID}") public OpenMetadataRootElementResponse getProject(@PathVariable String serverName, @PathVariable String projectGUID, @RequestBody(required=false) GetRequestBody requestBody)
      Return the properties of a specific project.
      Parameters:
      serverName - name of called server
      projectGUID - unique identifier of the required project
      requestBody - optional properties to control the query
      Returns:
      project properties InvalidParameterException one of the parameters is null or invalid. PropertyServerException there is a problem retrieving information from the property server(s). UserNotAuthorizedException the requesting user is not authorized to issue this request.
    • getProjectGraph

      @PostMapping(path="/projects/{projectGUID}/graph") public OpenMetadataRootElementResponse getProjectGraph(@PathVariable String serverName, @PathVariable String projectGUID, @RequestBody(required=false) ResultsRequestBody requestBody)
      Returns the graph of related projects and resources starting with a supplied project guid.
      Parameters:
      serverName - name of called server
      projectGUID - unique identifier of the starting project
      requestBody - optional properties to control the query
      Returns:
      a graph of projects or InvalidParameterException one of the parameters is null or invalid. PropertyServerException there is a problem retrieving information from the property server(s). UserNotAuthorizedException the requesting user is not authorized to issue this request.
    • getProjectHierarchy

      @PostMapping(path="/projects/{projectGUID}/hierarchy") public OpenMetadataRootElementResponse getProjectHierarchy(@PathVariable String serverName, @PathVariable String projectGUID, @RequestBody(required=false) ResultsRequestBody requestBody)
      Returns the hierarchy of managed projects and resources starting with a supplied project guid.
      Parameters:
      serverName - name of called server
      projectGUID - unique identifier of the starting project
      requestBody - optional properties to control the query
      Returns:
      a graph of projects or InvalidParameterException one of the parameters is null or invalid. PropertyServerException there is a problem retrieving information from the property server(s). UserNotAuthorizedException the requesting user is not authorized to issue this request.
    • createProject

      @PostMapping(path="/projects") public GUIDResponse createProject(@PathVariable String serverName, @RequestParam(required=false) String classificationName, @RequestBody NewElementRequestBody requestBody)
      Create a new generic project.
      Parameters:
      serverName - name of called server.
      classificationName - name of project classification
      requestBody - properties for the project.
      Returns:
      unique identifier of the newly created Project InvalidParameterException one of the parameters 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.
    • createTaskProject

      @PostMapping(path="/projects/{projectGUID}/task") public GUIDResponse createTaskProject(@PathVariable String serverName, @PathVariable String projectGUID, @RequestBody ProjectProperties requestBody)
      Create a new task linked to the supplied project. Used to identify a discrete piece of work within the project.
      Parameters:
      serverName - name of called server
      projectGUID - unique identifier of the project
      requestBody - properties for the project
      Returns:
      unique identifier of the newly created Project InvalidParameterException one of the parameters 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.
    • createProjectFromTemplate

      @PostMapping(path="/projects/from-template") public GUIDResponse createProjectFromTemplate(@PathVariable String serverName, @RequestBody TemplateRequestBody requestBody)
      Create a new metadata element to represent a project using an existing metadata element as a template. The template defines additional classifications and relationships that should be added to the new project.
      Parameters:
      serverName - calling user
      requestBody - properties that override the template
      Returns:
      unique identifier of the new metadata element InvalidParameterException one of the parameters is invalid UserNotAuthorizedException the user is not authorized to issue this request PropertyServerException there is a problem reported in the open metadata server(s)
    • updateProject

      @PostMapping(path="/projects/{projectGUID}/update") public VoidResponse updateProject(@PathVariable String serverName, @PathVariable String projectGUID, @RequestBody(required=false) UpdateElementRequestBody requestBody)
      Update the properties of a project.
      Parameters:
      serverName - name of called server.
      projectGUID - unique identifier of the project (returned from create)
      requestBody - properties for the project.
      Returns:
      void or InvalidParameterException one of the parameters 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.
    • deleteProject

      @PostMapping(path="/projects/{projectGUID}/delete") public VoidResponse deleteProject(@PathVariable String serverName, @PathVariable String projectGUID, @RequestBody(required=false) DeleteRequestBody requestBody)
      Delete a project. It is detected from all parent elements. If members are anchored to the project then they are also deleted.
      Parameters:
      serverName - name of called server.
      projectGUID - unique identifier of the project.
      requestBody - null request body
      Returns:
      void or InvalidParameterException one of the parameters is null or invalid. PropertyServerException there is a problem retrieving information from the property server(s). UserNotAuthorizedException the requesting user is not authorized to issue this request.
    • addToProjectTeam

      @PostMapping(path="/projects/{projectGUID}/members/{actorGUID}/attach") public VoidResponse addToProjectTeam(@PathVariable String serverName, @PathVariable String projectGUID, @PathVariable String actorGUID, @RequestBody(required=false) NewRelationshipRequestBody requestBody)
      Add an actor to a project.
      Parameters:
      serverName - name of called server.
      projectGUID - unique identifier of the project.
      requestBody - properties describing the membership characteristics.
      actorGUID - unique identifier of the actor.
      Returns:
      void or InvalidParameterException one of the parameters is invalid. PropertyServerException there is a problem updating information in the property server(s). UserNotAuthorizedException the requesting user is not authorized to issue this request.
    • removeFromProjectTeam

      @PostMapping(path="/projects/{projectGUID}/members/{actorGUID}/detach") public VoidResponse removeFromProjectTeam(@PathVariable String serverName, @PathVariable String projectGUID, @PathVariable String actorGUID, @RequestBody(required=false) DeleteRequestBody requestBody)
      Remove an actor from a project.
      Parameters:
      serverName - name of called server.
      projectGUID - unique identifier of the project.
      actorGUID - unique identifier of the actor.
      requestBody - null request body
      Returns:
      void or InvalidParameterException one of the parameters is invalid. PropertyServerException there is a problem updating information in the property server(s). UserNotAuthorizedException the requesting user is not authorized to issue this request.
    • setupProjectHierarchy

      @PostMapping(path="/projects/{projectGUID}/project-hierarchies/{managedProjectGUID}/attach") public VoidResponse setupProjectHierarchy(@PathVariable String serverName, @PathVariable String projectGUID, @PathVariable String managedProjectGUID, @RequestBody(required=false) NewRelationshipRequestBody requestBody)
      Create a project hierarchy relationship between two projects.
      Parameters:
      serverName - name of the service to route the request to.
      projectGUID - unique identifier of the project
      managedProjectGUID - unique identifier of the project it depends on
      requestBody - external identifiers
      Returns:
      void or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to issue this request or PropertyServerException there is a problem reported in the open metadata server(s)
    • clearProjectHierarchy

      @PostMapping(path="/projects/{projectGUID}/project-hierarchies/{managedProjectGUID}/detach") public VoidResponse clearProjectHierarchy(@PathVariable String serverName, @PathVariable String projectGUID, @PathVariable String managedProjectGUID, @RequestBody(required=false) DeleteRequestBody requestBody)
      Remove a project hierarchy relationship between two projects.
      Parameters:
      serverName - name of the service to route the request to.
      projectGUID - unique identifier of the project
      managedProjectGUID - unique identifier of the project it depends on
      requestBody - external identifiers
      Returns:
      void or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to issue this request or PropertyServerException there is a problem reported in the open metadata server(s)
    • setupProjectDependency

      @PostMapping(path="/projects/{projectGUID}/project-dependencies/{dependsOnProjectGUID}/attach") public VoidResponse setupProjectDependency(@PathVariable String serverName, @PathVariable String projectGUID, @PathVariable String dependsOnProjectGUID, @RequestBody(required=false) NewRelationshipRequestBody requestBody)
      Create a project dependency relationship between two projects.
      Parameters:
      serverName - name of the service to route the request to.
      projectGUID - unique identifier of the project
      dependsOnProjectGUID - unique identifier of the project it depends on
      requestBody - external identifiers
      Returns:
      void or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to issue this request or PropertyServerException there is a problem reported in the open metadata server(s)
    • clearProjectDependency

      @PostMapping(path="/projects/{projectGUID}/project-dependencies/{dependsOnProjectGUID}/detach") public VoidResponse clearProjectDependency(@PathVariable String serverName, @PathVariable String projectGUID, @PathVariable String dependsOnProjectGUID, @RequestBody(required=false) DeleteRequestBody requestBody)
      Remove a project dependency relationship between two projects.
      Parameters:
      serverName - name of the service to route the request to.
      projectGUID - unique identifier of the project
      dependsOnProjectGUID - unique identifier of the project it depends on
      requestBody - external identifiers
      Returns:
      void or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to issue this request or PropertyServerException there is a problem reported in the open metadata server(s)