Hi Anissa,
Can you please test out the attached TableRowGroupFactory.java change to
see if this meets your needs? I logged the message at the "CONFIG"
level. So in order to see this message you will need to set the
"com.sun.jsftemplating" logger to "CONFIG". This can be done via our
GUI without restarting by going to the Log Levels page and adding a
Property "com.sun.jsftemplating" with value "CONFIG".
If this works feel free to check it in, or I can do this.
Thanks!
Ken
anilam_at_dev.java.net wrote:
> 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)
>