Class EntityResource<T extends EntityInterface,K extends EntityRepository<T>>
- java.lang.Object
-
- org.openmetadata.service.resources.EntityResource<T,K>
-
- Direct Known Subclasses:
BotResource,ChartResource,ClassificationResource,ContainerResource,DashboardDataModelResource,DashboardResource,DatabaseResource,DatabaseSchemaResource,DataInsightChartResource,EventSubscriptionResource,GlossaryResource,GlossaryTermResource,IngestionPipelineResource,KpiResource,MetricsResource,MlModelResource,PipelineResource,PolicyResource,QueryResource,ReportResource,RoleResource,ServiceEntityResource,TableResource,TagResource,TeamResource,TestCaseResource,TestConnectionDefinitionResource,TestDefinitionResource,TestSuiteResource,TopicResource,TypeResource,UserResource,WebAnalyticEventResource,WorkflowResource
public abstract class EntityResource<T extends EntityInterface,K extends EntityRepository<T>> extends Object
-
-
Field Summary
Fields Modifier and Type Field Description protected Set<String>allowedFieldsprotected Authorizerauthorizerprotected Class<T>entityClassprotected StringentityTypeprotected Map<String,MetadataOperation>fieldsToViewOperationsprotected Krepositoryprotected static MetadataOperation[]VIEW_ALL_OPERATIONSprotected static MetadataOperation[]VIEW_BASIC_OPERATIONS
-
Constructor Summary
Constructors Modifier Constructor Description protectedEntityResource(Class<T> entityClass, K repository, Authorizer authorizer)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description ResultList<T>addHref(javax.ws.rs.core.UriInfo uriInfo, ResultList<T> list)abstract TaddHref(javax.ws.rs.core.UriInfo uriInfo, T entity)protected voidaddViewOperation(String fieldsParam, MetadataOperation operation)Tcopy(T entity, CreateEntity request, String updatedBy)javax.ws.rs.core.Responsecreate(javax.ws.rs.core.UriInfo uriInfo, javax.ws.rs.core.SecurityContext securityContext, T entity)javax.ws.rs.core.ResponsecreateOrUpdate(javax.ws.rs.core.UriInfo uriInfo, javax.ws.rs.core.SecurityContext securityContext, T entity)javax.ws.rs.core.Responsedelete(javax.ws.rs.core.UriInfo uriInfo, javax.ws.rs.core.SecurityContext securityContext, UUID id, boolean recursive, boolean hardDelete)javax.ws.rs.core.ResponsedeleteByName(javax.ws.rs.core.UriInfo uriInfo, javax.ws.rs.core.SecurityContext securityContext, String name, boolean recursive, boolean hardDelete)StringexportCsvInternal(javax.ws.rs.core.SecurityContext securityContext, String name)TgetByNameInternal(javax.ws.rs.core.UriInfo uriInfo, javax.ws.rs.core.SecurityContext securityContext, String name, String fieldsParam, Include include)TgetByNameInternal(javax.ws.rs.core.UriInfo uriInfo, javax.ws.rs.core.SecurityContext securityContext, String name, EntityUtil.Fields fields, Include include, OperationContext operationContext, ResourceContextInterface resourceContext)protected EntityReferencegetEntityReference(String entityType, String fqn)protected List<EntityReference>getEntityReferences(String entityType, List<String> fqns)protected List<MetadataOperation>getEntitySpecificOperations()EntityUtil.FieldsgetFields(String fields)TgetInternal(javax.ws.rs.core.UriInfo uriInfo, javax.ws.rs.core.SecurityContext securityContext, UUID id, String fieldsParam, Include include)TgetInternal(javax.ws.rs.core.UriInfo uriInfo, javax.ws.rs.core.SecurityContext securityContext, UUID id, EntityUtil.Fields fields, Include include, OperationContext operationContext, ResourceContextInterface resourceContext)protected ResourceContextgetResourceContext()protected ResourceContextgetResourceContextById(UUID id)protected ResourceContextgetResourceContextByName(String name)TgetVersionInternal(javax.ws.rs.core.SecurityContext securityContext, UUID id, String version)TgetVersionInternal(javax.ws.rs.core.SecurityContext securityContext, UUID id, String version, OperationContext operationContext, ResourceContextInterface resourceContext)protected CsvImportResultimportCsvInternal(javax.ws.rs.core.SecurityContext securityContext, String name, String csv, boolean dryRun)voidinitialize(OpenMetadataApplicationConfig config)Method used for initializing a resource, such as creating default policies, roles, etc.ResultList<T>listInternal(javax.ws.rs.core.UriInfo uriInfo, javax.ws.rs.core.SecurityContext securityContext, String fieldsParam, ListFilter filter, int limitParam, String before, String after)ResultList<T>listInternal(javax.ws.rs.core.UriInfo uriInfo, javax.ws.rs.core.SecurityContext securityContext, EntityUtil.Fields fields, ListFilter filter, int limitParam, String before, String after, OperationContext operationContext, ResourceContextInterface resourceContext)protected EntityHistorylistVersionsInternal(javax.ws.rs.core.SecurityContext securityContext, UUID id)protected EntityHistorylistVersionsInternal(javax.ws.rs.core.SecurityContext securityContext, UUID id, OperationContext operationContext, ResourceContextInterface resourceContext)javax.ws.rs.core.ResponsepatchInternal(javax.ws.rs.core.UriInfo uriInfo, javax.ws.rs.core.SecurityContext securityContext, UUID id, javax.json.JsonPatch patch)javax.ws.rs.core.ResponserestoreEntity(javax.ws.rs.core.UriInfo uriInfo, javax.ws.rs.core.SecurityContext securityContext, UUID id)protected voidupgrade()Method used for upgrading a resource such as adding new fields to entities, etc.
-
-
-
Field Detail
-
entityClass
protected final Class<T extends EntityInterface> entityClass
-
entityType
protected final String entityType
-
repository
protected final K extends EntityRepository<T> repository
-
authorizer
protected final Authorizer authorizer
-
fieldsToViewOperations
protected final Map<String,MetadataOperation> fieldsToViewOperations
-
VIEW_ALL_OPERATIONS
protected static final MetadataOperation[] VIEW_ALL_OPERATIONS
-
VIEW_BASIC_OPERATIONS
protected static final MetadataOperation[] VIEW_BASIC_OPERATIONS
-
-
Constructor Detail
-
EntityResource
protected EntityResource(Class<T> entityClass, K repository, Authorizer authorizer)
-
-
Method Detail
-
initialize
public void initialize(OpenMetadataApplicationConfig config) throws IOException, ClassNotFoundException, NoSuchMethodException, InvocationTargetException, InstantiationException, IllegalAccessException
Method used for initializing a resource, such as creating default policies, roles, etc.
-
upgrade
protected void upgrade() throws IOExceptionMethod used for upgrading a resource such as adding new fields to entities, etc. that can't be done in bootstrap migrate- Throws:
IOException
-
getFields
public final EntityUtil.Fields getFields(String fields)
-
getEntitySpecificOperations
protected List<MetadataOperation> getEntitySpecificOperations()
-
addHref
public final ResultList<T> addHref(javax.ws.rs.core.UriInfo uriInfo, ResultList<T> list)
-
listInternal
public ResultList<T> listInternal(javax.ws.rs.core.UriInfo uriInfo, javax.ws.rs.core.SecurityContext securityContext, String fieldsParam, ListFilter filter, int limitParam, String before, String after)
-
listInternal
public ResultList<T> listInternal(javax.ws.rs.core.UriInfo uriInfo, javax.ws.rs.core.SecurityContext securityContext, EntityUtil.Fields fields, ListFilter filter, int limitParam, String before, String after, OperationContext operationContext, ResourceContextInterface resourceContext)
-
getInternal
public T getInternal(javax.ws.rs.core.UriInfo uriInfo, javax.ws.rs.core.SecurityContext securityContext, UUID id, String fieldsParam, Include include)
-
getInternal
public T getInternal(javax.ws.rs.core.UriInfo uriInfo, javax.ws.rs.core.SecurityContext securityContext, UUID id, EntityUtil.Fields fields, Include include, OperationContext operationContext, ResourceContextInterface resourceContext)
-
getVersionInternal
public T getVersionInternal(javax.ws.rs.core.SecurityContext securityContext, UUID id, String version)
-
getVersionInternal
public T getVersionInternal(javax.ws.rs.core.SecurityContext securityContext, UUID id, String version, OperationContext operationContext, ResourceContextInterface resourceContext)
-
listVersionsInternal
protected EntityHistory listVersionsInternal(javax.ws.rs.core.SecurityContext securityContext, UUID id)
-
listVersionsInternal
protected EntityHistory listVersionsInternal(javax.ws.rs.core.SecurityContext securityContext, UUID id, OperationContext operationContext, ResourceContextInterface resourceContext)
-
getByNameInternal
public T getByNameInternal(javax.ws.rs.core.UriInfo uriInfo, javax.ws.rs.core.SecurityContext securityContext, String name, String fieldsParam, Include include)
-
getByNameInternal
public T getByNameInternal(javax.ws.rs.core.UriInfo uriInfo, javax.ws.rs.core.SecurityContext securityContext, String name, EntityUtil.Fields fields, Include include, OperationContext operationContext, ResourceContextInterface resourceContext)
-
create
public javax.ws.rs.core.Response create(javax.ws.rs.core.UriInfo uriInfo, javax.ws.rs.core.SecurityContext securityContext, T entity)
-
createOrUpdate
public javax.ws.rs.core.Response createOrUpdate(javax.ws.rs.core.UriInfo uriInfo, javax.ws.rs.core.SecurityContext securityContext, T entity)
-
patchInternal
public javax.ws.rs.core.Response patchInternal(javax.ws.rs.core.UriInfo uriInfo, javax.ws.rs.core.SecurityContext securityContext, UUID id, javax.json.JsonPatch patch)
-
delete
public javax.ws.rs.core.Response delete(javax.ws.rs.core.UriInfo uriInfo, javax.ws.rs.core.SecurityContext securityContext, UUID id, boolean recursive, boolean hardDelete)
-
deleteByName
public javax.ws.rs.core.Response deleteByName(javax.ws.rs.core.UriInfo uriInfo, javax.ws.rs.core.SecurityContext securityContext, String name, boolean recursive, boolean hardDelete)
-
restoreEntity
public javax.ws.rs.core.Response restoreEntity(javax.ws.rs.core.UriInfo uriInfo, javax.ws.rs.core.SecurityContext securityContext, UUID id)
-
exportCsvInternal
public String exportCsvInternal(javax.ws.rs.core.SecurityContext securityContext, String name) throws IOException
- Throws:
IOException
-
importCsvInternal
protected CsvImportResult importCsvInternal(javax.ws.rs.core.SecurityContext securityContext, String name, String csv, boolean dryRun) throws IOException
- Throws:
IOException
-
copy
public T copy(T entity, CreateEntity request, String updatedBy)
-
getResourceContext
protected ResourceContext getResourceContext()
-
getResourceContextById
protected ResourceContext getResourceContextById(UUID id)
-
getResourceContextByName
protected ResourceContext getResourceContextByName(String name)
-
getEntityReference
protected EntityReference getEntityReference(String entityType, String fqn)
-
getEntityReferences
protected List<EntityReference> getEntityReferences(String entityType, List<String> fqns)
-
addViewOperation
protected void addViewOperation(String fieldsParam, MetadataOperation operation)
-
-