ICEmobile
  1. ICEmobile
  2. MOBI-320

NPE thrown when calling UIComponent.findComponent() with empty string id

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.0 Final
    • Fix Version/s: 1.3.1
    • Component/s: None
    • Labels:
      None
    • Environment:
      ICEfaces 3.1

      Description

      There may be scenarios where a user wants to enclose all content (specifically contentStack/ContentPane) within 1 form tag. Currently the contentStackMenu will only work if a form tag directly surrounds it like so:

      <h:form>
      <h:panelGroup>
      <mobi:contentStackMenu>
      <mobi:contentMenuItem label="Menu" />
      <mobi:contentMenuItem label="Pane 1" value="panel1" />
      .............
      </mobi:contentStackMenu>
      </h:panelGroup>
      </h:form>

      If you were to move the closing form tag to the bottom of the page (below the contentPanes), the following NPE is thrown:

      java.lang.NullPointerException
      at org.icefaces.mobi.component.contentmenuitem.ContentMenuItemRenderer.renderItemAsList(ContentMenuItemRenderer.java:153)
      at org.icefaces.mobi.component.contentmenuitem.ContentMenuItemRenderer.encodeEnd(ContentMenuItemRenderer.java:66)
      at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:875)
      at org.icefaces.mobi.renderkit.BaseLayoutRenderer.renderChild(BaseLayoutRenderer.java:50)
      at org.icefaces.mobi.renderkit.BaseLayoutRenderer.renderChildren(BaseLayoutRenderer.java:35)
      at org.icefaces.mobi.component.contentstackmenu.ContentStackMenuRenderer.encodeEnd(ContentStackMenuRenderer.java:97)
      at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:875)

      Test case demonstrating issue attached. Ready for deployment on Tomcat 7.

        Issue Links

          Activity

          Repository Revision Date User Message
          ICEsoft Public SVN Repository #30842 Thu Sep 13 17:33:04 MDT 2012 judy.guglielmin MOBI-320 and test case. contentStack and contentStackMenu either must be siblings in same form OR must know the actual jsf selection id of the contentStack and use it in the menu's contentStackId attribute. (for example "mynamingContainer:myStack")
          Files Changed
          Commit graph MODIFY /icemobile/trunk/icemobile/jsf/components/component/src/org/icefaces/mobi/component/contentmenuitem/ContentMenuItemRenderer.java
          Commit graph ADD /icemobile/trunk/icemobile/jsf/components/tests/mobitest/src/main/webapp/layout/MOBI320.xhtml
          Commit graph MODIFY /icemobile/trunk/icemobile/jsf/components/tests/mobitest/src/main/webapp/layoutComponents.html
          Commit graph MODIFY /icemobile/trunk/icemobile/jsf/components/component/src/org/icefaces/mobi/component/contentstackmenu/ContentStackMenuMeta.java
          Commit graph MODIFY /icemobile/trunk/icemobile/jsf/components/component/src/org/icefaces/mobi/component/contentstackmenu/ContentStackMenu.java

            People

            • Assignee:
              Philip Breau
              Reporter:
              Tyler Johnson
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: