ICEfaces
  1. ICEfaces
  2. ICE-7778

ace:fileEntry component affect input components when special characters are used

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: EE-2.0.0.GA, 2.0.2, 3.0
    • Fix Version/s: 3.0.1, EE-3.0.0.GA
    • Component/s: ACE-Components
    • Labels:
      None
    • Environment:
      ICEfaces 3.0, ICEfaces 2.0.0.GA Chrome 17, FF10, IE9. JSF Mojarra 2.1.2 - 2.1.7. Tomcat 7

      Description

      Special signs like the german umlauts (ä, ö, ü) or the Euro sign (€) become unreadable when the text area or input filed are used with the ace:fileEntry component. As soon as you hit the upload button, the special signs in the input components are replaced with unreadable signs (FF and IE). In Chrome unreadable signs appear in the text area only after submit. After page refresh however they appear in both components.
      Removal of the <ace:fileEntry /> component from the page will fix this issue.

      Screen shots and source files are attached to reproduce this behavior.
      1. FormBean.java
        2 kB
        Evgheni Sadovoi
      2. welcomeICEfaces.xhtml
        1 kB
        Evgheni Sadovoi
      1. afterPageRefreshChrome.jpg
        14 kB
      2. afterSubmit_FF_and_IE.jpg
        13 kB
      3. afterSubmitChrome.jpg
        14 kB
      4. beforeSubmit.jpg
        15 kB

        Issue Links

          Activity

          Evgheni Sadovoi created issue -
          Evgheni Sadovoi made changes -
          Field Original Value New Value
          Attachment afterPageRefreshChrome.jpg [ 14069 ]
          Attachment afterSubmit_FF_and_IE.jpg [ 14070 ]
          Attachment afterSubmitChrome.jpg [ 14071 ]
          Evgheni Sadovoi made changes -
          Attachment beforeSubmit.jpg [ 14072 ]
          Evgheni Sadovoi made changes -
          Attachment FormBean.java [ 14073 ]
          Attachment welcomeICEfaces.xhtml [ 14074 ]
          Evgheni Sadovoi made changes -
          Salesforce Case [5007000000KGba3]
          Evgheni Sadovoi made changes -
          Assignee Ken Fyten [ ken.fyten ]
          Ken Fyten made changes -
          Fix Version/s 3.0.1 [ 10282 ]
          Assignee Priority P2
          Assignee Ken Fyten [ ken.fyten ] Mark Collette [ mark.collette ]
          Hide
          Bernhard Schenk added a comment -

          The issue still exists. See ICE-6570 .
          There is a patch attached.

          Show
          Bernhard Schenk added a comment - The issue still exists. See ICE-6570 . There is a patch attached.
          Mark Collette made changes -
          Link This issue duplicates ICE-6570 [ ICE-6570 ]
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #28105 Thu Mar 01 08:54:13 MST 2012 mark.collette ICE-7778 : ace:fileEntry component affect input components when special characters are used
          Files Changed
          Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/fileentry/FileEntryPhaseListener.java
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #28106 Thu Mar 01 09:10:37 MST 2012 mark.collette ICE-7778 : ace:fileEntry component affect input components when special characters are used
          Files Changed
          Commit graph MODIFY /icefaces3/branches/icefaces-3.0.x-maintenance/icefaces/ace/component/src/org/icefaces/ace/component/fileentry/FileEntryPhaseListener.java
          Hide
          Mark Collette added a comment -

          Using some of the test code from this jira, I was able to reproduce the issue. And using code based from the patch from ICE-6570, the issue was resolved.

          One lingering side note is that the dom differencing still detects a change for the inputTextarea rendering, since the old dom contains the regular string, and the new dom contains and escaped sequence. This might indicate that our dom save/restore deserialization code unescapes characters.

          <textarea id="example-form:Comments">[0]<#text> :: Value changed from 'HELLO ????? THERE' to 'HELLO £¢?üå THERE'

          At least the text is no longer being corrupted.

          icefaces 3 trunk
          Subversion 28105

          icefaces-3.0.x-maintenance
          Subversion 28106

          Show
          Mark Collette added a comment - Using some of the test code from this jira, I was able to reproduce the issue. And using code based from the patch from ICE-6570 , the issue was resolved. One lingering side note is that the dom differencing still detects a change for the inputTextarea rendering, since the old dom contains the regular string, and the new dom contains and escaped sequence. This might indicate that our dom save/restore deserialization code unescapes characters. <textarea id="example-form:Comments"> [0] <#text> :: Value changed from 'HELLO ????? THERE' to 'HELLO £¢?üå THERE' At least the text is no longer being corrupted. icefaces 3 trunk Subversion 28105 icefaces-3.0.x-maintenance Subversion 28106
          Mark Collette made changes -
          Status Open [ 1 ] Resolved [ 5 ]
          Resolution Fixed [ 1 ]
          Hide
          Mark Collette added a comment -

          To reproduce / debug the issue, I made the following code changes to the showcase ace:fileEntry example.

          Added this to: icefaces3/samples/showcase/showcase/src/main/webapp/resources/examples/ace/fileentry/fileentry.xhtml
          <h:panelGrid columns="2">
          <ice:outputText value="Name :"/>
          <ice:panelGroup>
          <ice:inputText id="Name" value="#

          {fileEntry.testName}

          "/>
          <ice:message for="Name"/>
          </ice:panelGroup>
          <ice:outputText value="Comments :"/>
          <ice:panelGroup>
          <ice:inputTextarea id="Comments" value="#

          {fileEntry.testComments}

          " cols="40" rows="3" />
          <ice:message for="Comments"/>
          </ice:panelGroup>
          </h:panelGrid>

          And made it so it no longer had required="true" on the fileEntry in that form, so I wouldn't have to actually upload a file to test this.

          And this to: icefaces3/samples/showcase/showcase/src/main/java/org/icefaces/samples/showcase/example/ace/file/FileEntryBean.java

          private String testName = "HELLO £¢≠üå", testComments = "HELLO £¢≠üå";
          public String getTestName()

          { System.out.println("getTestName: " + testName); return testName; }

          public void setTestName(String tn)

          { testName = tn; System.out.println("setTestName: " + testName);}

          public String getTestComments()

          { System.out.println("getTestComments: " + testComments); return testComments; }

          public void setTestComments(String tc)

          { testComments = tc; System.out.println("setTestComments: " + testComments); }
          Show
          Mark Collette added a comment - To reproduce / debug the issue, I made the following code changes to the showcase ace:fileEntry example. Added this to: icefaces3/samples/showcase/showcase/src/main/webapp/resources/examples/ace/fileentry/fileentry.xhtml <h:panelGrid columns="2"> <ice:outputText value="Name :"/> <ice:panelGroup> <ice:inputText id="Name" value="# {fileEntry.testName} "/> <ice:message for="Name"/> </ice:panelGroup> <ice:outputText value="Comments :"/> <ice:panelGroup> <ice:inputTextarea id="Comments" value="# {fileEntry.testComments} " cols="40" rows="3" /> <ice:message for="Comments"/> </ice:panelGroup> </h:panelGrid> And made it so it no longer had required="true" on the fileEntry in that form, so I wouldn't have to actually upload a file to test this. And this to: icefaces3/samples/showcase/showcase/src/main/java/org/icefaces/samples/showcase/example/ace/file/FileEntryBean.java private String testName = "HELLO £¢≠üå", testComments = "HELLO £¢≠üå"; public String getTestName() { System.out.println("getTestName: " + testName); return testName; } public void setTestName(String tn) { testName = tn; System.out.println("setTestName: " + testName);} public String getTestComments() { System.out.println("getTestComments: " + testComments); return testComments; } public void setTestComments(String tc) { testComments = tc; System.out.println("setTestComments: " + testComments); }
          Ken Fyten made changes -
          Fix Version/s EE-3.0.0.GA [ 10262 ]
          Ken Fyten made changes -
          Status Resolved [ 5 ] Closed [ 6 ]
          Assignee Priority P2

            People

            • Assignee:
              Mark Collette
              Reporter:
              Evgheni Sadovoi
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: