Class CommunityHandler<B>
java.lang.Object
org.odpi.openmetadata.commonservices.generichandlers.OpenMetadataAPIRootHandler<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.CommunityHandler<B>
- Type Parameters:
B
- class that represents the community
CommunityHandler provides the exchange of metadata about communities between the repository and the OMAS.
-
Nested Class Summary
Nested classes/interfaces inherited from class org.odpi.openmetadata.commonservices.generichandlers.OpenMetadataAPIGenericHandler
OpenMetadataAPIGenericHandler.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
ConstructorDescriptionCommunityHandler
(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
addRoleToCommunity
(String userId, String externalSourceGUID, String externalSourceName, String communityGUID, String communityGUIDParameterName, String memberGUID, String memberGUIDParameterName, int membershipType, Date effectiveFrom, Date effectiveTo, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) Add a member (PersonRole) to community.createCommunity
(String userId, String externalSourceGUID, String externalSourceName, String qualifiedName, String displayName, String description, String mission, Map<String, String> additionalProperties, String suppliedTypeName, Map<String, Object> extendedProperties, Date effectiveFrom, Date effectiveTo, Date effectiveTime, String methodName) Create the community object.createCommunityFromTemplate
(String userId, String externalSourceGUID, String externalSourceName, String templateGUID, String qualifiedName, String displayName, String description, String methodName) Create a new metadata element to represent a community using an existing metadata element as a template.findCommunities
(String userId, String searchString, String searchStringParameterName, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) Retrieve the list of community metadata elements that contain the search string.getCommunities
(String userId, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) Retrieve the list of community metadata elements.getCommunitiesByName
(String userId, String name, String nameParameterName, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) Retrieve the list of community metadata elements with a matching qualified or display name.getCommunityByGUID
(String userId, String guid, String guidParameterName, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) Retrieve the community metadata element with the supplied unique identifier.void
removeCommunity
(String userId, String externalSourceGUID, String externalSourceName, String communityGUID, String communityGUIDParameterName, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) Remove the metadata element representing a community.void
removeRoleFromCommunity
(String userId, String externalSourceGUID, String externalSourceName, String communityGUID, String communityGUIDParameterName, String memberGUID, String memberGUIDParameterName, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) Remove a member (PersonRole) from community.void
updateCommunity
(String userId, String externalSourceGUID, String externalSourceName, String communityGUID, String communityGUIDParameterName, String qualifiedName, String displayName, String description, String mission, 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 community (terms and categories) are linked to.Methods inherited from class org.odpi.openmetadata.commonservices.generichandlers.ReferenceableHandler
addAssignmentScope, addDataFieldValuesClassification, addGovernanceActionClassification, addGovernanceDefinitionScope, addGovernanceExpectationsClassification, addGovernanceMeasurementsClassification, addGovernedBy, addImplementedBy, addMoreInformation, addOwner, addRetentionClassification, addSecurityTags, addStakeholder, addSubjectAreaClassification, addTemplateClassification, clearBusinessSignificant, findBeanGUIDsByQualifiedName, findBeansByQualifiedName, findBeansByQualifiedName, getAssignedActors, getAssignmentScope, getBeanByQualifiedName, getBeanByQualifiedName, getBeanGUIDByQualifiedName, getBeanGUIDByQualifiedName, getBeanGUIDsByQualifiedName, getBeanGUIDsByQualifiedName, getBeansByQualifiedName, getBeansByQualifiedName, 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, removeDataFieldValuesClassification, 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, addAnchorsClassification, archiveBeanInRepository, archiveBeanInRepository, countAttachments, createBeanInRepository, createBeanInRepository, deleteAnchoredEntity, deleteBeanInRepository, deleteBeanInRepository, deleteBeanInRepository, deleteRelationship, findAttachmentLinks, findBeanGUIDs, findBeans, findBeans, findBeans, findEntities, findEntities, findEntities, findEntities, getAllAttachmentLinks, getAnchorGUIDFromAnchorsClassification, getAttachedElement, getAttachedElementGUID, getAttachedElementGUID, getAttachedElementGUIDs, getAttachedElementGUIDs, getAttachedElements, getAttachedElements, getAttachedElements, getAttachedEntities, getAttachedEntities, getAttachedEntities, getAttachedEntitiesFromUser, getAttachedEntity, getAttachedEntity, getAttachedEntityFromUser, getAttachmentLink, getAttachmentLinks, getAttachmentLinks, getAttachmentLinks, getAttachmentsForType, getBeanByUniqueName, getBeanByUniqueName, getBeanByValue, getBeanFromEntity, getBeanFromRepository, getBeanFromRepository, getBeanFromRepository, getBeanGUIDByUniqueName, getBeanGUIDByUniqueName, getBeanGUIDsByClassification, getBeanGUIDsByType, getBeanGUIDsByType, getBeanHistory, getBeansByClassification, getBeansByCreator, getBeansByIntValue, getBeansByType, getBeansByType, getBeansByValue, getBeansByValue, getDomainName, getDomainName, getEntitiesByIntValue, getEntitiesByType, getEntitiesByType, getEntitiesByValue, getEntitiesByValue, getEntitiesByValue, getEntitiesByValue, getEntityByValue, getEntityByValue, getEntityFromRepository, getEntityFromRepository, getEntityGUIDByValue, getEntityGUIDsByValue, getSpecification, getSupplementaryProperties, getUniqueAttachmentLink, getUniqueAttachmentLink, isBeanIsolated, isEntityATypeOf, linkElementToElement, linkElementToElement, linkElementToElement, maintainSupplementaryProperties, multiLinkElementToElement, relinkElementToNewElement, relinkElementToNewElement, removeClassificationFromRepository, removeClassificationFromRepository, setClassificationInRepository, setClassificationInRepository, setClassificationInRepository, setClassificationInRepository, uncheckedLinkElementToElement, undoBeanUpdateInRepository, undoBeanUpdateInRepository, undoBeanUpdateInRepository, unlinkAllElements, unlinkConnectedElement, unlinkElementFromElement, unlinkElementFromElement, unlinkElementFromElement, unlinkElementFromElement, updateBeanEffectivityDates, updateBeanEffectivityDates, updateBeanInRepository, updateBeanInRepository, updateBeanInRepository, updateBeanInRepository, updateBeanPropertyInRepository, updateBeanStatusInRepository, updateBeanStatusInRepository, updateClassificationEffectivityDates, updateElementToElementLink, updateElementToElementLink, updateElementToElementLink, updateRelationshipEffectivityDates, updateRelationshipEffectivityDates, updateRelationshipProperties, updateRelationshipProperties, validateAnchorEntity, validateAnchorEntity, validateUniqueProperty, verifyExternalSourceIdentity
Methods inherited from class org.odpi.openmetadata.commonservices.generichandlers.OpenMetadataAPIRootHandler
getConverter, getElementStub, getRepositoryHandler, getRepositoryHelper, getServerName, getServiceName, getSupportedZones, getTypeDefByName, setSecurityVerifier
-
Constructor Details
-
CommunityHandler
public CommunityHandler(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
-
createCommunity
public String createCommunity(String userId, String externalSourceGUID, String externalSourceName, String qualifiedName, String displayName, String description, String mission, Map<String, String> additionalProperties, String suppliedTypeName, Map<String, throws InvalidParameterException, UserNotAuthorizedException, PropertyServerExceptionObject> extendedProperties, Date effectiveFrom, Date effectiveTo, Date effectiveTime, String methodName) Create the community object.- Parameters:
userId
- calling userexternalSourceGUID
- unique identifier of the software capability that owns this communityexternalSourceName
- unique name of the software capability that owns this communityqualifiedName
- unique name for the community - used in other configurationdisplayName
- short display name for the communitydescription
- description of the governance communitymission
- purpose of the communityadditionalProperties
- additional properties for a communitysuppliedTypeName
- type name from the caller (enables creation of subtypes)extendedProperties
- properties for a governance community 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)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 community object
- Throws:
InvalidParameterException
- qualifiedName or userId is nullPropertyServerException
- problem accessing property serverUserNotAuthorizedException
- security access problem
-
createCommunityFromTemplate
public String createCommunityFromTemplate(String userId, String externalSourceGUID, String externalSourceName, String templateGUID, String qualifiedName, String displayName, String description, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Create a new metadata element to represent a community using an existing metadata element as a template. The template defines additional classifications and relationships that should be added to the new community. All categories and terms are linked to a single community. They are owned by this community and if the community is deleted, any linked terms and categories are deleted as well.- Parameters:
userId
- calling userexternalSourceGUID
- unique identifier of the software capability that owns this communityexternalSourceName
- unique name of the software capability that owns this communitytemplateGUID
- unique identifier of the metadata element to copyqualifiedName
- unique name for the community - used in other configurationdisplayName
- short display name for the communitydescription
- description of the governance communitymethodName
- calling method- 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)
-
updateCommunity
public void updateCommunity(String userId, String externalSourceGUID, String externalSourceName, String communityGUID, String communityGUIDParameterName, String qualifiedName, String displayName, String description, String mission, 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 community (terms and categories) are linked to.- Parameters:
userId
- calling userexternalSourceGUID
- unique identifier of the software capability that owns this communityexternalSourceName
- unique name of the software capability that owns this communitycommunityGUID
- unique identifier of the community to updatecommunityGUIDParameterName
- parameter passing the communityGUIDqualifiedName
- unique name for the community - used in other configurationdisplayName
- short display name for the communitydescription
- description of the governance communitymission
- purpose of the communityadditionalProperties
- additional properties for a governance communitysuppliedTypeName
- type of communityextendedProperties
- properties for a governance community 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
-
addRoleToCommunity
public void addRoleToCommunity(String userId, String externalSourceGUID, String externalSourceName, String communityGUID, String communityGUIDParameterName, String memberGUID, String memberGUIDParameterName, int membershipType, Date effectiveFrom, Date effectiveTo, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Add a member (PersonRole) to community.- Parameters:
userId
- calling userexternalSourceGUID
- unique identifier of the software capability that owns this communityexternalSourceName
- unique name of the software capability that owns this communitycommunityGUID
- unique identifier of the communitycommunityGUIDParameterName
- parameter supplying the communityGUIDmemberGUID
- unique identifier of the element that is being added to the communitymemberGUIDParameterName
- parameter supplying the memberGUIDmembershipType
- why is the element a member? (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)
-
removeRoleFromCommunity
public void removeRoleFromCommunity(String userId, String externalSourceGUID, String externalSourceName, String communityGUID, String communityGUIDParameterName, String memberGUID, String memberGUIDParameterName, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Remove a member (PersonRole) from community.- Parameters:
userId
- calling userexternalSourceGUID
- unique identifier of the software capability that owns this communityexternalSourceName
- unique name of the software capability that owns this communitycommunityGUID
- unique identifier of the communitycommunityGUIDParameterName
- parameter supplying the communityGUIDmemberGUID
- unique identifier of the element that is being added to the communitymemberGUIDParameterName
- parameter supplying the memberGUIDforLineage
- 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)
-
removeCommunity
public void removeCommunity(String userId, String externalSourceGUID, String externalSourceName, String communityGUID, String communityGUIDParameterName, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Remove the metadata element representing a community. This will delete the community 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 communityexternalSourceName
- unique name of the software capability that owns this communitycommunityGUID
- unique identifier of the metadata element to removecommunityGUIDParameterName
- parameter supplying the communityGUIDforLineage
- 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)
-
findCommunities
public List<B> findCommunities(String userId, String searchString, String searchStringParameterName, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve the list of community 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 propertiessearchStringParameterName
- name of parameter supplying the search stringstartFrom
- paging start pointpageSize
- maximum results that can be returnedforLineage
- 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- 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)
-
getCommunitiesByName
public List<B> getCommunitiesByName(String userId, String name, String nameParameterName, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve the list of community metadata elements with a matching qualified or display name. There are no wildcards supported on this request.- Parameters:
userId
- calling username
- name to search fornameParameterName
- parameter supplying namestartFrom
- paging start pointpageSize
- maximum results that can be returnedforLineage
- 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- 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)
-
getCommunities
public List<B> getCommunities(String userId, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve the list of community metadata elements.- Parameters:
userId
- calling userstartFrom
- paging start pointpageSize
- maximum results that can be returnedforLineage
- 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- 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)
-
getCommunityByGUID
public B getCommunityByGUID(String userId, String guid, String guidParameterName, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve the community metadata element with the supplied unique identifier.- Parameters:
userId
- calling userguid
- unique identifier of the requested metadata elementguidParameterName
- parameter name of guidforLineage
- 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- 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)
-