Uploaded image for project: 'XWiki Platform'
  1. XWiki Platform
  2. XWIKI-11770

XWQL doesn't support Unicode characters in the class name

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Critical
    • Resolution: Invalid
    • Affects Version/s: 6.4
    • Fix Version/s: None
    • Component/s: Query
    • Labels:
      None
    • Difficulty:
      Unknown
    • Similar issues:

      Description

      The following HQL query works fine:

      $services.query.hql(", BaseObject as obj where doc.fullName = obj.name and obj.className = 'TâchesTrésorerieCode.TâchesTrésorerieClass'").execute()
      

      While the equivalent XWQL query:

      $services.query.xwql('from doc.object(TâchesTrésorerieCode.TâchesTrésorerieClass)').execute()
      

      throws:

      Caused by: org.xwiki.query.QueryException: Exception while translating [from doc.object(TâchesTrésorerieCode.TâchesTrésorerieClass)] XWQL query to the [hql] language. Query statement = [from doc.object(TâchesTrésorerieCode.TâchesTrésorerieClass)]
      	at org.xwiki.query.xwql.internal.XWQLQueryExecutor.execute(XWQLQueryExecutor.java:102)
      	at org.xwiki.query.internal.DefaultQueryExecutorManager.execute(DefaultQueryExecutorManager.java:71)
      	at org.xwiki.query.internal.SecureQueryExecutorManager.execute(SecureQueryExecutorManager.java:90)
      	at org.xwiki.query.internal.DefaultQuery.execute(DefaultQuery.java:248)
      	at org.xwiki.query.internal.ScriptQuery.execute(ScriptQuery.java:236)
      	at sun.reflect.GeneratedMethodAccessor451.invoke(Unknown Source)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.lang.reflect.Method.invoke(Method.java:606)
      	at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke(UberspectImpl.java:395)
      	at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:384)
      	at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:173)
      	... 125 more
      Caused by: org.xwiki.query.jpql.lexer.LexerException: [1,56] Unknown token: â
      	at org.xwiki.query.jpql.lexer.Lexer.getToken(Lexer.java:809)
      	at org.xwiki.query.jpql.lexer.Lexer.peek(Lexer.java:36)
      	at org.xwiki.query.jpql.parser.Parser.parse(Parser.java:110)
      	at org.xwiki.query.jpql.internal.JPQLParser.parse(JPQLParser.java:46)
      	at org.xwiki.query.xwql.internal.hql.XWQLtoHQLTranslator.translate(XWQLtoHQLTranslator.java:55)
      	at org.xwiki.query.xwql.internal.XWQLQueryExecutor.execute(XWQLQueryExecutor.java:79)
      	... 135 more
      

      This affects for instance the AppWithinMinutes class editor, which uses such a query to retrieve all the application entries when you rename a field. This means you cannot rename a field from an application created with AppWithinMinutes if the application name contains Unicode characters (accents).

        Attachments

          Activity

            People

            • Assignee:
              mflorea Marius Dumitru Florea
              Reporter:
              mflorea Marius Dumitru Florea
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: