Interface CommunityManagementInterface
- All Known Implementing Classes:
CommunityManagement
public interface CommunityManagementInterface
The CommunityManagementInterface provides methods for managing communities, their membership and content.
Communities allow groups of subject-matter experts to work together and share content and ideas.
-
Method Summary
Modifier and TypeMethodDescriptionvoid
clearCommunityRole
(String userId, String externalSourceGUID, String externalSourceName, String communityGUID, String personRoleGUID) Remove a membership relationship between a community and a person role.createCommunity
(String userId, String externalSourceGUID, String externalSourceName, CommunityProperties communityProperties) Create a new metadata element to represent the community.createCommunityFromTemplate
(String userId, String externalSourceGUID, String externalSourceName, String templateGUID, TemplateProperties templateProperties) Create a new metadata element to represent a community using an existing metadata element as a template.findCommunities
(String userId, String searchString, int startFrom, int pageSize) Retrieve the list of metadata elements that contain the search string.getCommunities
(String userId, int startFrom, int pageSize) Retrieve the list of communities.getCommunitiesByName
(String userId, String name, int startFrom, int pageSize) Retrieve the list of metadata elements with a matching qualified or display name.getCommunityByGUID
(String userId, String communityGUID) Retrieve the community metadata element with the supplied unique identifier.getRolesForCommunity
(String userId, String communityGUID, int startFrom, int pageSize) Return information about the person roles linked to a community.void
removeCommunity
(String userId, String externalSourceGUID, String externalSourceName, String communityGUID) Remove the metadata element representing a community.void
setupCommunityRole
(String userId, String externalSourceGUID, String externalSourceName, String communityGUID, CommunityMembershipProperties membershipProperties, String personRoleGUID) Create a membership relationship between a community and a person role to show that anyone appointed to the role is a member of the community.void
updateCommunity
(String userId, String externalSourceGUID, String externalSourceName, String communityGUID, boolean isMergeUpdate, CommunityProperties communityProperties) Update the metadata element representing a community.
-
Method Details
-
createCommunity
String createCommunity(String userId, String externalSourceGUID, String externalSourceName, CommunityProperties communityProperties) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Create a new metadata element to represent the community.- Parameters:
userId
- calling userexternalSourceGUID
- unique identifier of software capability representing the callerexternalSourceName
- unique name of software capability representing the callercommunityProperties
- 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)
-
createCommunityFromTemplate
String createCommunityFromTemplate(String userId, String externalSourceGUID, String externalSourceName, String templateGUID, TemplateProperties templateProperties) 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.- Parameters:
userId
- calling userexternalSourceGUID
- unique identifier of software capability representing the callerexternalSourceName
- unique name of software capability representing the callertemplateGUID
- unique identifier of the metadata element to copytemplateProperties
- properties that override the template- Returns:
- unique identifier of the new metadata element
- Throws:
InvalidParameterException
- one of the parameters is invalidUserNotAuthorizedException
- the user is not authorized to issue this requestPropertyServerException
- there is a problem reported in the open metadata server(s)
-
updateCommunity
void updateCommunity(String userId, String externalSourceGUID, String externalSourceName, String communityGUID, boolean isMergeUpdate, CommunityProperties communityProperties) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Update the metadata element representing a community.- Parameters:
userId
- calling userexternalSourceGUID
- unique identifier of software capability representing the callerexternalSourceName
- unique name of software capability representing the callercommunityGUID
- unique identifier of the metadata element to updateisMergeUpdate
- should the new properties be merged with existing properties (true) or completely replace them (false)?communityProperties
- 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)
-
setupCommunityRole
void setupCommunityRole(String userId, String externalSourceGUID, String externalSourceName, String communityGUID, CommunityMembershipProperties membershipProperties, String personRoleGUID) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Create a membership relationship between a community and a person role to show that anyone appointed to the role is a member of the community.- Parameters:
userId
- calling userexternalSourceGUID
- unique identifier of software capability representing the callerexternalSourceName
- unique name of software capability representing the callercommunityGUID
- unique identifier of the communitymembershipProperties
- describes the permissions that the role has in the communitypersonRoleGUID
- 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)
-
clearCommunityRole
void clearCommunityRole(String userId, String externalSourceGUID, String externalSourceName, String communityGUID, String personRoleGUID) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Remove a membership relationship between a community and a person role.- Parameters:
userId
- calling userexternalSourceGUID
- unique identifier of software capability representing the callerexternalSourceName
- unique name of software capability representing the callercommunityGUID
- unique identifier of the communitypersonRoleGUID
- 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)
-
removeCommunity
void removeCommunity(String userId, String externalSourceGUID, String externalSourceName, String communityGUID) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Remove the metadata element representing a community. 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 callercommunityGUID
- 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)
-
findCommunities
List<CommunityElement> findCommunities(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)
-
getCommunitiesByName
List<CommunityElement> getCommunitiesByName(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)
-
getCommunities
List<CommunityElement> getCommunities(String userId, int startFrom, int pageSize) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve the list of communities.- 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)
-
getRolesForCommunity
List<PersonRoleElement> getRolesForCommunity(String userId, String communityGUID, int startFrom, int pageSize) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Return information about the person roles linked to a community.- Parameters:
userId
- calling usercommunityGUID
- unique identifier for the communitystartFrom
- 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
-
getCommunityByGUID
CommunityElement getCommunityByGUID(String userId, String communityGUID) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve the community metadata element with the supplied unique identifier.- Parameters:
userId
- calling usercommunityGUID
- 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)
-