• Dotless-i problem in Tooltip Dialog

    By Serdar Basegmez 1 decade ago

    The following code fails with the error below:

     

    <xp:button value="Label" id="button1">
    
    <xp:eventHandler event="onclick" submit="false">
    
    <xp:this.script><![CDATA[XSP.openTooltipDialog("#{id:userInfo}", this)]]></xp:this.script>
    
    </xp:eventHandler>
    
    </xp:button>
    
     
    
    <xe:tooltipDialog id="userInfo">
    
    <xp:panel>Test!</xp:panel>
    
    </xe:tooltipDialog>
    

    com.ibm.xsp.page.FacesPageException: Cannot create a view with the initial tag userınfo as there is no component that id.
    Cannot create a view with the initial tag userınfo as there is no component that id.

    The problem seems to be related to an incorrect use of toLowerCase() function in com.ibm.xsp.extlib.component.util.DynamicUIUtil class. On line 135,

    page.addComponent(context, null, rootComponent, createId.toLowerCase());

    If the control name contains "I" character, Turkish locale systems will try to convert it to "ı" (dotless i), therefore it can't find the component.

     

    • Currently not reproducing this...

      By Paul Hannan 1 decade ago

      I'm currently not reproducing this. What browser, OS, ...etc., are you using?

       

      • Did you set Turkish locale?

        By Serdar Basegmez 1 decade ago

        I reproduced the problem on my workstation: Windows 7 64 bit, Domino 9, Turkish locale. I think it's not browser-dependent but tested on Mozilla.

        Let me know if I can help you to reproduce the issue.

        • I've not reproduced this but have logged PHAN97ZE9B. Do you have a full stack trace?

          By Paul Hannan 1 decade ago

          I've not reproduced this on my English language OS set to Turkish.

          I've logged 'PHAN97ZE9B' but I need the full stack trace. Could you provide this?

           

          • Version mismatch maybe?

            By Serdar Basegmez 1 decade ago

            I'm currently using standard extlib coming with 9.0 (9.0.0.v00_00_20130301-1506). Not tested with recent extlib But I can see the code problem there :)

            Here is the full trace.

            28.05.2013 21:07: Exception Thrown

            Context Path:/test/othertests.nsf
            
            Page Name:/SomeTest01.xsp
            
            javax.faces.FacesException: com.ibm.xsp.page.FacesPageException: Cannot create a view with the initial tag userınfo as there is no component that id.
            
            at javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:865)
            
            at com.ibm.xsp.extlib.component.dynamiccontent.UIDynamicControl.invokeOnComponent(UIDynamicControl.java:245)
            
            at javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:878)
            
            at com.ibm.xsp.extlib.component.dialog.UIDialog.invokeOnComponent(UIDialog.java:546)
            
            at javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:878)
            
            at javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:878)
            
            at javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:878)
            
            at com.ibm.xsp.component.UIViewRootEx.invokeOnComponent(UIViewRootEx.java:1552)
            
            at com.ibm.xsp.component.UIViewRootEx._invokePartialRefresh(UIViewRootEx.java:1323)
            
            at com.ibm.xsp.component.UIViewRootEx2._invokePartialRefresh(UIViewRootEx2.java:132)
            
            at com.ibm.xsp.component.UIViewRootEx._renderView(UIViewRootEx.java:1309)
            
            at com.ibm.xsp.component.UIViewRootEx.renderView(UIViewRootEx.java:1255)
            
            at com.ibm.xsp.application.ViewHandlerExImpl.doRender(ViewHandlerExImpl.java:651)
            
            at com.ibm.xsp.application.ViewHandlerExImpl._renderView(ViewHandlerExImpl.java:321)
            
            at com.ibm.xsp.application.ViewHandlerExImpl.renderView(ViewHandlerExImpl.java:336)
            
            at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:103)
            
            at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:210)
            
            at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:120)
            
            at com.ibm.xsp.controller.FacesControllerImpl.render(FacesControllerImpl.java:270)
            
            at com.ibm.xsp.webapp.FacesServlet.serviceView(FacesServlet.java:224)
            
            at com.ibm.xsp.webapp.FacesServletEx.serviceView(FacesServletEx.java:157)
            
            at com.ibm.xsp.webapp.FacesServlet.service(FacesServlet.java:160)
            
            at com.ibm.xsp.webapp.FacesServletEx.service(FacesServletEx.java:138)
            
            at com.ibm.xsp.webapp.DesignerFacesServlet.service(DesignerFacesServlet.java:103)
            
            at com.ibm.designer.runtime.domino.adapter.ComponentModule.invokeServlet(ComponentModule.java:576)
            
            at com.ibm.domino.xsp.module.nsf.NSFComponentModule.invokeServlet(NSFComponentModule.java:1315)
            
            at com.ibm.designer.runtime.domino.adapter.ComponentModule$AdapterInvoker.invokeServlet(ComponentModule.java:853)
            
            at com.ibm.designer.runtime.domino.adapter.ComponentModule$ServletInvoker.doService(ComponentModule.java:796)
            
            at com.ibm.designer.runtime.domino.adapter.ComponentModule.doService(ComponentModule.java:565)
            
            at com.ibm.domino.xsp.module.nsf.NSFComponentModule.doService(NSFComponentModule.java:1299)
            
            at com.ibm.domino.xsp.module.nsf.NSFService.doServiceInternal(NSFService.java:662)
            
            at com.ibm.domino.xsp.module.nsf.NSFService.doService(NSFService.java:482)
            
            at com.ibm.designer.runtime.domino.adapter.LCDEnvironment.doService(LCDEnvironment.java:350)
            
            at com.ibm.designer.runtime.domino.adapter.LCDEnvironment.service(LCDEnvironment.java:306)
            
            at com.ibm.domino.xsp.bridge.http.engine.XspCmdManager.service(XspCmdManager.java:272)
            
            Caused by: com.ibm.xsp.page.FacesPageException: Cannot create a view with the initial tag userınfo as there is no component that id.
            
            at com.ibm.xsp.page.compiled.AbstractCompiledPage.createTree(AbstractCompiledPage.java:217)
            
            at com.ibm.xsp.page.compiled.AbstractCompiledPage.addComponent(AbstractCompiledPage.java:389)
            
            at com.ibm.xsp.extlib.component.util.DynamicUIUtil.createChildren(DynamicUIUtil.java:135)
            
            at com.ibm.xsp.extlib.component.dynamiccontent.UIDynamicControl.createChildren(UIDynamicControl.java:156)
            
            at com.ibm.xsp.extlib.component.dialog.UIDialog$PopupContent.createChildren(UIDialog.java:247)
            
            at com.ibm.xsp.extlib.component.dynamiccontent.AbstractDynamicContent.createContent(AbstractDynamicContent.java:128)
            
            at com.ibm.xsp.extlib.component.dialog.UIDialog$PopupContent.encodeBegin(UIDialog.java:227)
            
            at com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:842)
            
            at com.ibm.xsp.component.UIViewRootEx$1.invokeContextCallback(UIViewRootEx.java:1326)
            
            at javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:862)
            
            ... 34 more