Class ProjectHandler<B>
java.lang.Object
org.odpi.openmetadata.commonservices.generichandlers.OpenMetadataAPIRootHandler<B>
org.odpi.openmetadata.commonservices.generichandlers.OpenMetadataAPIAnchorHandler<B>
org.odpi.openmetadata.commonservices.generichandlers.OpenMetadataAPIGenericHandler<B>
org.odpi.openmetadata.commonservices.generichandlers.OpenMetadataAPITemplateHandler<B>
org.odpi.openmetadata.commonservices.generichandlers.ReferenceableHandler<B>
org.odpi.openmetadata.commonservices.generichandlers.ProjectHandler<B>
- Type Parameters:
B
- class that represents the project
ProjectHandler provides the exchange of metadata about projects between the repository and the OMAS.
-
Nested Class Summary
Nested classes/interfaces inherited from class org.odpi.openmetadata.commonservices.generichandlers.OpenMetadataAPIAnchorHandler
OpenMetadataAPIAnchorHandler.AnchorIdentifiers
-
Field Summary
Fields inherited from class org.odpi.openmetadata.commonservices.generichandlers.OpenMetadataAPIRootHandler
assetActionDescription, auditLog, beanClass, converter, defaultZones, errorHandler, invalidParameterHandler, localServerUserId, publishZones, qualifiedNamePropertyNamesList, repositoryHandler, repositoryHelper, securityVerifier, serverName, serviceName, supportedZones
-
Constructor Summary
ConstructorsConstructorDescriptionProjectHandler
(OpenMetadataAPIGenericConverter<B> converter, Class<B> beanClass, String serviceName, String serverName, InvalidParameterHandler invalidParameterHandler, RepositoryHandler repositoryHandler, OMRSRepositoryHelper repositoryHelper, String localServerUserId, OpenMetadataServerSecurityVerifier securityVerifier, List<String> supportedZones, List<String> defaultZones, List<String> publishZones, AuditLog auditLog) Construct the handler with information needed to work with B objects. -
Method Summary
Modifier and TypeMethodDescriptionvoid
addActorToProject
(String userId, String externalSourceGUID, String externalSourceName, String projectGUID, String projectGUIDParameterName, String actorProfileGUID, String actorProfileGUIDParameterName, String teamRole, Date effectiveFrom, Date effectiveTo, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) Add a project team (ActorProfile) to a project.void
addProjectManager
(String userId, String externalSourceGUID, String externalSourceName, String projectGUID, String projectGUIDParameterName, String personRoleGUID, String personRoleGUIDParameterName, Date effectiveFrom, Date effectiveTo, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) Add a project manager (PersonRole) to a project.createProject
(String userId, String externalSourceGUID, String externalSourceName, String qualifiedName, String identifier, String name, String description, Date startDate, Date plannedEndDate, String projectPhase, String projectHealth, String projectStatus, int priority, Map<String, String> additionalProperties, String suppliedTypeName, Map<String, Object> extendedProperties, boolean setCampaignClassification, boolean setTaskClassification, String projectTypeClassification, Date effectiveFrom, Date effectiveTo, Date effectiveTime, String methodName) Create the project object.void
removeActorFromProject
(String userId, String externalSourceGUID, String externalSourceName, String projectGUID, String projectGUIDParameterName, String actorProfileGUID, String actorProfileGUIDParameterName, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) Remove a project team (ActorProfile) from a project.void
removeProject
(String userId, String externalSourceGUID, String externalSourceName, String projectGUID, String projectGUIDParameterName, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) Remove the metadata element representing a project.void
removeProjectManager
(String userId, String externalSourceGUID, String externalSourceName, String projectGUID, String projectGUIDParameterName, String personRoleGUID, String personRoleGUIDParameterName, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) Remove a project manager (PersonRole) from a project.void
updateProject
(String userId, String externalSourceGUID, String externalSourceName, String projectGUID, String projectGUIDParameterName, String qualifiedName, String identifier, String name, String description, Date startDate, Date plannedEndDate, String projectPhase, String projectHealth, String projectStatus, int priority, Map<String, String> additionalProperties, String suppliedTypeName, Map<String, Object> extendedProperties, Date effectiveFrom, Date effectiveTo, boolean isMergeUpdate, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) Update the anchor object that all elements in a project (terms and categories) are linked to.Methods inherited from class org.odpi.openmetadata.commonservices.generichandlers.ReferenceableHandler
addAssignmentScope, addGovernanceActionClassification, addGovernanceDefinitionScope, addGovernanceExpectationsClassification, addGovernanceMeasurementsClassification, addGovernedBy, addImplementedBy, addMoreInformation, addOwner, addRetentionClassification, addSecurityTags, addStakeholder, addSubjectAreaClassification, addTemplateClassification, clearBusinessSignificant, getAssignedActors, getAssignmentScope, getBeanByQualifiedName, getBeanByQualifiedName, getBeanGUIDByQualifiedName, getBeanGUIDByQualifiedName, getCatalogTemplateList, getCollectionMembers, getCommissionedByStakeholder, getDataFieldValuesClassifiedElement, getDescriptiveElements, getElementsSourceFrom, getEntityByUniqueQualifiedName, getGovernanceActionClassifiedElements, getGovernanceDefinitionScope, getGovernedElements, getMeanings, getMoreInformation, getMoreInformation, getOwnersElements, getReferenceValueAssignees, getResourceList, getRetentionClassifiedElements, getSecurityTagsClassifiedElements, getSemanticAssignments, getSourceElements, getStakeholders, getSubjectAreaMembers, getSubjectAreaMembers, getSupportedByResource, getSupportedByTemplate, getValidValueConsumers, getVendorProperties, linkConsolidatedDuplicate, linkElementsAsPeerDuplicates, removeAssignmentScope, removeCatalogTemplate, removeGovernanceActionClassification, removeGovernanceDefinitionScope, removeGovernanceExpectationsClassification, removeGovernanceMeasurementsClassification, removeGovernedBy, removeImplementedBy, removeMoreInformation, removeOwner, removeResourceListMember, removeRetentionClassification, removeSecurityTags, removeSemanticAssignment, removeStakeholder, removeSubjectAreaClassification, removeTemplateClassification, saveCatalogTemplate, saveResourceListMember, saveSemanticAssignment, saveSemanticAssignment, saveSemanticAssignments, setBusinessSignificant, setVendorProperties, unlinkElementsAsPeerDuplicates
Methods inherited from class org.odpi.openmetadata.commonservices.generichandlers.OpenMetadataAPITemplateHandler
createBeanFromTemplate, createBeanFromTemplate
Methods inherited from class org.odpi.openmetadata.commonservices.generichandlers.OpenMetadataAPIGenericHandler
addAnchorGUIDToBuilder, archiveBeanInRepository, archiveBeanInRepository, countAttachments, createBeanInRepository, createBeanInRepository, deleteAnchoredEntity, deleteBeanInRepository, deleteBeanInRepository, deleteBeanInRepository, deleteRelationship, findAttachmentLinks, findBeans, findBeans, findBeans, findEntities, findEntities, findEntities, findEntities, getAllAttachmentLinks, getAttachedElement, getAttachedElementGUID, getAttachedElementGUID, getAttachedElementGUIDs, getAttachedElementGUIDs, getAttachedElements, getAttachedElements, getAttachedElements, getAttachedEntities, getAttachedEntities, getAttachedEntities, getAttachedEntity, getAttachedEntity, getAttachmentLink, getAttachmentLink, getAttachmentLinks, getAttachmentLinks, getAttachmentLinks, getBeanByUniqueName, getBeanByUniqueName, getBeanByValue, getBeanFromEntity, getBeanFromRepository, getBeanFromRepository, getBeanFromRepository, getBeanFromRepository, getBeanGUIDByUniqueName, getBeanGUIDByUniqueName, getBeanGUIDsByClassification, getBeanHistory, getBeansByIntValue, getBeansByType, getBeansByType, getBeansByValue, getBeansByValue, getEntitiesByIntValue, getEntitiesByType, getEntitiesByType, getEntitiesByValue, getEntitiesByValue, getEntityByValue, getEntityByValue, getEntityFromRepository, getEntityFromRepository, getEntityFromRepository, getEntityGUIDByValue, getEntityGUIDsByValue, getRelationshipHistory, getSpecification, getSupplementaryProperties, getUniqueAttachmentLink, getUniqueAttachmentLink, getValidatedBeans, getValidatedEntities, getValidatedEntities, linkElementToElement, linkElementToElement, linkElementToElement, maintainSupplementaryProperties, multiLinkElementToElement, relinkElementToNewElement, relinkElementToNewElement, removeClassificationFromRepository, removeClassificationFromRepository, setClassificationInRepository, setClassificationInRepository, setClassificationInRepository, setClassificationInRepository, uncheckedLinkElementToElement, undoBeanUpdateInRepository, undoBeanUpdateInRepository, undoBeanUpdateInRepository, unlinkAllElements, unlinkConnectedElement, unlinkElementFromElement, unlinkElementFromElement, unlinkElementFromElement, unlinkElementFromElement, updateBeanEffectivityDates, updateBeanInRepository, updateBeanInRepository, updateBeanInRepository, updateBeanInRepository, updateBeanPropertyInRepository, updateBeanStatusInRepository, updateBeanStatusInRepository, updateClassificationEffectivityDates, updateElementToElementLink, updateElementToElementLink, updateElementToElementLink, updateRelationshipEffectivityDates, updateRelationshipProperties, validateAnchorEntity, validateAnchorGUID, validateEntitiesAndAnchorsForRead, validateEntityAndAnchorForRead, validateEntityAndAnchorForRead, validateRelationship, validateUniqueProperty, verifyExternalSourceIdentity, visibleToUserThroughRelationship
Methods inherited from class org.odpi.openmetadata.commonservices.generichandlers.OpenMetadataAPIAnchorHandler
addAnchorsClassification, getAnchorGUIDForEntity, getAnchorGUIDFromAnchorsClassification, getDomainName, getDomainName
Methods inherited from class org.odpi.openmetadata.commonservices.generichandlers.OpenMetadataAPIRootHandler
getConverter, getElementStub, getRepositoryHandler, getRepositoryHelper, getServerName, getServiceName, getSupportedZones, getTypeDefByName, setSecurityVerifier
-
Constructor Details
-
ProjectHandler
public ProjectHandler(OpenMetadataAPIGenericConverter<B> converter, Class<B> beanClass, String serviceName, String serverName, InvalidParameterHandler invalidParameterHandler, RepositoryHandler repositoryHandler, OMRSRepositoryHelper repositoryHelper, String localServerUserId, OpenMetadataServerSecurityVerifier securityVerifier, List<String> supportedZones, List<String> defaultZones, List<String> publishZones, AuditLog auditLog) Construct the handler with information needed to work with B objects.- Parameters:
converter
- specific converter for this bean classbeanClass
- name of bean class that is represented by the generic class BserviceName
- name of this serviceserverName
- name of the local serverinvalidParameterHandler
- handler for managing parameter errorsrepositoryHandler
- manages calls to the repository servicesrepositoryHelper
- provides utilities for manipulating the repository services objectslocalServerUserId
- userId for this serversecurityVerifier
- open metadata security services verifiersupportedZones
- list of zones that the access service is allowed to serve B instances fromdefaultZones
- list of zones that the access service should set in all new B instancespublishZones
- list of zones that the access service sets up in published B instancesauditLog
- destination for audit log events
-
-
Method Details
-
createProject
public String createProject(String userId, String externalSourceGUID, String externalSourceName, String qualifiedName, String identifier, String name, String description, Date startDate, Date plannedEndDate, String projectPhase, String projectHealth, String projectStatus, int priority, Map<String, String> additionalProperties, String suppliedTypeName, Map<String, throws InvalidParameterException, UserNotAuthorizedException, PropertyServerExceptionObject> extendedProperties, boolean setCampaignClassification, boolean setTaskClassification, String projectTypeClassification, Date effectiveFrom, Date effectiveTo, Date effectiveTime, String methodName) Create the project object.- Parameters:
userId
- calling userexternalSourceGUID
- unique identifier of the software capability that owns this projectexternalSourceName
- unique name of the software capability that owns this projectqualifiedName
- qualified name of projectidentifier
- unique identifier of project - typically allocated externallyname
- display namedescription
- descriptionstartDate
- date the project startedplannedEndDate
- date the project is expected to endprojectPhase
- lifecycle phase of projectprojectHealth
- how well is the project tracking to planprojectStatus
- status of the projectpriority
- priority of projectadditionalProperties
- additional properties for a projectsuppliedTypeName
- type name from the caller (enables creation of subtypes)extendedProperties
- properties for a governance project subtypesetCampaignClassification
- should the Campaign classification be set?setTaskClassification
- should the Task classification be set?projectTypeClassification
- add special classification that defines the type of project - eg GlossaryProject or GovernanceProjecteffectiveFrom
- the time that the relationship element must be effective from (null for any time, new Date() for now)effectiveTo
- the time that the relationship must be effective to (null for any time, new Date() for now)effectiveTime
- the time that the retrieved elements must be effective for (null for any time, new Date() for now)methodName
- calling method- Returns:
- unique identifier of the new project object
- Throws:
InvalidParameterException
- qualifiedName or userId is nullPropertyServerException
- problem accessing property serverUserNotAuthorizedException
- security access problem
-
updateProject
public void updateProject(String userId, String externalSourceGUID, String externalSourceName, String projectGUID, String projectGUIDParameterName, String qualifiedName, String identifier, String name, String description, Date startDate, Date plannedEndDate, String projectPhase, String projectHealth, String projectStatus, int priority, Map<String, String> additionalProperties, String suppliedTypeName, Map<String, throws InvalidParameterException, UserNotAuthorizedException, PropertyServerExceptionObject> extendedProperties, Date effectiveFrom, Date effectiveTo, boolean isMergeUpdate, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) Update the anchor object that all elements in a project (terms and categories) are linked to.- Parameters:
userId
- calling userexternalSourceGUID
- unique identifier of the software capability that owns this projectexternalSourceName
- unique name of the software capability that owns this projectprojectGUID
- unique identifier of the project to updateprojectGUIDParameterName
- parameter passing the projectGUIDqualifiedName
- qualified name of projectidentifier
- unique identifier of project - typically allocated externallyname
- display namedescription
- descriptionstartDate
- date the project startedplannedEndDate
- date the project is expected to endprojectPhase
- lifecycle phase of projectprojectHealth
- how well is the project tracking to planprojectStatus
- status of the projectpriority
- priority of projectadditionalProperties
- additional properties for a governance projectsuppliedTypeName
- type of projectextendedProperties
- properties for a governance project subtypeeffectiveFrom
- the time that the relationship element must be effective from (null for any time, new Date() for now)effectiveTo
- the time that the relationship must be effective to (null for any time, new Date() for now)isMergeUpdate
- should the properties be merged with the existing properties or completely over-write themforLineage
- return elements marked with the Memento classification?forDuplicateProcessing
- do not merge elements marked as duplicates?effectiveTime
- the time that the retrieved elements must be effective for (null for any time, new Date() for now)methodName
- calling method- Throws:
InvalidParameterException
- qualifiedName or userId is nullPropertyServerException
- problem accessing property serverUserNotAuthorizedException
- security access problem
-
addActorToProject
public void addActorToProject(String userId, String externalSourceGUID, String externalSourceName, String projectGUID, String projectGUIDParameterName, String actorProfileGUID, String actorProfileGUIDParameterName, String teamRole, Date effectiveFrom, Date effectiveTo, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Add a project team (ActorProfile) to a project.- Parameters:
userId
- calling userexternalSourceGUID
- unique identifier of the software capability that owns this projectexternalSourceName
- unique name of the software capability that owns this projectprojectGUID
- unique identifier of the projectprojectGUIDParameterName
- parameter supplying the projectGUIDactorProfileGUID
- unique identifier of the element that is being added to the projectactorProfileGUIDParameterName
- parameter supplying the actorProfileGUIDteamRole
- why is the team attached to the project? (optional)effectiveFrom
- the time that the relationship element must be effective from (null for any time, new Date() for now)effectiveTo
- the time that the relationship must be effective to (null for any time, new Date() for now)forLineage
- return elements marked with the Memento classification?forDuplicateProcessing
- do not merge elements marked as duplicates?effectiveTime
- the time that the retrieved elements must be effective for (null for any time, new Date() for now)methodName
- calling method- 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)
-
removeActorFromProject
public void removeActorFromProject(String userId, String externalSourceGUID, String externalSourceName, String projectGUID, String projectGUIDParameterName, String actorProfileGUID, String actorProfileGUIDParameterName, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Remove a project team (ActorProfile) from a project.- Parameters:
userId
- calling userexternalSourceGUID
- unique identifier of the software capability that owns this projectexternalSourceName
- unique name of the software capability that owns this projectprojectGUID
- unique identifier of the projectprojectGUIDParameterName
- parameter supplying the projectGUIDactorProfileGUID
- unique identifier of the element that is being added to the projectactorProfileGUIDParameterName
- parameter supplying the actorProfileGUIDforLineage
- return elements marked with the Memento classification?forDuplicateProcessing
- do not merge elements marked as duplicates?effectiveTime
- the time that the retrieved elements must be effective for (null for any time, new Date() for now)methodName
- calling method- 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)
-
addProjectManager
public void addProjectManager(String userId, String externalSourceGUID, String externalSourceName, String projectGUID, String projectGUIDParameterName, String personRoleGUID, String personRoleGUIDParameterName, Date effectiveFrom, Date effectiveTo, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Add a project manager (PersonRole) to a project.- Parameters:
userId
- calling userexternalSourceGUID
- unique identifier of the software capability that owns this projectexternalSourceName
- unique name of the software capability that owns this projectprojectGUID
- unique identifier of the projectprojectGUIDParameterName
- parameter supplying the projectGUIDpersonRoleGUID
- unique identifier of the element that is being added to the projectpersonRoleGUIDParameterName
- parameter supplying the personRoleGUIDeffectiveFrom
- the time that the relationship element must be effective from (null for any time, new Date() for now)effectiveTo
- the time that the relationship must be effective to (null for any time, new Date() for now)forLineage
- return elements marked with the Memento classification?forDuplicateProcessing
- do not merge elements marked as duplicates?effectiveTime
- the time that the retrieved elements must be effective for (null for any time, new Date() for now)methodName
- calling method- 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)
-
removeProjectManager
public void removeProjectManager(String userId, String externalSourceGUID, String externalSourceName, String projectGUID, String projectGUIDParameterName, String personRoleGUID, String personRoleGUIDParameterName, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Remove a project manager (PersonRole) from a project.- Parameters:
userId
- calling userexternalSourceGUID
- unique identifier of the software capability that owns this projectexternalSourceName
- unique name of the software capability that owns this projectprojectGUID
- unique identifier of the projectprojectGUIDParameterName
- parameter supplying the projectGUIDpersonRoleGUID
- unique identifier of the element that is being added to the projectpersonRoleGUIDParameterName
- parameter supplying the personRoleGUIDforLineage
- return elements marked with the Memento classification?forDuplicateProcessing
- do not merge elements marked as duplicates?effectiveTime
- the time that the retrieved elements must be effective for (null for any time, new Date() for now)methodName
- calling method- 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, String projectGUIDParameterName, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Remove the metadata element representing a project. This will delete the project and all categories and terms because the Anchors classifications are set up in these elements.- Parameters:
userId
- calling userexternalSourceGUID
- unique identifier of the software capability that owns this projectexternalSourceName
- unique name of the software capability that owns this projectprojectGUID
- unique identifier of the metadata element to removeprojectGUIDParameterName
- parameter supplying the projectGUIDforLineage
- return elements marked with the Memento classification?forDuplicateProcessing
- do not merge elements marked as duplicates?effectiveTime
- the time that the retrieved elements must be effective for (null for any time, new Date() for now)methodName
- calling method- 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)
-