• NullPointerException in Dojo List TextBox

    By Thanh Nguyen 1 decade ago

    Hi,

    I have a problem when using Dojo List TexBox. 

    Currently, I'm using Dojo List TextBox with the Value Picker Control. The Value Picker has a simpleValuePicker dataProvider.

    my dataProvider provides few simple label|value pairs, for example:

    • Human Resource Department | HR_DEPT
    • Database & Software Department | DBS_DEPT
    • Marketing Department | MAR_DEPT

    ...

     

    My Person form has a field named Department bound to the Dojo List TextBox control, and currently have the value MAR_DEPT, and everything is working fine (the Dojo List TextBox display the label Marketing Department).

    But if I deleted the MAR_DEPT from the dataProvider, then the Dojo List TextBox will failed with the NullPointerException. Is there any way to correct this (maybe only its value, because the label|value item has been deleted from the dataProvider).

    Otherwise, I have to search for all the documents that are using the deleted value when deleting a dataProvider's item, only then to remove the invalid reference for the Dojo List Textbox to work.

    I hope to make it clear, and some one can help me out.

    Thanks.

    • Please send the exception trace

      By Philippe Riand 1 decade ago

      and a sample DB to reproduce the issue

      • Attached DB & Stack trace

        By Thanh Nguyen 1 decade ago

         

        When I &nbsp;open the Person.xsp and click on the &quot;Terry&quot; link in the View Panel, I got this exception. The &quot;John&quot; link works nicely</div>
        

         

        java.lang.NullPointerException</div>
        
        &nbsp; &nbsp; com.ibm.xsp.extlib.renderkit.dojoext.form.DojoExtListTextBoxRenderer.initDojoAttributes(DojoExtListTextBoxRenderer.java:71)</div>
        
        &nbsp; &nbsp; com.ibm.xsp.extlib.renderkit.dojo.form.DojoFormWidgetRenderer.writeDojoAttributes(DojoFormWidgetRenderer.java:316)</div>
        
        &nbsp; &nbsp; com.ibm.xsp.extlib.renderkit.dojo.form.DojoFormWidgetRenderer.encodeBegin(DojoFormWidgetRenderer.java:168)</div>
        
        &nbsp; &nbsp; com.ibm.xsp.renderkit.ReadOnlyAdapterRenderer.encodeBegin(ReadOnlyAdapterRenderer.java:119)</div>
        
        &nbsp; &nbsp; javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:956)</div>
        
        &nbsp; &nbsp; com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:793)</div>
        
        &nbsp; &nbsp; com.ibm.xsp.util.FacesUtil.renderChildren(FacesUtil.java:824)</div>
        
        &nbsp; &nbsp; com.ibm.xsp.renderkit.html_extended.HtmlBasicRenderer.encodeChildren(HtmlBasicRenderer.java:159)</div>
        
        &nbsp; &nbsp; com.ibm.xsp.renderkit.ReadOnlyAdapterRenderer.encodeChildren(ReadOnlyAdapterRenderer.java:135)</div>
        
        &nbsp; &nbsp; javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:979)</div>
        
        &nbsp; &nbsp; com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:795)</div>
        
        &nbsp; &nbsp; com.ibm.xsp.util.FacesUtil.renderChildren(FacesUtil.java:824)</div>
        
        &nbsp; &nbsp; com.ibm.xsp.renderkit.html_extended.HtmlBasicRenderer.encodeChildren(HtmlBasicRenderer.java:159)</div>
        
        &nbsp; &nbsp; com.ibm.xsp.renderkit.ReadOnlyAdapterRenderer.encodeChildren(ReadOnlyAdapterRenderer.java:135)</div>
        
        &nbsp; &nbsp; javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:979)</div>
        
        &nbsp; &nbsp; com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:795)</div>
        
        &nbsp; &nbsp; com.ibm.xsp.util.FacesUtil.renderChildren(FacesUtil.java:824)</div>
        
        &nbsp; &nbsp; com.ibm.xsp.renderkit.html_extended.HtmlBasicRenderer.encodeChildren(HtmlBasicRenderer.java:159)</div>
        
        &nbsp; &nbsp; com.ibm.xsp.renderkit.ReadOnlyAdapterRenderer.encodeChildren(ReadOnlyAdapterRenderer.java:135)</div>
        
        &nbsp; &nbsp; javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:979)</div>
        
        &nbsp; &nbsp; com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:795)</div>
        
        &nbsp; &nbsp; com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:804)</div>
        
        &nbsp; &nbsp; com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:804)</div>
        
        &nbsp; &nbsp; com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:804)</div>
        
        &nbsp; &nbsp; com.ibm.xsp.component.UIViewRootEx._renderView(UIViewRootEx.java:1272)</div>
        
        &nbsp; &nbsp; com.ibm.xsp.component.UIViewRootEx.renderView(UIViewRootEx.java:1210)</div>
        
        &nbsp; &nbsp; com.ibm.xsp.application.ViewHandlerExImpl.doRender(ViewHandlerExImpl.java:635)</div>
        
        &nbsp; &nbsp; com.ibm.xsp.application.ViewHandlerExImpl._renderView(ViewHandlerExImpl.java:320)</div>
        
        &nbsp; &nbsp; com.ibm.xsp.application.ViewHandlerExImpl.renderView(ViewHandlerExImpl.java:355)</div>
        
        &nbsp; &nbsp; com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:103)</div>
        
        &nbsp; &nbsp; com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:210)</div>
        
        &nbsp; &nbsp; com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:120)</div>
        
        &nbsp; &nbsp; com.ibm.xsp.controller.FacesControllerImpl.render(FacesControllerImpl.java:264)</div>
        
        &nbsp; &nbsp; com.ibm.xsp.webapp.FacesServlet.serviceView(FacesServlet.java:219)</div>
        
        &nbsp; &nbsp; com.ibm.xsp.webapp.FacesServletEx.serviceView(FacesServletEx.java:193)</div>
        
        &nbsp; &nbsp; com.ibm.xsp.webapp.FacesServlet.service(FacesServlet.java:154)</div>
        
        &nbsp; &nbsp; com.ibm.xsp.webapp.FacesServletEx.service(FacesServletEx.java:137)</div>
        
        &nbsp; &nbsp; com.ibm.xsp.webapp.DesignerFacesServlet.service(DesignerFacesServlet.java:86)</div>
        
        &nbsp; &nbsp; com.ibm.designer.runtime.domino.adapter.ComponentModule.invokeServlet(ComponentModule.java:538)</div>
        
        &nbsp; &nbsp; com.ibm.domino.xsp.module.nsf.NSFComponentModule.invokeServlet(NSFComponentModule.java:1140)</div>
        
        &nbsp; &nbsp; com.ibm.designer.runtime.domino.adapter.ComponentModule$AdapterInvoker.invokeServlet(ComponentModule.java:803)</div>
        
        &nbsp; &nbsp; com.ibm.designer.runtime.domino.adapter.ComponentModule$ServletInvoker.doService(ComponentModule.java:758)</div>
        
        &nbsp; &nbsp; com.ibm.designer.runtime.domino.adapter.ComponentModule.doService(ComponentModule.java:527)</div>
        
        &nbsp; &nbsp; com.ibm.domino.xsp.module.nsf.NSFComponentModule.doService(NSFComponentModule.java:1124)</div>
        
        &nbsp; &nbsp; com.ibm.domino.xsp.module.nsf.NSFService.doServiceInternal(NSFService.java:513)</div>
        
        &nbsp; &nbsp; com.ibm.domino.xsp.module.nsf.NSFService.doService(NSFService.java:342)</div>
        
        &nbsp; &nbsp; com.ibm.designer.runtime.domino.adapter.LCDEnvironment.doService(LCDEnvironment.java:304)</div>
        
        &nbsp; &nbsp; com.ibm.designer.runtime.domino.adapter.LCDEnvironment.service(LCDEnvironment.java:261)</div>
        
        &nbsp; &nbsp; com.ibm.domino.xsp.bridge.http.engine.XspCmdManager.service(XspCmdManager.java:291)java.lang.NullPointerException
        
        &nbsp; &nbsp; com.ibm.xsp.extlib.renderkit.dojoext.form.DojoExtListTextBoxRenderer.initDojoAttributes(DojoExtListTextBoxRenderer.java:71)
        
        &nbsp; &nbsp; com.ibm.xsp.extlib.renderkit.dojo.form.DojoFormWidgetRenderer.writeDojoAttributes(DojoFormWidgetRenderer.java:316)
        
        &nbsp; &nbsp; com.ibm.xsp.extlib.renderkit.dojo.form.DojoFormWidgetRenderer.encodeBegin(DojoFormWidgetRenderer.java:168)
        
        &nbsp; &nbsp; com.ibm.xsp.renderkit.ReadOnlyAdapterRenderer.encodeBegin(ReadOnlyAdapterRenderer.java:119)
        
        &nbsp; &nbsp; javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:956)
        
        &nbsp; &nbsp; com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:793)
        
        &nbsp; &nbsp; com.ibm.xsp.util.FacesUtil.renderChildren(FacesUtil.java:824)
        
        &nbsp; &nbsp; com.ibm.xsp.renderkit.html_extended.HtmlBasicRenderer.encodeChildren(HtmlBasicRenderer.java:159)
        
        &nbsp; &nbsp; com.ibm.xsp.renderkit.ReadOnlyAdapterRenderer.encodeChildren(ReadOnlyAdapterRenderer.java:135)
        
        &nbsp; &nbsp; javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:979)
        
        &nbsp; &nbsp; com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:795)
        
        &nbsp; &nbsp; com.ibm.xsp.util.FacesUtil.renderChildren(FacesUtil.java:824)
        
        &nbsp; &nbsp; com.ibm.xsp.renderkit.html_extended.HtmlBasicRenderer.encodeChildren(HtmlBasicRenderer.java:159)
        
        &nbsp; &nbsp; com.ibm.xsp.renderkit.ReadOnlyAdapterRenderer.encodeChildren(ReadOnlyAdapterRenderer.java:135)
        
        &nbsp; &nbsp; javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:979)
        
        &nbsp; &nbsp; com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:795)
        
        &nbsp; &nbsp; com.ibm.xsp.util.FacesUtil.renderChildren(FacesUtil.java:824)
        
        &nbsp; &nbsp; com.ibm.xsp.renderkit.html_extended.HtmlBasicRenderer.encodeChildren(HtmlBasicRenderer.java:159)
        
        &nbsp; &nbsp; com.ibm.xsp.renderkit.ReadOnlyAdapterRenderer.encodeChildren(ReadOnlyAdapterRenderer.java:135)
        
        &nbsp; &nbsp; javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:979)
        
        &nbsp; &nbsp; com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:795)
        
        &nbsp; &nbsp; com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:804)
        
        &nbsp; &nbsp; com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:804)
        
        &nbsp; &nbsp; com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:804)
        
        &nbsp; &nbsp; com.ibm.xsp.component.UIViewRootEx._renderView(UIViewRootEx.java:1272)
        
        &nbsp; &nbsp; com.ibm.xsp.component.UIViewRootEx.renderView(UIViewRootEx.java:1210)
        
        &nbsp; &nbsp; com.ibm.xsp.application.ViewHandlerExImpl.doRender(ViewHandlerExImpl.java:635)
        
        &nbsp; &nbsp; com.ibm.xsp.application.ViewHandlerExImpl._renderView(ViewHandlerExImpl.java:320)
        
        &nbsp; &nbsp; com.ibm.xsp.application.ViewHandlerExImpl.renderView(ViewHandlerExImpl.java:355)
        
        &nbsp; &nbsp; com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:103)
        
        &nbsp; &nbsp; com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:210)
        
        &nbsp; &nbsp; com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:120)
        
        &nbsp; &nbsp; com.ibm.xsp.controller.FacesControllerImpl.render(FacesControllerImpl.java:264)
        
        &nbsp; &nbsp; com.ibm.xsp.webapp.FacesServlet.serviceView(FacesServlet.java:219)
        
        &nbsp; &nbsp; com.ibm.xsp.webapp.FacesServletEx.serviceView(FacesServletEx.java:193)
        
        &nbsp; &nbsp; com.ibm.xsp.webapp.FacesServlet.service(FacesServlet.java:154)
        
        &nbsp; &nbsp; com.ibm.xsp.webapp.FacesServletEx.service(FacesServletEx.java:137)
        
        &nbsp; &nbsp; com.ibm.xsp.webapp.DesignerFacesServlet.service(DesignerFacesServlet.java:86)
        
        &nbsp; &nbsp; com.ibm.designer.runtime.domino.adapter.ComponentModule.invokeServlet(ComponentModule.java:538)
        
        &nbsp; &nbsp; com.ibm.domino.xsp.module.nsf.NSFComponentModule.invokeServlet(NSFComponentModule.java:1140)
        
        &nbsp; &nbsp; com.ibm.designer.runtime.domino.adapter.ComponentModule$AdapterInvoker.invokeServlet(ComponentModule.java:803)
        
        &nbsp; &nbsp; com.ibm.designer.runtime.domino.adapter.ComponentModule$ServletInvoker.doService(ComponentModule.java:758)
        
        &nbsp; &nbsp; com.ibm.designer.runtime.domino.adapter.ComponentModule.doService(ComponentModule.java:527)
        
        &nbsp; &nbsp; com.ibm.domino.xsp.module.nsf.NSFComponentModule.doService(NSFComponentModule.java:1124)
        
        &nbsp; &nbsp; com.ibm.domino.xsp.module.nsf.NSFService.doServiceInternal(NSFService.java:513)
        
        &nbsp; &nbsp; com.ibm.domino.xsp.module.nsf.NSFService.doService(NSFService.java:342)
        
        &nbsp; &nbsp; com.ibm.designer.runtime.domino.adapter.LCDEnvironment.doService(LCDEnvironment.java:304)
        
        &nbsp; &nbsp; com.ibm.designer.runtime.domino.adapter.LCDEnvironment.service(LCDEnvironment.java:261)
        
        &nbsp; &nbsp; com.ibm.domino.xsp.bridge.http.engine.XspCmdManager.service(XspCmdManager.java:291)
        
        • Fix provided

          By Philippe Riand 1 decade ago

          Thanks, I provided a fix that will be in the next build