Hi Sean,

the last patch I've posted was different from the first one. I currently have no access to my working copy right now. So if it is possible please commit the last patch.

Mathias

Mike Kienenberger schrieb:
On 7/5/05, Broekelmann, Mathias <[EMAIL PROTECTED]> wrote:

I would like to solve this issue. I´ve reimplemented the UIData and derived 
DataTable components for this issue. However it will take some time to test all 
usecases.

This is what I´ve done so far:

- reduce the error phrone and complex code in saveDescendantComponentStates and 
restoreDescendantComponentStates.

- using StateHolder.saveState and restoreState methods for nested components.

- no special handling for nested UIData components needed any more

- get rid of phase listener for datatable

As far as I´ve tested my implementation it works nicely. I will do some more 
tests today in our application which heavily uses the UIData components to see 
if it works.

If anyone is interessted to check if my code is running in your application you 
may apply the patch which is attached.


There's at least one issue with getRowData().   I get this stack trace
with the latest from svn, but it works with BEFORE_SVN_REORG.   I'll
start tracking it down, but I'm posting the stack trace here in case
it's obvious to someone else where the problem is.

            throw new IllegalArgumentException("row is unavailable");

Thread [SocketListener0-1] (Suspended (breakpoint at line 61 in ListDataModel))
        ListDataModel.getRowData() line: 61
        HtmlDataTable(UIData).getRowData() line: 111
        ViewSecRoleRecords.getShowPulldownForSecGroup() line: 57
        GeneratedMethodAccessor21.invoke(Object, Object[]) line: not available
        DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25
        Method.invoke(Object, Object[]) line: 324
        PropertyResolverImpl.getProperty(Object, String) line: 383
        PropertyResolverImpl.getValue(Object, Object) line: 68
        ELParserHelper$MyPropertySuffix.evaluate(Object, VariableResolver,
FunctionMapper, Logger) line: 533
        ComplexValue.evaluate(VariableResolver, FunctionMapper, Logger) line: 
145
        ValueBindingImpl.getValue(FacesContext) line: 362
        HtmlPanelGroup(UIComponentBase).isRendered() line: 753
        HtmlDataTable(UIData).restoreDescendantComponentStates(FacesContext,
UIComponent) line: 182
        HtmlDataTable(UIData).restoreDescendantComponentStates(FacesContext,
UIComponent) line: 190
        HtmlDataTable(UIData).restoreDescendantComponentStates(FacesContext,
UIComponent) line: 190
        HtmlDataTable(UIData).setRowIndex(int) line: 159
        HtmlDataTable(UIData).encodeEnd(FacesContext) line: 279
        HtmlDataTableTag(UIComponentTag).encodeEnd() line: 349
        HtmlDataTableTag(UIComponentTag).doEndTag() line: 253
        HtmlDataTableTag(UIComponentBodyTagBase).doEndTag() line: 55
        ViewSecRoleRecords_jspx._jspx_meth_h_dataTable_0(JspTag, PageContext) 
line: 39
        ViewSecRoleRecords_jspx._jspx_meth_h_form_0(JspTag, PageContext) line: 
33
        ViewSecRoleRecords_jspx._jspx_meth_f_view_0(PageContext) line: 17
        ViewSecRoleRecords_jspx._jspService(HttpServletRequest,
HttpServletResponse) line: 13
        ViewSecRoleRecords_jspx(HttpJspBase).service(HttpServletRequest,
HttpServletResponse) line: 94
        ViewSecRoleRecords_jspx(HttpServlet).service(ServletRequest,
ServletResponse) line: 689
        JspServletWrapper.service(HttpServletRequest, HttpServletResponse,
boolean) line: 324
        JspServlet.serviceJspFile(HttpServletRequest, HttpServletResponse,
String, Throwable, boolean) line: 292
        JspServlet.service(HttpServletRequest, HttpServletResponse) line: 236
        JspServlet(HttpServlet).service(ServletRequest, ServletResponse) line: 
689
        ServletHolder.handle(ServletRequest, ServletResponse) line: 427
        WebApplicationHandler.dispatch(String, HttpServletRequest,
HttpServletResponse, ServletHolder, int) line: 475
        Dispatcher.dispatch(ServletRequest, ServletResponse, int) line: 275
        Dispatcher.forward(ServletRequest, ServletResponse) line: 169
        ServletExternalContextImpl.dispatch(String) line: 405
        JspViewHandlerImpl.renderView(FacesContext, UIViewRoot) line: 225
        LifecycleImpl.render(FacesContext) line: 299
        FacesServlet.service(ServletRequest, ServletResponse) line: 95

Reply via email to