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