Type Parameters:
B - class that represents the asset
Direct Known Subclasses:
ITInfrastructureHandler

public class AssetHandler<B> extends ReferenceableHandler<B>
AssetHandler manages B objects and optionally connections in the property server. It runs server-side in the OMAG Server Platform and retrieves Assets and Connections through the OMRSRepositoryConnector.
  • Constructor Details

    • AssetHandler

      public AssetHandler(OpenMetadataAPIGenericConverter<B> converter, Class<B> beanClass, String serviceName, String serverName, InvalidParameterHandler invalidParameterHandler, RepositoryHandler repositoryHandler, OMRSRepositoryHelper repositoryHelper, String localServerUserId, OpenMetadataServerSecurityVerifier securityVerifier, List<String> supportedZones, List<String> defaultZones, List<String> publishZones, List<String> supportedTypesForSearch, AuditLog auditLog)
      Construct the handler with information needed to work with B objects.
      Parameters:
      converter - specific converter for this bean class
      beanClass - name of bean class that is represented by the generic class B
      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.
      supportedTypesForSearch - affects the list of supported asset types seen by the caller
      auditLog - destination for audit log events.
    • AssetHandler

      public AssetHandler(OpenMetadataAPIGenericConverter<B> converter, Class<B> beanClass, 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:
      converter - specific converter for this bean class
      beanClass - name of bean class that is represented by the generic class B
      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

    • getTypesOfAssetList

      public List<String> getTypesOfAssetList()
      Return the list of asset subtype names.
      Returns:
      list of type names that are subtypes of asset
    • getTypesOfAssetDescriptions

      public Map<String,String> getTypesOfAssetDescriptions()
      Return the list of asset subtype names mapped to their descriptions.
      Returns:
      map of type names that are subtypes of asset
    • getExternalSourceID

      public String getExternalSourceID(boolean externalSourceIsHome, String externalSourceID)
      The externalSource identifier is supplied on the APIs that supply external source identifiers for two purposes. The first is the standard mechanism to control the ownership/provenance of the resulting elements. The second is to enable a relationship between an asset and the software capability to be created. The externalSourceIsHome boolean determines whether the identifier is used to control ownership or not. The relationship is set up if the externalSourceGUID is not null.
      Parameters:
      externalSourceIsHome - use the external source GUID as the owner of this element
      externalSourceID - supplied external source unique identifier/name
      Returns:
      externalSource
    • addGovernanceMeasurementsDataSetClassification

      public void addGovernanceMeasurementsDataSetClassification(String userId, String externalSourceGUID, String externalSourceName, String beanGUID, String beanGUIDParameterName, String beanGUIDTypeName, String description, boolean forLineage, boolean forDuplicateProcessing, Date effectiveFrom, Date effectiveTo, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Add or replace the governance measurements results dataset classification to a dataset.
      Parameters:
      userId - calling user
      externalSourceGUID - unique identifier of the software capability that owns this project
      externalSourceName - unique name of the software capability that owns this project
      beanGUID - unique identifier of bean
      beanGUIDParameterName - name of parameter supplying the beanGUID
      beanGUIDTypeName - type of bean
      description - of the data set
      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 - the time that the relationship element must be effective from (null for any time, new Date() for now)
      effectiveTo - the time that the relationship must be effective to (null for any time, new Date() for now)
      effectiveTime - the time that the retrieved elements must be effective for
      methodName - calling method
      Throws:
      InvalidParameterException - entity not known, null userId or guid
      PropertyServerException - problem accessing property server
      UserNotAuthorizedException - security access problem
    • removeGovernanceMeasurementsDataSetClassification

      public void removeGovernanceMeasurementsDataSetClassification(String userId, String externalSourceGUID, String externalSourceName, String beanGUID, String beanGUIDParameterName, String beanGUIDTypeName, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Remove the governance measurements results dataset classification from a dataset.
      Parameters:
      userId - calling user
      externalSourceGUID - unique identifier of the software capability that owns this project
      externalSourceName - unique name of the software capability that owns this project
      beanGUID - unique identifier of entity to update
      beanGUIDParameterName - name of parameter providing beanGUID
      beanGUIDTypeName - type of bean
      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
      methodName - calling method
      Throws:
      InvalidParameterException - entity not known, null userId or guid
      PropertyServerException - problem accessing property server
      UserNotAuthorizedException - security access problem
    • attachSchemaTypeToAsset

      public void attachSchemaTypeToAsset(String userId, String externalSourceGUID, String externalSourceName, String assetGUID, String assetGUIDParameterName, String schemaTypeGUID, String schemaTypeGUIDParameterName, Date effectiveFrom, Date effectiveTo, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Link the schema type and asset. This is called from outside the AssetHandler. The assetGUID is checked to ensure the asset exists and updates are allowed. If there is already a schema attached, it is deleted.
      Parameters:
      userId - calling user
      externalSourceGUID - guid of the software capability entity that represented the external source - null for local
      externalSourceName - name of the software capability entity that represented the external source - null for local
      assetGUID - unique identifier of the asset to connect the schema to
      assetGUIDParameterName - parameter providing the assetGUID
      schemaTypeGUID - identifier for schema Type object
      schemaTypeGUIDParameterName - parameter providing the schemaTypeGUID
      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 - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      methodName - calling method
      Throws:
      InvalidParameterException - the bean properties are invalid
      UserNotAuthorizedException - user not authorized to issue this request
      PropertyServerException - problem accessing the property server
    • removeAssociatedSchemaType

      public void removeAssociatedSchemaType(String userId, String externalSourceGUID, String externalSourceName, String assetGUID, String assetGUIDParameterName, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Remove any associated schema type. This may be called from outside the AssetHandler. The assetGUID is checked to ensure the asset exists and updates are allowed. If there is a schema attached, it is deleted.
      Parameters:
      userId - calling user
      externalSourceGUID - guid of the software capability entity that represented the external source - null for local
      externalSourceName - name of the software capability entity that represented the external source - null for local
      assetGUID - unique identifier of the asset to connect the schema to
      assetGUIDParameterName - parameter providing the assetGUID
      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 - the bean properties are invalid
      UserNotAuthorizedException - user not authorized to issue this request
      PropertyServerException - problem accessing the property server
    • attachAssetToSoftwareServerCapability

      public void attachAssetToSoftwareServerCapability(String userId, String externalSourceGUID, String externalSourceName, String assetGUID, String assetGUIDParameterName, String softwareServerCapabilityGUID, String softwareServerCapabilityGUIDParameterName, Date effectiveFrom, Date effectiveTo, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Link the asset to the associated software capability if supplied. This is called from outside the AssetHandler. The assetGUID and softwareServerCapabilityGUID are checked to ensure they are not null snd if all is well, the relationship is established.
      Parameters:
      userId - calling user
      externalSourceGUID - guid of the software capability entity that represented the external source - null for local
      externalSourceName - name of the software capability entity that represented the external source - null for local
      assetGUID - unique identifier of the asset to connect the schema to
      assetGUIDParameterName - parameter providing the assetGUID
      softwareServerCapabilityGUID - identifier for schema Type object
      softwareServerCapabilityGUIDParameterName - parameter providing the softwareServerCapabilityGUID
      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 - the bean properties are invalid
      UserNotAuthorizedException - user not authorized to issue this request
      PropertyServerException - problem accessing the property server
    • detachSchemaTypeFromAsset

      public String detachSchemaTypeFromAsset(String userId, String externalSourceGUID, String externalSourceName, String assetGUID, String assetGUIDParameterName, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Remove any associated schema type. This may be called from outside the AssetHandler. The assetGUID is checked to ensure the asset exists and updates are allowed. If there is a schema attached, it is deleted.
      Parameters:
      userId - calling user
      externalSourceGUID - guid of the software capability entity that represented the external source - null for local
      externalSourceName - name of the software capability entity that represented the external source - null for local
      assetGUID - unique identifier of the asset to connect the schema to
      assetGUIDParameterName - parameter providing the assetGUID
      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 previously attached schema type or null if there is no schema
      Throws:
      InvalidParameterException - the bean properties are invalid
      UserNotAuthorizedException - user not authorized to issue this request
      PropertyServerException - problem accessing the property server
    • addAssetFromTemplate

      public String addAssetFromTemplate(String userId, String externalSourceGUID, String externalSourceName, String templateGUID, String templateGUIDParameterName, String expectedTypeGUID, String expectedTypeName, String qualifiedName, String qualifiedNameParameterName, String name, String versionIdentifier, String description, String deployedImplementationType, String pathName, String networkAddress, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Add a simple asset description to the metadata repository. Null values for requested typename, ownership, zone membership and latest change are filled in with default values.
      Parameters:
      userId - calling userId
      externalSourceGUID - guid of the software capability entity that represented the external source - null for local
      externalSourceName - name of the software capability entity that represented the external source
      templateGUID - unique identifier of the metadata element to copy
      templateGUIDParameterName - name of parameter providing the templateGUID
      expectedTypeGUID - unique identifier of type (or super type of asset identified by templateGUID)
      expectedTypeName - unique name of type (or super type of asset identified by templateGUID)
      qualifiedName - unique name for this asset - must not be null
      qualifiedNameParameterName - parameter name providing qualifiedName
      name - the stored name property for the asset - if null, the value from the template is used
      versionIdentifier - the stored versionIdentifier property for the asset
      description - the stored description property associated with the database - if null, the value from the template is used
      deployedImplementationType - type of technology
      pathName - the physical address of the storage where the data is held (for DataStore assets)
      networkAddress - if there is a connection object for this asset - update the endpoint network address
      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 asset in the repository. If a connection or schema object is provided, it is stored linked to the asset.
      Throws:
      InvalidParameterException - the bean properties are invalid
      UserNotAuthorizedException - user not authorized to issue this request
      PropertyServerException - problem accessing the property server
    • createAssetInRepository

      public String createAssetInRepository(String userId, String externalSourceGUID, String externalSourceName, String qualifiedName, String name, String versionIdentifier, String resourceDescription, String deployedImplementationType, Map<String,String> additionalProperties, String typeName, Map<String,Object> extendedProperties, InstanceStatus instanceStatus, Date effectiveFrom, Date effectiveTo, Date effectiveTime, String methodName) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Add a simple asset description to the metadata repository. Null values for requested typename, ownership, zone membership and latest change are filled in with default values.
      Parameters:
      userId - calling user
      externalSourceGUID - unique identifier of software capability representing the caller
      externalSourceName - unique name of software capability representing the caller
      qualifiedName - unique name for this asset
      name - the stored name property for the asset
      versionIdentifier - the stored versionIdentifier property for the asset
      resourceDescription - the stored description property associated with the asset
      deployedImplementationType - type of technology
      additionalProperties - any arbitrary properties not part of the type system
      typeName - name of the type that is a subtype of asset - or null to create standard type
      extendedProperties - properties from any subtype
      instanceStatus - initial status of the Asset in the metadata repository
      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 asset
      Throws:
      InvalidParameterException - the bean properties are invalid
      UserNotAuthorizedException - user not authorized to issue this request
      PropertyServerException - problem accessing the property server
    • createAssetInRepository

      public String createAssetInRepository(String userId, String externalSourceGUID, String externalSourceName, String qualifiedName, String name, String resourceName, String versionIdentifier, String resourceDescription, String deployedImplementationType, Map<String,String> additionalProperties, String typeName, Map<String,Object> extendedProperties, InstanceStatus instanceStatus, Date effectiveFrom, Date effectiveTo, Date effectiveTime, String methodName) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Add a simple asset description to the metadata repository. Null values for requested typename, ownership, zone membership and latest change are filled in with default values.
      Parameters:
      userId - calling user
      externalSourceGUID - unique identifier of software capability representing the caller
      externalSourceName - unique name of software capability representing the caller
      qualifiedName - unique name for this asset
      name - the stored name property for the asset
      resourceName - the full name from the resource
      versionIdentifier - the stored versionIdentifier property for the asset
      resourceDescription - the stored description property associated with the asset
      deployedImplementationType - type of technology
      additionalProperties - any arbitrary properties not part of the type system
      typeName - name of the type that is a subtype of asset - or null to create standard type
      extendedProperties - properties from any subtype
      instanceStatus - initial status of the Asset in the metadata repository
      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 asset
      Throws:
      InvalidParameterException - the bean properties are invalid
      UserNotAuthorizedException - user not authorized to issue this request
      PropertyServerException - problem accessing the property server
    • createAssetWithConnection

      public String createAssetWithConnection(String userId, String externalSourceGUID, String externalSourceName, String assetGUIDParameterName, String assetQualifiedName, String name, String resourceName, String versionIdentifier, String resourceDescription, String deployedImplementationType, Map<String,String> additionalProperties, String assetTypeName, Map<String,Object> extendedProperties, InstanceStatus instanceStatus, boolean anchorEndpointToAsset, Map<String,Object> configurationProperties, String connectorProviderClassName, String networkAddress, String protocol, String encryptionMethod, Date effectiveFrom, Date effectiveTo, boolean forLineage, boolean forDuplicateProcessing, List<String> serviceSupportedZones, Date effectiveTime, String methodName) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Add a simple asset description to the metadata repository. Null values for requested typename, ownership, zone membership and latest change are filled in with default values.
      Parameters:
      userId - calling user
      externalSourceGUID - unique identifier of software capability representing the caller
      externalSourceName - unique name of software capability representing the caller
      assetGUIDParameterName - parameter name of the resulting asset's GUID
      assetQualifiedName - unique name for this asset
      name - the stored name property for the asset
      versionIdentifier - the stored versionIdentifier property for the asset
      resourceDescription - the stored description property associated with the asset
      deployedImplementationType - type of technology
      additionalProperties - any arbitrary properties not part of the type system
      assetTypeName - name of the type that is a subtype of asset - or null to create standard type
      extendedProperties - properties from any subtype
      instanceStatus - initial status of the Asset in the metadata repository
      anchorEndpointToAsset - set to true if the network address is unique for the asset and should not be reused. False if this is an endpoint that is relevant for multiple assets.
      configurationProperties - configuration properties for the connection
      connectorProviderClassName - Java class name for the connector provider
      networkAddress - the network address (typically the URL but this depends on the protocol)
      protocol - the name of the protocol to use to connect to the endpoint
      encryptionMethod - encryption method to use when passing data to this endpoint
      effectiveFrom - starting time for this relationship (null for all time)
      effectiveTo - ending time for this relationship (null for all time)
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      serviceSupportedZones - supported zones for this service
      effectiveTime - the time that the retrieved elements must be effective for
      methodName - calling method
      Returns:
      unique identifier of the new asset
      Throws:
      InvalidParameterException - the bean properties are invalid
      UserNotAuthorizedException - user not authorized to issue this request
      PropertyServerException - problem accessing the property server
    • updateAsset

      public void updateAsset(String userId, String externalSourceGUID, String externalSourceName, String assetGUID, String assetGUIDParameterName, String qualifiedName, String name, String resourceName, String versionIdentifier, String technicalDescription, String deployedImplementationType, 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 an asset's properties.
      Parameters:
      userId - calling user
      externalSourceGUID - unique identifier of software capability representing the caller
      externalSourceName - unique name of software capability representing the caller
      assetGUID - unique identifier of the metadata element to update
      assetGUIDParameterName - parameter name that supplied the assetGUID
      qualifiedName - unique name for this database
      name - the stored name property for the asset
      resourceName - full name of the resource
      versionIdentifier - the stored versionIdentifier property for the asset
      technicalDescription - the stored description property associated with the asset
      deployedImplementationType - type of technology
      additionalProperties - any arbitrary properties not part of the type system
      typeName - name of the type that is a subtype of Database - 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)
      isMergeUpdate - should the new properties be merged with the existing properties of overlay them?
      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)
    • updateAsset

      public void updateAsset(String userId, String externalSourceGUID, String externalSourceName, String assetGUID, String assetGUIDParameterName, String qualifiedName, String technicalName, String versionIdentifier, String technicalDescription, String deployedImplementationType, Map<String,String> additionalProperties, String typeGUID, 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 an asset's properties.
      Parameters:
      userId - calling user
      externalSourceGUID - unique identifier of software capability representing the caller
      externalSourceName - unique name of software capability representing the caller
      assetGUID - unique identifier of the metadata element to update
      assetGUIDParameterName - parameter name that supplied the assetGUID
      qualifiedName - unique name for this database
      technicalName - the stored name property for the asset
      versionIdentifier - the stored versionIdentifier property for the asset
      technicalDescription - the stored description property associated with the asset
      deployedImplementationType - type of technology
      additionalProperties - any arbitrary properties not part of the type system
      typeGUID - identifier of the type that is a subtype of Database - or null to create standard type
      typeName - name of the type that is a subtype of Database - or null to create standard type
      effectiveFrom - starting time for this relationship (null for all time)
      effectiveTo - ending time for this relationship (null for all time)
      isMergeUpdate - indicates whether supplied properties should replace
      extendedProperties - properties from any subtype
      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)
    • updateAsset

      public void updateAsset(String userId, String externalSourceGUID, String externalSourceName, String assetGUID, String assetGUIDParameterName, String qualifiedName, String name, String resourceName, String versionIdentifier, String resourceDescription, String deployedImplementationType, Map<String,String> additionalProperties, String typeGUID, String typeName, List<String> suppliedSupportedZones, Map<String,Object> extendedProperties, Date effectiveFrom, Date effectiveTo, boolean isMergeUpdate, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Update an asset's properties.
      Parameters:
      userId - calling user
      externalSourceGUID - unique identifier of software capability representing the caller
      externalSourceName - unique name of software capability representing the caller
      assetGUID - unique identifier of the metadata element to update
      assetGUIDParameterName - parameter name that supplied the assetGUID
      qualifiedName - unique name for this database
      name - the stored name property for the asset
      resourceName - full name of the resource
      versionIdentifier - the stored versionIdentifier property for the asset
      resourceDescription - the stored description property associated with the asset
      deployedImplementationType - type of technology
      additionalProperties - any arbitrary properties not part of the type system
      typeGUID - identifier of the type that is a subtype of Asset - or null to create standard type
      typeName - name of the type that is a subtype of Asset - or null to create standard type
      suppliedSupportedZones - supported zones that are specific to the caller
      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 the existing properties of overlay them?
      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)
    • updateAssetWithConnection

      public void updateAssetWithConnection(String userId, String externalSourceGUID, String externalSourceName, String assetGUID, String assetGUIDParameterName, String qualifiedName, String name, String resourceName, String versionIdentifier, String description, String deployedImplementationType, Map<String,String> additionalProperties, String typeGUID, String typeName, Map<String,Object> extendedProperties, Date effectiveFrom, Date effectiveTo, boolean isMergeUpdate, String assetSummary, Connection connection, boolean forLineage, boolean forDuplicateProcessing, List<String> serviceSupportedZones, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Update an asset's properties.
      Parameters:
      userId - calling user
      externalSourceGUID - unique identifier of software capability representing the caller
      externalSourceName - unique name of software capability representing the caller
      assetGUID - unique identifier of the metadata element to update
      assetGUIDParameterName - parameter name that supplied the assetGUID
      qualifiedName - unique name for this asset
      name - the short name property for the asset
      resourceName - the resource name property for the asset
      versionIdentifier - the stored versionIdentifier property for the asset
      description - the stored description property associated with the asset
      deployedImplementationType - type of technology
      additionalProperties - any arbitrary properties not part of the type system
      typeGUID - identifier of the type that is a subtype of Database - or null to create standard type
      typeName - name of the type that is a subtype of Database - 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)
      isMergeUpdate - should the supplied properties be merged with existing properties (true) only replacing the properties with matching names, or should the entire properties of the instance be replaced?
      connection - connection associated with the asset
      assetSummary - description of the asset from the perspective of the connection
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      serviceSupportedZones - supported zones for this service
      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)
    • classifyAssetAsReferenceData

      public void classifyAssetAsReferenceData(String userId, String assetGUID, String assetGUIDParameterName, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Add the ReferenceData classification to an asset. If the asset is already classified in this way, the method is a no-op.
      Parameters:
      userId - calling user.
      assetGUID - unique identifier of the asset that contains reference data.
      assetGUIDParameterName - name of parameter providing assetGUID
      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 make this request.
      PropertyServerException - the repository is not available or not working properly.
    • declassifyAssetAsReferenceData

      public void declassifyAssetAsReferenceData(String userId, String assetGUID, String assetGUIDParameterName, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Remove the ReferenceData classification from an Asset. If the asset was not classified in this way, this call is a no-op.
      Parameters:
      userId - calling user.
      assetGUID - unique identifier of asset.
      assetGUIDParameterName - name of parameter providing assetGUID
      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 make this request.
      PropertyServerException - the repository is not available or not working properly.
    • addAssetOrigin

      public void addAssetOrigin(String userId, String assetGUID, String assetGUIDParameterName, String organizationGUID, String organizationGUIDParameterName, String businessCapabilityGUID, String businessCapabilityGUIDParameterName, Map<String,String> otherOriginValues, Date effectiveFrom, Date effectiveTo, boolean isMergeUpdate, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Add the asset origin classification to an asset. The method needs to build a before an after image of the asset to perform a security check before the update is pushed to the repository.
      Parameters:
      userId - calling user
      assetGUID - unique identifier of asset
      assetGUIDParameterName - parameter name supplying assetGUID
      organizationGUID - Unique identifier (GUID) of the organization where this asset originated from - or null
      organizationGUIDParameterName - parameter name supplying organizationGUID
      businessCapabilityGUID - Unique identifier (GUID) of the business capability where this asset originated from.
      businessCapabilityGUIDParameterName - parameter name supplying businessCapabilityGUID
      otherOriginValues - Descriptive labels describing origin of the asset
      effectiveFrom - the time that the elements must be effective from (null for any time)
      effectiveTo - the time that the elements must be effective from (null for any time)
      isMergeUpdate - should the new properties be merged with existing properties (true) or completely replace them (false)?
      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 - entity not known, null userId or guid
      PropertyServerException - problem accessing property server
      UserNotAuthorizedException - security access problem
    • removeAssetOrigin

      public void removeAssetOrigin(String userId, String assetGUID, String assetGUIDParameterName, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Remove the asset origin classification to an asset.
      Parameters:
      userId - calling user
      assetGUID - unique identifier of asset
      assetGUIDParameterName - parameter name supplying assetGUID
      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 - entity not known, null userId or guid
      PropertyServerException - problem accessing property server
      UserNotAuthorizedException - security access problem
    • getAssetsFromOrigin

      public List<B> getAssetsFromOrigin(String userId, String organizationGUID, String businessCapabilityGUID, Map<String,String> otherOriginValues, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Returns the list of assets that are classified with a specific origin.
      Parameters:
      userId - userId of user making request
      organizationGUID - Unique identifier (GUID) of the organization where this asset originated from - or null
      businessCapabilityGUID - Unique identifier (GUID) of the business capability where this asset originated from.
      otherOriginValues - Descriptive labels describing origin of the asset
      startFrom - int starting position for fist 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
      methodName - String calling method
      Returns:
      a list of elements or
      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.
    • publishAsset

      public void publishAsset(String userId, String assetGUID, String assetGUIDParameterName, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Update the zones for a specific asset to the list set up in publish zones.
      Parameters:
      userId - calling user
      assetGUID - unique identifier for the asset to update
      assetGUIDParameterName - parameter name supplying assetGUID
      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 - guid or userId is null
      PropertyServerException - problem accessing property server
      UserNotAuthorizedException - security access problem
    • withdrawAsset

      public void withdrawAsset(String userId, String assetGUID, String assetGUIDParameterName, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Update the zones for a specific asset to the list set up in publish zones.
      Parameters:
      userId - calling user
      assetGUID - unique identifier for the asset to update
      assetGUIDParameterName - parameter name supplying assetGUID
      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 - guid or userId is null
      PropertyServerException - problem accessing property server
      UserNotAuthorizedException - security access problem
    • updateAssetZones

      public void updateAssetZones(String userId, String assetGUID, String assetGUIDParameterName, List<String> assetZones, boolean isMergeUpdate, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Update the zones for a specific asset. The method needs to build a before an after image of the asset to perform a security check before the update is pushed to the repository.
      Parameters:
      userId - calling user
      assetGUID - unique identifier for the asset to update
      assetGUIDParameterName - parameter name supplying assetGUID
      assetZones - list of zones for the asset - these values override the current values - null means belongs to all zones.
      isMergeUpdate - should the new properties be merged with existing properties (true) or completely replace them (false)?
      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 - guid or userId is null
      PropertyServerException - problem accessing property server
      UserNotAuthorizedException - security access problem
    • updateAssetOwner

      @Deprecated public void updateAssetOwner(String userId, String assetGUID, String assetGUIDParameterName, String ownerId, int ownerType, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Deprecated.
      Update the owner information for a specific asset.
      Parameters:
      userId - calling user
      assetGUID - unique identifier for the asset to update
      assetGUIDParameterName - parameter name supplying assetGUID
      ownerId - userId or profileGUID of the owner - or null to clear the field
      ownerType - indicator of the type of id provided above - or null to clear the field
      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 - userId is null
      PropertyServerException - problem accessing property server
      UserNotAuthorizedException - security access problem
    • getAssetForConnection

      public String getAssetForConnection(String userId, String connectionGUID, String connectionGUIDParameterName, List<String> serviceSupportedZones, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Returns the unique identifier for the asset connected to the requested connection.
      Parameters:
      userId - the userId of the requesting user
      connectionGUID - unique identifier for the connection
      connectionGUIDParameterName - name of parameter supplying connectionGUID
      serviceSupportedZones - list of supported zones for any connected asset
      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 asset.
      Throws:
      InvalidParameterException - one of the parameters is null or invalid.
      PropertyServerException - there is a problem retrieving information from the property server.
      UserNotAuthorizedException - the requesting user is not authorized to issue this request.
    • removeLinkedDataSets

      public void removeLinkedDataSets(String userId, String externalSourceGUID, String externalSourceName, String assetGUID, String assetTypeName, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Remove any data sets connected to the asset by the DataContentForDataSet relationship.
      Parameters:
      userId - calling user
      externalSourceGUID - unique identifier of software capability representing the caller
      externalSourceName - unique name of software capability representing the caller
      assetGUID - unique identifier for asset
      assetTypeName - type of asset
      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 null or invalid.
      PropertyServerException - there is a problem retrieving information from the property server(s).
      UserNotAuthorizedException - the requesting user is not authorized to issue this request.
    • getAssetForConnectionName

      public String getAssetForConnectionName(String userId, String connectionName, String connectionNameParameter, boolean forLineage, boolean forDuplicateProcessing, List<String> serviceSupportedZones, Date effectiveTime, String methodName) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Returns the asset corresponding to the supplied connection name.
      Parameters:
      userId - userId of user making request.
      connectionName - this may be the qualifiedName or displayName of the connection.
      connectionNameParameter - name of parameter supplying
      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 this service
      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 asset.
      Throws:
      InvalidParameterException - one of the parameters is null or invalid.
      PropertyServerException - there is a problem retrieving information from the property server(s).
      UserNotAuthorizedException - the requesting user is not authorized to issue this request.
    • getAssetWithConnection

      public B getAssetWithConnection(String userId, String assetGUID, String assetGUIDParameterName, String assetTypeName, boolean forLineage, boolean forDuplicateProcessing, List<String> serviceSupportedZones, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Return an asset along with any associated connection.
      Parameters:
      userId - calling user
      assetGUID - unique identifier of the asset
      assetGUIDParameterName - name of parameter supplying assetGUID
      assetTypeName - type name of asset
      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 this service
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      methodName - calling method
      Returns:
      an asset bean (with embedded connection details if available)
      Throws:
      InvalidParameterException - one of the parameters is null or invalid.
      PropertyServerException - there is a problem retrieving information from the property server(s).
      UserNotAuthorizedException - the requesting user is not authorized to issue this request.
    • getAssetByNameWithConnection

      public B getAssetByNameWithConnection(String userId, String name, String nameParameterName, String assetTypeGUID, String assetTypeName, boolean forLineage, boolean forDuplicateProcessing, List<String> serviceSupportedZones, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Return an asset along with any associated connection.
      Parameters:
      userId - calling user
      name - unique identifier of the asset
      nameParameterName - name of parameter supplying name
      assetTypeGUID - type identifier of asset
      assetTypeName - type name of asset
      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 this service
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      methodName - calling method
      Returns:
      an asset bean (with embedded connection details if available)
      Throws:
      InvalidParameterException - one of the parameters is null or invalid.
      PropertyServerException - there is a problem retrieving information from the property server(s).
      UserNotAuthorizedException - the requesting user is not authorized to issue this request.
    • getAllAssetsWithConnection

      public List<B> getAllAssetsWithConnection(String userId, String assetTypeGUID, String assetTypeName, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, List<String> serviceSupportedZones, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Return the list of assets that are stored.
      Parameters:
      userId - identifier of calling user
      assetTypeGUID - subtype of asset required
      assetTypeName - subtype of asset required
      startFrom - initial position in the stored list
      pageSize - maximum number of definitions to return on this 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
      serviceSupportedZones - supported zones for this service
      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 beans.
      Throws:
      InvalidParameterException - one of the parameters is null or invalid.
      UserNotAuthorizedException - user not authorized to issue this request.
      PropertyServerException - problem retrieving the discovery service definitions.
    • assetScan

      public List<B> assetScan(String userId, String subTypeGUID, String subTypeName, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Scan through the repository looking for assets by type. The type name may be null which means, all assets will be returned.
      Parameters:
      userId - calling user
      subTypeGUID - type of asset to scan for (null for all asset types)
      subTypeName - type of asset to scan for (null for all asset types)
      startFrom - scan pointer
      pageSize - maximum number of results
      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:
      list of matching assets
      Throws:
      InvalidParameterException - one of the parameters is null or invalid.
      PropertyServerException - there is a problem retrieving information from the property server(s).
      UserNotAuthorizedException - the requesting user is not authorized to issue this request.
    • assetZoneScan

      public List<B> assetZoneScan(String userId, String zoneName, String subTypeName, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Scan through the repository looking for assets by type and/or zone. The type name may be null which means, all types of assets will be returned. The zone name may be null which means all supportedZones for the service are returned.
      Parameters:
      userId - calling user
      zoneName - name of zone to scan
      subTypeName - type of asset to scan for (null for all asset types)
      startFrom - scan pointer
      pageSize - maximum number of results
      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:
      list of matching assets
      Throws:
      InvalidParameterException - one of the parameters is null or invalid.
      PropertyServerException - there is a problem retrieving information from the property server(s).
      UserNotAuthorizedException - the requesting user is not authorized to issue this request.
    • assetZoneScan

      public List<B> assetZoneScan(String userId, String zoneName, String subTypeGUID, String subTypeName, List<String> suppliedSupportedZones, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Scan through the repository looking for assets by type and/or zone. The type name may be null which means, all types of assets will be returned. The zone name may be null which means all supportedZones for the service are returned.
      Parameters:
      userId - calling user
      zoneName - name of zone to scan
      subTypeGUID - type of asset to scan for (null for all asset types)
      subTypeName - type of asset to scan for (null for all asset types)
      suppliedSupportedZones - list of supported zones from calling service
      startFrom - scan pointer
      pageSize - maximum number of results
      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:
      list of matching assets
      Throws:
      InvalidParameterException - one of the parameters is null or invalid.
      PropertyServerException - there is a problem retrieving information from the property server(s).
      UserNotAuthorizedException - the requesting user is not authorized to issue this request.
    • findAssetsByName

      public List<B> findAssetsByName(String userId, String typeGUID, String typeName, String name, String nameParameterName, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Return a list of assets with the requested name in either the display name or qualified name. The match must be exact. SupportedZones set up for this service is used.
      Parameters:
      userId - calling user
      typeGUID - unique identifier of the asset type to search for (null for the generic Asset type)
      typeName - unique identifier of the asset type to search for (null for the generic Asset type)
      name - name to search for - this is a regular expression (RegEx)
      nameParameterName - property that provided the name
      startFrom - starting element (used in paging through large result sets)
      pageSize - maximum number of results to return
      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:
      list of B beans
      Throws:
      InvalidParameterException - one of the parameters is null or invalid.
      PropertyServerException - there is a problem retrieving information from the property server(s).
      UserNotAuthorizedException - the requesting user is not authorized to issue this request.
    • findAssetsByName

      public List<B> findAssetsByName(String userId, String typeGUID, String typeName, String name, String nameParameterName, List<String> serviceSupportedZones, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Return a list of assets with the requested name in either the display name or qualified name.
      Parameters:
      userId - calling user
      typeGUID - unique identifier of the asset type to search for (null for the generic Asset type)
      typeName - unique identifier of the asset type to search for (null for the generic Asset type)
      name - name to search for - this is a regular expression (RegEx)
      nameParameterName - property that provided the name
      serviceSupportedZones - list of supported zones for this service
      startFrom - starting element (used in paging through large result sets)
      pageSize - maximum number of results to return
      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:
      list of B beans
      Throws:
      InvalidParameterException - one of the parameters is null or invalid.
      PropertyServerException - there is a problem retrieving information from the property server(s).
      UserNotAuthorizedException - the requesting user is not authorized to issue this request.
    • getAssetGUIDsByName

      public List<String> getAssetGUIDsByName(String userId, String typeGUID, String typeName, String name, String nameParameterName, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Return a list of assets with the requested name in either the display name or qualified name. The match must be exact. SupportedZones set up for this service is used.
      Parameters:
      userId - calling user
      typeGUID - unique identifier of the asset type to search for (null for the generic Asset type)
      typeName - unique identifier of the asset type to search for (null for the generic Asset type)
      name - name to search for - this must be an exact match either on the display name or the qualified name
      nameParameterName - property that provided the name
      startFrom - starting element (used in paging through large result sets)
      pageSize - maximum number of results to return
      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:
      list of B beans
      Throws:
      InvalidParameterException - one of the parameters is null or invalid.
      PropertyServerException - there is a problem retrieving information from the property server(s).
      UserNotAuthorizedException - the requesting user is not authorized to issue this request.
    • getAssetGUIDsByName

      public List<String> getAssetGUIDsByName(String userId, String typeGUID, String typeName, String name, String nameParameterName, List<String> serviceSupportedZones, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Return a list of assets with the requested name in either the display name or qualified name. The match must be exact.
      Parameters:
      userId - calling user
      typeGUID - unique identifier of the asset type to search for (null for the generic Asset type)
      typeName - unique identifier of the asset type to search for (null for the generic Asset type)
      name - name to search for
      nameParameterName - property that provided the name
      serviceSupportedZones - list of supported zones for this service
      startFrom - starting element (used in paging through large result sets)
      pageSize - maximum number of results to return
      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:
      list of B beans
      Throws:
      InvalidParameterException - one of the parameters is null or invalid.
      PropertyServerException - there is a problem retrieving information from the property server(s).
      UserNotAuthorizedException - the requesting user is not authorized to issue this request.
    • getAssetsByName

      public List<B> getAssetsByName(String userId, String typeGUID, String typeName, String name, String nameParameterName, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Return a list of assets with the requested name in either the display name or qualified name. The match must be exact. SupportedZones set up for this service is used.
      Parameters:
      userId - calling user
      typeGUID - unique identifier of the asset type to search for (null for the generic Asset type)
      typeName - unique identifier of the asset type to search for (null for the generic Asset type)
      name - name to search for
      nameParameterName - property that provided the name
      startFrom - starting element (used in paging through large result sets)
      pageSize - maximum number of results to return
      forDuplicateProcessing - this request os for duplicate processing so do not deduplicate
      forLineage - this request is for lineage so ignore Memento classifications
      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 B beans
      Throws:
      InvalidParameterException - one of the parameters is null or invalid.
      PropertyServerException - there is a problem retrieving information from the property server(s).
      UserNotAuthorizedException - the requesting user is not authorized to issue this request.
    • getAssetsByName

      public List<B> getAssetsByName(String userId, String typeGUID, String typeName, String name, String nameParameterName, List<String> serviceSupportedZones, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Return a list of assets with the requested name in either the display name or qualified name. The match must be exact.
      Parameters:
      userId - calling user
      typeGUID - unique identifier of the asset type to search for (null for the generic Asset type)
      typeName - unique identifier of the asset type to search for (null for the generic Asset type)
      name - name to search for - this must be an exact match on the display name or qualified name
      nameParameterName - property that provided the name
      serviceSupportedZones - list of supported zones for this service
      startFrom - starting element (used in paging through large result sets)
      pageSize - maximum number of results to return
      forDuplicateProcessing - this request os for duplicate processing so do not deduplicate
      forLineage - this request is for lineage so ignore Memento classifications
      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 B beans
      Throws:
      InvalidParameterException - one of the parameters is null or invalid.
      PropertyServerException - there is a problem retrieving information from the property server(s).
      UserNotAuthorizedException - the requesting user is not authorized to issue this request.
    • getAssetsByDeployedImplementationType

      public List<B> getAssetsByDeployedImplementationType(String userId, String typeGUID, String typeName, String name, String nameParameterName, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Return a list of assets with the requested name in the deployed implementation type property. The match must be exact. SupportedZones set up for this service is used.
      Parameters:
      userId - calling user
      typeGUID - unique identifier of the asset type to search for (null for the generic Asset type)
      typeName - unique identifier of the asset type to search for (null for the generic Asset type)
      name - name to search for
      nameParameterName - property that provided the name
      startFrom - starting element (used in paging through large result sets)
      pageSize - maximum number of results to return
      forDuplicateProcessing - this request os for duplicate processing so do not deduplicate
      forLineage - this request is for lineage so ignore Memento classifications
      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 B beans
      Throws:
      InvalidParameterException - one of the parameters is null or invalid.
      PropertyServerException - there is a problem retrieving information from the property server(s).
      UserNotAuthorizedException - the requesting user is not authorized to issue this request.
    • getAssetsByDeployedImplementationType

      public List<B> getAssetsByDeployedImplementationType(String userId, String typeGUID, String typeName, String name, String nameParameterName, List<String> serviceSupportedZones, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Return a list of assets with the requested name in the deployed implementation type property. The match must be exact.
      Parameters:
      userId - calling user
      typeGUID - unique identifier of the asset type to search for (null for the generic Asset type)
      typeName - unique identifier of the asset type to search for (null for the generic Asset type)
      name - name to search for - this must be an exact match on the display name or qualified name
      nameParameterName - property that provided the name
      serviceSupportedZones - list of supported zones for this service
      startFrom - starting element (used in paging through large result sets)
      pageSize - maximum number of results to return
      forDuplicateProcessing - this request os for duplicate processing so do not deduplicate
      forLineage - this request is for lineage so ignore Memento classifications
      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 B beans
      Throws:
      InvalidParameterException - one of the parameters is null or invalid.
      PropertyServerException - there is a problem retrieving information from the property server(s).
      UserNotAuthorizedException - the requesting user is not authorized to issue this request.
    • getAssetsByMetadataCollectionId

      public List<B> getAssetsByMetadataCollectionId(String userId, String typeName, String metadataCollectionId, String metadataCollectionIdParameterName, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Return a list of assets with the requested metadataCollectionId.
      Parameters:
      userId - calling user
      typeName - unique name of the asset type to search for (null for generic Asset)
      metadataCollectionId - unique identifier of metadataCollection to search for
      metadataCollectionIdParameterName - parameter providing the metadata collection id
      startFrom - starting element (used in paging through large result sets)
      pageSize - maximum number of results to return
      forDuplicateProcessing - this request os for duplicate processing so do not deduplicate
      forLineage - this request is for lineage so ignore Memento classifications
      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 B beans
      Throws:
      InvalidParameterException - one of the parameters is null or invalid.
      PropertyServerException - there is a problem retrieving information from the property server(s).
      UserNotAuthorizedException - the requesting user is not authorized to issue this request.
    • findAssetGUIDs

      public List<String> findAssetGUIDs(String userId, String searchString, String searchStringParameter, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Return a list of assets with the requested search string in their name, qualified name or description.
      Parameters:
      userId - calling user
      searchString - string to search for in text
      searchStringParameter - name of parameter supplying the search string
      startFrom - starting element (used in paging through large result sets)
      pageSize - maximum number of results to return
      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:
      list of unique identifiers for assets that match the search string.
      Throws:
      InvalidParameterException - the searchString is invalid
      PropertyServerException - there is a problem access in the property server
      UserNotAuthorizedException - the user does not have access to the properties
    • findAssetGUIDs

      public List<String> findAssetGUIDs(String userId, String typeGUID, String typeName, String searchString, String searchStringParameter, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Return a list of assets with the requested search string in their name, qualified name or description.
      Parameters:
      userId - calling user
      typeGUID - unique identifier of the asset type to search for - null for generic Asset
      typeName - unique name of the asset type to search for - null for generic Asset
      searchString - string to search for in text
      searchStringParameter - parameter providing search string
      startFrom - starting element (used in paging through large result sets)
      pageSize - maximum number of results to return
      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:
      list of unique identifiers for assets that match the search string.
      Throws:
      InvalidParameterException - the searchString is invalid
      PropertyServerException - there is a problem access in the property server
      UserNotAuthorizedException - the user does not have access to the properties
    • findAssets

      public List<B> findAssets(String userId, String searchString, String searchStringParameter, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Return a list of assets with the requested search string in their name, qualified name or description.
      Parameters:
      userId - calling user
      searchString - string to search for in text
      searchStringParameter - parameter providing search string
      startFrom - starting element (used in paging through large result sets)
      pageSize - maximum number of results 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 assets that match the search string.
      Throws:
      InvalidParameterException - the searchString is invalid
      PropertyServerException - there is a problem access in the property server
      UserNotAuthorizedException - the user does not have access to the properties
    • findAssets

      public List<B> findAssets(String userId, String typeGUID, String typeName, String searchString, String searchStringParameter, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Return a list of assets with the requested search string in their name, qualified name or description.
      Parameters:
      userId - calling user
      typeGUID - unique identifier of the asset type to search for
      typeName - unique name of the asset type to search for
      searchString - string to search for in text
      searchStringParameter - parameter providing search string
      startFrom - starting element (used in paging through large result sets)
      pageSize - maximum number of results 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 assets that match the search string.
      Throws:
      InvalidParameterException - the searchString is invalid
      PropertyServerException - there is a problem access in the property server
      UserNotAuthorizedException - the user does not have access to the properties
    • getAssetGUIDsByTag

      public List<String> getAssetGUIDsByTag(String userId, String tagGUID, String tagGUIDParameterName, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Return the list of unique identifiers for assets that are linked to a specific tag either directly, or via one of its schema elements.
      Parameters:
      userId - the name of the calling user.
      tagGUID - unique identifier of tag.
      tagGUIDParameterName - name of parameter supplying the GUID
      startFrom - index of the list to start from (0 for start)
      pageSize - maximum number of elements to return.
      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:
      asset guid list
      Throws:
      InvalidParameterException - the userId is null or invalid.
      PropertyServerException - there is a problem retrieving information from the property server(s).
      UserNotAuthorizedException - the requesting user is not authorized to issue this request.