Class ProjectManagement
java.lang.Object
org.odpi.openmetadata.accessservices.projectmanagement.client.ProjectManagementBaseClient
org.odpi.openmetadata.accessservices.projectmanagement.client.ProjectManagement
- All Implemented Interfaces:
ProjectsInterface
,RelatedElementsInterface
ProjectManagerClient supports the APIs to maintain projects and their related objects.
-
Constructor Summary
ConstructorDescriptionProjectManagement
(String serverName, String serverPlatformURLRoot, int maxPageSize) Create a new client with no authentication embedded in the HTTP request.ProjectManagement
(String serverName, String serverPlatformURLRoot, int maxPageSize, AuditLog auditLog) Create a new client with no authentication embedded in the HTTP request.ProjectManagement
(String serverName, String serverPlatformURLRoot, String userId, String password, int maxPageSize) Create a new client that passes userId and password in each HTTP request.ProjectManagement
(String serverName, String serverPlatformURLRoot, String userId, String password, int maxPageSize, AuditLog auditLog) Create a new client that passes userId and password in each HTTP request.ProjectManagement
(String serverName, String serverPlatformURLRoot, ProjectManagementRESTClient restClient, int maxPageSize) Create a new client that is going to be used in an OMAG Server. -
Method Summary
Modifier and TypeMethodDescriptionvoid
clearProjectManagementRole
(String userId, String externalSourceGUID, String externalSourceName, String projectGUID, String personRoleGUID) Remove a project management relationship between a project and a person role.void
clearProjectTeam
(String userId, String externalSourceGUID, String externalSourceName, String projectGUID, String actorGUID) Remove a ProjectTeam relationship between a project and an actor.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 a 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 metadata element with the supplied unique identifier.getProjectManagementRoles
(String userId, String projectGUID, int startFrom, int pageSize) Return information about the person 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 project management relationship between a project and a person role to show that someone has been appointed to the project management role.void
setupProjectTeam
(String userId, String externalSourceGUID, String externalSourceName, String projectGUID, ProjectTeamProperties properties, String actorProfileGUID) Create a ProjectTeam relationship between a project and an actor to show that they are member of the project.void
updateProject
(String userId, String externalSourceGUID, String externalSourceName, String projectGUID, boolean isMergeUpdate, ProjectProperties projectProperties) Update the metadata element representing a project.Methods inherited from class org.odpi.openmetadata.accessservices.projectmanagement.client.ProjectManagementBaseClient
clearAssignmentScope, clearMoreInformation, clearResource, clearStakeholder, getAssignedActors, getAssignedScopes, getDescriptiveElements, getMoreInformation, getResourceList, getStakeholderCommissionedElements, getStakeholders, getSupportedByResource, removeReferenceable, setupAssignmentScope, setupMoreInformation, setupResource, setupStakeholder
-
Constructor Details
-
ProjectManagement
public ProjectManagement(String serverName, String serverPlatformURLRoot, int maxPageSize, AuditLog auditLog) throws InvalidParameterException Create a new client with no authentication embedded in the HTTP request.- Parameters:
serverName
- name of the server to connect toserverPlatformURLRoot
- the network address of the server running the OMAS REST servicesmaxPageSize
- maximum value allowed for page sizeauditLog
- logging destination- Throws:
InvalidParameterException
- there is a problem creating the client-side components to issue any REST API calls.
-
ProjectManagement
public ProjectManagement(String serverName, String serverPlatformURLRoot, int maxPageSize) throws InvalidParameterException Create a new client with no authentication embedded in the HTTP request.- Parameters:
serverName
- name of the server to connect toserverPlatformURLRoot
- the network address of the server running the OMAS REST servicesmaxPageSize
- maximum value allowed for page size- Throws:
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, int maxPageSize) throws 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 toserverPlatformURLRoot
- the network address of the server running the OMAS REST servicesuserId
- caller's userId embedded in all HTTP requestspassword
- caller's userId embedded in all HTTP requestsmaxPageSize
- maximum value allowed for page size- Throws:
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, int maxPageSize, AuditLog auditLog) throws 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 toserverPlatformURLRoot
- the network address of the server running the OMAS REST servicesuserId
- caller's userId embedded in all HTTP requestspassword
- caller's userId embedded in all HTTP requestsmaxPageSize
- maximum value allowed for page sizeauditLog
- logging destination- Throws:
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 InvalidParameterException Create a new client that is going to be used in an OMAG Server.- Parameters:
serverName
- name of the server to connect toserverPlatformURLRoot
- the network address of the server running the OMAS REST servicesrestClient
- client that issues the REST API callsmaxPageSize
- maximum number of results supported by this server- Throws:
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, ProjectProperties projectProperties) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Create a new metadata element to represent a project.- Specified by:
createProject
in interfaceProjectsInterface
- Parameters:
userId
- calling userexternalSourceGUID
- unique identifier of software capability representing the callerexternalSourceName
- unique name of software capability representing the callerprojectProperties
- properties about the project to store- Returns:
- unique identifier of the new project
- 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
public 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.- Specified by:
createProject
in interfaceProjectsInterface
- 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
public 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.- Specified by:
createProjectFromTemplate
in interfaceProjectsInterface
- 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
public 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. It is possible to use the subtype property classes or set up specialized properties in extended properties.- Specified by:
updateProject
in interfaceProjectsInterface
- 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 the 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)
-
setupProjectManagementRole
public void setupProjectManagementRole(String userId, String externalSourceGUID, String externalSourceName, String projectGUID, String personRoleGUID) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Create a project management relationship between a project and a person role to show that someone has been appointed to the project management role.- Specified by:
setupProjectManagementRole
in interfaceProjectsInterface
- Parameters:
userId
- calling userexternalSourceGUID
- unique identifier of software capability representing the callerexternalSourceName
- unique name of software capability representing the callerprojectGUID
- unique identifier of the project in the external data managerpersonRoleGUID
- unique identifier of the person role in the external data manager- 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
public void clearProjectManagementRole(String userId, String externalSourceGUID, String externalSourceName, String projectGUID, String personRoleGUID) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Remove a project management relationship between a project and a person role.- Specified by:
clearProjectManagementRole
in interfaceProjectsInterface
- Parameters:
userId
- calling userexternalSourceGUID
- unique identifier of software capability representing the callerexternalSourceName
- unique name of software capability representing the callerprojectGUID
- unique identifier of the project in the external data managerpersonRoleGUID
- unique identifier of the person role in the external data manager- 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
public 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 to show that they are member of the project.- Specified by:
setupProjectTeam
in interfaceProjectsInterface
- 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 person 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)
-
clearProjectTeam
public void clearProjectTeam(String userId, String externalSourceGUID, String externalSourceName, String projectGUID, String actorGUID) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Remove a ProjectTeam relationship between a project and an actor.- Specified by:
clearProjectTeam
in interfaceProjectsInterface
- Parameters:
userId
- calling userexternalSourceGUID
- unique identifier of software capability representing the callerexternalSourceName
- unique name of software capability representing the callerprojectGUID
- unique identifier of the project in the external data manageractorGUID
- unique identifier of the person role in the external data manager- 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
public void removeProject(String userId, String externalSourceGUID, String externalSourceName, String projectGUID) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Remove the metadata element representing a project.- Specified by:
removeProject
in interfaceProjectsInterface
- 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
public 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.- Specified by:
getLinkedProjects
in interfaceProjectsInterface
- 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
public List<ProjectElement> getClassifiedProjects(String userId, String classificationName, int startFrom, int pageSize) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException Returns the list of projects with a particular classification.- Specified by:
getClassifiedProjects
in interfaceProjectsInterface
- 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
public 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.- Specified by:
getProjectMembers
in interfaceProjectsInterface
- 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
public 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.- Specified by:
findProjects
in interfaceProjectsInterface
- 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
public 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.- Specified by:
getProjectsByName
in interfaceProjectsInterface
- 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
public List<ProjectElement> getProjects(String userId, int startFrom, int pageSize) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve the list of projects.- Specified by:
getProjects
in interfaceProjectsInterface
- 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
public List<PersonRoleElement> getProjectManagementRoles(String userId, String projectGUID, int startFrom, int pageSize) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Return information about the person roles linked to a project.- Specified by:
getProjectManagementRoles
in interfaceProjectsInterface
- 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
public List<ActorProfileElement> getProjectActors(String userId, String projectGUID, int startFrom, int pageSize) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Return information about the actors linked to a project.- Specified by:
getProjectActors
in interfaceProjectsInterface
- 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
public ProjectElement getProjectByGUID(String userId, String projectGUID) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve the metadata element with the supplied unique identifier.- Specified by:
getProjectByGUID
in interfaceProjectsInterface
- Parameters:
userId
- calling userprojectGUID
- unique identifier of the requested metadata element- Returns:
- requested 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)
-