Class SolutionArchitectRESTServices

java.lang.Object
org.odpi.openmetadata.tokencontroller.TokenController
org.odpi.openmetadata.viewservices.solutionarchitect.server.SolutionArchitectRESTServices

public class SolutionArchitectRESTServices extends TokenController
The SolutionArchitectRESTServices provides the server-side implementation of the Solution Architect Open Metadata View Service (OMVS). This interface provides access to information supply chains, solution blueprints, solution components and solution roles.
  • Constructor Details

    • SolutionArchitectRESTServices

      public SolutionArchitectRESTServices()
      Default constructor
  • Method Details

    • createInformationSupplyChain

      public GUIDResponse createInformationSupplyChain(String serverName, NewElementRequestBody requestBody)
      Create an information supply chain.
      Parameters:
      serverName - name of called server.
      requestBody - properties for the information supply chain.
      Returns:
      unique identifier of the newly created element 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.
    • createInformationSupplyChainFromTemplate

      public GUIDResponse createInformationSupplyChainFromTemplate(String serverName, TemplateRequestBody requestBody)
      Create a new metadata element to represent an information supply chain using an existing metadata element as a template. The template defines additional classifications and relationships that should be added to the new element.
      Parameters:
      serverName - calling user
      requestBody - properties that override the template
      Returns:
      unique identifier of the new metadata element InvalidParameterException one of the parameters is invalid UserNotAuthorizedException the user is not authorized to issue this request PropertyServerException there is a problem reported in the open metadata server(s)
    • updateInformationSupplyChain

      public VoidResponse updateInformationSupplyChain(String serverName, String informationSupplyChainGUID, boolean replaceAllProperties, UpdateElementRequestBody requestBody)
      Update the properties of an information supply chain.
      Parameters:
      serverName - name of called server.
      informationSupplyChainGUID - unique identifier of the information supply chain (returned from create)
      replaceAllProperties - flag to indicate whether to completely replace the existing properties with the new properties, or just update the individual properties specified on the request.
      requestBody - properties for the new element.
      Returns:
      void or 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.
    • linkPeersInInformationSupplyChain

      public VoidResponse linkPeersInInformationSupplyChain(String serverName, String peerOneGUID, String peerTwoGUID, RelationshipRequestBody requestBody)
      Connect two peers in an information supply chains. The linked elements are of type 'Referenceable' to allow significant data stores to be included in the definition of the information supply chain.
      Parameters:
      serverName - name of called server
      peerOneGUID - unique identifier of the end one element in the relationship
      peerTwoGUID - unique identifier of the end two element in the relationship
      requestBody - description of the relationship.
      Returns:
      void or InvalidParameterException one of the parameters is null or invalid. PropertyServerException there is a problem retrieving information from the property server(s). UserNotAuthorizedException the requesting user is not authorized to issue this request.
    • unlinkPeersInInformationSupplyChain

      public VoidResponse unlinkPeersInInformationSupplyChain(String serverName, String peerOneGUID, String peerTwoGUID, MetadataSourceRequestBody requestBody)
      Detach two peers in an information supply chain from one another. The linked elements are of type 'Referenceable' to allow significant data stores to be included in the definition of the information supply chain.
      Parameters:
      serverName - name of called server
      peerOneGUID - unique identifier of the end one element in the relationship
      peerTwoGUID - unique identifier of the end two element in the relationship
      requestBody - description of the relationship.
      Returns:
      void or InvalidParameterException one of the parameters is null or invalid. PropertyServerException there is a problem retrieving information from the property server(s). UserNotAuthorizedException the requesting user is not authorized to issue this request.
    • composeInformationSupplyChains

      public VoidResponse composeInformationSupplyChains(String serverName, String informationSupplyChainGUID, String nestedInformationSupplyChainGUID, RelationshipRequestBody requestBody)
      Connect a nested information supply chain to its parent.
      Parameters:
      serverName - name of called server
      informationSupplyChainGUID - unique identifier of the parent information supply chain
      nestedInformationSupplyChainGUID - unique identifier of the child information supply chain
      requestBody - description of the relationship.
      Returns:
      void or InvalidParameterException one of the parameters is null or invalid. PropertyServerException there is a problem retrieving information from the property server(s). UserNotAuthorizedException the requesting user is not authorized to issue this request.
    • decomposeInformationSupplyChains

      public VoidResponse decomposeInformationSupplyChains(String serverName, String informationSupplyChainGUID, String nestedInformationSupplyChainGUID, MetadataSourceRequestBody requestBody)
      Detach a nested information supply chain from its parent.
      Parameters:
      serverName - name of called server
      informationSupplyChainGUID - unique identifier of the parent information supply chain
      nestedInformationSupplyChainGUID - unique identifier of the child information supply chain
      requestBody - description of the relationship.
      Returns:
      void or InvalidParameterException one of the parameters is null or invalid. PropertyServerException there is a problem retrieving information from the property server(s). UserNotAuthorizedException the requesting user is not authorized to issue this request.
    • deleteInformationSupplyChain

      public VoidResponse deleteInformationSupplyChain(String serverName, String informationSupplyChainGUID, boolean cascadedDelete, MetadataSourceRequestBody requestBody)
      Delete an information supply chain.
      Parameters:
      serverName - name of called server
      informationSupplyChainGUID - unique identifier of the element to delete
      cascadedDelete - can information supply chains be deleted if nested elements are attached?
      requestBody - description of the relationship.
      Returns:
      void or InvalidParameterException one of the parameters is null or invalid. PropertyServerException there is a problem retrieving information from the property server(s). UserNotAuthorizedException the requesting user is not authorized to issue this request.
    • getInformationSupplyChainsByName

      public InformationSupplyChainsResponse getInformationSupplyChainsByName(String serverName, boolean addImplementation, int startFrom, int pageSize, FilterRequestBody requestBody)
      Retrieve the list of information supply chain metadata elements that contain the search string.
      Parameters:
      serverName - name of the service to route the request to
      addImplementation - should details of the implementation of the information supply chain be extracted too?
      startFrom - paging start point
      pageSize - maximum results that can be returned
      requestBody - string to find in the properties
      Returns:
      list of matching metadata elements or InvalidParameterException one of the parameters is invalid UserNotAuthorizedException the user is not authorized to issue this request PropertyServerException there is a problem reported in the open metadata server(s)
    • findInformationSupplyChains

      public InformationSupplyChainsResponse findInformationSupplyChains(String serverName, boolean addImplementation, boolean startsWith, boolean endsWith, boolean ignoreCase, int startFrom, int pageSize, FilterRequestBody requestBody)
      Retrieve the list of information supply chain metadata elements that contain the search string.
      Parameters:
      serverName - name of the service to route the request to
      addImplementation - should details of the implementation of the information supply chain be extracted too?
      startsWith - does the value start with the supplied string?
      endsWith - does the value end with the supplied string?
      ignoreCase - should the search ignore case?
      startFrom - paging start point
      pageSize - maximum results that can be returned
      requestBody - string to find in the properties
      Returns:
      list of matching metadata elements or InvalidParameterException one of the parameters is invalid UserNotAuthorizedException the user is not authorized to issue this request PropertyServerException there is a problem reported in the open metadata server(s)
    • getInformationSupplyChainByGUID

      public InformationSupplyChainResponse getInformationSupplyChainByGUID(String serverName, String informationSupplyChainGUID, boolean addImplementation, AnyTimeRequestBody requestBody)
      Retrieve the list of information supply chain metadata elements that contain the search string.
      Parameters:
      serverName - name of the service to route the request to
      informationSupplyChainGUID - unique identifier of the required element
      addImplementation - should details of the implementation of the information supply chain be extracted too?
      requestBody - time values for the query
      Returns:
      list of matching metadata elements or InvalidParameterException one of the parameters is invalid UserNotAuthorizedException the user is not authorized to issue this request PropertyServerException there is a problem reported in the open metadata server(s)
    • createSolutionBlueprint

      public GUIDResponse createSolutionBlueprint(String serverName, NewElementRequestBody requestBody)
      Create a solution blueprint.
      Parameters:
      serverName - name of called server.
      requestBody - properties for the solution blueprint.
      Returns:
      unique identifier of the newly created element 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.
    • createSolutionBlueprintFromTemplate

      public GUIDResponse createSolutionBlueprintFromTemplate(String serverName, TemplateRequestBody requestBody)
      Create a new metadata element to represent a solution blueprint using an existing metadata element as a template. The template defines additional classifications and relationships that should be added to the new element.
      Parameters:
      serverName - calling user
      requestBody - properties that override the template
      Returns:
      unique identifier of the new metadata element InvalidParameterException one of the parameters is invalid UserNotAuthorizedException the user is not authorized to issue this request PropertyServerException there is a problem reported in the open metadata server(s)
    • updateSolutionBlueprint

      public VoidResponse updateSolutionBlueprint(String serverName, String solutionBlueprintGUID, boolean replaceAllProperties, UpdateElementRequestBody requestBody)
      Update the properties of a solution blueprint.
      Parameters:
      serverName - name of called server.
      solutionBlueprintGUID - unique identifier of the solution blueprint (returned from create)
      replaceAllProperties - flag to indicate whether to completely replace the existing properties with the new properties, or just update the individual properties specified on the request.
      requestBody - properties for the new element.
      Returns:
      void or 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.
    • linkSolutionComponentToBlueprint

      public VoidResponse linkSolutionComponentToBlueprint(String serverName, String parentSolutionBlueprintGUID, String nestedSolutionComponentGUID, RelationshipRequestBody requestBody)
      Attach a solution component to a solution blueprint.
      Parameters:
      serverName - name of called server
      parentSolutionBlueprintGUID - unique identifier of the parent solution blueprint.
      nestedSolutionComponentGUID - unique identifier of the nested solution component.
      requestBody - description of the relationship.
      Returns:
      void or InvalidParameterException one of the parameters is null or invalid. PropertyServerException there is a problem retrieving information from the property server(s). UserNotAuthorizedException the requesting user is not authorized to issue this request.
    • detachSolutionComponentFromBlueprint

      public VoidResponse detachSolutionComponentFromBlueprint(String serverName, String parentSolutionBlueprintGUID, String nestedSolutionComponentGUID, MetadataSourceRequestBody requestBody)
      Detach a solution component from a solution blueprint.
      Parameters:
      serverName - name of called server
      parentSolutionBlueprintGUID - unique identifier of the parent solution blueprint.
      nestedSolutionComponentGUID - unique identifier of the nested solution component.
      requestBody - description of the relationship.
      Returns:
      void or InvalidParameterException one of the parameters is null or invalid. PropertyServerException there is a problem retrieving information from the property server(s). UserNotAuthorizedException the requesting user is not authorized to issue this request.
    • linkSolutionDesign

      public VoidResponse linkSolutionDesign(String serverName, String parentGUID, String solutionBlueprintGUID, RelationshipRequestBody requestBody)
      Attach a solution blueprint to the element that is describes.
      Parameters:
      serverName - name of called server
      parentGUID - unique identifier of the element being described
      solutionBlueprintGUID - unique identifier of the solution blueprint
      requestBody - description of the relationship.
      Returns:
      void or InvalidParameterException one of the parameters is null or invalid. PropertyServerException there is a problem retrieving information from the property server(s). UserNotAuthorizedException the requesting user is not authorized to issue this request.
    • detachSolutionDesign

      public VoidResponse detachSolutionDesign(String serverName, String parentGUID, String solutionBlueprintGUID, MetadataSourceRequestBody requestBody)
      Detach a solution blueprint from the element it describes.
      Parameters:
      serverName - name of called server
      parentGUID - unique identifier of the element being described
      solutionBlueprintGUID - unique identifier of the solution blueprint
      requestBody - description of the relationship.
      Returns:
      void or InvalidParameterException one of the parameters is null or invalid. PropertyServerException there is a problem retrieving information from the property server(s). UserNotAuthorizedException the requesting user is not authorized to issue this request.
    • deleteSolutionBlueprint

      public VoidResponse deleteSolutionBlueprint(String serverName, String solutionBlueprintGUID, boolean cascadedDelete, MetadataSourceRequestBody requestBody)
      Delete a solution blueprint.
      Parameters:
      serverName - name of called server
      solutionBlueprintGUID - unique identifier of the element to delete
      cascadedDelete - can solution blueprints be deleted if solution components are attached?
      requestBody - description of the relationship.
      Returns:
      void or InvalidParameterException one of the parameters is null or invalid. PropertyServerException there is a problem retrieving information from the property server(s). UserNotAuthorizedException the requesting user is not authorized to issue this request.
    • getSolutionBlueprintsByName

      public SolutionBlueprintsResponse getSolutionBlueprintsByName(String serverName, int startFrom, int pageSize, FilterRequestBody requestBody)
      Retrieve the list of solution blueprint metadata elements that contain the search string.
      Parameters:
      serverName - name of the service to route the request to
      startFrom - paging start point
      pageSize - maximum results that can be returned
      requestBody - string to find in the properties
      Returns:
      list of matching metadata elements or InvalidParameterException one of the parameters is invalid UserNotAuthorizedException the user is not authorized to issue this request PropertyServerException there is a problem reported in the open metadata server(s)
    • getSolutionBlueprintByGUID

      public SolutionBlueprintResponse getSolutionBlueprintByGUID(String serverName, String solutionComponentGUID, AnyTimeRequestBody requestBody)
      Retrieve the list of solution blueprint metadata elements that contain the search string.
      Parameters:
      serverName - name of the service to route the request to
      solutionComponentGUID - unique identifier of the required element
      requestBody - string to find in the properties
      Returns:
      list of matching metadata elements or InvalidParameterException one of the parameters is invalid UserNotAuthorizedException the user is not authorized to issue this request PropertyServerException there is a problem reported in the open metadata server(s)
    • findSolutionBlueprints

      public SolutionBlueprintsResponse findSolutionBlueprints(String serverName, boolean startsWith, boolean endsWith, boolean ignoreCase, int startFrom, int pageSize, FilterRequestBody requestBody)
      Retrieve the list of solution blueprint metadata elements that contain the search string. The returned blueprints include a list of the components that are associated with it.
      Parameters:
      serverName - name of the service to route the request to
      startsWith - does the value start with the supplied string?
      endsWith - does the value end with the supplied string?
      ignoreCase - should the search ignore case?
      startFrom - paging start point
      pageSize - maximum results that can be returned
      requestBody - string to find in the properties
      Returns:
      list of matching metadata elements or InvalidParameterException one of the parameters is invalid UserNotAuthorizedException the user is not authorized to issue this request PropertyServerException there is a problem reported in the open metadata server(s)
    • linkSolutionComponentActor

      public VoidResponse linkSolutionComponentActor(String serverName, String solutionRoleGUID, String solutionComponentGUID, RelationshipRequestBody requestBody)
      Attach a solution component to a solution role.
      Parameters:
      serverName - name of called server
      solutionRoleGUID - unique identifier of the parent solution role.
      solutionComponentGUID - unique identifier of the nested solution component.
      requestBody - description of the relationship.
      Returns:
      void or InvalidParameterException one of the parameters is null or invalid. PropertyServerException there is a problem retrieving information from the property server(s). UserNotAuthorizedException the requesting user is not authorized to issue this request.
    • detachSolutionComponentActor

      public VoidResponse detachSolutionComponentActor(String serverName, String solutionRoleGUID, String solutionComponentGUID, MetadataSourceRequestBody requestBody)
      Detach a solution component from a solution role.
      Parameters:
      serverName - name of called server
      solutionRoleGUID - unique identifier of the parent solution role.
      solutionComponentGUID - unique identifier of the nested solution component.
      requestBody - description of the relationship.
      Returns:
      void or InvalidParameterException one of the parameters is null or invalid. PropertyServerException there is a problem retrieving information from the property server(s). UserNotAuthorizedException the requesting user is not authorized to issue this request.
    • createSolutionComponent

      public GUIDResponse createSolutionComponent(String serverName, NewElementRequestBody requestBody)
      Create a solution component.
      Parameters:
      serverName - name of called server.
      requestBody - properties for the solution component.
      Returns:
      unique identifier of the newly created element 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.
    • createSolutionComponentFromTemplate

      public GUIDResponse createSolutionComponentFromTemplate(String serverName, TemplateRequestBody requestBody)
      Create a new metadata element to represent a solution component using an existing metadata element as a template. The template defines additional classifications and relationships that should be added to the new element.
      Parameters:
      serverName - calling user
      requestBody - properties that override the template
      Returns:
      unique identifier of the new metadata element InvalidParameterException one of the parameters is invalid UserNotAuthorizedException the user is not authorized to issue this request PropertyServerException there is a problem reported in the open metadata server(s)
    • updateSolutionComponent

      public VoidResponse updateSolutionComponent(String serverName, String solutionComponentGUID, boolean replaceAllProperties, UpdateElementRequestBody requestBody)
      Update the properties of a solution component.
      Parameters:
      serverName - name of called server.
      solutionComponentGUID - unique identifier of the solution component (returned from create)
      replaceAllProperties - flag to indicate whether to completely replace the existing properties with the new properties, or just update the individual properties specified on the request.
      requestBody - properties for the new element.
      Returns:
      void or 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.
    • updateSolutionElementStatus

      public VoidResponse updateSolutionElementStatus(String serverName, String solutionElementGUID, SolutionElementStatusRequestBody requestBody)
      Update the status of a solution blueprint, solution component or solution port.
      Parameters:
      serverName - name of called server.
      solutionElementGUID - unique identifier of the solution element (returned from create)
      requestBody - properties for the new element.
      Returns:
      void or 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.
    • linkSubcomponent

      public VoidResponse linkSubcomponent(String serverName, String parentSolutionComponentGUID, String nestedSolutionComponentGUID, RelationshipRequestBody requestBody)
      Attach a solution component to a solution component.
      Parameters:
      serverName - name of called server
      parentSolutionComponentGUID - unique identifier of the parent solution component.
      nestedSolutionComponentGUID - unique identifier of the nested solution component.
      requestBody - description of the relationship.
      Returns:
      void or InvalidParameterException one of the parameters is null or invalid. PropertyServerException there is a problem retrieving information from the property server(s). UserNotAuthorizedException the requesting user is not authorized to issue this request.
    • detachSubcomponent

      public VoidResponse detachSubcomponent(String serverName, String parentSolutionComponentGUID, String nestedSolutionComponentGUID, MetadataSourceRequestBody requestBody)
      Detach a solution component from a solution component.
      Parameters:
      serverName - name of called server
      parentSolutionComponentGUID - unique identifier of the parent solution component.
      nestedSolutionComponentGUID - unique identifier of the nested solution component.
      requestBody - description of the relationship.
      Returns:
      void or InvalidParameterException one of the parameters is null or invalid. PropertyServerException there is a problem retrieving information from the property server(s). UserNotAuthorizedException the requesting user is not authorized to issue this request.
    • linkSolutionLinkingWire

      public VoidResponse linkSolutionLinkingWire(String serverName, String solutionComponentOneGUID, String solutionComponentTwoGUID, RelationshipRequestBody requestBody)
      Attach a solution component to a solution component.
      Parameters:
      serverName - name of called server
      solutionComponentOneGUID - unique identifier of the solution component at end 1
      solutionComponentTwoGUID - unique identifier of the solution component at end 2
      requestBody - description of the relationship.
      Returns:
      void or InvalidParameterException one of the parameters is null or invalid. PropertyServerException there is a problem retrieving information from the property server(s). UserNotAuthorizedException the requesting user is not authorized to issue this request.
    • detachSolutionLinkingWire

      public VoidResponse detachSolutionLinkingWire(String serverName, String solutionComponentOneGUID, String solutionComponentTwoGUID, MetadataSourceRequestBody requestBody)
      Detach a solution component from a solution component.
      Parameters:
      serverName - name of called server
      solutionComponentOneGUID - unique identifier of the solution component at end 1
      solutionComponentTwoGUID - unique identifier of the solution component at end 2
      requestBody - description of the relationship.
      Returns:
      void or InvalidParameterException one of the parameters is null or invalid. PropertyServerException there is a problem retrieving information from the property server(s). UserNotAuthorizedException the requesting user is not authorized to issue this request.
    • deleteSolutionComponent

      public VoidResponse deleteSolutionComponent(String serverName, String solutionComponentGUID, boolean cascadedDelete, MetadataSourceRequestBody requestBody)
      Delete a solution component.
      Parameters:
      serverName - name of called server
      solutionComponentGUID - unique identifier of the element to delete
      cascadedDelete - can solution components be deleted if solution components are attached?
      requestBody - description of the relationship.
      Returns:
      void or InvalidParameterException one of the parameters is null or invalid. PropertyServerException there is a problem retrieving information from the property server(s). UserNotAuthorizedException the requesting user is not authorized to issue this request.
    • getSolutionComponentsByName

      public SolutionComponentsResponse getSolutionComponentsByName(String serverName, int startFrom, int pageSize, FilterRequestBody requestBody)
      Retrieve the list of solution component metadata elements that contain the search string.
      Parameters:
      serverName - name of the service to route the request to
      startFrom - paging start point
      pageSize - maximum results that can be returned
      requestBody - string to find in the properties
      Returns:
      list of matching metadata elements or InvalidParameterException one of the parameters is invalid UserNotAuthorizedException the user is not authorized to issue this request PropertyServerException there is a problem reported in the open metadata server(s)
    • getSolutionComponentByGUID

      public SolutionComponentResponse getSolutionComponentByGUID(String serverName, String solutionComponentGUID, AnyTimeRequestBody requestBody)
      Retrieve the list of solution component metadata elements that contain the search string.
      Parameters:
      serverName - name of the service to route the request to
      solutionComponentGUID - unique identifier of the required element
      requestBody - string to find in the properties
      Returns:
      list of matching metadata elements or InvalidParameterException one of the parameters is invalid UserNotAuthorizedException the user is not authorized to issue this request PropertyServerException there is a problem reported in the open metadata server(s)
    • findSolutionComponents

      public SolutionComponentsResponse findSolutionComponents(String serverName, boolean startsWith, boolean endsWith, boolean ignoreCase, int startFrom, int pageSize, FilterRequestBody requestBody)
      Retrieve the list of solution component metadata elements that contain the search string. The solutions components returned include information about the consumers, actors and other solution components that are associated with them.
      Parameters:
      serverName - name of the service to route the request to
      startsWith - does the value start with the supplied string?
      endsWith - does the value end with the supplied string?
      ignoreCase - should the search ignore case?
      startFrom - paging start point
      pageSize - maximum results that can be returned
      requestBody - string to find in the properties
      Returns:
      list of matching metadata elements or InvalidParameterException one of the parameters is invalid UserNotAuthorizedException the user is not authorized to issue this request PropertyServerException there is a problem reported in the open metadata server(s)
    • getSolutionComponentImplementations

      public RelatedMetadataElementsResponse getSolutionComponentImplementations(String serverName, String solutionComponentGUID, int startFrom, int pageSize, ResultsRequestBody requestBody)
      Retrieve the list of metadata elements that are associated with the solution component via the ImplementedBy relationship.
      Parameters:
      serverName - name of the service to route the request to
      solutionComponentGUID - unique identifier of the solution component to query
      startFrom - paging start point
      pageSize - maximum results that can be returned
      requestBody - string to find in the properties
      Returns:
      list of matching metadata elements or InvalidParameterException one of the parameters is invalid UserNotAuthorizedException the user is not authorized to issue this request PropertyServerException there is a problem reported in the open metadata server(s)