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
>

Reply via email to