Interface ProjectsInterface
- All Known Implementing Classes:
ProjectManagement
public interface ProjectsInterface
The ProjectManagementInterface provides methods for managing projects, their membership and content.
Projects allow groups of subject-matter experts to work together and share content and ideas.
-
Method Summary
Modifier and TypeMethodDescriptionvoid
clearProjectManagementRole
(String userId, String externalSourceGUID, String externalSourceName, String projectGUID, String personRoleGUID) Remove a membership relationship between a project and a person role.void
clearProjectTeam
(String userId, String externalSourceGUID, String externalSourceName, String projectGUID, String actorProfileGUID) Remove a ProjectTeam relationship between a project and an actor profile (typically a team).createProject
(String userId, String externalSourceGUID, String externalSourceName, ProjectProperties projectProperties) Create a new metadata element to represent the project.createProjectFromTemplate
(String userId, String externalSourceGUID, String externalSourceName, String templateGUID, TemplateProperties templateProperties) Create a new metadata element to represent a project using an existing metadata element as a template.findProjects
(String userId, String searchString, int startFrom, int pageSize) Retrieve the list of metadata elements that contain the search string.getProjectActors
(String userId, String projectGUID, int startFrom, int pageSize) Return information about the actors linked to a project.getProjectByGUID
(String userId, String projectGUID) Retrieve the project metadata element with the supplied unique identifier.getProjectManagementRoles
(String userId, String projectGUID, int startFrom, int pageSize) Return information about the project management roles linked to a project.getProjects
(String userId, int startFrom, int pageSize) Retrieve the list of projects.getProjectsByName
(String userId, String name, int startFrom, int pageSize) Retrieve the list of metadata elements with a matching qualified or display name.void
removeProject
(String userId, String externalSourceGUID, String externalSourceName, String projectGUID) Remove the metadata element representing a project.void
setupProjectManagementRole
(String userId, String externalSourceGUID, String externalSourceName, String projectGUID, String personRoleGUID) Create a ProjectManagement relationship between a project and a person role to show that anyone appointed to the role is a manager of the project.void
setupProjectTeam
(String userId, String externalSourceGUID, String externalSourceName, String projectGUID, ProjectTeamProperties properties, String actorProfileGUID) Create a ProjectTeam relationship between a project and an actor profile (typically a team).void
updateProject
(String userId, String externalSourceGUID, String externalSourceName, String projectGUID, boolean isMergeUpdate, ProjectProperties projectProperties) Update the metadata element representing a project.
-
Method Details
-
createProject
String createProject(String userId, String externalSourceGUID, String externalSourceName, ProjectProperties projectProperties) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Create a new metadata element to represent the project.- Parameters:
userId
- calling userexternalSourceGUID
- unique identifier of software capability representing the callerexternalSourceName
- unique name of software capability representing the callerprojectProperties
- properties to store- Returns:
- unique identifier of the new metadata element
- Throws:
InvalidParameterException
- one of the parameters is invalidUserNotAuthorizedException
- the user is not authorized to issue this requestPropertyServerException
- there is a problem reported in the open metadata server(s)
-
createProjectFromTemplate
String createProjectFromTemplate(String userId, String externalSourceGUID, String externalSourceName, String templateGUID, TemplateProperties templateProperties) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException 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:
userId
- calling userexternalSourceGUID
- unique identifier of software capability representing the callerexternalSourceName
- unique name of software capability representing the callertemplateGUID
- unique identifier of the metadata element to copytemplateProperties
- properties that override the template- Returns:
- unique identifier of the new metadata element
- Throws:
InvalidParameterException
- one of the parameters is invalidUserNotAuthorizedException
- the user is not authorized to issue this requestPropertyServerException
- there is a problem reported in the open metadata server(s)
-
updateProject
void updateProject(String userId, String externalSourceGUID, String externalSourceName, String projectGUID, boolean isMergeUpdate, ProjectProperties projectProperties) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Update the metadata element representing a project.- Parameters:
userId
- calling userexternalSourceGUID
- unique identifier of software capability representing the callerexternalSourceName
- unique name of software capability representing the callerprojectGUID
- unique identifier of the metadata element to updateisMergeUpdate
- should the new properties be merged with existing properties (true) or completely replace them (false)?projectProperties
- new properties for this element- Throws:
InvalidParameterException
- one of the parameters is invalidUserNotAuthorizedException
- the user is not authorized to issue this requestPropertyServerException
- there is a problem reported in the open metadata server(s)
-
setupProjectManagementRole
void setupProjectManagementRole(String userId, String externalSourceGUID, String externalSourceName, String projectGUID, String personRoleGUID) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Create a ProjectManagement relationship between a project and a person role to show that anyone appointed to the role is a manager of the project.- Parameters:
userId
- calling userexternalSourceGUID
- unique identifier of software capability representing the callerexternalSourceName
- unique name of software capability representing the callerprojectGUID
- unique identifier of the projectpersonRoleGUID
- unique identifier of the role- Throws:
InvalidParameterException
- one of the parameters is invalidUserNotAuthorizedException
- the user is not authorized to issue this requestPropertyServerException
- there is a problem reported in the open metadata server(s)
-
clearProjectManagementRole
void clearProjectManagementRole(String userId, String externalSourceGUID, String externalSourceName, String projectGUID, String personRoleGUID) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Remove a membership relationship between a project and a person role.- Parameters:
userId
- calling userexternalSourceGUID
- unique identifier of software capability representing the callerexternalSourceName
- unique name of software capability representing the callerprojectGUID
- unique identifier of the projectpersonRoleGUID
- unique identifier of the role- Throws:
InvalidParameterException
- one of the parameters is invalidUserNotAuthorizedException
- the user is not authorized to issue this requestPropertyServerException
- there is a problem reported in the open metadata server(s)
-
setupProjectTeam
void setupProjectTeam(String userId, String externalSourceGUID, String externalSourceName, String projectGUID, ProjectTeamProperties properties, String actorProfileGUID) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Create a ProjectTeam relationship between a project and an actor profile (typically a team).- Parameters:
userId
- calling userexternalSourceGUID
- unique identifier of software capability representing the callerexternalSourceName
- unique name of software capability representing the callerprojectGUID
- unique identifier of the projectproperties
- describes the permissions that the role has in the projectactorProfileGUID
- unique identifier of the actor- Throws:
InvalidParameterException
- one of the parameters is invalidUserNotAuthorizedException
- the user is not authorized to issue this requestPropertyServerException
- there is a problem reported in the open metadata server(s)
-
clearProjectTeam
void clearProjectTeam(String userId, String externalSourceGUID, String externalSourceName, String projectGUID, String actorProfileGUID) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Remove a ProjectTeam relationship between a project and an actor profile (typically a team).- Parameters:
userId
- calling userexternalSourceGUID
- unique identifier of software capability representing the callerexternalSourceName
- unique name of software capability representing the callerprojectGUID
- unique identifier of the projectactorProfileGUID
- unique identifier of the actor- Throws:
InvalidParameterException
- one of the parameters is invalidUserNotAuthorizedException
- the user is not authorized to issue this requestPropertyServerException
- there is a problem reported in the open metadata server(s)
-
removeProject
void removeProject(String userId, String externalSourceGUID, String externalSourceName, String projectGUID) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Remove the metadata element representing a project. This will delete all anchored elements such as comments.- Parameters:
userId
- calling userexternalSourceGUID
- unique identifier of software capability representing the callerexternalSourceName
- unique name of software capability representing the callerprojectGUID
- unique identifier of the metadata element to remove- Throws:
InvalidParameterException
- one of the parameters is invalidUserNotAuthorizedException
- the user is not authorized to issue this requestPropertyServerException
- there is a problem reported in the open metadata server(s)
-
findProjects
List<ProjectElement> findProjects(String userId, String searchString, int startFrom, int pageSize) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve the list of metadata elements that contain the search string. The search string is treated as a regular expression.- Parameters:
userId
- calling usersearchString
- string to find in the propertiesstartFrom
- paging start pointpageSize
- maximum results that can be returned- Returns:
- list of matching metadata elements
- Throws:
InvalidParameterException
- one of the parameters is invalidUserNotAuthorizedException
- the user is not authorized to issue this requestPropertyServerException
- there is a problem reported in the open metadata server(s)
-
getProjectsByName
List<ProjectElement> getProjectsByName(String userId, String name, int startFrom, int pageSize) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve the list of metadata elements with a matching qualified or display name. There are no wildcards supported on this request.- Parameters:
userId
- calling username
- name to search forstartFrom
- paging start pointpageSize
- maximum results that can be returned- Returns:
- list of matching metadata elements
- Throws:
InvalidParameterException
- one of the parameters is invalidUserNotAuthorizedException
- the user is not authorized to issue this requestPropertyServerException
- there is a problem reported in the open metadata server(s)
-
getProjects
List<ProjectElement> getProjects(String userId, int startFrom, int pageSize) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve the list of projects.- Parameters:
userId
- calling userstartFrom
- paging start pointpageSize
- maximum results that can be returned- Returns:
- list of matching metadata elements
- Throws:
InvalidParameterException
- one of the parameters is invalidUserNotAuthorizedException
- the user is not authorized to issue this requestPropertyServerException
- there is a problem reported in the open metadata server(s)
-
getProjectManagementRoles
List<PersonRoleElement> getProjectManagementRoles(String userId, String projectGUID, int startFrom, int pageSize) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Return information about the project management roles linked to a project.- Parameters:
userId
- calling userprojectGUID
- unique identifier for the projectstartFrom
- 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:
InvalidParameterException
- name or userId is nullPropertyServerException
- problem accessing property serverUserNotAuthorizedException
- security access problem
-
getProjectActors
List<ActorProfileElement> getProjectActors(String userId, String projectGUID, int startFrom, int pageSize) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Return information about the actors linked to a project.- Parameters:
userId
- calling userprojectGUID
- unique identifier for the projectstartFrom
- 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:
InvalidParameterException
- name or userId is nullPropertyServerException
- problem accessing property serverUserNotAuthorizedException
- security access problem
-
getProjectByGUID
ProjectElement getProjectByGUID(String userId, String projectGUID) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve the project metadata element with the supplied unique identifier.- Parameters:
userId
- calling userprojectGUID
- unique identifier of the requested metadata element- Returns:
- matching metadata element
- Throws:
InvalidParameterException
- one of the parameters is invalidUserNotAuthorizedException
- the user is not authorized to issue this requestPropertyServerException
- there is a problem reported in the open metadata server(s)
-