Uploaded image for project: 'CMS'
  1. CMS
  2. CMS-4227

Backoffice Search and multivalues

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major Major
    • 3.4.2, 3.5
    • None
    • None
    • None

      Search in backoffice for title 'toto' is converted to
      title like '%toto%'
      Search in backoffice for title 'toto,titi' is converted to
      title like '%toto%' or title like '%titi%'
      Search in backoffice for title 'toto,titi' and lastmodifier before 2/2/13 is converted to
      title like '%toto%' or title like '%titi%' and lastmodified < '2013-02-02'

      As you can see, there are missing parenthesis, should be
      (title like '%toto%' or title like '%titi%') and lastmodified < '2013-02-02'

          [CMS-4227] Backoffice Search and multivalues

          Laurence Aumeunier added a comment - - edited

          Do not work in 3.4.x

          Query:

          //element(*, ametys:content)[(( and (@ametys-internal:contentType ='com.anwrt.ub3.siteweb.plugins.ub3.Content.researchcenter' or @ametys-internal:contentType ='org.ametys.web.default.Content.article' or @ametys-internal:contentType ='org.ametys.plugins.multimedia.Content.multimediaGallery' or @ametys-internal:contentType ='org.ametys.plugins.multimedia.Content.audioGallery' or @ametys-internal:contentType ='com.anwrt.ub3.siteweb.plugins.ub3.Content.personne' or @ametys-internal:contentType ='org.ametys.plugins.faq.Content.faq' or @ametys-internal:contentType ='org.ametys.plugins.news.Content.news' or @ametys-internal:contentType ='org.ametys.plugins.myfavorites.Content.myfavorites' or @ametys-internal:contentType ='org.ametys.plugins.multimedia.Content.photosGallery' or @ametys-internal:contentType ='com.anwrt.ub3.siteweb.plugins.ub3.Content.service' or @ametys-internal:contentType ='com.anwrt.ub3.siteweb.plugins.ub3.Content.assoc' or @ametys-internal:contentType ='com.anwrt.ub3.siteweb.plugins.ub3.Content.biblio' or @ametys-internal:contentType ='com.anwrt.ub3.siteweb.plugins.ub3.Content.structure' or @ametys-internal:contentType ='org.ametys.plugins.blog.Content.post' or @ametys-internal:contentType ='org.ametys.plugins.blog.Content.profile') and (@ametys-internal:language ='fr')) and @ametys:site = 'default')] order by fn:lower-case(@ametys:title)
          

          Error:

          Caused by: javax.jcr.query.InvalidQueryException: Trailing spaces not allowed
           at org.apache.jackrabbit.spi.commons.query.xpath.XPathQueryBuilder.<init>(XPathQueryBuilder.java:312)
           at org.apache.jackrabbit.spi.commons.query.xpath.XPathQueryBuilder.createQuery(XPathQueryBuilder.java:331)
           at org.apache.jackrabbit.spi.commons.query.xpath.QueryBuilder.createQueryTree(QueryBuilder.java:39)
           at org.apache.jackrabbit.spi.commons.query.QueryParser.parse(QueryParser.java:57)
           at org.apache.jackrabbit.core.query.lucene.QueryImpl.<init>(QueryImpl.java:91)
           at org.apache.jackrabbit.core.query.lucene.SearchIndex.createExecutableQuery(SearchIndex.java:713)
           at org.apache.jackrabbit.core.query.QueryImpl.init(QueryImpl.java:115)
           at org.apache.jackrabbit.core.SearchManager.createQuery(SearchManager.java:243)
           at org.apache.jackrabbit.core.query.QueryManagerImpl$QueryFactoryImpl$2.createQuery(QueryManagerImpl.java:222)
           at org.apache.jackrabbit.core.query.CompoundQueryFactory.createQuery(CompoundQueryFactory.java:67)
           at org.apache.jackrabbit.core.query.QueryManagerImpl$2.perform(QueryManagerImpl.java:95)
           at org.apache.jackrabbit.core.query.QueryManagerImpl$2.perform(QueryManagerImpl.java:91)
           at org.apache.jackrabbit.core.session.SessionState.perform(SessionState.java:216)
           at org.apache.jackrabbit.core.query.QueryManagerImpl.perform(QueryManagerImpl.java:197)
           at org.apache.jackrabbit.core.query.QueryManagerImpl.createQuery(QueryManagerImpl.java:91)
           at org.ametys.plugins.repository.AmetysObjectResolver.query(AmetysObjectResolver.java:598)
           at org.ametys.plugins.repository.AmetysObjectResolver.query(AmetysObjectResolver.java:565)
          

          Laurence Aumeunier added a comment - - edited Do not work in 3.4.x Query: //element(*, ametys:content)[(( and (@ametys-internal:contentType = 'com.anwrt.ub3.siteweb.plugins.ub3.Content.researchcenter' or @ametys-internal:contentType = 'org.ametys.web. default .Content.article' or @ametys-internal:contentType = 'org.ametys.plugins.multimedia.Content.multimediaGallery' or @ametys-internal:contentType = 'org.ametys.plugins.multimedia.Content.audioGallery' or @ametys-internal:contentType = 'com.anwrt.ub3.siteweb.plugins.ub3.Content.personne' or @ametys-internal:contentType = 'org.ametys.plugins.faq.Content.faq' or @ametys-internal:contentType = 'org.ametys.plugins.news.Content.news' or @ametys-internal:contentType = 'org.ametys.plugins.myfavorites.Content.myfavorites' or @ametys-internal:contentType = 'org.ametys.plugins.multimedia.Content.photosGallery' or @ametys-internal:contentType = 'com.anwrt.ub3.siteweb.plugins.ub3.Content.service' or @ametys-internal:contentType = 'com.anwrt.ub3.siteweb.plugins.ub3.Content.assoc' or @ametys-internal:contentType = 'com.anwrt.ub3.siteweb.plugins.ub3.Content.biblio' or @ametys-internal:contentType = 'com.anwrt.ub3.siteweb.plugins.ub3.Content.structure' or @ametys-internal:contentType = 'org.ametys.plugins.blog.Content.post' or @ametys-internal:contentType = 'org.ametys.plugins.blog.Content.profile' ) and (@ametys-internal:language = 'fr' )) and @ametys:site = ' default ' )] order by fn:lower- case (@ametys:title) Error: Caused by: javax.jcr.query.InvalidQueryException: Trailing spaces not allowed at org.apache.jackrabbit.spi.commons.query.xpath.XPathQueryBuilder.<init>(XPathQueryBuilder.java:312) at org.apache.jackrabbit.spi.commons.query.xpath.XPathQueryBuilder.createQuery(XPathQueryBuilder.java:331) at org.apache.jackrabbit.spi.commons.query.xpath.QueryBuilder.createQueryTree(QueryBuilder.java:39) at org.apache.jackrabbit.spi.commons.query.QueryParser.parse(QueryParser.java:57) at org.apache.jackrabbit.core.query.lucene.QueryImpl.<init>(QueryImpl.java:91) at org.apache.jackrabbit.core.query.lucene.SearchIndex.createExecutableQuery(SearchIndex.java:713) at org.apache.jackrabbit.core.query.QueryImpl.init(QueryImpl.java:115) at org.apache.jackrabbit.core.SearchManager.createQuery(SearchManager.java:243) at org.apache.jackrabbit.core.query.QueryManagerImpl$QueryFactoryImpl$2.createQuery(QueryManagerImpl.java:222) at org.apache.jackrabbit.core.query.CompoundQueryFactory.createQuery(CompoundQueryFactory.java:67) at org.apache.jackrabbit.core.query.QueryManagerImpl$2.perform(QueryManagerImpl.java:95) at org.apache.jackrabbit.core.query.QueryManagerImpl$2.perform(QueryManagerImpl.java:91) at org.apache.jackrabbit.core.session.SessionState.perform(SessionState.java:216) at org.apache.jackrabbit.core.query.QueryManagerImpl.perform(QueryManagerImpl.java:197) at org.apache.jackrabbit.core.query.QueryManagerImpl.createQuery(QueryManagerImpl.java:91) at org.ametys.plugins.repository.AmetysObjectResolver.query(AmetysObjectResolver.java:598) at org.ametys.plugins.repository.AmetysObjectResolver.query(AmetysObjectResolver.java:565)

          The bug is bigger
          See the request in the screenshot
          Should be orgUnit='' AND lastModified > '' AND lastModified < ''
          But as you can see one result as a different orgUnit !

          Raphaël Franchet added a comment - The bug is bigger See the request in the screenshot Should be orgUnit='' AND lastModified > '' AND lastModified < '' But as you can see one result as a different orgUnit !

            ngavalda Nicolas Gavalda (Inactive)
            raphael Raphaël Franchet
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: