[richfaces-issues] [JBoss JIRA] Updated: (RF-976) rich:column width property throws pointless exceptions

Maksim Kaszynski (JIRA) jira-events at lists.jboss.org
Sat Sep 22 14:18:27 EDT 2007


     [ http://jira.jboss.com/jira/browse/RF-976?page=all ]

Maksim Kaszynski updated RF-976:
--------------------------------

    Fix Version/s: 3.1.1
                   3.2.0

Allow component to have width without units - treat it as px.

> rich:column width property throws pointless exceptions
> ------------------------------------------------------
>
>                 Key: RF-976
>                 URL: http://jira.jboss.com/jira/browse/RF-976
>             Project: RichFaces
>          Issue Type: Bug
>    Affects Versions: 3.1.0
>            Reporter: David Delbecq
>         Assigned To: Anton Belevich
>             Fix For: 3.2.0, 3.1.1
>
>
> Using width in rich:column for scrollabledatatable can lead to exception if "width" is badly formulated:
>     <rich:scrollableDataTable value="...">
> 			<rich:column sortExpression="#{item.level}" width="100" >
> Leads to
> 1832387 [http-8080-Processor4] FATAL jsp.error  - Jsp error occured
> java.lang.StringIndexOutOfBoundsException: String index out of range: -1
> 	at java.lang.String.substring(String.java:1444)
> 	at org.richfaces.renderkit.html.ScrollableDataTableBaseRenderer$3.renderContent(ScrollableDataTableBaseRenderer.java:111)
> 	at org.richfaces.renderkit.html.ExtendedColumnVisitor.visit(ExtendedColumnVisitor.java:31)
> 	at org.richfaces.renderkit.html.ColumnWalker.iterateOverColumns(ColumnWalker.java:42)
> 	at org.richfaces.renderkit.html.ScrollableDataTableBaseRenderer.renderHeaders(ScrollableDataTableBaseRenderer.java:475)
> 	at org.richfaces.renderkit.html.ScrollableDataTableRenderer.doEncodeEnd(ScrollableDataTableRenderer.java:303)
> 	at org.richfaces.renderkit.html.ScrollableDataTableRenderer.doEncodeEnd(ScrollableDataTableRenderer.java:552)
> 	at org.ajax4jsf.renderkit.RendererBase.encodeEnd(RendererBase.java:135)
> 	at org.richfaces.renderkit.html.ScrollableDataTableBaseRenderer.encodeEnd(ScrollableDataTableBaseRenderer.java:731)
> 	at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:688)
> The faulty lines are:
> 110			String widthPx = (String)column.getAttributes().get("width");
> 111			int width = Integer.parseInt(widthPx.substring(0, widthPx.indexOf("px")));
> The doc, while stating the width is expressed in pixels, does not state you have to add a "px" extension to your number. Either the doc must clarify this, either code should not assume px is present and in case can not convert to integer, throw an appriopriate Faces exception.

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

        



More information about the richfaces-issues mailing list