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.DataSourceResolverSQLDataSourceLocator
apply(org.dashbuilder.dataprovider.sql.SQLDataSetProvider sqlDataSetProvider)
protected void
applyQueryContext(Map<String,Object> params, org.kie.api.runtime.query.QueryContext queryContext)
org.dashbuilder.dataset.def.DataSetDefRegistry
getDataSetDefRegistry()
protected Function<String,String>
getDataSourceResolver()
List<QueryDefinition>
getQueries(org.kie.api.runtime.query.QueryContext queryContext)
Returns list of query definitions registered in the systemQueryDefinition
getQuery(String uniqueQueryName)
Returns query definition details that is registered under given uniqueQueryNamevoid
init()
void
onActivate(DeploymentEvent event)
void
onDeactivate(DeploymentEvent event)
void
onDeploy(DeploymentEvent event)
void
onUnDeploy(DeploymentEvent event)
<T> T
query(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> T
query(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.void
registerQuery(QueryDefinition queryDefinition)
Registers new query definition in the system so it can be used for executing queries on top of it.void
replaceQuery(QueryDefinition queryDefinition)
Registers or replaces existing query.void
setCommandService(TransactionalCommandService commandService)
void
setDataSetDefRegistry(org.dashbuilder.dataset.def.DataSetDefRegistry dataSetDefRegistry)
void
setDataSetManager(org.dashbuilder.dataset.DataSetManager dataSetManager)
void
setDataSourceResolver(Function<String,String> dataSourceResolver)
void
setDeploymentRolesManager(DeploymentRolesManager deploymentRolesManager)
void
setIdentityProvider(org.kie.internal.identity.IdentityProvider identityProvider)
void
setProviderRegistry(org.dashbuilder.dataprovider.DataSetProviderRegistry providerRegistry)
void
setUserGroupCallback(org.kie.api.task.UserGroupCallback userGroupCallback)
void
unregisterQuery(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:QueryService
Registers new query definition in the system so it can be used for executing queries on top of it.- Specified by:
registerQuery
in 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:QueryService
Registers or replaces existing query. Similar to whatregisterQuery
does, though it won't throw exception in case there is already query registered but simply replace it.- Specified by:
replaceQuery
in interfaceQueryService
- Parameters:
queryDefinition
- definition of the query to be registered/replaced
-
unregisterQuery
public void unregisterQuery(String uniqueQueryName) throws QueryNotFoundException
Description copied from interface:QueryService
Removes the query definition from the system- Specified by:
unregisterQuery
in 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:QueryService
Performs query on given query definition that had to be previously registered. Results will be mapped by givenmapper
and:- sorting and paging will be applied based on
queryContext
- filtering of results will be done based on
filterParams
if given
- Specified by:
query
in interfaceQueryService
- Parameters:
queryName
- unique name that query was registered undermapper
- type of theQueryResultMapper
to 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:QueryService
Performs query on given query definition that had to be previously registered. Results will be mapped by givenmapper
and:- sorting and paging will be applied based on
queryContext
- filtering of results will be done based on
paramBuilder
which is an implementation ofQueryParamBuilder
for building advanced filters
- Specified by:
query
in interfaceQueryService
- Parameters:
queryName
- unique name that query was registered undermapper
- type of theQueryResultMapper
to map raw data set into list of objectsqueryContext
- query context carrying paging and sorting detailsparamBuilder
- implementation ofQueryParamBuilder
that 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:QueryService
Returns query definition details that is registered under given uniqueQueryName- Specified by:
getQuery
in 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:QueryService
Returns list of query definitions registered in the system- Specified by:
getQueries
in 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:
onDeploy
in interfaceDeploymentEventListener
-
onUnDeploy
public void onUnDeploy(DeploymentEvent event)
- Specified by:
onUnDeploy
in interfaceDeploymentEventListener
-
onActivate
public void onActivate(DeploymentEvent event)
- Specified by:
onActivate
in interfaceDeploymentEventListener
-
onDeactivate
public void onDeactivate(DeploymentEvent event)
- Specified by:
onDeactivate
in interfaceDeploymentEventListener
-
apply
public org.jbpm.kie.services.impl.query.QueryServiceImpl.DataSourceResolverSQLDataSourceLocator apply(org.dashbuilder.dataprovider.sql.SQLDataSetProvider sqlDataSetProvider)
-
-