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 anchorGUID, boolean isOwnAnchor, String optionalClassification, ProjectProperties properties, String parentGUID, String parentRelationshipTypeName, ElementProperties parentRelationshipProperties, boolean parentAtEnd1) Create a new generic project.createProject
(String userId, String externalSourceGUID, String externalSourceName, ProjectProperties projectProperties) Create a new metadata element to represent the project.createProjectFromTemplate
(String userId, String anchorGUID, boolean isOwnAnchor, Date effectiveFrom, Date effectiveTo, String templateGUID, ElementProperties replacementProperties, Map<String, String> placeholderProperties, String parentGUID, String parentRelationshipTypeName, ElementProperties parentRelationshipProperties, boolean parentAtEnd1) 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.getClassifiedProjects
(String userId, String classificationName, int startFrom, int pageSize) Returns the list of projects with a particular classification.getLinkedProjects
(String userId, String parentGUID, String projectStatus, int startFrom, int pageSize) Returns the list of projects that are linked off of the supplied element.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.getProjectMembers
(String userId, String projectGUID, String teamRole, int startFrom, int pageSize) Return a list of actors that are members of 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)
-
createProject
String createProject(String userId, String anchorGUID, boolean isOwnAnchor, String optionalClassification, ProjectProperties properties, String parentGUID, String parentRelationshipTypeName, ElementProperties parentRelationshipProperties, boolean parentAtEnd1) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException Create a new generic project.- Parameters:
userId
- userId of user making request.anchorGUID
- unique identifier of the element that should be the anchor for the new element. Set to null if no anchor, or the Anchors classification is included in the initial classifications.isOwnAnchor
- boolean flag to day that the element should be classified as its own anchor once its element is created in the repository.optionalClassification
- classification of the projects - eg Campaign, Task or PersonalProjectproperties
- properties for the project.parentGUID
- unique identifier of optional parent entityparentRelationshipTypeName
- type of relationship to connect the new element to the parentparentRelationshipProperties
- properties to include in parent relationshipparentAtEnd1
- which end should the parent GUID go in the relationship- Returns:
- unique identifier of the newly created Project
- Throws:
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
String createProjectFromTemplate(String userId, String anchorGUID, boolean isOwnAnchor, Date effectiveFrom, Date effectiveTo, String templateGUID, ElementProperties replacementProperties, Map<String, String> placeholderProperties, String parentGUID, String parentRelationshipTypeName, ElementProperties parentRelationshipProperties, boolean parentAtEnd1) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerExceptionCreate 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 useranchorGUID
- unique identifier of the element that should be the anchor for the new element. Set to null if no anchor, or the Anchors classification is included in the initial classifications.isOwnAnchor
- boolean flag to day that the element should be classified as its own anchor once its element is created in the repository.effectiveFrom
- the date when this element is active - null for active on creationeffectiveTo
- the date when this element becomes inactive - null for active until deletedtemplateGUID
- the unique identifier of the existing asset to copy (this will copy all the attachments such as nested content, schema connection etc)replacementProperties
- properties of the new metadata element. These override the template valuesplaceholderProperties
- property name-to-property value map to replace any placeholder values in the template element - and their anchored elements, which are also copied as part of this operation.parentGUID
- unique identifier of optional parent entityparentRelationshipTypeName
- type of relationship to connect the new element to the parentparentRelationshipProperties
- properties to include in parent relationshipparentAtEnd1
- which end should the parent GUID go in the relationship- 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)
-
getLinkedProjects
List<ProjectElement> getLinkedProjects(String userId, String parentGUID, String projectStatus, int startFrom, int pageSize) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException Returns the list of projects that are linked off of the supplied element.- Parameters:
userId
- userId of user making requestparentGUID
- unique identifier of referenceable object (typically a personal profile, project or community) that the projects hang off ofprojectStatus
- filter response by project type - if null, any value will dostartFrom
- index of the list to start from (0 for start)pageSize
- maximum number of elements to return- Returns:
- a list of projects
- Throws:
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
List<ProjectElement> getClassifiedProjects(String userId, String classificationName, int startFrom, int pageSize) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException Returns the list of projects with a particular classification.- Parameters:
userId
- userId of user making requestclassificationName
- name of the classification - if null, all projects are returnedstartFrom
- index of the list to start from (0 for start)pageSize
- maximum number of elements to return- Returns:
- a list of projects
- Throws:
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.
-
getProjectMembers
List<ProjectTeamMember> getProjectMembers(String userId, String projectGUID, String teamRole, int startFrom, int pageSize) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException Return a list of actors that are members of a project.- Parameters:
userId
- userId of user making requestprojectGUID
- unique identifier of the projectteamRole
- optional team rolestartFrom
- index of the list to start from (0 for start)pageSize
- maximum number of elements to return.- Returns:
- list of team members
- Throws:
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
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)
-