TableRowGroupFactory shouldn't throw exception when List is null:
https://jsftemplating.dev.java.net/issues/show_bug.cgi?id=6
Issue #|6
Summary|TableRowGroupFactory shouldn't throw exception when Li
|st is null
Component|jsftemplating
Version|current
Platform|Linux
OS/Version|All
URL|
Status|NEW
Status whiteboard|
Keywords|
Resolution|
Issue type|ENHANCEMENT
Priority|P2
Subcomponent|Component Factories
Assigned to|kenpaulsen
Reported by|anilam
------- Additional comments from anilam_at_dev.java.net Fri Jan 26 17:02:31 +0000 2007 -------
In a handler for generating the list to be used as the input to the TableRowGroupFractory, very often there may be
exception thrown. If the application code doesn't catch the exception or catching the exception but 'forget' to return
an empty list as the handler output, which will be passed to the Factory, JSFTemplating throws exception which prevents
the page to be displayed at all.
It will be a lot helpful if jsftemplating can just LOG the SEVERE message that a NULL is passed to the factory, and
treat that NULl as en empty list. This way, the table is at least showed as an empty table.
Here is the exception thrown:
[#|2007-01-26T08:49:17.356-0800|SEVERE|sun-appserver9.1|javax.enterprise.system.container.web|_ThreadID=12;_ThreadName=httpSSLWorkerThread-8080-2;_RequestID=aad70e12-38b3-41f1-bf2b-764be5452495;|StandardWrapperValve[FacesServlet]:
PWC1406: Servlet.service() for servlet FacesServlet threw exception
java.lang.IllegalArgumentException: TableRowGroupFactory expects a List<List<Object>>. Where the outer List should be a
List of sources, and the inner List should be a List of rows. However, the following was passed in: List<(null)>.
at com.sun.jsftemplating.component.factory.sun.TableRowGroupFactory.create(TableRowGroupFactory.java:88)
at com.sun.jsftemplating.component.ComponentUtil.createChildComponent(ComponentUtil.java:401)
at com.sun.jsftemplating.layout.descriptors.LayoutComponent.getChild(LayoutComponent.java:273)
at com.sun.jsftemplating.layout.LayoutViewHandler.buildUIComponentTree(LayoutViewHandler.java:345)
at com.sun.jsftemplating.layout.LayoutViewHandler.buildUIComponentTree(LayoutViewHandler.java:360)
at com.sun.jsftemplating.layout.LayoutViewHandler.buildUIComponentTree(LayoutViewHandler.java:360)
at com.sun.jsftemplating.layout.LayoutViewHandler.buildUIComponentTree(LayoutViewHandler.java:360)
at com.sun.jsftemplating.layout.LayoutViewHandler.buildUIComponentTree(LayoutViewHandler.java:360)
at com.sun.jsftemplating.layout.LayoutViewHandler.buildUIComponentTree(LayoutViewHandler.java:360)
at com.sun.jsftemplating.layout.LayoutViewHandler.createView(LayoutViewHandler.java:177)
at com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:196)
at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:248)