Class ProjectManagerResource
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 Summary
-
Method Summary
Modifier and TypeMethodDescriptionaddToProjectTeam
(String serverName, String projectGUID, String actorGUID, ProjectTeamProperties requestBody) Add an actor to a project.clearProjectManagementRole
(String serverName, String projectGUID, String projectRoleGUID, NullRequestBody requestBody) Remove a ProjectManagement relationship between a project and a person role.clearResource
(String serverName, String elementGUID, String resourceGUID, ExternalSourceRequestBody requestBody) Remove a "ResourceList" relationship between two referenceables.createProject
(String serverName, String classificationName, NewProjectRequestBody requestBody) Create a new generic project.createProjectFromTemplate
(String serverName, TemplateRequestBody requestBody) Create a new metadata element to represent a project using an existing metadata element as a template.createTaskProject
(String serverName, String projectGUID, ProjectProperties requestBody) Create a new task linked to the supplied project.deleteProject
(String serverName, String projectGUID, NullRequestBody requestBody) Delete a project.findProjects
(String serverName, boolean startsWith, boolean endsWith, boolean ignoreCase, int startFrom, int pageSize, FilterRequestBody requestBody) Returns the list of projects matching the search string.getClassifiedProjects
(String serverName, int startFrom, int pageSize, FilterRequestBody requestBody) Returns the list of projects with a particular classification.getLinkedProjects
(String serverName, String parentGUID, int startFrom, int pageSize, FilterRequestBody requestBody) Returns the list of projects that are linked off of the supplied element.getProject
(String serverName, String projectGUID) Return the properties of a specific project.getProjectsByName
(String serverName, int startFrom, int pageSize, FilterRequestBody requestBody) Returns the list of projects with a particular name.getProjectTeam
(String serverName, String projectGUID, int startFrom, int pageSize, FilterRequestBody requestBody) Returns the list of actors that are linked off of the project.getResourceList
(String serverName, String elementGUID, int startFrom, int pageSize) Retrieve the list of resources assigned to an element via the "ResourceList" relationship between two referenceables.getSupportedByResource
(String serverName, String resourceGUID, int startFrom, int pageSize) Retrieve the list of elements assigned to a resource via the "ResourceList" relationship between two referenceables.removeFromProjectTeam
(String serverName, String projectGUID, String actorGUID, NullRequestBody requestBody) Remove an actor from a project.setupProjectManagementRole
(String serverName, String projectGUID, String projectRoleGUID, NullRequestBody requestBody) Create a ProjectManagement relationship between a project and a person role to show that anyone appointed to the role is a member of the project.setupResource
(String serverName, String elementGUID, String resourceGUID, RelationshipRequestBody requestBody) Create a "ResourceList" relationship between a consuming element and an element that represents resources.updateProject
(String serverName, String projectGUID, boolean replaceAllProperties, ProjectProperties requestBody) Update the properties of a project.
-
Constructor Details
-
ProjectManagerResource
public ProjectManagerResource()Default constructor
-
-
Method Details
-
getLinkedProjects
@PostMapping(path="/metadata-elements/{parentGUID}/projects") public ProjectsResponse getLinkedProjects(@PathVariable String serverName, @PathVariable String parentGUID, @RequestParam(required=false,defaultValue="0") int startFrom, @RequestParam(required=false,defaultValue="0") int pageSize, @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 serverparentGUID
- unique identifier of referenceable object (typically a personal profile, project or community) that the projects hang off ofstartFrom
- index of the list to start from (0 for start)pageSize
- maximum number of elements to returnrequestBody
- 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 ProjectsResponse getClassifiedProjects(@PathVariable String serverName, @RequestParam(required=false,defaultValue="0") int startFrom, @RequestParam(required=false,defaultValue="0") int pageSize, @RequestBody FilterRequestBody requestBody) Returns the list of projects with a particular classification.- Parameters:
serverName
- name of called serverstartFrom
- index of the list to start from (0 for start)pageSize
- maximum number of elements to returnrequestBody
- 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 ProjectMembersResponse getProjectTeam(@PathVariable String serverName, @PathVariable String projectGUID, @RequestParam(required=false,defaultValue="0") int startFrom, @RequestParam(required=false,defaultValue="0") int pageSize, @RequestBody(required=false) FilterRequestBody requestBody) Returns the list of actors that are linked off of the project.- Parameters:
serverName
- name of called serverprojectGUID
- unique identifier of the projectstartFrom
- index of the list to start from (0 for start)pageSize
- maximum number of elements to returnrequestBody
- 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 ProjectsResponse findProjects(@PathVariable String serverName, @RequestParam(required=false,defaultValue="false") boolean startsWith, @RequestParam(required=false,defaultValue="false") boolean endsWith, @RequestParam(required=false,defaultValue="false") boolean ignoreCase, @RequestParam(required=false,defaultValue="0") int startFrom, @RequestParam(required=false,defaultValue="0") int pageSize, @RequestBody(required=false) FilterRequestBody requestBody) Returns the list of projects matching the search string.- Parameters:
serverName
- name of the service to route the request tostartsWith
- does the value start with the supplied string?endsWith
- does the value end with the supplied string?ignoreCase
- should the search ignore case?startFrom
- paging start pointpageSize
- maximum results that can be returnedrequestBody
- 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 ProjectsResponse getProjectsByName(@PathVariable String serverName, @RequestParam(required=false,defaultValue="0") int startFrom, @RequestParam(required=false,defaultValue="0") int pageSize, @RequestBody(required=false) FilterRequestBody requestBody) Returns the list of projects with a particular name.- Parameters:
serverName
- name of called serverrequestBody
- name of the projects to return - match is full text match in qualifiedName or namestartFrom
- index of the list to start from (0 for start)pageSize
- maximum number of elements to return- 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
@GetMapping(path="/projects/{projectGUID}") public ProjectResponse getProject(@PathVariable String serverName, @PathVariable String projectGUID) Return the properties of a specific project.- Parameters:
serverName
- name of called serverprojectGUID
- unique identifier of the required project- 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.
-
createProject
@PostMapping(path="/projects") public GUIDResponse createProject(@PathVariable String serverName, @RequestParam(required=false) String classificationName, @RequestBody NewProjectRequestBody requestBody) Create a new generic project.- Parameters:
serverName
- name of called server.classificationName
- name of project classificationrequestBody
- 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 serverprojectGUID
- unique identifier of the projectrequestBody
- 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 userrequestBody
- 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, @RequestParam boolean replaceAllProperties, @RequestBody ProjectProperties requestBody) Update the properties of a project.- Parameters:
serverName
- name of called server.projectGUID
- unique identifier of the project (returned from create)replaceAllProperties
- flag to indicate whether to completely replace the existing properties with the new properties, or just update the individual properties specified on the request.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) NullRequestBody 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.- 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) ProjectTeamProperties 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) NullRequestBody 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.
-
setupProjectManagementRole
@PostMapping(path="/projects/{projectGUID}/project-management-roles/{projectRoleGUID}/attach") public VoidResponse setupProjectManagementRole(@PathVariable String serverName, @PathVariable String projectGUID, @PathVariable String projectRoleGUID, @RequestBody(required=false) NullRequestBody requestBody) Create a ProjectManagement relationship between a project and a person role to show that anyone appointed to the role is a member of the project.- Parameters:
serverName
- name of the service to route the request to.projectGUID
- unique identifier of the projectprojectRoleGUID
- unique identifier of the person rolerequestBody
- 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)
-
clearProjectManagementRole
@PostMapping(path="/projects/{projectGUID}/project-management-roles/{projectRoleGUID}/detach") public VoidResponse clearProjectManagementRole(@PathVariable String serverName, @PathVariable String projectGUID, @PathVariable String projectRoleGUID, @RequestBody(required=false) NullRequestBody requestBody) Remove a ProjectManagement relationship between a project and a person role.- Parameters:
serverName
- name of the service to route the request to.projectGUID
- unique identifier of the projectprojectRoleGUID
- unique identifier of the person rolerequestBody
- 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)
-
setupResource
@PostMapping(path="/related-elements/{elementGUID}/resource-list/{resourceGUID}") public VoidResponse setupResource(@PathVariable String serverName, @PathVariable String elementGUID, @PathVariable String resourceGUID, @RequestBody(required=false) RelationshipRequestBody requestBody) Create a "ResourceList" relationship between a consuming element and an element that represents resources.- Parameters:
serverName
- name of the service to route the request to.elementGUID
- unique identifier of the elementresourceGUID
- unique identifier of the resourcerequestBody
- relationship properties- Returns:
- void or 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)
-
clearResource
@PostMapping(path="/related-elements/{elementGUID}/resource-list/{resourceGUID}/delete") public VoidResponse clearResource(@PathVariable String serverName, @PathVariable String elementGUID, @PathVariable String resourceGUID, @RequestBody(required=false) ExternalSourceRequestBody requestBody) Remove a "ResourceList" relationship between two referenceables.- Parameters:
serverName
- name of the service to route the request to.elementGUID
- unique identifier of the elementresourceGUID
- unique identifier of the resourcerequestBody
- external source identifiers- Returns:
- void or 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)
-
getResourceList
@GetMapping(path="/related-elements/resource-list/by-assignee/{elementGUID}") public RelatedElementsResponse getResourceList(@PathVariable String serverName, @PathVariable String elementGUID, @RequestParam int startFrom, @RequestParam int pageSize) Retrieve the list of resources assigned to an element via the "ResourceList" relationship between two referenceables.- Parameters:
serverName
- name of the service to route the request to.elementGUID
- unique identifier of the elementstartFrom
- index of the list to start from (0 for start)pageSize
- maximum number of elements to return.- Returns:
- void or 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)
-
getSupportedByResource
@GetMapping(path="/related-elements/resource-list/by-resource/{resourceGUID}") public RelatedElementsResponse getSupportedByResource(@PathVariable String serverName, @PathVariable String resourceGUID, @RequestParam int startFrom, @RequestParam int pageSize) Retrieve the list of elements assigned to a resource via the "ResourceList" relationship between two referenceables.- Parameters:
serverName
- name of the service to route the request to.resourceGUID
- unique identifier of the resourcestartFrom
- index of the list to start from (0 for start)pageSize
- maximum number of elements to return.- Returns:
- void or 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)
-