ICEfaces
  1. ICEfaces
  2. ICE-1537

<ice:outputText> converter attribute not calling custom converter if value is a java.lang.String

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.6DR#3
    • Fix Version/s: 1.6.2, 1.7DR#1, 1.7
    • Component/s: ICE-Components
    • Labels:
      None
    • Environment:
      Win XP / Tomcat 5.5.17 / Liferay 4.3

      Description

      If I have something like this:

      <ice:outputText converter="MyConverter" value="#{MyBean.value}"/>

      The MyConverer.getAsString() method does not get called if MyBean.getValue() returns a java.lang.String object.
      See: http://java.sun.com/javaee/javaserverfaces/1.1_01/docs/api/javax/faces/convert/Converter.html

      In the forum post, the user named "edykory" identified a fix:

      > Edit core\src\com\icesoft\faces\renderkit\dom_html_basic\DomBasicRenderer.java
      > and comment out around line 217:
      >
      > if (currentValue instanceof String) {
      > return (String) currentValue;
      > }
       
      My guess is that you all put this code in there to increase performance, but you're assuming that the Converter would not want to convert the java.lang.String value into some other type of String.

      For example, you might want to convert the String "true" to "Yes" or "false" to "No".

        Activity

          People

          • Assignee:
            Unassigned
            Reporter:
            Neil Griffin
          • Votes:
            3 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: