ICEfaces
  1. ICEfaces
  2. ICE-9385

ace:simpleSelectOneMenu - Support 'javax.faces.INTERPRET_EMPTY_STRING_SUBMITTED_VALUES_AS_NULL' (was NullPointerException in ace:simpleSelectOneMenu)

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 3.3
    • Fix Version/s: 4.0.BETA, EE-3.3.0.GA_P02, 4.0
    • Component/s: ACE-Components
    • Labels:
      None
    • Environment:
      Liferay 6.0.5 + Icefaces 3.3
    • Assignee Priority:
      P1
    • Salesforce Case Reference:

      Description

      Whenever ace:simpleSelectOneMenu is populated with null as a value, it throws nullpointerexception in the populateList method of the SimpleSelectOneMenuRenderer class in the org.icefaces.ace.component.simpleselectonemenu package. This happens because while populating the selectMenu the function call the toString() method which causes nullpointerexception as the value is null for that selectitem.
      The complete stacktrace for this error is,

      15:57:53,803 ERROR [jsp:154] java.lang.NullPointerException
      at org.icefaces.ace.component.simpleselectonemenu.SimpleSelectOneMenuRenderer.populateList(SimpleSelectOneMenuRenderer.java:172)
      at org.icefaces.ace.component.simpleselectonemenu.SimpleSelectOneMenuRenderer.encodeBegin(SimpleSelectOneMenuRenderer.java:115)
      at javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:820)
      at com.icesoft.faces.renderkit.dom_html_basic.DomBasicRenderer.encodeParentAndChildren(DomBasicRenderer.java:333)
      at com.icesoft.faces.renderkit.dom_html_basic.GridRenderer.encodeChildren(GridRenderer.java:191)
      at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845)
      at com.icesoft.faces.renderkit.dom_html_basic.DomBasicRenderer.encodeParentAndChildren(DomBasicRenderer.java:335)
      at com.icesoft.faces.renderkit.dom_html_basic.GroupRenderer.encodeChildren(GroupRenderer.java:79)
      at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845)
      at com.icesoft.faces.renderkit.dom_html_basic.DomBasicRenderer.encodeParentAndChildren(DomBasicRenderer.java:335)
      at com.icesoft.faces.renderkit.dom_html_basic.GridRenderer.encodeChildren(GridRenderer.java:191)
      at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845)
      at com.icesoft.faces.renderkit.dom_html_basic.DomBasicRenderer.encodeParentAndChildren(DomBasicRenderer.java:335)
      at com.icesoft.faces.renderkit.dom_html_basic.GroupRenderer.encodeChildren(GroupRenderer.java:79)
      at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845)
      at com.icesoft.faces.renderkit.dom_html_basic.DomBasicRenderer.encodeParentAndChildren(DomBasicRenderer.java:335)
      at com.icesoft.faces.renderkit.dom_html_basic.DomBasicRenderer.encodeParentAndChildren(DomBasicRenderer.java:342)
      at com.icesoft.faces.renderkit.dom_html_basic.GroupRenderer.encodeChildren(GroupRenderer.java:79)
      at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845)
      at com.icesoft.faces.renderkit.dom_html_basic.DomBasicRenderer.encodeParentAndChildren(DomBasicRenderer.java:335)

      I need the null values as the other values for the selectmenu is populated by an enum and null values indicates an sort of 'None' option without which i will have to add it in the enum which will make the enum inconsistent with business logic. This error was NOT present in ice:selectOneMenu component which helped in having a similar implementation for 'None' values.

        Issue Links

          Activity

            People

            • Assignee:
              Judy Guglielmin
              Reporter:
              Viveganandan Nadar
            • Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: