Package org.jbpm.kie.services.impl.query
Class QueryServiceImpl
- java.lang.Object
-
- org.jbpm.kie.services.impl.query.QueryServiceImpl
-
- All Implemented Interfaces:
DeploymentEventListener,QueryService
- Direct Known Subclasses:
QueryServiceCDIImpl,QueryServiceEJBImpl
public class QueryServiceImpl extends Object implements QueryService, DeploymentEventListener
-
-
Constructor Summary
Constructors Constructor Description QueryServiceImpl()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description org.jbpm.kie.services.impl.query.QueryServiceImpl.DataSourceResolverSQLDataSourceLocatorapply(org.dashbuilder.dataprovider.sql.SQLDataSetProvider sqlDataSetProvider)protected voidapplyQueryContext(Map<String,Object> params, org.kie.api.runtime.query.QueryContext queryContext)org.dashbuilder.dataset.def.DataSetDefRegistrygetDataSetDefRegistry()protected Function<String,String>getDataSourceResolver()List<QueryDefinition>getQueries(org.kie.api.runtime.query.QueryContext queryContext)Returns list of query definitions registered in the systemQueryDefinitiongetQuery(String uniqueQueryName)Returns query definition details that is registered under given uniqueQueryNamevoidinit()voidonActivate(DeploymentEvent event)voidonDeactivate(DeploymentEvent event)voidonDeploy(DeploymentEvent event)voidonUnDeploy(DeploymentEvent event)<T> Tquery(String queryName, QueryResultMapper<T> mapper, org.kie.api.runtime.query.QueryContext queryContext, QueryParam... filterParams)Performs query on given query definition that had to be previously registered.<T> Tquery(String queryName, QueryResultMapper<T> mapper, org.kie.api.runtime.query.QueryContext queryContext, QueryParamBuilder<?> paramBuilder)Performs query on given query definition that had to be previously registered.voidregisterQuery(QueryDefinition queryDefinition)Registers new query definition in the system so it can be used for executing queries on top of it.voidreplaceQuery(QueryDefinition queryDefinition)Registers or replaces existing query.voidsetCommandService(TransactionalCommandService commandService)voidsetDataSetDefRegistry(org.dashbuilder.dataset.def.DataSetDefRegistry dataSetDefRegistry)voidsetDataSetManager(org.dashbuilder.dataset.DataSetManager dataSetManager)voidsetDataSourceResolver(Function<String,String> dataSourceResolver)voidsetDeploymentRolesManager(DeploymentRolesManager deploymentRolesManager)voidsetIdentityProvider(org.kie.internal.identity.IdentityProvider identityProvider)voidsetProviderRegistry(org.dashbuilder.dataprovider.DataSetProviderRegistry providerRegistry)voidsetUserGroupCallback(org.kie.api.task.UserGroupCallback userGroupCallback)voidunregisterQuery(String uniqueQueryName)Removes the query definition from the system
-
-
-
Method Detail
-
setDeploymentRolesManager
public void setDeploymentRolesManager(DeploymentRolesManager deploymentRolesManager)
-
setIdentityProvider
public void setIdentityProvider(org.kie.internal.identity.IdentityProvider identityProvider)
-
setCommandService
public void setCommandService(TransactionalCommandService commandService)
-
setDataSetDefRegistry
public void setDataSetDefRegistry(org.dashbuilder.dataset.def.DataSetDefRegistry dataSetDefRegistry)
-
getDataSetDefRegistry
public org.dashbuilder.dataset.def.DataSetDefRegistry getDataSetDefRegistry()
-
setProviderRegistry
public void setProviderRegistry(org.dashbuilder.dataprovider.DataSetProviderRegistry providerRegistry)
-
setDataSetManager
public void setDataSetManager(org.dashbuilder.dataset.DataSetManager dataSetManager)
-
setUserGroupCallback
public void setUserGroupCallback(org.kie.api.task.UserGroupCallback userGroupCallback)
-
setDataSourceResolver
public void setDataSourceResolver(Function<String,String> dataSourceResolver)
-
init
public void init()
-
registerQuery
public void registerQuery(QueryDefinition queryDefinition) throws QueryAlreadyRegisteredException
Description copied from interface:QueryServiceRegisters new query definition in the system so it can be used for executing queries on top of it.- Specified by:
registerQueryin interfaceQueryService- Parameters:
queryDefinition- definition of the query to be registered- Throws:
QueryAlreadyRegisteredException- in case there is already query registered with given name (queryDefinition.getName())
-
replaceQuery
public void replaceQuery(QueryDefinition queryDefinition)
Description copied from interface:QueryServiceRegisters or replaces existing query. Similar to whatregisterQuerydoes, though it won't throw exception in case there is already query registered but simply replace it.- Specified by:
replaceQueryin interfaceQueryService- Parameters:
queryDefinition- definition of the query to be registered/replaced
-
unregisterQuery
public void unregisterQuery(String uniqueQueryName) throws QueryNotFoundException
Description copied from interface:QueryServiceRemoves the query definition from the system- Specified by:
unregisterQueryin interfaceQueryService- Parameters:
uniqueQueryName- unique name that query was registered under- Throws:
QueryNotFoundException- in case there is no such query registered
-
query
public <T> T query(String queryName, QueryResultMapper<T> mapper, org.kie.api.runtime.query.QueryContext queryContext, QueryParam... filterParams) throws QueryNotFoundException
Description copied from interface:QueryServicePerforms query on given query definition that had to be previously registered. Results will be mapped by givenmapperand:- sorting and paging will be applied based on
queryContext - filtering of results will be done based on
filterParamsif given
- Specified by:
queryin interfaceQueryService- Parameters:
queryName- unique name that query was registered undermapper- type of theQueryResultMapperto map raw data set into list of objectsqueryContext- query context carrying paging and sorting detailsfilterParams- additional filter parameters to narrow down the result- Returns:
- results mapped to objects from raw data set
- Throws:
QueryNotFoundException- in case there is no such query registered
- sorting and paging will be applied based on
-
query
public <T> T query(String queryName, QueryResultMapper<T> mapper, org.kie.api.runtime.query.QueryContext queryContext, QueryParamBuilder<?> paramBuilder) throws QueryNotFoundException
Description copied from interface:QueryServicePerforms query on given query definition that had to be previously registered. Results will be mapped by givenmapperand:- sorting and paging will be applied based on
queryContext - filtering of results will be done based on
paramBuilderwhich is an implementation ofQueryParamBuilderfor building advanced filters
- Specified by:
queryin interfaceQueryService- Parameters:
queryName- unique name that query was registered undermapper- type of theQueryResultMapperto map raw data set into list of objectsqueryContext- query context carrying paging and sorting detailsparamBuilder- implementation ofQueryParamBuilderthat allows to build custom filters in advanced way- Returns:
- results mapped to objects from raw data set
- Throws:
QueryNotFoundException- in case there is no such query registered
- sorting and paging will be applied based on
-
getQuery
public QueryDefinition getQuery(String uniqueQueryName) throws QueryNotFoundException
Description copied from interface:QueryServiceReturns query definition details that is registered under given uniqueQueryName- Specified by:
getQueryin interfaceQueryService- Parameters:
uniqueQueryName- unique name that query was registered under- Returns:
- query definition details if found
- Throws:
QueryNotFoundException- in case there is no such query registered
-
getQueries
public List<QueryDefinition> getQueries(org.kie.api.runtime.query.QueryContext queryContext)
Description copied from interface:QueryServiceReturns list of query definitions registered in the system- Specified by:
getQueriesin interfaceQueryService- Parameters:
queryContext- provides pagnition information for the query- Returns:
- returns list of found queries
-
applyQueryContext
protected void applyQueryContext(Map<String,Object> params, org.kie.api.runtime.query.QueryContext queryContext)
-
onDeploy
public void onDeploy(DeploymentEvent event)
- Specified by:
onDeployin interfaceDeploymentEventListener
-
onUnDeploy
public void onUnDeploy(DeploymentEvent event)
- Specified by:
onUnDeployin interfaceDeploymentEventListener
-
onActivate
public void onActivate(DeploymentEvent event)
- Specified by:
onActivatein interfaceDeploymentEventListener
-
onDeactivate
public void onDeactivate(DeploymentEvent event)
- Specified by:
onDeactivatein interfaceDeploymentEventListener
-
apply
public org.jbpm.kie.services.impl.query.QueryServiceImpl.DataSourceResolverSQLDataSourceLocator apply(org.dashbuilder.dataprovider.sql.SQLDataSetProvider sqlDataSetProvider)
-
-