I would go ahead an open a JIRA issue. It sounds like you have enough
detailed information to support your case. I'm not really familiar
with that component so I will leave it to others to weigh in. In any
event, your issue is less likely to disappear over time if its in JIRA
;-)
sean
On 4/29/05, Mike Kienenberger <[EMAIL PROTECTED]> wrote:
> I'm using UIColumns (myfaces-1.0.9), and I've hit what appears to be a bug.
> I can initialize my page, and then update my page, but I get an
> IllegalArgumentException("row is unavailable") exception when the page
> is being rendered (but after all of the actions for that page have
> been processed).
>
> The problem appears to be in here:
>
> HtmlTableRendererBase.encodeChildren() contains:
>
> columns.setRowIndex(k);
> String columnStyle = styles.getColumnStyle(j);
> renderColumnBody(facesContext, writer,
> uiData, child, columnStyle);
>
> k starts out as 0. renderColumnBody() eventually calls
>
> UIColumns(UIData).isAllChildrenAndFacetsValid() line: 646
> UIColumns(UIData).encodeBegin(FacesContext) line: 594
> RendererUtils.renderChild(FacesContext, UIComponent) line: 482
>
> HtmlTableRenderer(HtmlTableRendererBase).renderColumnBody(FacesContext,
> ResponseWriter, UIData, UIComponent, String) line: 205
>
> and isAllChildrenAndFacetsValid cycles through the rowIndexes, and
> ends up setting it to -1.
>
> And then sometime later my own code gets called via
>
> HtmlSelectBooleanCheckbox(UIOutput).getValue() line: 75
> RendererUtils.getBooleanValue(UIComponent) line: 213
> HtmlCheckboxRenderer(HtmlCheckboxRendererBase).encodeEnd(FacesContext,
> UIComponent) line: 94
> HtmlSelectBooleanCheckbox(UIComponentBase).encodeEnd(FacesContext)
> line: 341
> RendererUtils.renderChild(FacesContext, UIComponent) line: 491
> RendererUtils.renderChildren(FacesContext, UIComponent) line: 468
> RendererUtils.renderChild(FacesContext, UIComponent) line: 489
>
> HtmlTableRenderer(HtmlTableRendererBase).renderColumnBody(FacesContext,
> ResponseWriter, UIData, UIComponent, String) line: 205
>
> but by this point, the rowIndex is -1 rather than the original 0 value
> it should have been.
>
> I'm not sure what to suggest as a fix. Maybe override
> isAllChildrenAndFacetsValid() at UIColumns, store the current
> row-index, call super.isAllChildrenAndFacetsValid(), and then restore
> the row-index?
>
> I'll go ahead and open this as a Jira issue if someone confirms this
> is really a bug.
>
> Thanks.
>
> -Mike
>