Class ProductManagerResource
java.lang.Object
org.odpi.openmetadata.viewservices.productmanager.server.spring.ProductManagerResource
@RestController
@RequestMapping("/servers/{serverName}/api/open-metadata/product-manager")
public class ProductManagerResource
extends Object
The ProductManagerResource provides part of the server-side implementation of the Product Manager OMVS.
=
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncreateDigitalProduct(String serverName, NewDigitalProductRequestBody requestBody) Create a new digital product and link it to the elements that surround it: its product manager, community, owning collections, guiding questions, product asset, governance definitions and data specification.createOneTimeSubscription(String serverName, String digitalProductGUID, NewSubscriptionTypeRequestBody requestBody) Add a one-time subscription type to a product.createOngoingUpdateSubscription(String serverName, String digitalProductGUID, NewSubscriptionTypeRequestBody requestBody) Add an ongoing update subscription type to a product.createPeriodicSubscription(String serverName, String digitalProductGUID, NewSubscriptionTypeRequestBody requestBody) Add a periodic subscription type to a product.detachDigitalProductDependency(String serverName, String consumerDigitalProductGUID, String consumedDigitalProductGUID, DeleteRelationshipRequestBody requestBody) Unlink dependent digital products.detachDigitalProductDependency(String serverName, String digitalProductDependencyRelationshipGUID, DeleteRelationshipRequestBody requestBody) Remove a digital product dependency relationship.detachProductManager(String serverName, String digitalProductGUID, String digitalProductManagerRoleGUID, DeleteRelationshipRequestBody requestBody) Detach a product manager from a digital product.generateDataContract(String serverName, String agreementGUID) Generate the Open Data Contract Standard (ODCS) document for an agreement.generateDataProduct(String serverName, String digitalProductGUID) Generate the Open Data Product Standard (ODPS) document for a digital product.importDataContract(String serverName, String document) Catalog an Open Data Contract Standard (ODCS) data contract, supplied as YAML or JSON, directly in open metadata.importDataContract(String serverName, DataContract dataContract) Catalog an Open Data Contract Standard (ODCS) data contract bean directly in open metadata.importDataProduct(String serverName, String document) Catalog an Open Data Product Standard (ODPS) data product, supplied as YAML or JSON, directly in open metadata.importDataProduct(String serverName, DataProduct dataProduct) Catalog an Open Data Product Standard (ODPS) data product bean directly in open metadata.linkDigitalProductDependency(String serverName, String consumerDigitalProductGUID, String consumedDigitalProductGUID, NewRelationshipRequestBody requestBody) Link two dependent digital products.linkProductManager(String serverName, String digitalProductGUID, String digitalProductManagerRoleGUID, NewRelationshipRequestBody requestBody) Attach a product manager to a digital product.publishDataContract(String serverName, String serverGUID, String document) Pass an Open Data Contract Standard (ODCS) data contract, in YAML or JSON, to an integration daemon.publishDataContract(String serverName, String serverGUID, DataContract dataContract) Pass an Open Data Contract Standard (ODCS) data contract bean to an integration daemon.publishDataProduct(String serverName, String serverGUID, String document) Pass an Open Data Product Standard (ODPS) data product, in YAML or JSON, to an integration daemon.publishDataProduct(String serverName, String serverGUID, DataProduct dataProduct) Pass an Open Data Product Standard (ODPS) data product bean to an integration daemon.updateDigitalProductDependency(String serverName, String digitalProductDependencyRelationshipGUID, UpdateRelationshipRequestBody requestBody) Update the properties of a digital product dependency relationship.
-
Constructor Details
-
ProductManagerResource
public ProductManagerResource()Default constructor
-
-
Method Details
-
linkDigitalProductDependency
@PostMapping(path="/digital-products/{consumerDigitalProductGUID}/product-dependencies/{consumedDigitalProductGUID}/attach") public GUIDResponse linkDigitalProductDependency(@PathVariable String serverName, @PathVariable String consumerDigitalProductGUID, @PathVariable String consumedDigitalProductGUID, @RequestBody(required=false) NewRelationshipRequestBody requestBody) Link two dependent digital products.- Parameters:
serverName- name of called serverconsumerDigitalProductGUID- unique identifier of the digital product that has the dependency.consumedDigitalProductGUID- unique identifier of the digital product that it is using.requestBody- description of the relationship.- Returns:
- void or InvalidParameterException one of the parameters is null or invalid. PropertyServerException a problem retrieving information from the property server(s). UserNotAuthorizedException the requesting user is not authorized to issue this request.
-
updateDigitalProductDependency
@PostMapping(path="/digital-product-dependencies/{digitalProductDependencyRelationshipGUID}/update") public VoidResponse updateDigitalProductDependency(@PathVariable String serverName, @PathVariable String digitalProductDependencyRelationshipGUID, @RequestBody(required=false) UpdateRelationshipRequestBody requestBody) Update the properties of a digital product dependency relationship.- Parameters:
serverName- name of the server to route the request todigitalProductDependencyRelationshipGUID- unique identifier of the relationshiprequestBody- properties for the request- Returns:
- response object InvalidParameterException one of the parameters is invalid UserNotAuthorizedException the user is not authorized to issue this request PropertyServerException a problem reported in the open metadata server(s)
-
detachDigitalProductDependency
@PostMapping(path="/digital-product-dependencies/{digitalProductDependencyRelationshipGUID}/detach") public VoidResponse detachDigitalProductDependency(@PathVariable String serverName, @PathVariable String digitalProductDependencyRelationshipGUID, @RequestBody(required=false) DeleteRelationshipRequestBody requestBody) Remove a digital product dependency relationship.- Parameters:
serverName- name of the server to route the request todigitalProductDependencyRelationshipGUID- unique identifier of the relationshiprequestBody- properties for the request- Returns:
- response object InvalidParameterException one of the parameters is invalid UserNotAuthorizedException the user is not authorized to issue this request PropertyServerException a problem reported in the open metadata server(s)
-
linkProductManager
@PostMapping(path="/digital-products/{digitalProductGUID}/product-managers/{digitalProductManagerRoleGUID}/attach") public VoidResponse linkProductManager(@PathVariable String serverName, @PathVariable String digitalProductGUID, @PathVariable String digitalProductManagerRoleGUID, @RequestBody(required=false) NewRelationshipRequestBody requestBody) Attach a product manager to a digital product.- Parameters:
serverName- name of called serverdigitalProductGUID- unique identifier of the digital productdigitalProductManagerRoleGUID- unique identifier of the product manager rolerequestBody- description of the relationship.- Returns:
- void or InvalidParameterException one of the parameters is null or invalid. PropertyServerException a problem retrieving information from the property server(s). UserNotAuthorizedException the requesting user is not authorized to issue this request.
-
detachProductManager
@PostMapping(path="/digital-products/{digitalProductGUID}/product-managers/{digitalProductManagerRoleGUID}/detach") public VoidResponse detachProductManager(@PathVariable String serverName, @PathVariable String digitalProductGUID, @PathVariable String digitalProductManagerRoleGUID, @RequestBody(required=false) DeleteRelationshipRequestBody requestBody) Detach a product manager from a digital product.- Parameters:
serverName- name of called serverdigitalProductGUID- unique identifier of the digital productdigitalProductManagerRoleGUID- unique identifier of the product manager rolerequestBody- description of the relationship.- Returns:
- void or InvalidParameterException one of the parameters is null or invalid. PropertyServerException a problem retrieving information from the property server(s). UserNotAuthorizedException the requesting user is not authorized to issue this request.
-
detachDigitalProductDependency
@PostMapping(path="/digital-products/{consumerDigitalProductGUID}/product-dependencies/{consumedDigitalProductGUID}/detach") public VoidResponse detachDigitalProductDependency(@PathVariable String serverName, @PathVariable String consumerDigitalProductGUID, @PathVariable String consumedDigitalProductGUID, @RequestBody(required=false) DeleteRelationshipRequestBody requestBody) Unlink dependent digital products.- Parameters:
serverName- name of called serverconsumerDigitalProductGUID- unique identifier of the digital product that has the dependency.consumedDigitalProductGUID- unique identifier of the digital product that it is using.requestBody- description of the relationship.- Returns:
- void or InvalidParameterException one of the parameters is null or invalid. PropertyServerException a problem retrieving information from the property server(s). UserNotAuthorizedException the requesting user is not authorized to issue this request. This is a multi-link relationship, so this request removes every digital product dependency relationship between the two elements. Use the request that takes the relationship's own unique identifier to remove just one of them.
-
createDigitalProduct
@PostMapping(path="/digital-products") public GUIDResponse createDigitalProduct(@PathVariable String serverName, @RequestBody NewDigitalProductRequestBody requestBody) Create a new digital product and link it to the elements that surround it: its product manager, community, owning collections, guiding questions, product asset, governance definitions and data specification.- Parameters:
serverName- name of called serverrequestBody- description of the product and the elements to link it to- Returns:
- unique identifier of the new product or InvalidParameterException one of the parameters is null or invalid. PropertyServerException a problem retrieving information from the property server(s). UserNotAuthorizedException the requesting user is not authorized to issue this request.
-
createOneTimeSubscription
@PostMapping(path="/digital-products/{digitalProductGUID}/subscription-types/one-time") public GUIDResponse createOneTimeSubscription(@PathVariable String serverName, @PathVariable String digitalProductGUID, @RequestBody(required=false) NewSubscriptionTypeRequestBody requestBody) 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:
serverName- name of called serverdigitalProductGUID- unique identifier of the productrequestBody- optional description of the subscription type- Returns:
- unique identifier of the governance action process that creates a subscription of this type or InvalidParameterException one of the parameters is null or invalid. PropertyServerException a problem retrieving information from the property server(s). UserNotAuthorizedException the requesting user is not authorized to issue this request.
-
createPeriodicSubscription
@PostMapping(path="/digital-products/{digitalProductGUID}/subscription-types/periodic") public GUIDResponse createPeriodicSubscription(@PathVariable String serverName, @PathVariable String digitalProductGUID, @RequestBody NewSubscriptionTypeRequestBody requestBody) 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. The time between notifications is the request body's notificationInterval, in minutes.- Parameters:
serverName- name of called serverdigitalProductGUID- unique identifier of the productrequestBody- description of the subscription type, including the notification interval- Returns:
- unique identifier of the governance action process that creates a subscription of this type or InvalidParameterException one of the parameters is null or invalid. PropertyServerException a problem retrieving information from the property server(s). UserNotAuthorizedException the requesting user is not authorized to issue this request.
-
createOngoingUpdateSubscription
@PostMapping(path="/digital-products/{digitalProductGUID}/subscription-types/ongoing-update") public GUIDResponse createOngoingUpdateSubscription(@PathVariable String serverName, @PathVariable String digitalProductGUID, @RequestBody NewSubscriptionTypeRequestBody requestBody) 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 request body's monitoredResourceGUIDs changes - but no more often than the request body's notificationInterval, in minutes.- Parameters:
serverName- name of called serverdigitalProductGUID- unique identifier of the productrequestBody- description of the subscription type, including the monitored resources and the minimum notification interval- Returns:
- unique identifier of the governance action process that creates a subscription of this type or InvalidParameterException one of the parameters is null or invalid. PropertyServerException a problem retrieving information from the property server(s). UserNotAuthorizedException the requesting user is not authorized to issue this request.
-
publishDataContract
@PostMapping(path="/integration-daemons/{serverGUID}/data-contracts/publish-document-string") public VoidResponse publishDataContract(@PathVariable String serverName, @PathVariable String serverGUID, @RequestBody String document) Pass an Open Data Contract Standard (ODCS) data contract, in YAML or JSON, to an integration daemon. It will pass it on to the integration connectors that have registered a listener for Bitol documents.- Parameters:
serverName- name of called serverserverGUID- unique identifier of the integration daemon's software server assetdocument- data contract to publish- Returns:
- void or InvalidParameterException one of the parameters is null or invalid. PropertyServerException a problem retrieving information from the property server(s). UserNotAuthorizedException the requesting user is not authorized to issue this request.
-
publishDataContract
@PostMapping(path="/integration-daemons/{serverGUID}/data-contracts/publish-document") public VoidResponse publishDataContract(@PathVariable String serverName, @PathVariable String serverGUID, @RequestBody DataContract dataContract) Pass an Open Data Contract Standard (ODCS) data contract bean to an integration daemon. It will pass it on to the integration connectors that have registered a listener for Bitol documents.- Parameters:
serverName- name of called serverserverGUID- unique identifier of the integration daemon's software server assetdataContract- data contract to publish- Returns:
- void or InvalidParameterException one of the parameters is null or invalid. PropertyServerException a problem retrieving information from the property server(s). UserNotAuthorizedException the requesting user is not authorized to issue this request.
-
publishDataProduct
@PostMapping(path="/integration-daemons/{serverGUID}/data-products/publish-document-string") public VoidResponse publishDataProduct(@PathVariable String serverName, @PathVariable String serverGUID, @RequestBody String document) Pass an Open Data Product Standard (ODPS) data product, in YAML or JSON, to an integration daemon. It will pass it on to the integration connectors that have registered a listener for Bitol documents.- Parameters:
serverName- name of called serverserverGUID- unique identifier of the integration daemon's software server assetdocument- data product to publish- Returns:
- void or InvalidParameterException one of the parameters is null or invalid. PropertyServerException a problem retrieving information from the property server(s). UserNotAuthorizedException the requesting user is not authorized to issue this request.
-
publishDataProduct
@PostMapping(path="/integration-daemons/{serverGUID}/data-products/publish-document") public VoidResponse publishDataProduct(@PathVariable String serverName, @PathVariable String serverGUID, @RequestBody DataProduct dataProduct) Pass an Open Data Product Standard (ODPS) data product bean to an integration daemon. It will pass it on to the integration connectors that have registered a listener for Bitol documents.- Parameters:
serverName- name of called serverserverGUID- unique identifier of the integration daemon's software server assetdataProduct- data product to publish- Returns:
- void or InvalidParameterException one of the parameters is null or invalid. PropertyServerException a problem retrieving information from the property server(s). UserNotAuthorizedException the requesting user is not authorized to issue this request.
-
importDataContract
@PostMapping(path="/data-contracts/import-document-string") public GUIDResponse importDataContract(@PathVariable String serverName, @RequestBody String document) Catalog an Open Data Contract Standard (ODCS) data contract, supplied as YAML or JSON, directly in open metadata.- Parameters:
serverName- name of called serverdocument- data contract to catalog- Returns:
- unique identifier of the resulting agreement or InvalidParameterException one of the parameters is null or invalid. PropertyServerException a problem retrieving information from the property server(s). UserNotAuthorizedException the requesting user is not authorized to issue this request.
-
importDataContract
@PostMapping(path="/data-contracts/import-document") public GUIDResponse importDataContract(@PathVariable String serverName, @RequestBody DataContract dataContract) Catalog an Open Data Contract Standard (ODCS) data contract bean directly in open metadata.- Parameters:
serverName- name of called serverdataContract- data contract to catalog- Returns:
- unique identifier of the resulting agreement or InvalidParameterException one of the parameters is null or invalid. PropertyServerException a problem retrieving information from the property server(s). UserNotAuthorizedException the requesting user is not authorized to issue this request.
-
importDataProduct
@PostMapping(path="/data-products/import-document-string") public GUIDResponse importDataProduct(@PathVariable String serverName, @RequestBody String document) Catalog an Open Data Product Standard (ODPS) data product, supplied as YAML or JSON, directly in open metadata.- Parameters:
serverName- name of called serverdocument- data product to catalog- Returns:
- unique identifier of the resulting digital product or InvalidParameterException one of the parameters is null or invalid. PropertyServerException a problem retrieving information from the property server(s). UserNotAuthorizedException the requesting user is not authorized to issue this request.
-
importDataProduct
@PostMapping(path="/data-products/import-document") public GUIDResponse importDataProduct(@PathVariable String serverName, @RequestBody DataProduct dataProduct) Catalog an Open Data Product Standard (ODPS) data product bean directly in open metadata.- Parameters:
serverName- name of called serverdataProduct- data product to catalog- Returns:
- unique identifier of the resulting digital product or InvalidParameterException one of the parameters is null or invalid. PropertyServerException a problem retrieving information from the property server(s). UserNotAuthorizedException the requesting user is not authorized to issue this request.
-
generateDataContract
@GetMapping(path="/agreements/{agreementGUID}/data-contract-document") public DataContractResponse generateDataContract(@PathVariable String serverName, @PathVariable String agreementGUID) Generate the Open Data Contract Standard (ODCS) document for an agreement.- Parameters:
serverName- name of called serveragreementGUID- unique identifier of the agreement- Returns:
- data contract or InvalidParameterException one of the parameters is null or invalid. PropertyServerException a problem retrieving information from the property server(s). UserNotAuthorizedException the requesting user is not authorized to issue this request.
-
generateDataProduct
@GetMapping(path="/digital-products/{digitalProductGUID}/data-product-document") public DataProductResponse generateDataProduct(@PathVariable String serverName, @PathVariable String digitalProductGUID) Generate the Open Data Product Standard (ODPS) document for a digital product.- Parameters:
serverName- name of called serverdigitalProductGUID- unique identifier of the digital product- Returns:
- data product or InvalidParameterException one of the parameters is null or invalid. PropertyServerException a problem retrieving information from the property server(s). UserNotAuthorizedException the requesting user is not authorized to issue this request.
-