Package org.openmetadata.service.jdbi3
Class ServiceEntityRepository<T extends ServiceEntityInterface,S extends ServiceConnectionEntityInterface>
java.lang.Object
org.openmetadata.service.jdbi3.EntityRepository<T>
org.openmetadata.service.jdbi3.ServiceEntityRepository<T,S>
- Direct Known Subclasses:
DashboardServiceRepository,DatabaseServiceRepository,MessagingServiceRepository,MetadataServiceRepository,MlModelServiceRepository,PipelineServiceRepository,SearchServiceRepository,StorageServiceRepository
public abstract class ServiceEntityRepository<T extends ServiceEntityInterface,S extends ServiceConnectionEntityInterface>
extends EntityRepository<T>
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class org.openmetadata.service.jdbi3.EntityRepository
EntityRepository.DescriptionTaskWorkflow, EntityRepository.EntityUpdater, EntityRepository.Operation, EntityRepository.TagTaskWorkflow -
Field Summary
Fields inherited from class org.openmetadata.service.jdbi3.EntityRepository
allowedFields, CACHE_WITH_ID, CACHE_WITH_NAME, dao, daoCollection, entityType, putFields, quoteFqn, renameAllowed, searchRepository, supportsDataProducts, supportsDomain, supportsExperts, supportsExtension, supportsFollower, supportsLifeCycle, supportsOwner, supportsReviewers, supportsSearch, supportsSoftDelete, supportsStyle, supportsTags, supportsVotes -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedServiceEntityRepository(String collectionPath, String service, EntityDAO<T> entityDAO, Class<S> serviceConnectionClass, String updateFields, ServiceType serviceType) -
Method Summary
Modifier and TypeMethodDescriptionaddTestConnectionResult(UUID serviceId, TestConnectionResult testConnectionResult) voidclearFields(T entity, EntityUtil.Fields fields) Set the requested fields in an entity.getUpdater(T original, T updated, EntityRepository.Operation operation) protected voidpostDelete(T service) Remove the secrets from the secret managervoidThis 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.voidsetFields(T entity, EntityUtil.Fields fields) Set the requested fields in an entity.voidstoreEntity(T service, boolean update) An entity is stored in the backend database as JSON document.voidstoreRelationships(T service) This method is called to store all the relationships of an entity.Methods inherited from class org.openmetadata.service.jdbi3.EntityRepository
addFollower, addRelationship, addRelationship, addRelationship, addServiceRelationship, applyColumnTags, applySuggestion, applyTags, applyTags, bulkAddToRelationship, bulkAssetsOperation, checkSystemEntityDeletion, cleanup, clearFieldsInternal, copy, create, createInternal, createOrUpdate, delete, deleteByName, deleteExtensionAtTimestamp, deleteExtensionBeforeTimestamp, deleteFollower, deleteFrom, deleteFromSearch, deleteInternal, deleteInternalByName, deleteRelationship, deleteTo, ensureSingleRelationship, exportToCsv, find, findBoth, findByName, findByNameOrNull, findFrom, findFromRecords, findTo, findToRecords, get, get, getAllowedFieldsCopy, getAllTags, getByName, getByName, getChildren, getCommonFields, getContainer, getContainer, getCustomPropertyFQN, getCustomPropertyFQNPrefix, getDomain, getEntitiesFromSeedData, getEntitiesFromSeedData, getEntitiesFromSeedData, getExperts, getExtension, getExtensionAtTimestamp, getFields, getFields, getFollowers, getFromEntityRef, getHref, getIngestionPipelines, getLatestExtensionFromTimeSeries, getOwner, getOwner, getParent, getParentEntity, getReference, getReferenceByName, getResultList, getResultList, getResultsFromAndToTimestamps, getResultsFromAndToTimestamps, getReviewers, getSuggestionFields, getSuggestionWorkflow, getTags, getTags, getTagsByPrefix, getTaskWorkflow, getToEntityRef, getVersion, getVotes, importFromCsv, inheritDomain, inheritExperts, inheritOwner, inheritReviewers, initializeEntity, initSeedDataFromResources, listAfter, listAfterWithSkipFailure, listAll, listBefore, listVersions, patch, populateOwner, postCreate, postUpdate, preDelete, prepareInternal, removeExtension, restoreEntity, restoreFromSearch, restorePatchAttributes, setFieldsInternal, setFullyQualifiedName, setInheritedFields, store, storeDataProducts, storeDomain, storeExtension, storeOwner, storeRelationshipsInternal, storeTimeSeries, update, updateOwner, updateVote, validateColumnTags, validateDataProducts, validateDomain, validateDomain, validateOwner, validateRoles, validateTags, validateTags, validateTaskThread, validateUsers, withHref
-
Constructor Details
-
ServiceEntityRepository
-
-
Method Details
-
setFields
Description copied from class:EntityRepositorySet 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:
setFieldsin classEntityRepository<T extends ServiceEntityInterface>
-
clearFields
Description copied from class:EntityRepositorySet 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:
clearFieldsin classEntityRepository<T extends ServiceEntityInterface>
-
prepare
Description copied from class:EntityRepositoryThis 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:
- 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 .
- Validate all the attributes of an entity.
- 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.
- Specified by:
preparein classEntityRepository<T extends ServiceEntityInterface>- See Also:
-
storeEntity
Description copied from class:EntityRepositoryAn 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:
storeEntityin classEntityRepository<T extends ServiceEntityInterface>- See Also:
-
storeRelationships
Description copied from class:EntityRepositoryThis 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:
storeRelationshipsin classEntityRepository<T extends ServiceEntityInterface>- See Also:
-
addTestConnectionResult
-
postDelete
Remove the secrets from the secret manager- Overrides:
postDeletein classEntityRepository<T extends ServiceEntityInterface>
-
getUpdater
public ServiceEntityRepository<T,S>.ServiceUpdater getUpdater(T original, T updated, EntityRepository.Operation operation) - Overrides:
getUpdaterin classEntityRepository<T extends ServiceEntityInterface>
-