ICEfaces
  1. ICEfaces
  2. ICE-5937

autoComplete does not work with chinese input

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Won't Fix
    • Affects Version/s: 1.8.2-EE-GA_P01
    • Fix Version/s: EE-1.8.2.GA_P03
    • Component/s: ICE-Components
    • Labels:
      None
    • Environment:
      -

      Description

      When a user types Chinese characters, the autoComplete does not work until you press the down key. However, it is not intuitive that the down key should be pressed and should be automatic. Placing a system.out in the autoComplete valueChangeListener shows that chinese input is unrecognizable:

      ** Chinese character input:? **
      ** Chinese character input:?? **
      ** Chinese character input:??? **

      Attached is a test case based on our autoComplete tutorial and sample input can be found here: http://cn.yahoo.com/

        Activity

        Tyler Johnson created issue -
        Tyler Johnson made changes -
        Field Original Value New Value
        Attachment SC9329-AutoCompleteChinese.war [ 12462 ]
        Tyler Johnson made changes -
        Issue Type Improvement [ 4 ] Bug [ 1 ]
        Salesforce Case [5007000000D3Cwd]
        Tyler Johnson made changes -
        Description Placing a system.out in the autoComplete valueChangeListener shows that chinese input is unrecognizable:

        ** Chinese character input:? **
        ** Chinese character input:?? **
        ** Chinese character input:??? **

        Attached is a test case based on our autoComplete tutorial and sample input can be found here: http://cn.yahoo.com/

        When a user types Chinese characters, the autoComplete does not work until you press the down key. However, it is not intuitive that the down key should be pressed and should be automatic. Placing a system.out in the autoComplete valueChangeListener shows that chinese input is unrecognizable:

        ** Chinese character input:? **
        ** Chinese character input:?? **
        ** Chinese character input:??? **

        Attached is a test case based on our autoComplete tutorial and sample input can be found here: http://cn.yahoo.com/

        Tyler Johnson made changes -
        Summary autoComplete does not allow for chinese input autoComplete does not work with chinese input
        Ken Fyten made changes -
        Assignee Priority P3
        Assignee Yip Ng [ yip.ng ]
        Ken Fyten made changes -
        Fix Version/s 1.8.2-EE-GA_P03 [ 10251 ]
        Assignee Priority P3
        Hide
        yip.ng added a comment - - edited

        Got the following exception when building and running app. in Intellij:

        SEVERE: Servlet.service() for servlet jsp threw exception
        java.lang.LinkageError: loader constraints violated when linking javax/el/ExpressionFactory class
        at org.apache.jsp.index_jsp._jspInit(index_jsp.java:22)
        at org.apache.jasper.runtime.HttpJspBase.init(HttpJspBase.java:52)
        at org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:159)
        at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:329)
        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
        at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:861)
        at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579)
        at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1584)
        at java.lang.Thread.run(Thread.java:595)

        Show
        yip.ng added a comment - - edited Got the following exception when building and running app. in Intellij: SEVERE: Servlet.service() for servlet jsp threw exception java.lang.LinkageError: loader constraints violated when linking javax/el/ExpressionFactory class at org.apache.jsp.index_jsp._jspInit(index_jsp.java:22) at org.apache.jasper.runtime.HttpJspBase.init(HttpJspBase.java:52) at org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:159) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:329) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:861) at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579) at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1584) at java.lang.Thread.run(Thread.java:595)
        Hide
        yip.ng added a comment -

        Set up code in component showcase to run sample.

        Show
        yip.ng added a comment - Set up code in component showcase to run sample.
        yip.ng made changes -
        Attachment screenshot-01.png [ 12791 ]
        Hide
        yip.ng added a comment - - edited

        Chinese characters do get input and transmitted to server successfully. See video at http://screencast.com/t/oQdkecmtzE and screenshot 1.

        The characters display as question marks because the program doing the display can't handle the Unicode characters properly, as can be seen in screenshot 1, where Intellij (or Tomcat?) can't display the characters with the correct Unicode.

        The handling of key events for displaying the list is a big problem. As can be seen from the video, the key sequences for inputting a character is totally different from English ASCII input, and they can be different from input method to input method and keyboard to keyboard. And what about copying and pasting a character or a string of characters? And what about mix typing English characters and Chinese characters? All these the auto complete component can't seem to handle. Seems it can only handle ASCII input where one key maps to one character.

        Show
        yip.ng added a comment - - edited Chinese characters do get input and transmitted to server successfully. See video at http://screencast.com/t/oQdkecmtzE and screenshot 1. The characters display as question marks because the program doing the display can't handle the Unicode characters properly, as can be seen in screenshot 1, where Intellij (or Tomcat?) can't display the characters with the correct Unicode. The handling of key events for displaying the list is a big problem. As can be seen from the video, the key sequences for inputting a character is totally different from English ASCII input, and they can be different from input method to input method and keyboard to keyboard. And what about copying and pasting a character or a string of characters? And what about mix typing English characters and Chinese characters? All these the auto complete component can't seem to handle. Seems it can only handle ASCII input where one key maps to one character.
        Hide
        Ken Fyten added a comment -

        Given the complex nature of this issue, it is not feasible for us to attempt to address this on the ice:selectInputText component. It may be possible to improve support for none-ASCII text input with a new auto-complete component as part of the ICEfaces Advanced Components initiative.

        Show
        Ken Fyten added a comment - Given the complex nature of this issue, it is not feasible for us to attempt to address this on the ice:selectInputText component. It may be possible to improve support for none-ASCII text input with a new auto-complete component as part of the ICEfaces Advanced Components initiative.
        Ken Fyten made changes -
        Status Open [ 1 ] Closed [ 6 ]
        Resolution Won't Fix [ 2 ]

          People

          • Assignee:
            yip.ng
            Reporter:
            Tyler Johnson
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: