Class AssetOwnerRESTServices

java.lang.Object
org.odpi.openmetadata.accessservices.assetowner.server.AssetOwnerRESTServices

public class AssetOwnerRESTServices extends Object
AssetOwnerRESTServices provides part of the server-side support for the Asset Owner Open Metadata Access Service (OMAS). There are other REST services that provide specialized methods for specific types of Asset.
  • Constructor Details

    • AssetOwnerRESTServices

      public AssetOwnerRESTServices()
      Default constructor
  • Method Details

    • getTypesOfAsset

      public NameListResponse getTypesOfAsset(String serverName, String userId)
      Return the asset subtype names.
      Parameters:
      serverName - name of the server instance to connect to
      userId - calling user
      Returns:
      list of type names that are subtypes of asset or throws InvalidParameterException full path or userId is null or throws PropertyServerException problem accessing property server or throws UserNotAuthorizedException security access problem.
    • getTypesOfAssetDescriptions

      public StringMapResponse getTypesOfAssetDescriptions(String serverName, String userId)
      Return the asset subtype names with their descriptions.
      Parameters:
      serverName - name of the server instance to connect to
      userId - calling user
      Returns:
      list of type names that are subtypes of asset or throws InvalidParameterException full path or userId is null or throws PropertyServerException problem accessing property server or throws UserNotAuthorizedException security access problem.
    • addAssetToCatalog

      public GUIDResponse addAssetToCatalog(String serverName, String userId, String typeName, AssetProperties requestBody)
      Add a simple asset description to the catalog.
      Parameters:
      serverName - name of the server instance to connect to
      userId - calling user (assumed to be the owner)
      typeName - specific type of the asset - this must match a defined subtype
      requestBody - other properties for asset
      Returns:
      unique identifier (guid) of the asset or InvalidParameterException full path or userId is null or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem
    • addAssetToCatalogUsingTemplate

      public GUIDResponse addAssetToCatalogUsingTemplate(String serverName, String userId, String templateGUID, TemplateProperties requestBody)
      Create a new metadata element to represent an asset using an existing asset as a template.
      Parameters:
      serverName - name of the server instance to connect to
      userId - calling user
      templateGUID - unique identifier of the metadata element to copy
      requestBody - properties that override the template
      Returns:
      unique identifier (guid) of the asset or InvalidParameterException full path or userId is null or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem
    • updateAsset

      public VoidResponse updateAsset(String serverName, String userId, String assetGUID, boolean isMergeUpdate, AssetProperties requestBody)
      Update a simple asset description to the catalog.
      Parameters:
      serverName - name of the server instance to connect to
      userId - calling user (assumed to be the owner)
      assetGUID - unique identifier of the asset
      isMergeUpdate - should the new properties be merged with existing properties (true) or completely replace them (false)?
      requestBody - other properties for asset
      Returns:
      unique identifier (guid) of the asset or InvalidParameterException full path or userId is null or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem
    • setupRelatedAsset

      public GUIDResponse setupRelatedAsset(String serverName, String userId, String relationshipTypeName, String fromAssetGUID, String toAssetGUID, RelationshipRequestBody requestBody)
      Link two asset together. Use information from the relationship type definition to ensure the fromAssetGUID and toAssetGUID are the right way around.
      Parameters:
      serverName - name of the server to route the request to
      userId - calling user
      relationshipTypeName - type name of relationship to create
      fromAssetGUID - unique identifier of the asset at end 1 of the relationship
      toAssetGUID - unique identifier of the asset at end 2 of the relationship
      requestBody - unique identifier for this relationship
      Returns:
      unique identifier of the relationship 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)
    • getAssetRelationship

      public RelationshipElementResponse getAssetRelationship(String serverName, String userId, String relationshipTypeName, String fromAssetGUID, String toAssetGUID, EffectiveTimeQueryRequestBody requestBody)
      Retrieve the relationship between two elements.
      Parameters:
      serverName - name of the server to route the request to
      userId - calling user
      relationshipTypeName - type name of relationship to create
      fromAssetGUID - unique identifier of the asset at end 1 of the relationship
      toAssetGUID - unique identifier of the asset at end 2 of the relationship
      requestBody - optional date for effective time of the query. Null means any effective time
      Returns:
      unique identifier and properties of the relationship 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)
    • updateAssetRelationship

      public VoidResponse updateAssetRelationship(String serverName, String userId, String relationshipTypeName, String relationshipGUID, boolean isMergeUpdate, RelationshipRequestBody requestBody)
      Request that the asset handler creates a schema type and links it to the asset. Update relationship between two elements.
      Parameters:
      serverName - name of the server to route the request to
      userId - calling user
      relationshipTypeName - type name of relationship to update
      relationshipGUID - unique identifier of the relationship
      isMergeUpdate - should the new properties be merged with the existing properties, or replace them entirely
      requestBody - description and/or purpose of the 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)
    • clearAssetRelationship

      public VoidResponse clearAssetRelationship(String serverName, String userId, String relationshipTypeName, String relationshipGUID, EffectiveTimeQueryRequestBody requestBody)
      Remove the relationship between two elements.
      Parameters:
      serverName - name of the server to route the request to
      userId - calling user
      relationshipTypeName - type name of relationship to delete
      relationshipGUID - unique identifier of the relationship
      requestBody - external source ids
      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)
    • getRelatedAssetsAtEnd2

      public RelationshipElementsResponse getRelatedAssetsAtEnd2(String serverName, String userId, String relationshipTypeName, String fromAssetGUID, int startFrom, int pageSize, EffectiveTimeQueryRequestBody requestBody)
      Retrieve the requested relationships linked from a specific element at end 2.
      Parameters:
      serverName - name of the server to route the request to
      userId - calling user
      relationshipTypeName - type name of relationship to delete
      fromAssetGUID - unique identifier of the asset at end 1 of the relationship
      startFrom - start position for results
      pageSize - maximum number of results
      requestBody - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      Returns:
      unique identifier and properties of the relationships 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)
    • getRelatedAssetsAtEnd1

      public RelationshipElementsResponse getRelatedAssetsAtEnd1(String serverName, String userId, String relationshipTypeName, String toAssetGUID, int startFrom, int pageSize, EffectiveTimeQueryRequestBody requestBody)
      Retrieve the relationships linked from a specific element at end 2 of the relationship.
      Parameters:
      serverName - name of the server to route the request to
      userId - calling user
      relationshipTypeName - type name of relationship to delete
      toAssetGUID - unique identifier of the asset at end 2 of the relationship
      startFrom - start position for results
      pageSize - maximum number of results
      requestBody - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      Returns:
      unique identifier and properties of the relationships 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)
    • addCombinedSchemaToAsset

      public GUIDResponse addCombinedSchemaToAsset(String serverName, String userId, String assetGUID, CombinedSchemaRequestBody requestBody)
      Stores the supplied schema details in the catalog and attaches it to the asset. If another schema is currently attached to the asset, it is unlinked and deleted. If more attributes need to be added in addition to the ones supplied then this can be done with addSchemaAttributesToSchemaType().
      Parameters:
      serverName - name of the server instance to connect to
      userId - calling user
      assetGUID - unique identifier of the asset that the schema is to be attached to
      requestBody - schema type to create and attach directly to the asset.
      Returns:
      guid of the schema type or InvalidParameterException full path or userId is null, or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem
    • addSchemaTypeToAsset

      public GUIDResponse addSchemaTypeToAsset(String serverName, String userId, String assetGUID, SchemaTypeProperties requestBody)
      Stores the supplied schema type in the catalog and attaches it to the asset. If another schema is currently attached to the asset, it is unlinked and deleted.
      Parameters:
      serverName - name of the server instance to connect to
      userId - calling user
      assetGUID - unique identifier of the asset that the schema is to be attached to
      requestBody - schema type to create and attach directly to the asset.
      Returns:
      guid of the new schema type or InvalidParameterException full path or userId is null, or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem
    • attachSchemaTypeToAsset

      public VoidResponse attachSchemaTypeToAsset(String serverName, String userId, String assetGUID, String schemaTypeGUID, NullRequestBody requestBody)
      Links the supplied schema type directly to the asset. If this schema is either not found, or already attached to an asset, then an error occurs. If another schema is currently attached to the asset, it is unlinked and deleted.
      Parameters:
      serverName - name of the server instance to connect to
      userId - calling user
      assetGUID - unique identifier of the asset that the schema is to be attached to
      schemaTypeGUID - unique identifier of the schema type to attach
      requestBody - null
      Returns:
      void or InvalidParameterException full path or userId or one of the GUIDs is null or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem
    • detachSchemaTypeFromAsset

      public GUIDResponse detachSchemaTypeFromAsset(String serverName, String userId, String assetGUID, NullRequestBody requestBody)
      Unlinks the schema from the asset but does not delete it. This means it can be reattached to a different asset.
      Parameters:
      serverName - name of the server instance to connect to
      userId - calling user
      assetGUID - unique identifier of the asset that the schema is to be attached to
      requestBody - null
      Returns:
      guid of the schema type or InvalidParameterException full path or userId or one of the GUIDs is null or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem
    • deleteAssetSchemaType

      public VoidResponse deleteAssetSchemaType(String serverName, String userId, String assetGUID, NullRequestBody requestBody)
      Detaches and deletes an asset's schema.
      Parameters:
      serverName - name of the server instance to connect to
      userId - calling user
      assetGUID - unique identifier of the asset that the schema is to be attached to
      requestBody - null
      Returns:
      void or InvalidParameterException full path or userId is null, or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem
    • createSchemaType

      public GUIDResponse createSchemaType(String serverName, String userId, String anchorGUID, SchemaTypeProperties requestBody)
      Create a new metadata element to represent a schema type.
      Parameters:
      serverName - name of the server to route the request to
      userId - calling user
      anchorGUID - unique identifier of the intended anchor of the schema type
      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 server 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, SchemaTypeProperties requestBody)
      Update the metadata element representing a schema type.
      Parameters:
      serverName - name of the server 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)
    • setupSchemaTypeParent

      public VoidResponse setupSchemaTypeParent(String serverName, String userId, String parentElementGUID, String parentElementTypeName, String schemaTypeGUID, RelationshipRequestBody requestBody)
      Connect a schema type to a data asset, process or port.
      Parameters:
      serverName - name of the server to route the request to
      userId - calling user
      schemaTypeGUID - unique identifier of the schema type to connect
      parentElementGUID - unique identifier of the open metadata element that this schema type is to be connected to
      parentElementTypeName - unique type name of the open metadata element that this schema type is to be connected to
      requestBody - unique identifier/name 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)
    • clearSchemaTypeParent

      public VoidResponse clearSchemaTypeParent(String serverName, String userId, String parentElementGUID, String parentElementTypeName, String schemaTypeGUID, EffectiveTimeQueryRequestBody requestBody)
      Remove the relationship between a schema type and its parent data asset, process or port.
      Parameters:
      serverName - name of the server to route the request to
      userId - calling user
      schemaTypeGUID - unique identifier of the schema type to connect
      parentElementGUID - unique identifier of the open metadata element that this schema type is to be connected to
      parentElementTypeName - unique type name of the open metadata element that this schema type is to be connected to
      requestBody - unique identifier/name 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)
    • 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 server 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 create
      requestBody - relationship properties
      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, EffectiveTimeQueryRequestBody requestBody)
      Remove a relationship between two schema elements. The name of the desired relationship is passed on the API.
      Parameters:
      serverName - name of the server 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 - unique identifier/name 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)
    • removeSchemaType

      public VoidResponse removeSchemaType(String serverName, String userId, String schemaTypeGUID, UpdateRequestBody requestBody)
      Remove the metadata element representing a schema type.
      Parameters:
      serverName - name of the server to route the request to
      userId - calling user
      schemaTypeGUID - unique identifier of the metadata element to remove
      requestBody - unique identifier/name of software server capability representing the caller and external identifier of 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)
    • findSchemaType

      public SchemaTypeElementsResponse findSchemaType(String serverName, String userId, int startFrom, int pageSize, SearchStringRequestBody requestBody)
      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 server to route the request to
      userId - calling user
      startFrom - paging start point
      pageSize - maximum results that can be returned
      requestBody - string to find in the properties plus external identifiers
      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 SchemaTypeElementResponse getSchemaTypeForElement(String serverName, String userId, String parentElementGUID, String parentElementTypeName, EffectiveTimeQueryRequestBody requestBody)
      Return the schema type associated with a specific open metadata element (data asset, process or port).
      Parameters:
      serverName - name of the server to route the request to
      userId - calling user
      parentElementGUID - unique identifier of the open metadata element that this schema type is to be connected to
      parentElementTypeName - unique type name of the open metadata element that this schema type is to be connected to
      requestBody - unique identifier/name of software server capability representing the caller
      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 SchemaTypeElementsResponse getSchemaTypeByName(String serverName, String userId, int startFrom, int pageSize, NameRequestBody requestBody)
      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 server to route the request to
      userId - calling user
      startFrom - paging start point
      pageSize - maximum results that can be returned
      requestBody - name to search for plus identifiers
      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 SchemaTypeElementResponse getSchemaTypeByGUID(String serverName, String userId, String schemaTypeGUID, EffectiveTimeQueryRequestBody requestBody)
      Retrieve the schema type metadata element with the supplied unique identifier.
      Parameters:
      serverName - name of the server to route the request to
      userId - calling user
      schemaTypeGUID - unique identifier of the requested metadata element
      requestBody - unique identifier/name of software server capability representing the caller
      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 ElementHeaderResponse getSchemaTypeParent(String serverName, String userId, String schemaTypeGUID, EffectiveTimeQueryRequestBody requestBody)
      Retrieve the header of the metadata element connected to a schema type.
      Parameters:
      serverName - name of the server to route the request to
      userId - calling user
      schemaTypeGUID - unique identifier of the requested metadata element
      requestBody - unique identifier/name of software server capability representing the caller
      Returns:
      header for parent element (data asset, process, port) 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)
    • addSchemaAttributes

      public VoidResponse addSchemaAttributes(String serverName, String userId, String assetGUID, String parentGUID, List<SchemaAttributeProperties> requestBody)
      Adds attributes to a complex schema type like a relational table, avro schema or a structured document. This method can be called repeatedly to add many attributes to a schema. The schema type may be attached both directly or indirectly via nested schema elements to the asset.
      Parameters:
      serverName - name of the server instance to connect to
      userId - calling user
      assetGUID - unique identifier of the asset that the schema is to be attached to
      parentGUID - unique identifier of the schema element to anchor these attributes to.
      requestBody - list of schema attribute objects.
      Returns:
      list of unique identifier for the new schema attribute returned in the same order as the supplied attribute or InvalidParameterException full path or userId is null or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem
    • addSchemaAttribute

      public GUIDResponse addSchemaAttribute(String serverName, String userId, String assetGUID, String parentGUID, SchemaAttributeProperties requestBody)
      Adds attributes to a complex schema type like a relational table, avro schema or a structured document. This method can be called repeatedly to add many attributes to a schema. The schema type may be attached both directly or indirectly via nested schema elements to the asset.
      Parameters:
      serverName - name of the server instance to connect to
      userId - calling user
      assetGUID - unique identifier of the asset that the schema is to be attached to
      parentGUID - unique identifier of the schema element to anchor these attributes to.
      requestBody - schema attribute object.
      Returns:
      list of unique identifiers for the new schema attributes returned in the same order as the supplied attribute or InvalidParameterException full path or userId is null or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem
    • 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 server 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)
    • updateSchemaAttribute

      public VoidResponse updateSchemaAttribute(String serverName, String userId, String schemaAttributeGUID, boolean isMergeUpdate, SchemaAttributeProperties requestBody)
      Update the properties of the metadata element representing a schema attribute.
      Parameters:
      serverName - name of the server 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)
    • setSchemaElementAsCalculatedValue

      public VoidResponse setSchemaElementAsCalculatedValue(String serverName, String userId, String schemaElementGUID, CalculatedValueClassificationRequestBody requestBody)
      Classify the schema type (or attribute if type is embedded) to indicate that it is a calculated value.
      Parameters:
      serverName - name of the server to route the request to
      userId - calling user
      schemaElementGUID - unique identifier of the metadata element to update
      requestBody - unique identifier/name of software server capability representing the caller and external identifier of 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)
    • clearSchemaElementAsCalculatedValue

      public VoidResponse clearSchemaElementAsCalculatedValue(String serverName, String userId, String schemaElementGUID, UpdateRequestBody requestBody)
      Remove the calculated value designation from the schema element.
      Parameters:
      serverName - name of the server to route the request to
      userId - calling user
      schemaElementGUID - unique identifier of the metadata element to update
      requestBody - unique identifier/name of software server capability representing the caller and external identifier of 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)
    • removeSchemaAttribute

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

      public SchemaAttributeElementsResponse findSchemaAttributes(String serverName, String userId, int startFrom, int pageSize, SearchStringRequestBody requestBody)
      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 server to route the request to
      userId - calling user
      startFrom - paging start point
      pageSize - maximum results that can be returned
      requestBody - string to find in the properties plus external identifiers
      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 SchemaAttributeElementsResponse getNestedAttributes(String serverName, String userId, String schemaTypeGUID, int startFrom, int pageSize, EffectiveTimeQueryRequestBody requestBody)
      Retrieve the list of schema attributes associated with a schemaType.
      Parameters:
      serverName - name of the server to route the request to
      userId - calling user
      schemaTypeGUID - unique identifier of the schemaType of interest
      startFrom - paging start point
      pageSize - maximum results that can be returned
      requestBody - unique identifier/name of software server capability representing the caller
      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 SchemaAttributeElementsResponse getSchemaAttributesByName(String serverName, String userId, int startFrom, int pageSize, NameRequestBody requestBody)
      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 server to route the request to
      userId - calling user
      startFrom - paging start point
      pageSize - maximum results that can be returned
      requestBody - unique identifier/name of software server capability representing the caller
      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 SchemaAttributeElementResponse getSchemaAttributeByGUID(String serverName, String userId, String schemaAttributeGUID, EffectiveTimeQueryRequestBody requestBody)
      Retrieve the schema attribute metadata element with the supplied unique identifier.
      Parameters:
      serverName - name of the server to route the request to
      userId - calling user
      schemaAttributeGUID - unique identifier of the requested metadata element
      requestBody - unique identifier/name of software server capability representing the caller
      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)
    • addConnectionToAsset

      public VoidResponse addConnectionToAsset(String serverName, String userId, String assetGUID, ConnectionRequestBody requestBody)
      Adds a connection to an asset. Assets can have multiple connections attached.
      Parameters:
      serverName - name of the server instance to connect to
      userId - calling user
      assetGUID - unique identifier of the asset to attach the connection to
      requestBody - request body including a summary and connection object. If the connection is already stored (matching guid) then the existing connection is used.
      Returns:
      void or InvalidParameterException full path or userId is null or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem
    • addSemanticAssignment

      public VoidResponse addSemanticAssignment(String serverName, String userId, String assetGUID, String glossaryTermGUID, SemanticAssignmentProperties requestBody)
      Create a simple relationship between a glossary term and an Asset description.
      Parameters:
      serverName - name of the server instance to connect to
      userId - calling user
      assetGUID - unique identifier of the asset that is being described
      glossaryTermGUID - unique identifier of the glossary term
      requestBody - null request body to satisfy POST request.
      Returns:
      void or InvalidParameterException full path or userId is null or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem
    • addSemanticAssignment

      public VoidResponse addSemanticAssignment(String serverName, String userId, String assetGUID, String glossaryTermGUID, String assetElementGUID, NullRequestBody requestBody)
      Create a simple relationship between a glossary term and an element in an Asset description (typically a field in the schema).
      Parameters:
      serverName - name of the server instance to connect to
      userId - calling user
      assetGUID - unique identifier of the asset that is being described
      glossaryTermGUID - unique identifier of the glossary term
      assetElementGUID - element to link it to - its type must inherit from Referenceable.
      requestBody - null request body to satisfy POST request.
      Returns:
      void or InvalidParameterException full path or userId is null or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem
    • removeSemanticAssignment

      public VoidResponse removeSemanticAssignment(String serverName, String userId, String assetGUID, String glossaryTermGUID, NullRequestBody requestBody)
      Remove the relationship between a glossary term and an element in an Asset description (typically a field in the schema).
      Parameters:
      serverName - name of the server instance to connect to
      userId - calling user
      assetGUID - unique identifier of asset
      glossaryTermGUID - unique identifier of the glossary term
      requestBody - null request body
      Returns:
      void or InvalidParameterException one of the parameters is null or invalid or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem
    • removeSemanticAssignment

      public VoidResponse removeSemanticAssignment(String serverName, String userId, String assetGUID, String glossaryTermGUID, String assetElementGUID, NullRequestBody requestBody)
      Remove the relationship between a glossary term and an element in an Asset description (typically a field in the schema).
      Parameters:
      serverName - name of the server instance to connect to
      userId - calling user
      assetGUID - unique identifier of asset
      glossaryTermGUID - unique identifier of the glossary term
      assetElementGUID - element to link it to - its type must inherit from Referenceable.
      requestBody - null request body
      Returns:
      void or InvalidParameterException one of the parameters is null or invalid or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem
    • addAssetOrigin

      public VoidResponse addAssetOrigin(String serverName, String userId, String assetGUID, OriginRequestBody requestBody)
      Set up the labels that classify an asset's origin. This will override any existing value.
      Parameters:
      serverName - name of the server instance to connect to
      userId - calling user
      assetGUID - unique identifier of asset
      requestBody - Descriptive labels describing origin of the asset
      Returns:
      void or InvalidParameterException full path or userId is null or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem
    • removeAssetOrigin

      public VoidResponse removeAssetOrigin(String serverName, String userId, String assetGUID, NullRequestBody requestBody)
      Remove the asset origin classification to an asset.
      Parameters:
      serverName - name of the server instance to connect to
      userId - calling user
      assetGUID - unique identifier of asset
      requestBody - null request body
      Returns:
      void or InvalidParameterException full path or userId is null or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem
    • publishAsset

      public VoidResponse publishAsset(String serverName, String userId, String assetGUID, NullRequestBody requestBody)
      Update the zones for a specific asset to the zone list specified in the publishZones
      Parameters:
      serverName - name of the server instance to connect to
      userId - calling user
      assetGUID - unique identifier for the asset to update
      requestBody - null request body
      Returns:
      void or InvalidParameterException full path or userId is null or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem
    • withdrawAsset

      public VoidResponse withdrawAsset(String serverName, String userId, String assetGUID, NullRequestBody requestBody)
      Update the zones for a specific asset to the zone list specified in the defaultZones
      Parameters:
      serverName - name of the server instance to connect to
      userId - calling user
      assetGUID - unique identifier for the asset to update
      requestBody - null request body
      Returns:
      void or InvalidParameterException full path or userId is null or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem
    • updateAssetZones

      public VoidResponse updateAssetZones(String serverName, String userId, String assetGUID, List<String> assetZones)
      Update the zones for a specific asset.
      Parameters:
      serverName - name of the server instance to connect to
      userId - calling user
      assetGUID - unique identifier for the asset to update
      assetZones - list of zones for the asset - these values override the current values - null means belongs to no zones.
      Returns:
      void or InvalidParameterException full path or userId is null or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem
    • updateAssetOwner

      public VoidResponse updateAssetOwner(String serverName, String userId, String assetGUID, OwnerRequestBody requestBody)
      Update the owner information for a specific asset.
      Parameters:
      serverName - name of the server instance to connect to
      userId - calling user
      assetGUID - unique identifier for the asset to update
      requestBody - values describing the new owner
      Returns:
      void or InvalidParameterException full path or userId is null or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem
    • addSecurityTags

      public VoidResponse addSecurityTags(String serverName, String userId, String assetGUID, SecurityTagsRequestBody requestBody)
      Add or replace the security tags for an asset or one of its elements.
      Parameters:
      serverName - name of the server instance to connect to
      userId - calling user
      assetGUID - unique identifier of asset
      requestBody - list of security labels and properties
      Returns:
      void or InvalidParameterException full path or userId is null or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem
    • addSecurityTags

      public VoidResponse addSecurityTags(String serverName, String userId, String assetGUID, String assetElementGUID, SecurityTagsRequestBody requestBody)
      Add or replace the security tags for an asset or one of its elements.
      Parameters:
      serverName - name of the server instance to connect to
      userId - calling user
      assetGUID - unique identifier of asset
      assetElementGUID - element to link it to - its type must inherit from Referenceable.
      requestBody - list of security labels and properties
      Returns:
      void or InvalidParameterException full path or userId is null or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem
    • removeSecurityTags

      public VoidResponse removeSecurityTags(String serverName, String userId, String assetGUID, NullRequestBody requestBody)
      Remove the security tags classification from an asset.
      Parameters:
      serverName - name of the server instance to connect to
      userId - calling user
      assetGUID - unique identifier of asset
      requestBody - null request body
      Returns:
      void or InvalidParameterException full path or userId is null or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem
    • removeSecurityTags

      public VoidResponse removeSecurityTags(String serverName, String userId, String assetGUID, String assetElementGUID, NullRequestBody requestBody)
      Remove the security tags classification to one of an asset's elements.
      Parameters:
      serverName - name of the server instance to connect to
      userId - calling user
      assetGUID - unique identifier of asset
      assetElementGUID - element where the security tags need to be removed.
      requestBody - null request body
      Returns:
      void or InvalidParameterException full path or userId is null or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem
    • addTemplateClassification

      public VoidResponse addTemplateClassification(String serverName, String userId, String assetGUID, TemplateClassificationRequestBody requestBody)
      Classify an asset as suitable to be used as a template for cataloguing assets of a similar types.
      Parameters:
      serverName - name of the server instance to connect to
      userId - calling user
      assetGUID - unique identifier of the asset to classify
      requestBody - properties of the template
      Returns:
      void or InvalidParameterException asset or element not known, null userId or guid or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem
    • removeTemplateClassification

      public VoidResponse removeTemplateClassification(String serverName, String userId, String assetGUID, NullRequestBody requestBody)
      Remove the classification that indicates that this asset can be used as a template.
      Parameters:
      serverName - name of the server instance to connect to
      userId - calling user
      assetGUID - unique identifier of the asset to declassify
      requestBody - null request body
      Returns:
      void or InvalidParameterException asset or element not known, null userId or guid or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem
    • getAssetsByName

      public AssetElementsResponse getAssetsByName(String serverName, String userId, NameRequestBody requestBody, int startFrom, int pageSize)
      Return a list of assets with the requested name.
      Parameters:
      serverName - name of the server instances for this request
      userId - calling user
      requestBody - name to search for
      startFrom - starting element (used in paging through large result sets)
      pageSize - maximum number of results to return
      Returns:
      list of Asset summaries or InvalidParameterException the name is invalid or PropertyServerException there is a problem access in the property server or UserNotAuthorizedException the user does not have access to the properties
    • findAssets

      public AssetElementsResponse findAssets(String serverName, String userId, SearchStringRequestBody requestBody, int startFrom, int pageSize)
      Return a list of assets with the requested search string in their name, qualified name or description.
      Parameters:
      serverName - name of the server instances for this request
      userId - calling user
      requestBody - string to search for in text
      startFrom - starting element (used in paging through large result sets)
      pageSize - maximum number of results to return
      Returns:
      list of assets that match the search string or InvalidParameterException the searchString is invalid or PropertyServerException there is a problem access in the property server or UserNotAuthorizedException the user does not have access to the properties
    • getAssetSummary

      public AssetElementResponse getAssetSummary(String serverName, String userId, String assetGUID)
      Return the basic attributes of an asset.
      Parameters:
      serverName - server called
      userId - calling user
      assetGUID - unique identifier of the asset
      Returns:
      basic asset properties InvalidParameterException one of the parameters is null or invalid. UserNotAuthorizedException user not authorized to issue this request. PropertyServerException there was a problem that occurred within the property server.
    • getSurveyReports

      public SurveyReportListResponse getSurveyReports(String serverName, String userId, String assetGUID, int startingFrom, int maxPageSize)
      Return the discovery analysis reports about the asset.
      Parameters:
      serverName - name of the server instance to connect to
      userId - calling user
      assetGUID - unique identifier of the asset
      startingFrom - position in the list (used when there are so many reports that paging is needed
      maxPageSize - maximum number of elements to return on this call
      Returns:
      list of discovery analysis reports or InvalidParameterException full path or userId is null or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem
    • getSurveyReportAnnotations

      public AnnotationListResponse getSurveyReportAnnotations(String serverName, String userId, String surveyReportGUID, int startingFrom, int maximumResults, StatusRequestBody requestBody)
      Return the annotations linked directly to the report.
      Parameters:
      serverName - name of the server instance to connect to
      userId - identifier of calling user
      surveyReportGUID - identifier of the survey report.
      startingFrom - initial position in the stored list.
      maximumResults - maximum number of definitions to return on this call.
      requestBody - status of the desired annotations - null means all statuses.
      Returns:
      list of annotations or InvalidParameterException full path or userId is null or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem
    • getExtendedAnnotations

      public AnnotationListResponse getExtendedAnnotations(String serverName, String userId, String annotationGUID, int startingFrom, int maximumResults, StatusRequestBody requestBody)
      Return any annotations attached to this annotation.
      Parameters:
      serverName - name of the server instance to connect to
      userId - identifier of calling user
      annotationGUID - anchor annotation
      startingFrom - starting position in the list
      maximumResults - maximum number of annotations that can be returned.
      requestBody - status of the desired annotations - null means all statuses.
      Returns:
      list of Annotation objects or InvalidParameterException full path or userId is null or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem
    • deleteAsset

      public VoidResponse deleteAsset(String serverName, String userId, String assetGUID, NullRequestBody requestBody)
      Deletes an asset and all of its associated elements such as schema, connections (unless they are linked to another asset), discovery reports and associated feedback. Given the depth of the delete request performed by this call, it should be used with care.
      Parameters:
      serverName - name of the server instance to connect to
      userId - calling user
      assetGUID - unique identifier of the asset to attach the connection to
      requestBody - dummy request body to satisfy POST protocol.
      Returns:
      void or InvalidParameterException full path or userId is null or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem
    • linkElementsAsPeerDuplicates

      public VoidResponse linkElementsAsPeerDuplicates(String serverName, String userId, String element1GUID, String element2GUID, NullRequestBody requestBody)
      Create a simple relationship between two elements in an Asset description (typically the asset itself or attributes in their schema).
      Parameters:
      serverName - name of the server instance to connect to
      userId - calling user
      element1GUID - unique identifier of first element
      element2GUID - unique identifier of second element
      requestBody - dummy request body to satisfy POST protocol.
      Returns:
      void or InvalidParameterException one of the parameters is null or invalid or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem
    • unlinkElementsAsPeerDuplicates

      public VoidResponse unlinkElementsAsPeerDuplicates(String serverName, String userId, String element1GUID, String element2GUID, NullRequestBody requestBody)
      Remove the relationship between two elements that marks them as duplicates.
      Parameters:
      serverName - name of the server instance to connect to
      userId - calling user
      element1GUID - unique identifier of first element
      element2GUID - unique identifier of second element
      requestBody - dummy request body to satisfy POST protocol.
      Returns:
      void or InvalidParameterException one of the parameters is null or invalid or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem