Class ProductManagerRESTServices

java.lang.Object
org.odpi.openmetadata.tokencontroller.TokenController
org.odpi.openmetadata.viewservices.productmanager.server.ProductManagerRESTServices

public class ProductManagerRESTServices extends TokenController
The ProductManagerRESTServices provides the server-side implementation of the Product Manager Open Metadata View Service (OMVS). This interface provides access to digital products and digital product families.
  • Constructor Details

    • ProductManagerRESTServices

      public ProductManagerRESTServices()
      Default constructor
  • Method Details

    • linkDigitalProductDependency

      public GUIDResponse linkDigitalProductDependency(String serverName, String consumerDigitalProductGUID, String consumedDigitalProductGUID, NewRelationshipRequestBody requestBody)
      Link two dependent products.
      Parameters:
      serverName - name of called server
      consumerDigitalProductGUID - 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:
      unique identifier of the new relationship 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

      public VoidResponse updateDigitalProductDependency(String serverName, String digitalProductDependencyRelationshipGUID, UpdateRelationshipRequestBody requestBody)
      Update the properties of a digital product dependency relationship.
      Parameters:
      serverName - name of the server to route the request to
      digitalProductDependencyRelationshipGUID - unique identifier of the relationship
      requestBody - properties for the relationship
      Returns:
      void or 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

      public VoidResponse detachDigitalProductDependency(String serverName, String digitalProductDependencyRelationshipGUID, DeleteRelationshipRequestBody requestBody)
      Remove a digital product dependency relationship.
      Parameters:
      serverName - name of the server to route the request to
      digitalProductDependencyRelationshipGUID - unique identifier of the relationship
      requestBody - delete options
      Returns:
      void or 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

      public VoidResponse linkProductManager(String serverName, String digitalProductGUID, String digitalProductManagerRoleGUID, NewRelationshipRequestBody requestBody)
      Attach a product manager to a digital product.
      Parameters:
      serverName - name of called server
      digitalProductGUID - unique identifier of the digital product
      digitalProductManagerRoleGUID - unique identifier of the product manager role
      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.
    • detachProductManager

      public VoidResponse detachProductManager(String serverName, String digitalProductGUID, String digitalProductManagerRoleGUID, DeleteRelationshipRequestBody requestBody)
      Detach a product manager from a digital product.
      Parameters:
      serverName - name of called server
      digitalProductGUID - unique identifier of the digital product
      digitalProductManagerRoleGUID - unique identifier of the product manager role
      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.
    • detachDigitalProductDependency

      public VoidResponse detachDigitalProductDependency(String serverName, String consumerDigitalProductGUID, String consumedDigitalProductGUID, DeleteRelationshipRequestBody requestBody)
      Unlink dependent products.
      Parameters:
      serverName - name of called server
      consumerDigitalProductGUID - 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

      public GUIDResponse createDigitalProduct(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.
      Parameters:
      serverName - name of called server
      requestBody - 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

      public GUIDResponse createOneTimeSubscription(String serverName, String digitalProductGUID, 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 server
      digitalProductGUID - unique identifier of the product
      requestBody - 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

      public GUIDResponse createPeriodicSubscription(String serverName, String digitalProductGUID, 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 server
      digitalProductGUID - unique identifier of the product
      requestBody - 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

      public GUIDResponse createOngoingUpdateSubscription(String serverName, String digitalProductGUID, 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 server
      digitalProductGUID - unique identifier of the product
      requestBody - 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

      public VoidResponse publishDataContract(String serverName, String serverGUID, String document)
      Pass an Open Data Contract Standard (ODCS) data contract, as a YAML or JSON string, to an integration daemon.
      Parameters:
      serverName - name of called server
      serverGUID - unique identifier of the integration daemon's software server asset
      document - 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

      public VoidResponse publishDataContract(String serverName, String serverGUID, DataContract dataContract)
      Pass an Open Data Contract Standard (ODCS) data contract bean to an integration daemon.
      Parameters:
      serverName - name of called server
      serverGUID - unique identifier of the integration daemon's software server asset
      dataContract - 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

      public VoidResponse publishDataProduct(String serverName, String serverGUID, String document)
      Pass an Open Data Product Standard (ODPS) data product, as a YAML or JSON string, to an integration daemon.
      Parameters:
      serverName - name of called server
      serverGUID - unique identifier of the integration daemon's software server asset
      document - 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

      public VoidResponse publishDataProduct(String serverName, String serverGUID, DataProduct dataProduct)
      Pass an Open Data Product Standard (ODPS) data product bean to an integration daemon.
      Parameters:
      serverName - name of called server
      serverGUID - unique identifier of the integration daemon's software server asset
      dataProduct - 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

      public GUIDResponse importDataContract(String serverName, String document)
      Catalog an Open Data Contract Standard (ODCS) data contract, supplied as a YAML or JSON string, directly in open metadata as an Agreement classified as a DataSharingAgreement.
      Parameters:
      serverName - name of called server
      document - data contract to catalog
      Returns:
      unique identifier of the agreement (null if the document was skipped) 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

      public GUIDResponse importDataContract(String serverName, DataContract dataContract)
      Catalog an Open Data Contract Standard (ODCS) data contract bean directly in open metadata as an Agreement classified as a DataSharingAgreement.
      Parameters:
      serverName - name of called server
      dataContract - data contract to catalog
      Returns:
      unique identifier of the agreement (null if the document was skipped) 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

      public GUIDResponse importDataProduct(String serverName, String document)
      Catalog an Open Data Product Standard (ODPS) data product, supplied as a YAML or JSON string, directly in open metadata as a DigitalProduct.
      Parameters:
      serverName - name of called server
      document - data product to catalog
      Returns:
      unique identifier of the digital product (null if the document was skipped) 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

      public GUIDResponse importDataProduct(String serverName, DataProduct dataProduct)
      Catalog an Open Data Product Standard (ODPS) data product bean directly in open metadata as a DigitalProduct.
      Parameters:
      serverName - name of called server
      dataProduct - data product to catalog
      Returns:
      unique identifier of the digital product (null if the document was skipped) 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

      public DataContractResponse generateDataContract(String serverName, String agreementGUID)
      Generate the Open Data Contract Standard (ODCS) document for an agreement.
      Parameters:
      serverName - name of called server
      agreementGUID - 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

      public DataProductResponse generateDataProduct(String serverName, String digitalProductGUID)
      Generate the Open Data Product Standard (ODPS) document for a digital product.
      Parameters:
      serverName - name of called server
      digitalProductGUID - 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.