Class CollectionManagement
java.lang.Object
org.odpi.openmetadata.accessservices.communityprofile.client.CommunityProfileBaseClient
org.odpi.openmetadata.accessservices.communityprofile.client.CollectionManagement
- All Implemented Interfaces:
CollectionManagementInterface
,RelatedElementsManagementInterface
public class CollectionManagement
extends CommunityProfileBaseClient
implements CollectionManagementInterface
CollectionManagerClient supports the APIs to maintain collections and their related objects.
It issues REST API calls to the Open Metadata Server running Collection Profile OMAS that have a URL that begins:
serverPlatformURLRoot/servers/{serverName}/open-metadata/access-services/community-profile/users/{userId}/collections.
-
Field Summary
Fields inherited from class org.odpi.openmetadata.accessservices.communityprofile.client.CommunityProfileBaseClient
baseURLTemplatePrefix, openMetadataStoreClient, propertyHelper
-
Constructor Summary
ConstructorDescriptionCollectionManagement
(String serverName, String serverPlatformURLRoot, int maxPageSize) Create a new client with no authentication embedded in the HTTP request.CollectionManagement
(String serverName, String serverPlatformURLRoot, String userId, String password, int maxPageSize) Create a new client that passes userId and password in each HTTP request.CollectionManagement
(String serverName, String serverPlatformURLRoot, String userId, String password, AuditLog auditLog, int maxPageSize) Create a new client that passes userId and password in each HTTP request.CollectionManagement
(String serverName, String serverPlatformURLRoot, CommunityProfileRESTClient restClient, int maxPageSize) Create a new client that is going to be used in an OMAG Server.CollectionManagement
(String serverName, String serverPlatformURLRoot, AuditLog auditLog, int maxPageSize) Create a new client with no authentication embedded in the HTTP request. -
Method Summary
Modifier and TypeMethodDescriptioncreateCollection
(String userId, String externalSourceGUID, String externalSourceName, CollectionProperties collectionProperties) Create a new metadata element to represent a collection.createFolderCollection
(String userId, String externalSourceGUID, String externalSourceName, CollectionFolderProperties properties) Create a collection that acts like a folder with an order.findCollections
(String userId, String searchString, int startFrom, int pageSize) Retrieve the list of metadata elements that contain the search string.getCollection
(String userId, String collectionGUID) Retrieve the metadata element with the supplied unique identifier.getCollectionMember
(String userId, String collectionGUID, String memberGUID) Return details of the membership between a collection and a specific member of the collection.getCollectionMembers
(String userId, String collectionGUID, int startFrom, int pageSize) Return information about the elements linked to a collection.getCollections
(String userId, String parentGUID, int startFrom, int pageSize) Retrieve the list of all collections defined in open metadata.getCollectionsByName
(String userId, String name, int startFrom, int pageSize) Retrieve the list of metadata elements with a matching qualified or display name.getElementsCollections
(String userId, String elementGUID, int startFrom, int pageSize) Return information about the elements linked to a collection.void
removeCollection
(String userId, String externalSourceGUID, String externalSourceName, String collectionGUID) Remove the metadata element representing a collection.void
removeFromCollection
(String userId, String externalSourceGUID, String externalSourceName, String collectionGUID, String elementGUID) Remove a membership relationship between a collection and a person role.void
updateCollection
(String userId, String externalSourceGUID, String externalSourceName, String collectionGUID, boolean isMergeUpdate, CollectionProperties collectionProperties) Update the metadata element representing a collection.void
updateCollectionMembership
(String userId, String externalSourceGUID, String externalSourceName, String collectionGUID, CollectionMembershipProperties membershipProperties, boolean isMergeUpdate, String elementGUID) Create a membership relationship between a collection and a person role to show that anyone appointed to the role is a member of the collection.Methods inherited from class org.odpi.openmetadata.accessservices.communityprofile.client.CommunityProfileBaseClient
clearAssignmentScope, clearMoreInformation, clearResource, clearStakeholder, getAssignedActors, getAssignedScopes, getDescriptiveElements, getMoreInformation, getResourceList, getStakeholderCommissionedElements, getStakeholders, getSupportedByResource, removeReferenceable, setupAssignmentScope, setupMoreInformation, setupResource, setupStakeholder, updateRelationship
-
Constructor Details
-
CollectionManagement
public CollectionManagement(String serverName, String serverPlatformURLRoot, AuditLog auditLog, 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 servicesauditLog
- logging destinationmaxPageSize
- maximum value allowed for page size- Throws:
InvalidParameterException
- there is a problem creating the client-side components to issue any REST API calls.
-
CollectionManagement
public CollectionManagement(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.
-
CollectionManagement
public CollectionManagement(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.
-
CollectionManagement
public CollectionManagement(String serverName, String serverPlatformURLRoot, String userId, String password, AuditLog auditLog, 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 requestsauditLog
- logging destinationmaxPageSize
- maximum value allowed for page size- Throws:
InvalidParameterException
- there is a problem creating the client-side components to issue any REST API calls.
-
CollectionManagement
public CollectionManagement(String serverName, String serverPlatformURLRoot, CommunityProfileRESTClient 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
-
createCollection
public String createCollection(String userId, String externalSourceGUID, String externalSourceName, CollectionProperties collectionProperties) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Create a new metadata element to represent a collection.- Specified by:
createCollection
in interfaceCollectionManagementInterface
- Parameters:
userId
- calling userexternalSourceGUID
- unique identifier of software capability representing the callerexternalSourceName
- unique name of software capability representing the callercollectionProperties
- properties about the collection to store. The qualifiedName property must be supplied and must be unique.- Returns:
- unique identifier of the new collection
- 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)
-
createFolderCollection
public String createFolderCollection(String userId, String externalSourceGUID, String externalSourceName, CollectionFolderProperties properties) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException Create a collection that acts like a folder with an order.- Specified by:
createFolderCollection
in interfaceCollectionManagementInterface
- Parameters:
userId
- userId of user making request.externalSourceGUID
- unique identifier of software capability representing the callerexternalSourceName
- unique name of software capability representing the callerproperties
- description of the collection.- Returns:
- unique identifier of the newly created Collection
- 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.
-
updateCollection
public void updateCollection(String userId, String externalSourceGUID, String externalSourceName, String collectionGUID, boolean isMergeUpdate, CollectionProperties collectionProperties) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Update the metadata element representing a collection.- Specified by:
updateCollection
in interfaceCollectionManagementInterface
- Parameters:
userId
- calling userexternalSourceGUID
- unique identifier of software capability representing the callerexternalSourceName
- unique name of software capability representing the callercollectionGUID
- unique identifier of the metadata element to updateisMergeUpdate
- should the new properties be merged with existing properties (true) or completely replace them (false)?collectionProperties
- 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)
-
updateCollectionMembership
public void updateCollectionMembership(String userId, String externalSourceGUID, String externalSourceName, String collectionGUID, CollectionMembershipProperties membershipProperties, boolean isMergeUpdate, String elementGUID) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Create a membership relationship between a collection and a person role to show that anyone appointed to the role is a member of the collection.- Specified by:
updateCollectionMembership
in interfaceCollectionManagementInterface
- Parameters:
userId
- calling userexternalSourceGUID
- unique identifier of software capability representing the callerexternalSourceName
- unique name of software capability representing the callercollectionGUID
- unique identifier of the collectionmembershipProperties
- describes the permissions that the role has in the collectionisMergeUpdate
- should the new properties be merged with existing properties (true) or completely replace them (false)?elementGUID
- 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)
-
removeFromCollection
public void removeFromCollection(String userId, String externalSourceGUID, String externalSourceName, String collectionGUID, String elementGUID) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Remove a membership relationship between a collection and a person role.- Specified by:
removeFromCollection
in interfaceCollectionManagementInterface
- Parameters:
userId
- calling userexternalSourceGUID
- unique identifier of software capability representing the callerexternalSourceName
- unique name of software capability representing the callercollectionGUID
- unique identifier of the collectionelementGUID
- 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)
-
removeCollection
public void removeCollection(String userId, String externalSourceGUID, String externalSourceName, String collectionGUID) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Remove the metadata element representing a collection.- Specified by:
removeCollection
in interfaceCollectionManagementInterface
- Parameters:
userId
- calling userexternalSourceGUID
- unique identifier of software capability representing the callerexternalSourceName
- unique name of software capability representing the callercollectionGUID
- 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)
-
findCollections
public List<CollectionElement> findCollections(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:
findCollections
in interfaceCollectionManagementInterface
- 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)
-
getCollectionsByName
public List<CollectionElement> getCollectionsByName(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:
getCollectionsByName
in interfaceCollectionManagementInterface
- 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)
-
getCollections
public List<CollectionElement> getCollections(String userId, String parentGUID, int startFrom, int pageSize) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve the list of all collections defined in open metadata.- Specified by:
getCollections
in interfaceCollectionManagementInterface
- Parameters:
userId
- calling userparentGUID
- unique identifier of referenceable object (typically a personal profile, project or community) that the collections hang off of.startFrom
- 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)
-
getCollectionMembers
public List<CollectionMember> getCollectionMembers(String userId, String collectionGUID, int startFrom, int pageSize) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Return information about the elements linked to a collection.- Specified by:
getCollectionMembers
in interfaceCollectionManagementInterface
- Parameters:
userId
- calling usercollectionGUID
- unique identifier for the collectionstartFrom
- 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
-
getCollectionMember
public CollectionMember getCollectionMember(String userId, String collectionGUID, String memberGUID) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException Return details of the membership between a collection and a specific member of the collection.- Specified by:
getCollectionMember
in interfaceCollectionManagementInterface
- Parameters:
userId
- userId of user making request.collectionGUID
- unique identifier of the collection.memberGUID
- unique identifier of the element who is a member of the collection.- Returns:
- list of asset details
- 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.
-
getElementsCollections
public List<CollectionElement> getElementsCollections(String userId, String elementGUID, int startFrom, int pageSize) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Return information about the elements linked to a collection.- Specified by:
getElementsCollections
in interfaceCollectionManagementInterface
- Parameters:
userId
- calling userelementGUID
- unique identifier for the collectionstartFrom
- 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
-
getCollection
public CollectionElement getCollection(String userId, String collectionGUID) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve the metadata element with the supplied unique identifier.- Specified by:
getCollection
in interfaceCollectionManagementInterface
- Parameters:
userId
- calling usercollectionGUID
- 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)
-