Class TopicRepository

java.lang.Object
org.openmetadata.service.jdbi3.EntityRepository<Topic>
org.openmetadata.service.jdbi3.TopicRepository

public class TopicRepository extends EntityRepository<Topic>
  • Constructor Details

    • TopicRepository

      public TopicRepository()
  • Method Details

    • setFullyQualifiedName

      public void setFullyQualifiedName(Topic topic)
      Description copied from class: EntityRepository
      Set fullyQualifiedName of an entity
      Overrides:
      setFullyQualifiedName in class EntityRepository<Topic>
    • prepare

      public void prepare(Topic topic, 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<Topic>
      See Also:
    • storeEntity

      public void storeEntity(Topic topic, 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<Topic>
      See Also:
    • storeRelationships

      public void storeRelationships(Topic topic)
      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<Topic>
      See Also:
    • setFields

      public void setFields(Topic topic, 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<Topic>
    • clearFields

      public void clearFields(Topic topic, 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<Topic>
    • getUpdater

      public TopicRepository.TopicUpdater getUpdater(Topic original, Topic updated, EntityRepository.Operation operation)
      Overrides:
      getUpdater in class EntityRepository<Topic>
    • getSampleData

      public Topic getSampleData(UUID topicId, boolean authorizePII)
    • addSampleData

      public Topic addSampleData(UUID topicId, TopicSampleData sampleData)
    • applyTags

      public void applyTags(Topic topic)
      Overrides:
      applyTags in class EntityRepository<Topic>
    • getParentEntity

      public EntityInterface getParentEntity(Topic entity, String fields)
      Overrides:
      getParentEntity in class EntityRepository<Topic>
    • validateTags

      public void validateTags(Topic entity)
      Overrides:
      validateTags in class EntityRepository<Topic>
    • getAllTags

      public List<TagLabel> getAllTags(EntityInterface entity)
      Overrides:
      getAllTags in class EntityRepository<Topic>
    • getTaskWorkflow

      public FeedRepository.TaskWorkflow getTaskWorkflow(FeedRepository.ThreadContext threadContext)
      Overrides:
      getTaskWorkflow in class EntityRepository<Topic>
    • getAllFieldTags

      public static Set<TagLabel> getAllFieldTags(Field field)