[richfaces-issues] [JBoss JIRA] Created: (RF-4218) Update TreeNode api docs

Charles Crouch (JIRA) jira-events at lists.jboss.org
Fri Aug 15 21:23:58 EDT 2008


Update TreeNode api docs 
-------------------------

                 Key: RF-4218
                 URL: https://jira.jboss.org/jira/browse/RF-4218
             Project: RichFaces
          Issue Type: Bug
    Affects Versions: 3.2.1
         Environment: FF3, WinXP
            Reporter: Charles Crouch


Right now the TreeNode api documentation:

http://www.jboss.org/file-access/default/members/jbossrichfaces/freezone/docs/apidoc_framework/org/richfaces/model/TreeNode.html

doesn't mention the fact that the Richfaces implementation will use the 'identifier' Object passed into the addChild method when it generates the id attribute for html elements when rendering the tree. In most situations this usage is probably not problematic however I've seen the rendered tree not open correctly when using various odd strings for the 'identifier'.

For example this is some debug output when clicking on the (+) to the left of a node (i.e. trying to open it). The node would not open until I refreshed the page, I'm using ajax as the rendering type for the tree:

2008-08-15 17:24:27,906 DEBUG [org.ajax4jsf.renderkit.RendererBase] Finish encoding of component j_id147:j_id148::JBossAS Server:C_:\usr\apps\jboss\jbossesb-server-4.3.GA\server\default:JBossESB .esb Package:jboss.esb_:deployment=jbossesb.esb:JBoss ESB Services:jboss.esb_:category=MessageCounter,deployment=jbossesb.esb,service-name=InvokerService:JBoss ESB Actions::j_id168 with class org.richfaces.component.html.HtmlTreeNode

and here's one that could be opened in the browser:

2008-08-15 17:25:35,703 DEBUG [org.ajax4jsf.renderkit.RendererBase] Finish encoding of component j_id147:j_id148::JBossAS Server:C_:\usr\apps\jboss\jbossesb-server-4.3.GA\server\default:Environment:JBoss AS JVM::j_id162 with class org.richfaces.component.html.HtmlTreeNode

I couldn't find any significant difference between the two. Its not length related, I tried using sets of 30digits for the 'identifier' and that worked fine generating a component id of >400chars long.

For both of the above cases TidyParser complains

2008-08-15 17:25:35,734 DEBUG [org.ajax4jsf.webapp.tidy.TidyParser] Message for HTML parsing : <table> attribute "id" has invalid value "j_id147:j_id148::JBossAS Server:C_:\usr\apps\jboss\jbossesb-server-4.3.GA\server\default:Environment:JBoss AS JVM::j_id162"
2008-08-15 17:25:35,734 DEBUG [org.ajax4jsf.webapp.tidy.TidyParser] Message for HTML parsing : <tr> attribute "id" has invalid value "j_id147:j_id148::JBossAS Server:C_:\usr\apps\jboss\jbossesb-server-4.3.GA\server\default:Environment:JBoss AS JVM::j_id162:mainRow"
2008-08-15 17:25:35,734 DEBUG [org.ajax4jsf.webapp.tidy.TidyParser] Message for HTML parsing : <td> attribute "id" has invalid value "j_id147:j_id148::JBossAS Server:C_:\usr\apps\jboss\jbossesb-server-4.3.GA\server\default:Environment:JBoss AS JVM::j_id162:handles"

and 

2008-08-15 17:24:27,921 DEBUG [org.ajax4jsf.webapp.tidy.TidyParser] Message for HTML parsing : <table> attribute "id" has invalid value "j_id147:j_id148::JBossAS Server:C_:\usr\apps\jboss\jbossesb-server-4.3.GA\server\default:JBossESB .esb Package:jboss.esb_:deployment=jbossesb.esb:JBoss ESB Services:jboss.esb_:category=MessageCounter,deployment=jbossesb.esb,service-name=InvokerService:JBoss ESB Actions::j_id168"
2008-08-15 17:24:27,921 DEBUG [org.ajax4jsf.webapp.tidy.TidyParser] Message for HTML parsing : <tr> attribute "id" has invalid value "j_id147:j_id148::JBossAS Server:C_:\usr\apps\jboss\jbossesb-server-4.3.GA\server\default:JBossESB .esb Package:jboss.esb_:deployment=jbossesb.esb:JBoss ESB Services:jboss.esb_:category=MessageCounter,deployment=jbossesb.esb,service-name=InvokerService:JBoss ESB Actions::j_id168:mainRow"
2008-08-15 17:24:27,921 DEBUG [org.ajax4jsf.webapp.tidy.TidyParser] Message for HTML parsing : <td> attribute "id" has invalid value "j_id147:j_id148::JBossAS Server:C_:\usr\apps\jboss\jbossesb-server-4.3.GA\server\default:JBossESB .esb Package:jboss.esb_:deployment=jbossesb.esb:JBoss ESB Services:jboss.esb_:category=MessageCounter,deployment=jbossesb.esb,service-name=InvokerService:JBoss ESB Actions::j_id168:handles"

but its only the latter one that actually fails to open in the browser.

I think the docs should be updated to indicate that you should be carefully about what identifier.toString() will actually return because its going to be used in creating id attributes, and the format of those appears to have some rules around it.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the richfaces-issues mailing list