Class SchemaManagerRESTServices

java.lang.Object
org.odpi.openmetadata.accessservices.datamanager.server.SchemaManagerRESTServices

public class SchemaManagerRESTServices extends Object
SchemaManagerRESTServices is the server-side implementation of the Data Manager OMAS's support for relational topics. It matches the SchemaManagerClient.
  • Constructor Details

    • SchemaManagerRESTServices

      public SchemaManagerRESTServices()
      Default constructor
  • Method Details

    • createPrimitiveSchemaType

      public GUIDResponse createPrimitiveSchemaType(String serverName, String userId, PrimitiveSchemaTypeRequestBody requestBody)
      Create a new metadata element to represent a primitive schema type such as a string, integer or character.
      Parameters:
      serverName - name of the service to route the request to.
      userId - calling user
      requestBody - properties about the schema type to store
      Returns:
      unique identifier of the new schema type 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)
    • createLiteralSchemaType

      public GUIDResponse createLiteralSchemaType(String serverName, String userId, LiteralSchemaTypeRequestBody requestBody)
      Create a new metadata element to represent a schema type that has a fixed value.
      Parameters:
      serverName - name of the service to route the request to.
      userId - calling user
      requestBody - properties about the schema type to store
      Returns:
      unique identifier of the new schema type 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)
    • createEnumSchemaType

      public GUIDResponse createEnumSchemaType(String serverName, String userId, String validValuesSetGUID, EnumSchemaTypeRequestBody requestBody)
      Create a new metadata element to represent a schema type that has a fixed set of values that are described by a valid value set.
      Parameters:
      serverName - name of the service to route the request to.
      userId - calling user
      validValuesSetGUID - unique identifier of the valid values set to used
      requestBody - properties about the schema type to store
      Returns:
      unique identifier of the new schema type 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)
    • getValidValueSetByName

      public ValidValueSetsResponse getValidValueSetByName(String serverName, String userId, NameRequestBody requestBody, int startFrom, int pageSize)
      Retrieve the list of valid value set metadata elements with a matching qualified or display name. There are no wildcards supported on this request.
      Parameters:
      serverName - name of the service to route the request to.
      userId - calling user
      requestBody - name to search for
      startFrom - paging start point
      pageSize - maximum results that can be returned
      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)
    • findValidValueSet

      public ValidValueSetsResponse findValidValueSet(String serverName, String userId, SearchStringRequestBody requestBody, int startFrom, int pageSize)
      Retrieve the list of valid value set metadata elements that contain the search string. The search string is treated as a regular expression.
      Parameters:
      serverName - name of the service to route the request to.
      userId - calling user
      requestBody - string to find in the properties
      startFrom - paging start point
      pageSize - maximum results that can be returned
      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)
    • createStructSchemaType

      public GUIDResponse createStructSchemaType(String serverName, String userId, StructSchemaTypeRequestBody requestBody)
      Create a new metadata element to represent a schema type.
      Parameters:
      serverName - name of the service to route the request to.
      userId - calling user
      requestBody - properties about the schema type to store
      Returns:
      unique identifier of the new schema type 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)
    • createSchemaTypeChoice

      public GUIDResponse createSchemaTypeChoice(String serverName, String userId, SchemaTypeChoiceRequestBody requestBody)
      Create a new metadata element to represent a list of possible schema types that can be used for the attached schema attribute.
      Parameters:
      serverName - name of the service to route the request to.
      userId - calling user
      requestBody - properties about the schema type to store
      Returns:
      unique identifier of the new schema type 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)
    • createMapSchemaType

      public GUIDResponse createMapSchemaType(String serverName, String userId, String mapFromSchemaTypeGUID, String mapToSchemaTypeGUID, MapSchemaTypeRequestBody requestBody)
      Create a new metadata element to represent a schema type.
      Parameters:
      serverName - name of the service to route the request to.
      userId - calling user
      mapFromSchemaTypeGUID - unique identifier of the domain of the map
      mapToSchemaTypeGUID - unique identifier of the range of the map
      requestBody - properties about the schema type to store
      Returns:
      unique identifier of the new schema type 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)
    • createSchemaTypeFromTemplate

      public GUIDResponse createSchemaTypeFromTemplate(String serverName, String userId, String templateGUID, TemplateRequestBody requestBody)
      Create a new metadata element to represent a schema type using an existing metadata element as a template.
      Parameters:
      serverName - name of the service to route the request to.
      userId - calling user
      templateGUID - unique identifier of the metadata element to copy
      requestBody - properties that override the template
      Returns:
      unique identifier of the new schema type 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)
    • updateSchemaType

      public VoidResponse updateSchemaType(String serverName, String userId, String schemaTypeGUID, boolean isMergeUpdate, SchemaTypeRequestBody requestBody)
      Update the metadata element representing a schema type. It is possible to use the subtype property classes or set up specialized properties in extended properties.
      Parameters:
      serverName - name of the service to route the request to.
      userId - calling user
      schemaTypeGUID - unique identifier of the metadata element to update
      isMergeUpdate - should the new properties be merged with existing properties (true) or completely replace them (false)?
      requestBody - new properties for the metadata element
      Returns:
      void 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)
    • removeSchemaType

      public VoidResponse removeSchemaType(String serverName, String userId, String schemaTypeGUID, MetadataSourceRequestBody requestBody)
      Remove the metadata element representing a schema type.
      Parameters:
      serverName - name of the service to route the request to.
      userId - calling user
      schemaTypeGUID - unique identifier of the metadata element to remove
      requestBody - optional identifiers for the external source
      Returns:
      void 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)
    • setupSchemaElementRelationship

      public VoidResponse setupSchemaElementRelationship(String serverName, String userId, String endOneGUID, String relationshipTypeName, String endTwoGUID, RelationshipRequestBody requestBody)
      Create a relationship between two schema elements. The name of the desired relationship, and any properties (including effectivity dates) are passed on the API.
      Parameters:
      serverName - name of the service to route the request to.
      userId - calling user
      endOneGUID - unique identifier of the schema element at end one of the relationship
      endTwoGUID - unique identifier of the schema element at end two of the relationship
      relationshipTypeName - type of the relationship to delete
      requestBody - new properties for the metadata element
      Returns:
      void 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)
    • clearSchemaElementRelationship

      public VoidResponse clearSchemaElementRelationship(String serverName, String userId, String endOneGUID, String relationshipTypeName, String endTwoGUID, MetadataSourceRequestBody requestBody)
      Remove a relationship between two schema elements. The name of the desired relationship is passed on the API.
      Parameters:
      serverName - name of the service to route the request to.
      userId - calling user
      endOneGUID - unique identifier of the schema element at end one of the relationship
      endTwoGUID - unique identifier of the schema element at end two of the relationship
      relationshipTypeName - type of the relationship to delete
      requestBody - optional identifiers for the external source
      Returns:
      void 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)
    • findSchemaType

      public SchemaTypesResponse findSchemaType(String serverName, String userId, String typeName, SearchStringRequestBody requestBody, int startFrom, int pageSize)
      Retrieve the list of schema type metadata elements that contain the search string. The search string is treated as a regular expression.
      Parameters:
      serverName - name of the service to route the request to.
      userId - calling user
      requestBody - string to find in the properties
      typeName - optional type name for the schema type - used to restrict the search results
      startFrom - paging start point
      pageSize - maximum results that can be returned
      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)
    • getSchemaTypeForElement

      public SchemaTypeResponse getSchemaTypeForElement(String serverName, String userId, String parentElementGUID, String parentElementTypeName)
      Return the schema type associated with a specific open metadata element (data asset, process or port).
      Parameters:
      serverName - name of the service to route the request to.
      userId - calling user
      parentElementGUID - unique identifier of the open metadata element that this schema type is connected to
      parentElementTypeName - unique type name of the open metadata element that this schema type is connected to
      Returns:
      metadata element describing the schema type associated with the requested parent element 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)
    • getSchemaTypeByName

      public SchemaTypesResponse getSchemaTypeByName(String serverName, String userId, String typeName, NameRequestBody requestBody, int startFrom, int pageSize)
      Retrieve the list of schema type metadata elements with a matching qualified or display name. There are no wildcards supported on this request.
      Parameters:
      serverName - name of the service to route the request to.
      userId - calling user
      requestBody - name to search for
      typeName - optional type name for the schema type - used to restrict the search results
      startFrom - paging start point
      pageSize - maximum results that can be returned
      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)
    • getSchemaTypeByGUID

      public SchemaTypeResponse getSchemaTypeByGUID(String serverName, String userId, String schemaTypeGUID)
      Retrieve the schema type metadata element with the supplied unique identifier.
      Parameters:
      serverName - name of the service to route the request to.
      userId - calling user
      schemaTypeGUID - unique identifier of the requested metadata element
      Returns:
      requested metadata element 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)
    • getSchemaTypeParent

      public ElementStubResponse getSchemaTypeParent(String serverName, String userId, String schemaTypeGUID)
      Retrieve the header of the metadata element connected to a schema type.
      Parameters:
      serverName - name of the service to route the request to.
      userId - calling user
      schemaTypeGUID - unique identifier of the requested metadata element
      Returns:
      header for parent element (data asset, process, port) plus qualified name 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)
    • createSchemaAttribute

      public GUIDResponse createSchemaAttribute(String serverName, String userId, String schemaElementGUID, SchemaAttributeRequestBody requestBody)
      Create a new metadata element to represent a schema attribute.
      Parameters:
      serverName - name of the service to route the request to.
      userId - calling user
      schemaElementGUID - unique identifier of the schemaType or Schema Attribute where the schema attribute is nested underneath
      requestBody - properties for the schema attribute
      Returns:
      unique identifier of the new metadata element for the schema attribute 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)
    • createSchemaAttributeFromTemplate

      public GUIDResponse createSchemaAttributeFromTemplate(String serverName, String userId, String schemaElementGUID, String templateGUID, TemplateRequestBody requestBody)
      Create a new metadata element to represent a schema attribute using an existing metadata element as a template.
      Parameters:
      serverName - name of the service to route the request to.
      userId - calling user
      schemaElementGUID - unique identifier of the schemaType or Schema Attribute where the schema attribute is connected to
      templateGUID - unique identifier of the metadata element to copy
      requestBody - properties that override the template
      Returns:
      unique identifier of the new metadata element for the schema attribute 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)
    • setupSchemaType

      public VoidResponse setupSchemaType(String serverName, String userId, String relationshipTypeName, String schemaAttributeGUID, String schemaTypeGUID, MetadataSourceRequestBody requestBody)
      Connect a schema type to a schema attribute.
      Parameters:
      serverName - name of the service to route the request to.
      userId - calling user
      relationshipTypeName - name of relationship to create
      schemaAttributeGUID - unique identifier of the schema attribute
      schemaTypeGUID - unique identifier of the schema type to connect
      requestBody - unique identifier of software server capability representing the caller
      Returns:
      void 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)
    • clearSchemaTypes

      public VoidResponse clearSchemaTypes(String serverName, String userId, String schemaAttributeGUID, MetadataSourceRequestBody requestBody)
      Remove the linked schema types from a schema attribute.
      Parameters:
      serverName - name of the service to route the request to.
      userId - calling user
      schemaAttributeGUID - unique identifier of the schema attribute
      requestBody - unique identifier of software server capability representing the caller
      Returns:
      void 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)
    • updateSchemaAttribute

      public VoidResponse updateSchemaAttribute(String serverName, String userId, String schemaAttributeGUID, boolean isMergeUpdate, SchemaAttributeRequestBody requestBody)
      Update the properties of the metadata element representing a schema attribute.
      Parameters:
      serverName - name of the service to route the request to.
      userId - calling user
      schemaAttributeGUID - unique identifier of the schema attribute to update
      isMergeUpdate - should the new properties be merged with existing properties (true) or completely replace them (false)?
      requestBody - new properties for the schema attribute
      Returns:
      void 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)
    • removeSchemaAttribute

      public VoidResponse removeSchemaAttribute(String serverName, String userId, String schemaAttributeGUID, MetadataSourceRequestBody requestBody)
      Remove the metadata element representing a schema attribute.
      Parameters:
      serverName - name of the service to route the request to.
      userId - calling user
      requestBody - unique identifier of software server capability representing the caller
      schemaAttributeGUID - unique identifier of the metadata element to remove
      Returns:
      void 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)
    • findSchemaAttributes

      public SchemaAttributesResponse findSchemaAttributes(String serverName, String userId, String typeName, SearchStringRequestBody requestBody, int startFrom, int pageSize)
      Retrieve the list of schema attribute metadata elements that contain the search string. The search string is treated as a regular expression.
      Parameters:
      serverName - name of the service to route the request to.
      userId - calling user
      requestBody - string to find in the properties
      typeName - optional type name for the schema attribute - used to restrict the search results
      startFrom - paging start point
      pageSize - maximum results that can be returned
      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)
    • getNestedAttributes

      public SchemaAttributesResponse getNestedAttributes(String serverName, String userId, String parentSchemaElementGUID, int startFrom, int pageSize)
      Retrieve the list of schema attributes associated with a StructSchemaType or nested underneath a schema attribute.
      Parameters:
      serverName - name of the service to route the request to.
      userId - calling user
      parentSchemaElementGUID - unique identifier of the schema element of interest
      startFrom - paging start point
      pageSize - maximum results that can be returned
      Returns:
      list of associated 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)
    • getSchemaAttributesByName

      public SchemaAttributesResponse getSchemaAttributesByName(String serverName, String userId, String typeName, NameRequestBody requestBody, int startFrom, int pageSize)
      Retrieve the list of schema attribute metadata elements with a matching qualified or display name. There are no wildcards supported on this request.
      Parameters:
      serverName - name of the service to route the request to.
      userId - calling user
      requestBody - name to search for
      typeName - optional type name for the schema attribute - used to restrict the search results
      startFrom - paging start point
      pageSize - maximum results that can be returned
      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)
    • getSchemaAttributeByGUID

      public SchemaAttributeResponse getSchemaAttributeByGUID(String serverName, String userId, String schemaAttributeGUID)
      Retrieve the schema attribute metadata element with the supplied unique identifier.
      Parameters:
      serverName - name of the service to route the request to.
      userId - calling user
      schemaAttributeGUID - unique identifier of the requested metadata element
      Returns:
      matching metadata element 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)
    • setupCalculatedValue

      public VoidResponse setupCalculatedValue(String serverName, String userId, String schemaElementGUID, FormulaRequestBody requestBody)
      Classify the schema element to indicate that it describes a calculated value.
      Parameters:
      serverName - name of the service to route the request to.
      userId - calling user
      schemaElementGUID - unique identifier of the metadata element to update
      requestBody - requestBody for calculating the value - this may contain placeholders that are identified by the queryIds used in the queryTarget relationships
      Returns:
      void 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)
    • clearCalculatedValue

      public VoidResponse clearCalculatedValue(String serverName, String userId, String schemaElementGUID, MetadataSourceRequestBody requestBody)
      Remove the calculated value designation from the schema element.
      Parameters:
      serverName - name of the service to route the request to.
      userId - calling user
      schemaElementGUID - unique identifier of the metadata element to update
      requestBody - unique identifier of software server capability representing the caller
      Returns:
      void 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)
    • setupQueryTargetRelationship

      public VoidResponse setupQueryTargetRelationship(String serverName, String userId, String derivedElementGUID, String queryTargetGUID, DerivedSchemaTypeQueryTargetRequestBody requestBody)
      Link two schema elements together to show a query target relationship. The query target provides data values to calculate a derived value.
      Parameters:
      serverName - name of the service to route the request to.
      userId - calling user
      derivedElementGUID - unique identifier of the derived schema element
      queryTargetGUID - unique identifier of the query target schema element
      requestBody - properties for the query target relationship
      Returns:
      void 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)
    • updateQueryTargetRelationship

      public VoidResponse updateQueryTargetRelationship(String serverName, String userId, String derivedElementGUID, String queryTargetGUID, DerivedSchemaTypeQueryTargetRequestBody requestBody)
      Update the relationship properties for the query target.
      Parameters:
      serverName - name of the service to route the request to.
      userId - calling user
      derivedElementGUID - unique identifier of the derived schema element
      queryTargetGUID - unique identifier of the query target schema element
      requestBody - properties for the query target relationship
      Returns:
      void 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)
    • clearQueryTargetRelationship

      public VoidResponse clearQueryTargetRelationship(String serverName, String userId, String derivedElementGUID, String queryTargetGUID, MetadataSourceRequestBody requestBody)
      Remove the query target relationship between two schema elements.
      Parameters:
      serverName - name of the service to route the request to.
      userId - calling user
      requestBody - unique identifier of software server capability representing the caller
      derivedElementGUID - unique identifier of the derived schema element
      queryTargetGUID - unique identifier of the query target schema element
      Returns:
      void 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)