Class ProductManagerClient
java.lang.Object
org.odpi.openmetadata.frameworks.openmetadata.connectorcontext.ConnectorContextClientBase
org.odpi.openmetadata.frameworks.openmetadata.connectorcontext.ProductManagerClient
ProductManagerClient provides the compound operations of a product manager: creating a digital product together
with the elements that surround it, and adding subscription types to a product. A subscription type is the
notification type that drives the subscribers' notifications, registered with the subscription manager, plus
the governance action process that a subscriber runs to take out a subscription of that type.
The individual relationships of a digital product are maintained through the CollectionClient.
-
Field Summary
Fields inherited from class org.odpi.openmetadata.frameworks.openmetadata.connectorcontext.ConnectorContextClientBase
asOfTimeDefault, auditLog, connectorGUID, connectorUserId, egeriaRelease, externalSourceGUID, externalSourceIsHome, externalSourceName, forDuplicateProcessing, forLineage, governanceZonesFilterDefault, limitResultsByStatusDefault, localServerName, localServiceName, maxPageSize, parentContext, propertyHelper, sequencingOrderDefault, sequencingPropertyDefault, useCurrentEffectiveTime -
Constructor Summary
ConstructorsConstructorDescriptionProductManagerClient(ConnectorContextBase parentContext, String localServerName, String localServiceName, String connectorUserId, String connectorGUID, String externalSourceGUID, String externalSourceName, OpenMetadataClient openMetadataClient, AuditLog auditLog, int maxPageSize) Constructor for connector context client. -
Method Summary
Modifier and TypeMethodDescriptioncreateDigitalProduct(NewElementOptions newElementOptions, Map<String, ClassificationProperties> initialClassifications, DigitalProductProperties properties, RelationshipProperties parentRelationshipProperties, String productManagerGUID, String productCommunityGUID, List<String> collectionGUIDs, List<String> questionGUIDs, String productAssetGUID, List<String> governanceDefinitionGUIDs, String dataSpecGUID) Create a new digital product and link it to the elements that surround it.createOneTimeSubscription(String digitalProductGUID, MetadataSourceOptions metadataSourceOptions, String subscriptionManagerGUID, String identifier, String displayName, String description, String licenseTypeGUID, String serviceLevelObjectiveGUID) Add a one-time subscription type to a product.createOngoingUpdateSubscription(String digitalProductGUID, MetadataSourceOptions metadataSourceOptions, String subscriptionManagerGUID, String identifier, String displayName, String description, String licenseTypeGUID, String serviceLevelObjectiveGUID, List<String> monitoredResourceGUIDs, long minimumNotificationInterval) Add an ongoing update subscription type to a product.createPeriodicSubscription(String digitalProductGUID, MetadataSourceOptions metadataSourceOptions, String subscriptionManagerGUID, String identifier, String displayName, String description, String licenseTypeGUID, String serviceLevelObjectiveGUID, long notificationInterval) Add a periodic subscription type to a product.Methods inherited from class org.odpi.openmetadata.frameworks.openmetadata.connectorcontext.ConnectorContextClientBase
getAdditionalProperties, getConnectorGUID, getDeleteOptions, getDisplayName, getDisplayName, getDisplayName, getEffectiveTime, getEgeriaRelease, getGetOptions, getMakeAnchorOptions, getMaxPagingSize, getMetadataSourceOptions, getNewElementProperties, getQualifiedName, getQueryOptions, getQueryOptions, getQueryOptions, getQueryOptions, getSearchOptions, getSearchOptions, getSearchOptions, getUpdateOptions, isForDuplicateProcessing, isForLineage, isUseCurrentEffectiveTime, publishElement, setAsOfTimeDefault, setEffectiveTimeDefault, setExternalSource, setExternalSourceIsHome, setForDuplicateProcessing, setForLineage, setGovernanceZonesFilterDefault, setLimitResultsByStatusDefault, setSequencingOrderDefault, setUseCurrentEffectiveTime, withdrawElement
-
Constructor Details
-
ProductManagerClient
public ProductManagerClient(ConnectorContextBase parentContext, String localServerName, String localServiceName, String connectorUserId, String connectorGUID, String externalSourceGUID, String externalSourceName, OpenMetadataClient openMetadataClient, AuditLog auditLog, int maxPageSize) Constructor for connector context client.- Parameters:
parentContext- connector's contextlocalServerName- local server where this client is running - called the local serverlocalServiceName- name of this serviceconnectorUserId- userId to use when issuing open metadata requestsconnectorGUID- unique identifier of the connector element that describes this connector in the open metadata store(s)externalSourceGUID- unique identifier of the software server capability for the source of metadataexternalSourceName- unique name of the software server capability for the source of metadataopenMetadataClient- client to access the open metadata storeauditLog- logging destinationmaxPageSize- max number of elements that can be returned on a query
-
-
Method Details
-
createDigitalProduct
public String createDigitalProduct(NewElementOptions newElementOptions, Map<String, ClassificationProperties> initialClassifications, DigitalProductProperties properties, RelationshipProperties parentRelationshipProperties, String productManagerGUID, String productCommunityGUID, List<String> collectionGUIDs, List<String> questionGUIDs, String productAssetGUID, List<String> governanceDefinitionGUIDs, String dataSpecGUID) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedExceptionCreate a new digital product and link it to the elements that surround it. The product itself is created as a collection, in the same way as createCollection; the remaining parameters name existing elements that are then linked to the new product. Each of them is optional.- Parameters:
newElementOptions- details of the element to createinitialClassifications- map of classification names to classification properties to include in the entity creation requestproperties- properties for the new product.parentRelationshipProperties- properties to include in parent relationshipproductManagerGUID- unique identifier of the actor role that manages the product; linked as the product's owner (AssignmentScope) and, if a community is supplied, as that community's discussion leaderproductCommunityGUID- unique identifier of the community that discusses the product; the community is scoped by the product (ScopedBy) and its note log receives the product's subscription notificationscollectionGUIDs- unique identifiers of the collections that the product is a member of - typically the product catalog folders and digital product families it belongs toquestionGUIDs- unique identifiers of the glossary terms that describe the questions the product answers (SupplementaryProperties)productAssetGUID- unique identifier of the asset that holds the product's data; it becomes a member of the product collection and is the source for its subscriptionsgovernanceDefinitionGUIDs- unique identifiers of the governance definitions that the product is governed by, such as the license type granted to subscribersdataSpecGUID- unique identifier of the data specification collection that describes the product's data (DataDescription)- Returns:
- unique identifier of the newly created product
- 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.
-
createOneTimeSubscription
public String createOneTimeSubscription(String digitalProductGUID, MetadataSourceOptions metadataSourceOptions, String subscriptionManagerGUID, String identifier, String displayName, String description, String licenseTypeGUID, String serviceLevelObjectiveGUID) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException Add a one-time subscription type to a product. A subscriber to this type receives a single notification, and so a single delivery of the product's data. It is typically used to evaluate a product.- Parameters:
digitalProductGUID- unique identifier of the productmetadataSourceOptions- options to control access to open metadatasubscriptionManagerGUID- unique identifier of the integration connector that notifies the subscribers; null means the Baudot Digital Product Subscription Manager from the digital products content packidentifier- identifier of the subscription type; null means ONE-TIME-SUBSCRIPTIONdisplayName- display name of the subscription type; null means a default namedescription- description of the subscription type; null means a default descriptionlicenseTypeGUID- unique identifier of the license type granted to the subscriber's asset; null means the first license type that the product is governed byserviceLevelObjectiveGUID- unique identifier of the service level objective offered by the subscription; null means the first service level objective that the product is governed by- Returns:
- unique identifier of the governance action process that creates a subscription of this type
- 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.
-
createPeriodicSubscription
public String createPeriodicSubscription(String digitalProductGUID, MetadataSourceOptions metadataSourceOptions, String subscriptionManagerGUID, String identifier, String displayName, String description, String licenseTypeGUID, String serviceLevelObjectiveGUID, long notificationInterval) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException Add a periodic subscription type to a product. A subscriber to this type receives a notification, and so a delivery of the product's data, at regular intervals.- Parameters:
digitalProductGUID- unique identifier of the productmetadataSourceOptions- options to control access to open metadatasubscriptionManagerGUID- unique identifier of the integration connector that notifies the subscribers; null means the Baudot Digital Product Subscription Manager from the digital products content packidentifier- identifier of the subscription type; null means PERIODIC-SUBSCRIPTION. A product that offers more than one periodic subscription type needs a distinct identifier for eachdisplayName- display name of the subscription type; null means a default namedescription- description of the subscription type; null means a default descriptionlicenseTypeGUID- unique identifier of the license type granted to the subscriber's asset; null means the first license type that the product is governed byserviceLevelObjectiveGUID- unique identifier of the service level objective offered by the subscription; null means the first service level objective that the product is governed bynotificationInterval- time between notifications in minutes- Returns:
- unique identifier of the governance action process that creates a subscription of this type
- 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.
-
createOngoingUpdateSubscription
public String createOngoingUpdateSubscription(String digitalProductGUID, MetadataSourceOptions metadataSourceOptions, String subscriptionManagerGUID, String identifier, String displayName, String description, String licenseTypeGUID, String serviceLevelObjectiveGUID, List<String> monitoredResourceGUIDs, long minimumNotificationInterval) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException Add an ongoing update subscription type to a product. A subscriber to this type receives a notification, and so a delivery of the product's data, whenever one of the monitored resources changes - but no more often than the minimum notification interval.- Parameters:
digitalProductGUID- unique identifier of the productmetadataSourceOptions- options to control access to open metadatasubscriptionManagerGUID- unique identifier of the integration connector that notifies the subscribers; null means the Baudot Digital Product Subscription Manager from the digital products content packidentifier- identifier of the subscription type; null means ONGOING-UPDATE-SUBSCRIPTIONdisplayName- display name of the subscription type; null means a default namedescription- description of the subscription type; null means a default descriptionlicenseTypeGUID- unique identifier of the license type granted to the subscriber's asset; null means the first license type that the product is governed byserviceLevelObjectiveGUID- unique identifier of the service level objective offered by the subscription; null means the first service level objective that the product is governed bymonitoredResourceGUIDs- unique identifiers of the metadata elements whose changes trigger a notification - typically the product's assetminimumNotificationInterval- minimum time between notifications in minutes; 0 means a notification for every change- Returns:
- unique identifier of the governance action process that creates a subscription of this type
- 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.
-