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
_______________________________________________
richfaces-issues mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/richfaces-issues