Class SchemaAttributeHandler<SCHEMA_ATTRIBUTE,SCHEMA_TYPE>


public class SchemaAttributeHandler<SCHEMA_ATTRIBUTE,SCHEMA_TYPE> extends ReferenceableHandler<B>
SchemaAttributeHandler manages Schema Attribute objects. It runs server-side in the OMAG Server Platform and retrieves SchemaElement entities through the OMRSRepositoryConnector. This handler does not support effectivity dates but probably should.
  • Constructor Details

    • SchemaAttributeHandler

      public SchemaAttributeHandler(OpenMetadataAPIGenericConverter<SCHEMA_ATTRIBUTE> schemaAttributeConverter, Class<SCHEMA_ATTRIBUTE> schemaAttributeBeanClass, OpenMetadataAPIGenericConverter<SCHEMA_TYPE> schemaTypeConverter, Class<SCHEMA_TYPE> schemaTypeBeanClass, String serviceName, String serverName, InvalidParameterHandler invalidParameterHandler, RepositoryHandler repositoryHandler, OMRSRepositoryHelper repositoryHelper, String localServerUserId, OpenMetadataServerSecurityVerifier securityVerifier, List<String> supportedZones, List<String> defaultZones, List<String> publishZones, AuditLog auditLog)
      Construct the handler with information needed to work with B objects.
      Parameters:
      schemaAttributeConverter - specific converter for the SCHEMA_ATTRIBUTE bean class
      schemaAttributeBeanClass - name of bean class that is represented by the generic class SCHEMA_ATTRIBUTE
      schemaTypeConverter - specific converter for the SCHEMA_TYPE bean class
      schemaTypeBeanClass - name of bean class that is represented by the generic class SCHEMA_TYPE
      serviceName - name of this service
      serverName - name of the local server
      invalidParameterHandler - handler for managing parameter errors
      repositoryHandler - manages calls to the repository services
      repositoryHelper - provides utilities for manipulating the repository services objects
      localServerUserId - userId for this server
      securityVerifier - open metadata security services verifier
      supportedZones - list of zones that the access service is allowed to serve B instances from.
      defaultZones - list of zones that the access service should set in all new B instances.
      publishZones - list of zones that the access service sets up in published B instances.
      auditLog - destination for audit log events.
  • Method Details

    • createSchemaAttributeFromTemplate

      public String createSchemaAttributeFromTemplate(String userId, String externalSourceGUID, String externalSourceName, String parentElementGUID, String parentElementGUIDParameterName, String templateGUID, String qualifiedName, String displayName, String description, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Create a new metadata element to represent a schema attribute using an existing metadata element as a template. The template defines additional classifications and relationships that should be added to the new schema attribute.
      Parameters:
      userId - calling user
      externalSourceGUID - unique identifier of software capability representing the caller
      externalSourceName - unique name of software capability representing the caller
      parentElementGUID - element to connect this schema attribute to
      parentElementGUIDParameterName - parameter supplying parentElementGUID
      templateGUID - unique identifier of the metadata element to copy
      qualifiedName - unique name for the schema attribute - used in other configuration
      displayName - short display name for the schema attribute
      description - description of the schema attribute
      forLineage - the request is to support lineage retrieval this means entities with the Memento classification can be returned
      forDuplicateProcessing - the request is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      methodName - calling method
      Returns:
      unique identifier of the new metadata element
      Throws:
      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)
    • createNestedSchemaAttribute

      public String createNestedSchemaAttribute(String userId, String externalSourceGUID, String externalSourceName, String parentElementGUID, String parentElementGUIDParameterName, String qualifiedName, String qualifiedNameParameterName, SchemaAttributeBuilder schemaAttributeBuilder, Date effectiveFrom, Date effectiveTo, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Create a new schema attribute with its type attached.
      Parameters:
      userId - calling user
      externalSourceGUID - unique identifier of software capability representing the caller
      externalSourceName - unique name of software capability representing the caller
      parentElementGUID - unique identifier of the metadata element to connect the new schema attribute to
      parentElementGUIDParameterName - parameter name supplying parentElementGUID
      qualifiedName - unique identifier for this schema type
      qualifiedNameParameterName - name of parameter supplying the qualified name
      schemaAttributeBuilder - builder containing the properties of the schema type
      effectiveFrom - starting time for this relationship (null for all time)
      effectiveTo - ending time for this relationship (null for all time)
      forLineage - the request is to support lineage retrieval this means entities with the Memento classification can be returned
      forDuplicateProcessing - the request is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      methodName - calling method
      Returns:
      unique identifier of the new schema attribute already linked to its parent
      Throws:
      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)
    • createNestedSchemaAttribute

      public String createNestedSchemaAttribute(String userId, String externalSourceGUID, String externalSourceName, String parentElementGUID, String parentElementGUIDParameterName, String qualifiedName, String qualifiedNameParameterName, String displayName, String description, String externalSchemaTypeGUID, String dataType, String defaultValue, String fixedValue, String validValuesSetGUID, String formula, boolean isDeprecated, int elementPosition, int minCardinality, int maxCardinality, boolean allowsDuplicateValues, boolean orderedValues, String defaultValueOverride, int sortOrder, int minimumLength, int length, int significantDigits, boolean isNullable, String nativeJavaClass, List<String> aliases, Map<String,String> additionalProperties, String typeName, Map<String,Object> extendedProperties, Date effectiveFrom, Date effectiveTo, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Create a new schema attribute with its type attached that is nested inside a complex schema type or a schema attribute.
      Parameters:
      userId - calling user
      externalSourceGUID - unique identifier of software capability representing the caller
      externalSourceName - unique name of software capability representing the caller
      parentElementGUID - unique identifier of the metadata element to connect the new schema attribute to
      parentElementGUIDParameterName - parameter name supplying parentElementGUID
      qualifiedName - unique identifier for this schema type
      qualifiedNameParameterName - name of parameter supplying the qualified name
      displayName - the stored display name property for the attribute
      description - the stored description property associated with the attribute
      externalSchemaTypeGUID - unique identifier of a schema Type that provides the type. If null, a private schema type is used
      dataType - data type name - for stored values
      defaultValue - string containing default value - for stored values
      fixedValue - string containing a fixed value - for a literal
      validValuesSetGUID - unique identifier of a valid value set that lists the valid values for this schema
      formula - String formula - for derived values
      isDeprecated - is this table deprecated?
      elementPosition - the position of this attribute in its parent type.
      minCardinality - minimum number of repeating instances allowed for this attribute - typically 1
      maxCardinality - the maximum number of repeating instances allowed for this column - typically 1
      allowsDuplicateValues - whether the same value can be used by more than one instance of this attribute
      orderedValues - whether the attribute instances are arranged in an order
      sortOrder - the order that the attribute instances are arranged in - if any
      minimumLength - the minimum length of the data
      length - the length of the data field
      significantDigits - number of significant digits to the right of decimal point
      isNullable - whether the field is nullable or not
      nativeJavaClass - equivalent Java class implementation
      defaultValueOverride - default value for this column
      aliases - a list of alternative names for the attribute
      additionalProperties - any arbitrary properties not part of the type system
      typeName - name of the type that is a subtype of DeployedDatabaseSchema - or null to create standard type
      extendedProperties - properties from any subtype
      effectiveFrom - starting time for this relationship (null for all time)
      effectiveTo - ending time for this relationship (null for all time)
      forLineage - the request is to support lineage retrieval this means entities with the Memento classification can be returned
      forDuplicateProcessing - the request is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      methodName - calling method
      Returns:
      unique identifier of the new schema attribute already linked to its parent
      Throws:
      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)
    • createNestedSchemaAttribute

      public String createNestedSchemaAttribute(String userId, String externalSourceGUID, String externalSourceName, String parentElementGUID, String parentElementGUIDParameterName, String parentElementTypeName, String parentAttributeRelationshipTypeGUID, String parentAttributeRelationshipTypeName, String qualifiedName, String qualifiedNameParameterName, SchemaAttributeBuilder schemaAttributeBuilder, Date effectiveFrom, Date effectiveTo, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Create a new schema attribute with its type attached.
      Parameters:
      userId - calling user
      externalSourceGUID - unique identifier of software capability representing the caller
      externalSourceName - unique name of software capability representing the caller
      parentElementGUID - unique identifier of the metadata element to connect the new schema attribute to
      parentElementGUIDParameterName - parameter name supplying parentElementGUID
      parentElementTypeName - type of the parent element - may be a schema attribute or a schema type
      parentAttributeRelationshipTypeGUID - unique identifier of the relationship from the new schema type to the parent
      parentAttributeRelationshipTypeName - unique name of the relationship from the new schema type to the parent
      qualifiedName - unique identifier for this schema type
      qualifiedNameParameterName - name of parameter supplying the qualified name
      schemaAttributeBuilder - builder containing the properties of the schema type
      forLineage - the request is to support lineage retrieval this means entities with the Memento classification can be returned
      forDuplicateProcessing - the request is for duplicate processing and so must not deduplicate
      effectiveFrom - starting time for this relationship (null for all time)
      effectiveTo - ending time for this relationship (null for all time)
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      methodName - calling method
      Returns:
      unique identifier of the new schema attribute already linked to its parent
      Throws:
      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)
    • getSchemaAttributesForComplexSchemaType

      public List<SCHEMA_ATTRIBUTE> getSchemaAttributesForComplexSchemaType(String userId, String schemaTypeGUID, String guidParameterName, String requiredClassificationName, String omittedClassificationName, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Returns a list of schema attributes that are linked to a ComplexSchemaType via the AttributeForSchema relationship. It validates the unique identifier of the complex schema type, and the visibility/security of any attached asset using the supported zones for this component. Then begins to extract the schema attributes. Exceptions occur if a schema attribute does not have a type.
      Parameters:
      userId - String userId of user making request.
      schemaTypeGUID - String unique id for containing schema type.
      guidParameterName - String name of the parameter supplying the guid.
      requiredClassificationName - String the name of the classification that must be on the schema attribute or linked schema type entity.
      omittedClassificationName - String the name of a classification that must not be on the schema attribute or linked schema type entity.
      startFrom - int starting position for first returned element.
      pageSize - int maximum number of elements to return on the call.
      forLineage - the request is to support lineage retrieval this means entities with the Memento classification can be returned
      forDuplicateProcessing - the request is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      methodName - calling method
      Returns:
      a schema attributes response
      Throws:
      InvalidParameterException - - the GUID is not recognized or the paging values are invalid or
      PropertyServerException - - there is a problem retrieving the asset properties from the property server or
      UserNotAuthorizedException - - the requesting user is not authorized to issue this request.
    • getSchemaAttributesForComplexSchemaType

      public List<SCHEMA_ATTRIBUTE> getSchemaAttributesForComplexSchemaType(String userId, String schemaTypeGUID, String schemaTypeGUIDParameterName, String schemaAttributeTypeName, String requiredClassificationName, String omittedClassificationName, List<String> serviceSupportedZones, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Returns a list of schema attributes that are linked to a ComplexSchemaType via the AttributeForSchema relationship. It validates the unique identifier of the complex schema type, and the visibility/security of any attached asset using the supplied supported zones (needed for the calls from the OCF Metadata REST Services). Then it begins to extract the schema attributes. Exceptions occur if a schema attribute does not have a type.
      Parameters:
      userId - String userId of user making request.
      schemaTypeGUID - String unique id for containing schema type.
      schemaTypeGUIDParameterName - String name of the parameter supplying the guid.
      schemaAttributeTypeName - unique name of associated schema attribute type
      requiredClassificationName - String the name of the classification that must be on the schema attribute or linked schema type entity.
      omittedClassificationName - String the name of a classification that must not be on the schema attribute or linked schema type entity.
      serviceSupportedZones - list of zone names for calling service
      startFrom - int starting position for first returned element.
      pageSize - int maximum number of elements to return on the call.
      forLineage - the request is to support lineage retrieval this means entities with the Memento classification can be returned
      forDuplicateProcessing - the request is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      methodName - calling method
      Returns:
      a schema attributes response
      Throws:
      InvalidParameterException - - the GUID is not recognized or the paging values are invalid or
      PropertyServerException - - there is a problem retrieving the asset properties from the property server or
      UserNotAuthorizedException - - the requesting user is not authorized to issue this request.
    • getAttachedSchemaAttributes

      public List<SCHEMA_ATTRIBUTE> getAttachedSchemaAttributes(String userId, String parentElementGUID, String parentElementGUIDParameterName, String schemaAttributeTypeName, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Returns a list of schema attributes that are linked to a parent schema element. This may be a complex schema type or a schema attribute. It is necessary to find out the type of the parent schema element to be sure which type of retrieval is needed.
      Parameters:
      userId - String userId of user making request.
      parentElementGUID - String unique id for parent schema element.
      parentElementGUIDParameterName - String name of the parameter supplying the guid.
      schemaAttributeTypeName - subtype of schema attribute or null
      startFrom - int starting position for first returned element.
      pageSize - int maximum number of elements to return on the call.
      forLineage - the request is to support lineage retrieval this means entities with the Memento classification can be returned
      forDuplicateProcessing - the request is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      methodName - calling method
      Returns:
      a schema attributes response
      Throws:
      InvalidParameterException - - the GUID is not recognized or the paging values are invalid or
      PropertyServerException - - there is a problem retrieving the asset properties from the property server or
      UserNotAuthorizedException - - the requesting user is not authorized to issue this request.
    • getAttachedSchemaAttributes

      public List<SCHEMA_ATTRIBUTE> getAttachedSchemaAttributes(String userId, String parentElementGUID, String parentElementGUIDParameterName, String schemaAttributeTypeName, List<String> serviceSupportedZones, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Returns a list of schema attributes that are linked to a parent schema element. This may be a complex schema type or a schema attribute. It is necessary to find out the type of the parent schema element to be sure which type of retrieval is needed.
      Parameters:
      userId - String userId of user making request.
      parentElementGUID - String unique id for parent schema element.
      parentElementGUIDParameterName - String name of the parameter supplying the guid.
      schemaAttributeTypeName - subtype of schema attribute or null
      serviceSupportedZones - list of zone names for calling service
      startFrom - int starting position for first returned element.
      pageSize - int maximum number of elements to return on the call.
      forLineage - the request is to support lineage retrieval this means entities with the Memento classification can be returned
      forDuplicateProcessing - the request is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      methodName - calling method
      Returns:
      a schema attributes response
      Throws:
      InvalidParameterException - - the GUID is not recognized or the paging values are invalid or
      PropertyServerException - - there is a problem retrieving the asset properties from the property server or
      UserNotAuthorizedException - - the requesting user is not authorized to issue this request.
    • getNestedSchemaAttributes

      public List<SCHEMA_ATTRIBUTE> getNestedSchemaAttributes(String userId, String schemaAttributeGUID, String schemaAttributeGUIDParameterName, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Returns a list of schema attributes that are linked to a schema attribute via the NestedSchemaAttribute relationship. It validates the unique identifier of the parent schema attribute, and the visibility/security of any attached asset using the supplied supported zones (needed for the calls from the OCF Metadata REST Services). Then it begins to extract the schema attributes. Exceptions occur if a schema attribute does not have a type.
      Parameters:
      userId - String userId of user making request.
      schemaAttributeGUID - String unique id for containing schema attribute.
      schemaAttributeGUIDParameterName - String name of the parameter supplying the guid.
      startFrom - int starting position for first returned element.
      pageSize - int maximum number of elements to return on the call.
      forLineage - the request is to support lineage retrieval this means entities with the Memento classification can be returned
      forDuplicateProcessing - the request is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      methodName - calling method
      Returns:
      a schema attributes response
      Throws:
      InvalidParameterException - - the GUID is not recognized or the paging values are invalid or
      PropertyServerException - - there is a problem retrieving the asset properties from the property server or
      UserNotAuthorizedException - - the requesting user is not authorized to issue this request.
    • getNestedSchemaAttributes

      public List<SCHEMA_ATTRIBUTE> getNestedSchemaAttributes(String userId, String schemaAttributeGUID, String schemaAttributeGUIDParameterName, String schemaAttributeTypeName, List<String> serviceSupportedZones, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Returns a list of schema attributes that are linked to a schema attribute via the NestedSchemaAttribute relationship. It validates the unique identifier of the parent schema attribute, and the visibility/security of any attached asset using the supplied supported zones (needed for the calls from the OCF Metadata REST Services). Then it begins to extract the schema attributes. Exceptions occur if a schema attribute does not have a type.
      Parameters:
      userId - String userId of user making request.
      schemaAttributeGUID - String unique id for containing schema attribute.
      schemaAttributeGUIDParameterName - String name of the parameter supplying the guid.
      schemaAttributeTypeName - subtype of schema attribute (or null)
      serviceSupportedZones - list of zone names for calling service
      startFrom - int starting position for first returned element.
      pageSize - int maximum number of elements to return on the call.
      forLineage - the request is to support lineage retrieval this means entities with the Memento classification can be returned
      forDuplicateProcessing - the request is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      methodName - calling method
      Returns:
      a schema attributes response
      Throws:
      InvalidParameterException - - the GUID is not recognized or the paging values are invalid or
      PropertyServerException - - there is a problem retrieving the asset properties from the property server or
      UserNotAuthorizedException - - the requesting user is not authorized to issue this request.
    • getSchemaAttribute

      public SCHEMA_ATTRIBUTE getSchemaAttribute(String userId, String schemaAttributeGUID, String schemaAttributeGUIDParameterName, String expectedTypeName, String requiredClassificationName, String omittedClassificationName, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Retrieve a specific schema attribute by GUID. It is only returned if the guid is known, the entity is of the correct type, the classifications are as expected and any asset it is connected to is both visible via the zones setting and the security verifier allows the update.
      Parameters:
      userId - calling userId
      schemaAttributeGUID - unique identifier of schema attribute
      schemaAttributeGUIDParameterName - parameter passing the schemaAttributeGUID
      expectedTypeName - type or subtype of schema attribute
      requiredClassificationName - a classification that must be either on the schema attribute or its type.
      omittedClassificationName - a classification that must NOT be on either the schema attribute or its type.
      forLineage - the request is to support lineage retrieval this means entities with the Memento classification can be returned
      forDuplicateProcessing - the request is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      methodName - calling method
      Returns:
      guid of new schema
      Throws:
      InvalidParameterException - the guid or bean properties are invalid
      UserNotAuthorizedException - user not authorized to issue this request
      PropertyServerException - problem accessing the property server
    • getSchemaAttributesByName

      public List<SCHEMA_ATTRIBUTE> getSchemaAttributesByName(String userId, String typeGUID, String typeName, String name, String requiredClassificationName, String omittedClassificationName, int elementStart, int maxElements, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Returns a list of specifically typed schema attributes with matching names - either display names or qualified names
      Parameters:
      userId - String userId of user making request.
      typeGUID - String unique identifier of type of schema attribute required.
      typeName - String unique name of type of schema attribute required.
      name - String name (qualified or display name) of schema attribute.
      requiredClassificationName - String name of classification that must be present
      omittedClassificationName - String name of classification that must not be present
      elementStart - int starting position for first returned element.
      maxElements - int maximum number of elements to return on the call.
      forLineage - the request is to support lineage retrieval this means entities with the Memento classification can be returned
      forDuplicateProcessing - the request is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      methodName - calling method
      Returns:
      a schema attributes response
      Throws:
      InvalidParameterException - - the GUID is not recognized or the paging values are invalid or
      PropertyServerException - - there is a problem retrieving the asset properties from the property server or
      UserNotAuthorizedException - - the requesting user is not authorized to issue this request.
    • getSchemaAttributesByName

      public List<SCHEMA_ATTRIBUTE> getSchemaAttributesByName(String userId, String typeGUID, String typeName, String name, String requiredClassificationName, String omittedClassificationName, List<String> serviceSupportedZones, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Returns a list of specifically typed schema attributes with matching names - either display names or qualified names
      Parameters:
      userId - String userId of user making request
      typeGUID - String unique identifier of type of schema attribute required
      typeName - String unique name of type of schema attribute required
      name - String name (qualified or display name) of schema attribute
      requiredClassificationName - String name of classification that must be present
      omittedClassificationName - String name of classification that must not be present
      serviceSupportedZones - zones that assets must be;ong in to be visible
      startFrom - int starting position for first returned element
      pageSize - int maximum number of elements to return on the call
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      methodName - calling method
      Returns:
      a schema attributes response
      Throws:
      InvalidParameterException - - the GUID is not recognized or the paging values are invalid or
      PropertyServerException - - there is a problem retrieving the asset properties from the property server or
      UserNotAuthorizedException - - the requesting user is not authorized to issue this request.
    • findSchemaAttributes

      public List<SCHEMA_ATTRIBUTE> findSchemaAttributes(String userId, String searchString, String searchStringParameterName, String resultTypeGUID, String resultTypeName, String requiredClassificationName, String omittedClassificationName, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Retrieve the list of database table metadata elements that contain the search string. The search string is treated as a regular expression.
      Parameters:
      userId - the searchString of the calling user.
      searchString - searchString of endpoint. This may include wild card characters.
      searchStringParameterName - name of parameter providing search string
      resultTypeGUID - unique identifier of the type that the results should match with
      resultTypeName - unique value of the type that the results should match with
      requiredClassificationName - String the name of the classification that must be on the entity.
      omittedClassificationName - String the name of a classification that must not be on the entity.
      startFrom - index of the list ot start from (0 for start)
      pageSize - maximum number of elements to return.
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      methodName - calling method
      Returns:
      list of matching schema attribute elements
      Throws:
      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 void updateSchemaAttribute(String userId, String externalSourceGUID, String externalSourceName, String schemaAttributeGUID, String schemaAttributeGUIDParameterName, String qualifiedName, String qualifiedNameParameterName, String displayName, String description, String externalSchemaTypeGUID, String dataType, String defaultValue, String fixedValue, String validValuesSetGUID, String formula, boolean isDeprecated, int elementPosition, int minCardinality, int maxCardinality, boolean allowsDuplicateValues, boolean orderedValues, String defaultValueOverride, int sortOrder, int minimumLength, int length, int significantDigits, boolean isNullable, String nativeJavaClass, List<String> aliases, Map<String,String> additionalProperties, String typeName, Map<String,Object> extendedProperties, Date effectiveFrom, Date effectiveTo, boolean isMergeUpdate, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Update the properties in a schema attribute.
      Parameters:
      userId - calling user
      externalSourceGUID - unique identifier of software capability representing the caller
      externalSourceName - unique name of software capability representing the caller
      schemaAttributeGUID - unique identifier of the metadata element to connect the new schema attribute to
      schemaAttributeGUIDParameterName - parameter name supplying schemaAttributeGUID
      qualifiedName - unique identifier for this schema type
      qualifiedNameParameterName - name of parameter supplying the qualified name
      displayName - the stored display name property for the database table
      description - the stored description property associated with the database table
      externalSchemaTypeGUID - unique identifier of an external schema identifier
      dataType - data type name - for stored values
      defaultValue - string containing default value - for stored values
      fixedValue - string containing fixed value - for literals
      validValuesSetGUID - unique identifier for a valid values set to support
      formula - String formula - for derived values
      isDeprecated - is this table deprecated?
      elementPosition - the position of this column in its parent table.
      minCardinality - minimum number of repeating instances allowed for this column - typically 1
      maxCardinality - the maximum number of repeating instances allowed for this column - typically 1
      allowsDuplicateValues - whether the same value can be used by more than one instance of this attribute
      orderedValues - whether the attribute instances are arranged in an order
      sortOrder - the order that the attribute instances are arranged in - if any
      minimumLength - the minimum length of the data
      length - the length of the data field
      significantDigits - number of significant digits to the right of decimal point
      isNullable - whether the field is nullable or not
      nativeJavaClass - equivalent Java class implementation
      defaultValueOverride - default value for this column
      aliases - a list of alternative names for the attribute
      additionalProperties - any arbitrary properties not part of the type system
      typeName - name of the type of this element - which defines the valid extended properties
      extendedProperties - properties from any subtype
      effectiveFrom - starting time for this relationship (null for all time)
      effectiveTo - ending time for this relationship (null for all time)
      isMergeUpdate - should the new properties be merged with existing properties (true) or completely replace them (false)?
      forLineage - the request is to support lineage retrieval this means entities with the Memento classification can be returned
      forDuplicateProcessing - the request is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      methodName - calling method
      Throws:
      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 void updateSchemaAttribute(String userId, String externalSourceGUID, String externalSourceName, String schemaAttributeGUID, String schemaAttributeGUIDParameterName, String qualifiedName, String qualifiedNameParameterName, SchemaAttributeBuilder schemaAttributeBuilder, String typeName, boolean isMergeUpdate, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Update the properties in a schema attribute.
      Parameters:
      userId - calling user
      externalSourceGUID - unique identifier of software capability representing the caller
      externalSourceName - unique name of software capability representing the caller
      schemaAttributeGUID - unique identifier of the metadata element to connect the new schema attribute to
      schemaAttributeGUIDParameterName - parameter name supplying schemaAttributeGUID
      qualifiedName - unique identifier for this schema type
      qualifiedNameParameterName - name of parameter supplying the qualified name
      schemaAttributeBuilder - schema attribute builder
      typeName - name of the type of this element - which defines the valid extended properties
      isMergeUpdate - should the new properties be merged with existing properties (true) or completely replace them (false)?
      forLineage - the request is to support lineage retrieval this means entities with the Memento classification can be returned
      forDuplicateProcessing - the request is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      methodName - calling method
      Throws:
      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 void updateSchemaAttribute(String userId, String externalSourceGUID, String externalSourceName, String schemaAttributeGUID, InstanceProperties instanceProperties, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Update a schema attribute
      Parameters:
      userId - calling user
      externalSourceGUID - unique identifier of software capability representing the caller
      externalSourceName - unique name of software capability representing the caller
      schemaAttributeGUID - unique identifier of schema attribute
      instanceProperties - the schema attribute's properties
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      methodName - calling method
      Throws:
      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 void updateSchemaAttribute(String userId, String externalSourceGUID, String externalSourceName, String schemaAttributeGUID, String schemaAttributeGUIDParameterName, InstanceProperties instanceProperties, boolean isMergeUpdate, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Update a schema attribute
      Parameters:
      userId - calling user
      externalSourceGUID - unique identifier of software capability representing the caller
      externalSourceName - unique name of software capability representing the caller
      schemaAttributeGUID - unique identifier of schema attribute
      schemaAttributeGUIDParameterName - parameter supplying schemaAttributeGUID
      instanceProperties - the schema attribute's properties
      isMergeUpdate - should the properties be merged with existing properties of replace them?
      forLineage - the request is to support lineage retrieval this means entities with the Memento classification can be returned
      forDuplicateProcessing - the request is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      methodName - calling method
      Throws:
      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 void updateSchemaAttribute(String userId, String externalSourceGUID, String externalSourceName, String schemaAttributeGUID, String schemaAttributeGUIDParameterName, boolean forLineage, boolean forDuplicateProcessing, List<String> serviceSupportedZones, InstanceProperties instanceProperties, boolean isMergeUpdate, Date effectiveTime, String methodName) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Update a schema attribute
      Parameters:
      userId - calling user
      externalSourceGUID - unique identifier of software capability representing the caller
      externalSourceName - unique name of software capability representing the caller
      schemaAttributeGUID - unique identifier of schema attribute
      schemaAttributeGUIDParameterName - parameter supplying schemaAttributeGUID
      forLineage - the request is to support lineage retrieval this means entities with the Memento classification can be returned
      forDuplicateProcessing - the request is for duplicate processing and so must not deduplicate
      serviceSupportedZones - supported zones for calling service
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      instanceProperties - the schema attribute's properties
      isMergeUpdate - should the properties be merged with existing properties of replace them?
      methodName - calling method
      Throws:
      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)
    • removeSchemaTypes

      public void removeSchemaTypes(String userId, String externalSourceGUID, String externalSourceName, String schemaAttributeGUID, String schemaAttributeGUIDParameterName, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Remove any links to schema types
      Parameters:
      userId - calling user
      externalSourceGUID - unique identifier of software capability representing the caller
      externalSourceName - unique name of software capability representing the caller
      schemaAttributeGUID - unique identifier of schema attribute
      schemaAttributeGUIDParameterName - parameter supplying schemaAttributeGUID
      forLineage - the request is to support lineage retrieval this means entities with the Memento classification can be returned
      forDuplicateProcessing - the request is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      methodName - calling method
      Throws:
      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 void setupQueryTargetRelationship(String userId, String externalSourceGUID, String externalSourceName, String schemaElementGUID, String schemaElementGUIDParameterName, String schemaElementTypeName, String queryId, String query, String queryTargetGUID, String queryTargetGUIDParameterName, Date effectiveFrom, Date effectiveTo, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Create a new query relationship for a derived schema element.
      Parameters:
      userId - calling user
      externalSourceGUID - unique identifier of software capability representing the DBMS
      externalSourceName - unique name of software capability representing the DBMS
      schemaElementGUID - unique identifier of the schema element that this query supports
      schemaElementGUIDParameterName - parameter name for schemaElementGUID
      schemaElementTypeName - name of type for schema element
      queryId - identifier for the query - used as a placeholder in the formula (stored in the column's CalculatedValue classification)
      query - the query that is made on the targetGUID
      queryTargetGUID - the unique identifier of the target (this is a schema element - typically a schema attribute)
      queryTargetGUIDParameterName - parameter supplying queryTargetGUID
      effectiveFrom - starting time for this relationship (null for all time)
      effectiveTo - ending time for this relationship (null for all time)
      forLineage - the request is to support lineage retrieval this means entities with the Memento classification can be returned
      forDuplicateProcessing - the request is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      methodName - calling method
      Throws:
      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 void updateQueryTargetRelationship(String userId, String externalSourceGUID, String externalSourceName, String schemaElementGUID, String schemaElementGUIDParameterName, String schemaElementTypeName, String queryId, String query, String queryTargetGUID, String queryTargetGUIDParameterName, Date effectiveFrom, Date effectiveTo, boolean isMergeUpdate, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Update the query properties for a query relationship for a derived schema element.
      Parameters:
      userId - calling user
      externalSourceGUID - unique identifier of software capability representing the DBMS
      externalSourceName - unique name of software capability representing the DBMS
      schemaElementGUID - unique identifier of the schema element that this query supports
      schemaElementGUIDParameterName - parameter name for schemaElementGUID
      schemaElementTypeName - name of type for schema element
      queryId - identifier for the query - used as a placeholder in the formula (stored in the column's CalculatedValue classification)
      query - the query that is made on the targetGUID
      queryTargetGUID - the unique identifier of the target (this is a schema element - typically a schema attribute)
      queryTargetGUIDParameterName - parameter supplying queryTargetGUID
      effectiveFrom - starting time for this relationship (null for all time)
      effectiveTo - ending time for this relationship (null for all time)
      isMergeUpdate - should the new properties be merged with existing properties (true) or completely replace them (false)?
      forLineage - the request is to support lineage retrieval this means entities with the Memento classification can be returned
      forDuplicateProcessing - the request is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      methodName - calling method
      Throws:
      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 void clearQueryTargetRelationship(String userId, String externalSourceGUID, String externalSourceName, String schemaElementGUID, String schemaElementGUIDParameterName, String schemaElementTypeName, String queryTargetGUID, String queryTargetGUIDParameterName, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Update the query properties for a query relationship for a derived schema element.
      Parameters:
      userId - calling user
      externalSourceGUID - unique identifier of software capability representing the DBMS
      externalSourceName - unique name of software capability representing the DBMS
      schemaElementGUID - unique identifier of the schema element that this query supports
      schemaElementGUIDParameterName - parameter name for schemaElementGUID
      schemaElementTypeName - name of type for schema element
      queryTargetGUID - the unique identifier of the target (this is a schema element - typically a schema attribute)
      queryTargetGUIDParameterName - parameter supplying queryTargetGUID
      methodName - calling method
      Throws:
      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 void setupSchemaElementRelationship(String userId, String externalSourceGUID, String externalSourceName, String endOneGUID, String endTwoGUID, String relationshipTypeName, Map<String,Object> properties, Date effectiveFrom, Date effectiveTo, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      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:
      userId - calling user
      externalSourceGUID - unique identifier of software server capability representing the caller
      externalSourceName - unique name of software server capability representing the caller
      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
      properties - properties for the new relationship
      effectiveFrom - the date when this element is active - null for active now
      effectiveTo - the date when this element becomes inactive - null for active until deleted
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      effectiveTime - when should the elements be effected for - null is anytime; new Date() is now
      methodName - calling method
      Throws:
      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 void clearSchemaElementRelationship(String userId, String externalSourceGUID, String externalSourceName, String endOneGUID, String endTwoGUID, String relationshipTypeName, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Remove a relationship between two schema elements. The name of the desired relationship is passed on the API.
      Parameters:
      userId - calling user
      externalSourceGUID - unique identifier of software server capability representing the caller
      externalSourceName - unique name of software server capability representing the caller
      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
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      effectiveTime - when should the elements be effected for - null is anytime; new Date() is now
      methodName - calling method
      Throws:
      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)