Bug 1071850 - QuerySyntaxException when I execute task/query request via REST API
Summary: QuerySyntaxException when I execute task/query request via REST API
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: JBoss BPMS Platform 6
Classification: Retired
Component: Business Central
Version: 6.0.2
Hardware: Unspecified
OS: Unspecified
high
medium
Target Milestone: ER1
: 6.0.2
Assignee: Marco Rietveld
QA Contact: Ivo Bek
URL:
Whiteboard:
: 1071944 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-03-03 10:15 UTC by Ivo Bek
Modified: 2018-12-04 17:40 UTC (History)
4 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2014-08-06 19:50:59 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Ivo Bek 2014-03-03 10:15:07 UTC
Description of problem:

It is very easy to reproduce the exception. Just request http://localhost:8080/business-central/rest/task/query with your REST client and see the following response due to the missing parameters:

<response>
    <status>FAILURE</status>
    <url>/business-central/rest/task/query</url>
    <error>org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected token: null near line 1, column 855 [select distinct  new org.jbpm.services.task.query.TaskSummaryImpl(t.id,  t.taskData.processInstanceId,  name.shortText,subject.shortText,description.shortText,  t.taskData.status,  t.priority,  t.taskData.skipable,  actualOwner,createdBy,  t.taskData.createdOn,t.taskData.activationTime,t.taskData.expirationTime,  t.taskData.processId,t.taskData.processSessionId,  t.subTaskStrategy,  t.taskData.parentId ) from  org.jbpm.services.task.impl.model.TaskImpl t   left join t.taskData.actualOwner as actualOwner              left join t.taskData.createdBy as createdBy  left join t.subjects as subject  left join t.descriptions as description  left join t.names as name,   org.jbpm.services.task.impl.model.OrganizationalEntityImpl businessAdministrator,   org.jbpm.services.task.impl.model.OrganizationalEntityImpl potentialOwners where t.archived = 0 AND ]</error>
    <stackTrace>java.lang.IllegalArgumentException: org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected token: null near line 1, column 855 [select distinct  new org.jbpm.services.task.query.TaskSummaryImpl(t.id,  t.taskData.processInstanceId,  name.shortText,subject.shortText,description.shortText,  t.taskData.status,  t.priority,  t.taskData.skipable,  actualOwner,createdBy,  t.taskData.createdOn,t.taskData.activationTime,t.taskData.expirationTime,  t.taskData.processId,t.taskData.processSessionId,  t.subTaskStrategy,  t.taskData.parentId ) from  org.jbpm.services.task.impl.model.TaskImpl t   left join t.taskData.actualOwner as actualOwner              left join t.taskData.createdBy as createdBy  left join t.subjects as subject  left join t.descriptions as description  left join t.names as name,   org.jbpm.services.task.impl.model.OrganizationalEntityImpl businessAdministrator,   org.jbpm.services.task.impl.model.OrganizationalEntityImpl potentialOwners where t.archived = 0 AND ]
	at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1374)
	at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1310)
	at org.hibernate.ejb.AbstractEntityManagerImpl.createQuery(AbstractEntityManagerImpl.java:294)
	at org.jbpm.services.task.persistence.JPATaskPersistenceContext.queryStringWithParametersInTransaction(JPATaskPersistenceContext.java:375)
	at org.jbpm.services.task.impl.TaskQueryServiceImpl.getTasksByVariousFields(TaskQueryServiceImpl.java:480)
	at org.jbpm.services.task.impl.TaskQueryServiceImpl.getTasksByVariousFields(TaskQueryServiceImpl.java:404)
	at org.jbpm.services.task.commands.GetTasksByVariousFieldsCommand.execute(GetTasksByVariousFieldsCommand.java:108)
	at org.jbpm.services.task.commands.GetTasksByVariousFieldsCommand.execute(GetTasksByVariousFieldsCommand.java:28)
	at org.jbpm.services.task.commands.TaskCommandExecutorImpl$SelfExecutionCommandService.execute(TaskCommandExecutorImpl.java:65)
	at org.drools.core.command.impl.AbstractInterceptor.executeNext(AbstractInterceptor.java:41)
	at org.jbpm.services.task.persistence.TaskTransactionInterceptor.execute(TaskTransactionInterceptor.java:54)
	at org.jbpm.services.task.commands.TaskCommandExecutorImpl.execute(TaskCommandExecutorImpl.java:40)
	at org.jbpm.services.task.impl.command.CommandBasedTaskService.execute(CommandBasedTaskService.java:128)
	at org.kie.services.remote.rest.RestProcessRequestBean.doTaskOperationOnDeployment(RestProcessRequestBean.java:96)
	at org.kie.services.remote.rest.RestProcessRequestBean.doTaskOperationWithAlreadySerializedResult(RestProcessRequestBean.java:118)
	at org.kie.services.remote.rest.RestProcessRequestBean$Proxy$_$$_WeldClientProxy.doTaskOperationWithAlreadySerializedResult(RestProcessRequestBean$Proxy$_$$_WeldClientProxy.java)
	at org.kie.services.remote.rest.TaskResource.query(TaskResource.java:154)
	at org.kie.services.remote.rest.TaskResource$Proxy$_$$_WeldClientProxy.query(TaskResource$Proxy$_$$_WeldClientProxy.java)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:167)
	at org.jboss.resteasy.core.ResourceMethod.invokeOnTarget(ResourceMethod.java:269)
	at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:227)
	at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:216)
	at org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:542)
	at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:524)
	at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:126)
	at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:208)
	at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:55)
	at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:50)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:295)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
	at org.jboss.solder.servlet.exception.CatchExceptionFilter.doFilter(CatchExceptionFilter.java:65)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
	at org.jboss.solder.servlet.event.ServletEventBridgeFilter.doFilter(ServletEventBridgeFilter.java:74)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
	at org.jbpm.designer.web.filter.impl.PluggableFilter.doFilter(PluggableFilter.java:70)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
	at org.uberfire.security.server.UberFireSecurityFilter.doFilter(UberFireSecurityFilter.java:266)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:149)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:407)
	at org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50)
	at org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50)
	at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:169)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:145)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:97)
	at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:408)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:102)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:336)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:653)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:920)
	at java.lang.Thread.run(Thread.java:744)
Caused by: org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected token: null near line 1, column 855 [select distinct  new org.jbpm.services.task.query.TaskSummaryImpl(t.id,  t.taskData.processInstanceId,  name.shortText,subject.shortText,description.shortText,  t.taskData.status,  t.priority,  t.taskData.skipable,  actualOwner,createdBy,  t.taskData.createdOn,t.taskData.activationTime,t.taskData.expirationTime,  t.taskData.processId,t.taskData.processSessionId,  t.subTaskStrategy,  t.taskData.parentId ) from  org.jbpm.services.task.impl.model.TaskImpl t   left join t.taskData.actualOwner as actualOwner              left join t.taskData.createdBy as createdBy  left join t.subjects as subject  left join t.descriptions as description  left join t.names as name,   org.jbpm.services.task.impl.model.OrganizationalEntityImpl businessAdministrator,   org.jbpm.services.task.impl.model.OrganizationalEntityImpl potentialOwners where t.archived = 0 AND ]
	at org.hibernate.hql.internal.ast.QuerySyntaxException.convert(QuerySyntaxException.java:54)
	at org.hibernate.hql.internal.ast.QuerySyntaxException.convert(QuerySyntaxException.java:47)
	at org.hibernate.hql.internal.ast.ErrorCounter.throwQueryException(ErrorCounter.java:79)
	at org.hibernate.hql.internal.ast.QueryTranslatorImpl.parse(QueryTranslatorImpl.java:276)
	at org.hibernate.hql.internal.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:180)
	at org.hibernate.hql.internal.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:136)
	at org.hibernate.engine.query.spi.HQLQueryPlan.&lt;init&gt;(HQLQueryPlan.java:105)
	at org.hibernate.engine.query.spi.HQLQueryPlan.&lt;init&gt;(HQLQueryPlan.java:80)
	at org.hibernate.engine.query.spi.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:168)
	at org.hibernate.internal.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:221)
	at org.hibernate.internal.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:199)
	at org.hibernate.internal.SessionImpl.createQuery(SessionImpl.java:1778)
	at org.hibernate.ejb.AbstractEntityManagerImpl.createQuery(AbstractEntityManagerImpl.java:291)
	... 59 more
</stackTrace>
</response>

Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

Comment 1 Marco Rietveld 2014-03-03 16:22:46 UTC
Fixed on master: 
https://github.com/droolsjbpm/jbpm/commit/1e3e6b2a

Waiting for flags before cherry-picking to 6.0.x.

Comment 2 Marco Rietveld 2014-03-04 14:43:49 UTC
*** Bug 1071944 has been marked as a duplicate of this bug. ***

Comment 3 Marco Rietveld 2014-03-19 13:07:40 UTC
Cherry-picked to 6.0.x: 
https://github.com/droolsjbpm/jbpm/commit/25d9a5684a

Comment 4 Marco Rietveld 2014-03-21 11:18:23 UTC
Typo in last comment: commit url is
https://github.com/droolsjbpm/jbpm/commit/25d9a5684

Comment 5 Ivo Bek 2014-04-29 11:10:03 UTC
Verified in BPMS 6.0.2.ER2


Note You need to log in before you can comment on or make changes to this bug.