Class DataProductRepository

java.lang.Object
org.openmetadata.service.jdbi3.EntityRepository<DataProduct>
org.openmetadata.service.jdbi3.DataProductRepository

public class DataProductRepository extends EntityRepository<DataProduct>
  • Constructor Details

    • DataProductRepository

      public DataProductRepository()
  • Method Details

    • setFields

      public void setFields(DataProduct entity, EntityUtil.Fields fields)
      Description copied from class: EntityRepository
      Set the requested fields in an entity. This is used for requesting specific fields in the object during GET operations. It is also used during PUT and PATCH operations to set up fields that can be updated.
      Specified by:
      setFields in class EntityRepository<DataProduct>
    • clearFields

      public void clearFields(DataProduct entity, EntityUtil.Fields fields)
      Description copied from class: EntityRepository
      Set the requested fields in an entity. This is used for requesting specific fields in the object during GET operations. It is also used during PUT and PATCH operations to set up fields that can be updated.
      Specified by:
      clearFields in class EntityRepository<DataProduct>
    • prepare

      public void prepare(DataProduct entity, boolean update)
      Description copied from class: EntityRepository
      This method is used for validating an entity to be created during POST, PUT, and PATCH operations and prepare the entity with all the required attributes and relationships.

      The implementation of this method must perform the following:

      1. Prepare the values for attributes that are not required in the request but can be derived on the server side. Example - >FullyQualifiedNames of an entity can be derived from the hierarchy that an entity belongs to .
      2. Validate all the attributes of an entity.
      3. Validate all the relationships of an entity. As an example - during table creation, relationships such as Tags, Owner, Databasea table belongs to are validated. During validation additional information that is not required in the create/update request are set up in the corresponding relationship fields.
      At the end of this operation, entity is expected to be valid and fully constructed with all the fields that will be sent as payload in the POST, PUT, and PATCH operations response.
      Specified by:
      prepare in class EntityRepository<DataProduct>
      See Also:
    • storeEntity

      public void storeEntity(DataProduct entity, boolean update)
      Description copied from class: EntityRepository
      An entity is stored in the backend database as JSON document. The JSON includes some attributes of the entity and does not include attributes such as href. The relationship fields of an entity is never stored in the JSON document. It is always reconstructed based on relationship edges from the backend database.

      As an example, when table entity is stored, the attributes such as href and the relationships such as owner, database, and tags are set to null. These attributes are restored back after the JSON document is stored to be sent as response.
      Specified by:
      storeEntity in class EntityRepository<DataProduct>
      See Also:
    • storeRelationships

      public void storeRelationships(DataProduct entity)
      Description copied from class: EntityRepository
      This method is called to store all the relationships of an entity. It is expected that all relationships are already validated and completely setup before this method is called and no validation of relationships is required.
      Specified by:
      storeRelationships in class EntityRepository<DataProduct>
      See Also:
    • getUpdater

      public EntityRepository<DataProduct>.EntityUpdater getUpdater(DataProduct original, DataProduct updated, EntityRepository.Operation operation)
      Overrides:
      getUpdater in class EntityRepository<DataProduct>
    • bulkAddAssets

      public BulkOperationResult bulkAddAssets(String domainName, BulkAssets request)
    • bulkRemoveAssets

      public BulkOperationResult bulkRemoveAssets(String domainName, BulkAssets request)
    • restorePatchAttributes

      public void restorePatchAttributes(DataProduct original, DataProduct updated)
      Description copied from class: EntityRepository
      PATCH operations can't overwrite certain fields, such as entity ID, fullyQualifiedNames etc. Instead of throwing an error, we take lenient approach of ignoring the user error and restore those attributes based on what is already stored in the original entity.
      Overrides:
      restorePatchAttributes in class EntityRepository<DataProduct>
    • postUpdate

      protected void postUpdate(DataProduct original, DataProduct updated)
      Overrides:
      postUpdate in class EntityRepository<DataProduct>