-
Type: Bug
-
Status: Resolved
-
Priority: Blocker
-
Resolution: Fixed
-
Affects Version/s: 5.8.0-HF18, 5.9.4
-
Fix Version/s: 5.8.0-HF19, 5.9.5
-
Component/s: Elasticsearch
-
Tags:
When you have a where clause in which a parameter is list, the produced query looks like:
.. WHERE ecm:currentLifeCycleState IN [x, y, d, s]
should be
.. WHERE ecm:currentLifeCycleState IN ('x', 'y', 'd', 's')
Resulting stacktrace:
Caused by: javax.el.ELException: /incl/documents_layout_table.xhtml @37,35 test="#{documents != null}": /incl/content_view.xhtml @210,82 value="#{provider.currentSelectPage}": Error reading 'currentSelectPage' on type org.nuxeo.elasticsearch.provider.ElasticSearchNxqlPageProvider at com.sun.facelets.el.TagValueExpression.getValue(TagValueExpression.java:76) at com.sun.facelets.tag.TagAttribute.getObject(TagAttribute.java:233) at com.sun.facelets.tag.TagAttribute.getBoolean(TagAttribute.java:79) at com.sun.facelets.tag.jstl.core.IfHandler.apply(IfHandler.java:49) at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47) at com.sun.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:49) at com.sun.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:25) at org.nuxeo.theme.jsf.facelets.vendor.DefaultFacelet.include(DefaultFacelet.java:256) at org.nuxeo.theme.jsf.facelets.vendor.DefaultFacelet.include(DefaultFacelet.java:306) at org.nuxeo.theme.jsf.facelets.vendor.DefaultFacelet.include(DefaultFacelet.java:280) at org.nuxeo.theme.jsf.facelets.vendor.DefaultFaceletContext.includeFacelet(DefaultFaceletContext.java:169) at com.sun.facelets.tag.ui.DecorateHandler.apply(DecorateHandler.java:105) at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47) at com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:314) at com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:169) at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47) at org.nuxeo.ecm.platform.ui.web.binding.alias.AliasTagHandler.apply(AliasTagHandler.java:167) at org.nuxeo.ecm.platform.ui.web.tag.handler.SetTagHandler.apply(SetTagHandler.java:133) at com.sun.facelets.tag.jstl.core.IfHandler.apply(IfHandler.java:54) at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47) at org.nuxeo.ecm.platform.ui.web.binding.alias.AliasTagHandler.apply(AliasTagHandler.java:167) at org.nuxeo.ecm.platform.ui.web.tag.handler.SetTagHandler.apply(SetTagHandler.java:133) at com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:314) at com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:169) at com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:314) at com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:169) at org.nuxeo.ecm.platform.ui.web.binding.alias.AliasTagHandler.apply(AliasTagHandler.java:167) at org.nuxeo.ecm.platform.ui.web.tag.handler.SetTagHandler.apply(SetTagHandler.java:133) at org.nuxeo.ecm.platform.ui.web.binding.alias.AliasTagHandler.apply(AliasTagHandler.java:167) at org.nuxeo.ecm.platform.ui.web.tag.handler.SetTagHandler.apply(SetTagHandler.java:133) at org.nuxeo.ecm.platform.ui.web.binding.alias.AliasTagHandler.apply(AliasTagHandler.java:167) at org.nuxeo.ecm.platform.ui.web.tag.handler.SetTagHandler.apply(SetTagHandler.java:133) at org.nuxeo.ecm.platform.ui.web.binding.alias.AliasTagHandler.apply(AliasTagHandler.java:167) at org.nuxeo.ecm.platform.ui.web.tag.handler.SetTagHandler.apply(SetTagHandler.java:133) at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47) at com.sun.facelets.tag.jstl.core.IfHandler.apply(IfHandler.java:54) at org.nuxeo.ecm.platform.ui.web.binding.alias.AliasTagHandler.apply(AliasTagHandler.java:167) at org.nuxeo.ecm.platform.ui.web.tag.handler.SetTagHandler.apply(SetTagHandler.java:133) at org.nuxeo.ecm.platform.ui.web.binding.alias.AliasTagHandler.apply(AliasTagHandler.java:167) at org.nuxeo.ecm.platform.ui.web.tag.handler.SetTagHandler.apply(SetTagHandler.java:133) at org.nuxeo.ecm.platform.ui.web.binding.alias.AliasTagHandler.apply(AliasTagHandler.java:167) at org.nuxeo.ecm.platform.ui.web.tag.handler.SetTagHandler.apply(SetTagHandler.java:133) at org.nuxeo.ecm.platform.ui.web.binding.alias.AliasTagHandler.apply(AliasTagHandler.java:167) at org.nuxeo.ecm.platform.ui.web.tag.handler.SetTagHandler.apply(SetTagHandler.java:133) at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47) at com.sun.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:49) at com.sun.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:25) at org.nuxeo.theme.jsf.facelets.vendor.DefaultFacelet.include(DefaultFacelet.java:256) at org.nuxeo.theme.jsf.facelets.vendor.DefaultFacelet.include(DefaultFacelet.java:306) at org.nuxeo.theme.jsf.facelets.vendor.DefaultFacelet.include(DefaultFacelet.java:280) at org.nuxeo.theme.jsf.facelets.vendor.DefaultFaceletContext.includeFacelet(DefaultFaceletContext.java:169) at com.sun.facelets.tag.ui.DecorateHandler.apply(DecorateHandler.java:105) at org.nuxeo.ecm.platform.ui.web.binding.alias.AliasTagHandler.apply(AliasTagHandler.java:167) at org.nuxeo.ecm.platform.ui.web.tag.handler.SetTagHandler.apply(SetTagHandler.java:133) at org.nuxeo.ecm.platform.ui.web.binding.alias.AliasTagHandler.apply(AliasTagHandler.java:167) at org.nuxeo.ecm.platform.ui.web.tag.handler.SetTagHandler.apply(SetTagHandler.java:133) at com.sun.facelets.tag.jstl.core.ForEachHandler.apply(ForEachHandler.java:175) at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47) at com.sun.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:49) at com.sun.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:25) at org.nuxeo.theme.jsf.facelets.vendor.DefaultFacelet.include(DefaultFacelet.java:256) at org.nuxeo.theme.jsf.facelets.vendor.DefaultFacelet.include(DefaultFacelet.java:306) at org.nuxeo.theme.jsf.facelets.vendor.DefaultFacelet.include(DefaultFacelet.java:280) at org.nuxeo.theme.jsf.facelets.vendor.DefaultFaceletContext.includeFacelet(DefaultFaceletContext.java:169) at com.sun.facelets.tag.ui.IncludeHandler.apply(IncludeHandler.java:65) at com.sun.facelets.tag.jstl.core.ChooseWhenHandler.apply(ChooseWhenHandler.java:45) at com.sun.facelets.tag.jstl.core.ChooseHandler.apply(ChooseHandler.java:68) at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47) at com.sun.facelets.tag.jstl.core.IfHandler.apply(IfHandler.java:54) at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47) at com.sun.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:49) at com.sun.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:25) at org.nuxeo.theme.jsf.facelets.vendor.DefaultFacelet.include(DefaultFacelet.java:256) at org.nuxeo.theme.jsf.facelets.vendor.DefaultFacelet.include(DefaultFacelet.java:306) at org.nuxeo.theme.jsf.facelets.vendor.DefaultFacelet.include(DefaultFacelet.java:280) at org.nuxeo.theme.jsf.facelets.vendor.DefaultFaceletContext.includeFacelet(DefaultFaceletContext.java:169) at com.sun.facelets.tag.ui.IncludeHandler.apply(IncludeHandler.java:65) at com.sun.facelets.tag.jstl.core.IfHandler.apply(IfHandler.java:54) at com.sun.facelets.tag.jstl.core.IfHandler.apply(IfHandler.java:54) at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47) at com.sun.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:119) at com.sun.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:49) at com.sun.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:25) at org.nuxeo.theme.jsf.facelets.vendor.DefaultFacelet.include(DefaultFacelet.java:256) at org.nuxeo.theme.jsf.facelets.vendor.DefaultFacelet.include(DefaultFacelet.java:306) at org.nuxeo.theme.jsf.facelets.vendor.DefaultFacelet.include(DefaultFacelet.java:280) at org.nuxeo.theme.jsf.facelets.vendor.DefaultFaceletContext.includeFacelet(DefaultFaceletContext.java:169) at com.sun.facelets.tag.ui.DecorateHandler.apply(DecorateHandler.java:105) at org.nuxeo.ecm.platform.ui.web.binding.alias.AliasTagHandler.apply(AliasTagHandler.java:167) at org.nuxeo.ecm.platform.ui.web.binding.alias.AliasTagHandler.apply(AliasTagHandler.java:118) at org.nuxeo.ecm.platform.ui.web.binding.alias.AliasTagHandler.apply(AliasTagHandler.java:167) at org.nuxeo.ecm.platform.ui.web.binding.alias.AliasTagHandler.apply(AliasTagHandler.java:118) at org.nuxeo.ecm.platform.forms.layout.facelets.WidgetTagHandler.applyWidgetHandler(WidgetTagHandler.java:327) at org.nuxeo.ecm.platform.forms.layout.facelets.WidgetTypeTagHandler.apply(WidgetTypeTagHandler.java:316) at org.nuxeo.ecm.platform.ui.web.binding.alias.AliasTagHandler.apply(AliasTagHandler.java:167) at org.nuxeo.ecm.platform.ui.web.tag.handler.SetTagHandler.apply(SetTagHandler.java:133) at org.nuxeo.ecm.platform.ui.web.binding.alias.AliasTagHandler.apply(AliasTagHandler.java:167) at org.nuxeo.ecm.platform.ui.web.tag.handler.SetTagHandler.apply(SetTagHandler.java:133) at org.nuxeo.ecm.platform.ui.web.binding.alias.AliasTagHandler.apply(AliasTagHandler.java:167) at org.nuxeo.ecm.platform.ui.web.tag.handler.SetTagHandler.apply(SetTagHandler.java:133) at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47) at com.sun.facelets.tag.jstl.core.IfHandler.apply(IfHandler.java:54) at com.sun.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:49) at com.sun.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:25) at org.nuxeo.theme.jsf.facelets.vendor.DefaultFacelet.include(DefaultFacelet.java:256) at org.nuxeo.theme.jsf.facelets.vendor.DefaultFacelet.include(DefaultFacelet.java:306) at org.nuxeo.theme.jsf.facelets.vendor.DefaultFacelet.include(DefaultFacelet.java:280) at org.nuxeo.theme.jsf.facelets.vendor.DefaultFaceletContext.includeFacelet(DefaultFaceletContext.java:169) at com.sun.facelets.tag.ui.IncludeHandler.apply(IncludeHandler.java:65) at org.nuxeo.ecm.platform.ui.web.binding.alias.AliasTagHandler.apply(AliasTagHandler.java:167) at org.nuxeo.ecm.platform.ui.web.tag.handler.SetTagHandler.apply(SetTagHandler.java:133) at org.nuxeo.ecm.platform.ui.web.binding.alias.AliasTagHandler.apply(AliasTagHandler.java:167) at org.nuxeo.ecm.platform.ui.web.tag.handler.SetTagHandler.apply(SetTagHandler.java:133) at org.nuxeo.ecm.platform.ui.web.binding.alias.AliasTagHandler.apply(AliasTagHandler.java:167) at org.nuxeo.ecm.platform.ui.web.tag.handler.SetTagHandler.apply(SetTagHandler.java:133) at org.nuxeo.ecm.platform.ui.web.binding.alias.AliasTagHandler.apply(AliasTagHandler.java:167) at org.nuxeo.ecm.platform.ui.web.tag.handler.SetTagHandler.apply(SetTagHandler.java:133) at com.sun.facelets.tag.jstl.core.IfHandler.apply(IfHandler.java:54) at com.sun.facelets.tag.ui.InsertHandler.apply(InsertHandler.java:73) at com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:314) at com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:169) at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47) at com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:314) at org.nuxeo.ecm.platform.ui.web.component.holder.ValueHolderTagHandler.applyNextHandler(ValueHolderTagHandler.java:109) at com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:169) at org.nuxeo.ecm.platform.ui.web.binding.alias.AliasTagHandler.apply(AliasTagHandler.java:167) at org.nuxeo.ecm.platform.ui.web.tag.handler.SetTagHandler.apply(SetTagHandler.java:133) at org.nuxeo.ecm.platform.ui.web.binding.alias.AliasTagHandler.apply(AliasTagHandler.java:167) at org.nuxeo.ecm.platform.ui.web.tag.handler.SetTagHandler.apply(SetTagHandler.java:133) at org.nuxeo.ecm.platform.ui.web.binding.alias.AliasTagHandler.apply(AliasTagHandler.java:167) at org.nuxeo.ecm.platform.ui.web.tag.handler.SetTagHandler.apply(SetTagHandler.java:133) at org.nuxeo.ecm.platform.ui.web.binding.alias.AliasTagHandler.apply(AliasTagHandler.java:167) at org.nuxeo.ecm.platform.ui.web.tag.handler.SetTagHandler.apply(SetTagHandler.java:133) at org.nuxeo.ecm.platform.ui.web.binding.alias.AliasTagHandler.apply(AliasTagHandler.java:167) at org.nuxeo.ecm.platform.ui.web.tag.handler.SetTagHandler.apply(SetTagHandler.java:133) at com.sun.facelets.tag.jstl.core.IfHandler.apply(IfHandler.java:54) at com.sun.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:49) at com.sun.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:25) at org.nuxeo.theme.jsf.facelets.vendor.DefaultFacelet.include(DefaultFacelet.java:256) at org.nuxeo.theme.jsf.facelets.vendor.DefaultFacelet.include(DefaultFacelet.java:306) at org.nuxeo.theme.jsf.facelets.vendor.DefaultFacelet.include(DefaultFacelet.java:280) at org.nuxeo.theme.jsf.facelets.vendor.DefaultFaceletContext.includeFacelet(DefaultFaceletContext.java:169) at com.sun.facelets.tag.ui.DecorateHandler.apply(DecorateHandler.java:105) at org.nuxeo.ecm.platform.ui.web.binding.alias.AliasTagHandler.apply(AliasTagHandler.java:167) at org.nuxeo.ecm.platform.ui.web.binding.alias.AliasTagHandler.apply(AliasTagHandler.java:118) at org.nuxeo.ecm.platform.ui.web.binding.alias.AliasTagHandler.apply(AliasTagHandler.java:167) at org.nuxeo.ecm.platform.ui.web.binding.alias.AliasTagHandler.apply(AliasTagHandler.java:118) at org.nuxeo.ecm.platform.forms.layout.facelets.WidgetTagHandler.applyWidgetHandler(WidgetTagHandler.java:327) at org.nuxeo.ecm.platform.forms.layout.facelets.WidgetTagHandler.apply(WidgetTagHandler.java:261) at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47) at com.sun.facelets.tag.ui.DefineHandler.applyDefinition(DefineHandler.java:64) at org.nuxeo.theme.jsf.facelets.CompositionHandler.apply(CompositionHandler.java:191) at org.nuxeo.theme.jsf.facelets.vendor.DefaultFaceletContext$TemplateManager.apply(DefaultFaceletContext.java:385) at org.nuxeo.theme.jsf.facelets.vendor.DefaultFaceletContext.includeDefinition(DefaultFaceletContext.java:353) at com.sun.facelets.tag.ui.InsertHandler.apply(InsertHandler.java:68) at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47) at com.sun.facelets.tag.jsf.core.ViewHandler.apply(ViewHandler.java:109) at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47) at com.sun.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:49) at com.sun.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:25) at org.nuxeo.theme.jsf.facelets.vendor.DefaultFacelet.include(DefaultFacelet.java:256) at org.nuxeo.theme.jsf.facelets.vendor.DefaultFacelet.include(DefaultFacelet.java:306) at org.nuxeo.theme.jsf.facelets.vendor.DefaultFaceletContext.includeFacelet(DefaultFaceletContext.java:308) at org.nuxeo.theme.jsf.facelets.CompositionHandler.apply(CompositionHandler.java:167) at com.sun.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:49) at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47) at com.sun.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:25) at org.nuxeo.theme.jsf.facelets.vendor.DefaultFacelet.apply(DefaultFacelet.java:104) at com.sun.facelets.FaceletViewHandler.buildView(FaceletViewHandler.java:524) at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:567) at org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:100) at org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:176) at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:110) at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100) at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139) at org.nuxeo.ecm.platform.ui.web.lifecycle.NuxeoLifeCycleImpl.render(NuxeoLifeCycleImpl.java:98) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:266) ... 82 more Caused by: org.nuxeo.ecm.core.query.QueryParseException: org.nuxeo.ecm.core.query.QueryParseException: Lexical Error: Illegal character <[> at offset 146 at org.nuxeo.ecm.core.query.sql.SQLQueryParser.parse(SQLQueryParser.java:41) at org.nuxeo.elasticsearch.query.NxqlQueryConverter.toESQueryBuilder(NxqlQueryConverter.java:164) at org.nuxeo.elasticsearch.query.PageProviderQueryBuilder.makeQuery(PageProviderQueryBuilder.java:81) at org.nuxeo.elasticsearch.provider.ElasticSearchNativePageProvider.makeQueryBuilder(ElasticSearchNativePageProvider.java:100) at org.nuxeo.elasticsearch.provider.ElasticSearchNativePageProvider.getCurrentPage(ElasticSearchNativePageProvider.java:64) at org.nuxeo.ecm.platform.query.api.AbstractPageProvider.getCurrentSelectPage(AbstractPageProvider.java:578) 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 javax.el.BeanELResolver.getValue(BeanELResolver.java:87) at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:67) at com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:72) at org.jboss.el.parser.AstPropertySuffix.getValue(AstPropertySuffix.java:53) at org.jboss.el.parser.AstValue.getValue(AstValue.java:67) at org.jboss.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186) at com.sun.facelets.el.TagValueExpression.getValue(TagValueExpression.java:71) at org.jboss.el.parser.AstIdentifier.getValue(AstIdentifier.java:40) at org.jboss.el.parser.AstNotEqual.getValue(AstNotEqual.java:21) at org.jboss.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186) at com.sun.facelets.el.TagValueExpression.getValue(TagValueExpression.java:71) ... 258 more Caused by: org.nuxeo.ecm.core.query.QueryParseException: Lexical Error: Illegal character <[> at offset 146 at org.nuxeo.ecm.core.query.sql.parser.Scanner.scanError(Scanner.java:690) at org.nuxeo.ecm.core.query.sql.parser.Scanner.next_token(Scanner.java:1123) at java_cup.runtime.lr_parser.scan(lr_parser.java:335) at java_cup.runtime.lr_parser.parse(lr_parser.java:563) at org.nuxeo.ecm.core.query.sql.SQLQueryParser.parse(SQLQueryParser.java:39) ... 278 more
This is reproducible when declaring a content view in studio with such a Query filter / Query parameters and based on org.nuxeo.elasticsearch.provider.ElasticSearchNxqlPageProvider