views:

942

answers:

1

Hey!

Migrating to GlassFish v3 / JDK6u18 / NB6.8 makes me a lot of headscratching, and I'm quite confused now. My project (JSF, RichFaces, Spring) works fine with GlassFish v2 + JDK6u17. I'm using the same JAR's, and the same JSF version.

One of my JSP's contains a <rich:tree>, this renders just fine, but if I post the values on this page I get:

WARNING: StandardWrapperValve[Faces Servlet]: PWC1406: Servlet.service() for servlet Faces Servlet threw exception
java.lang.IllegalArgumentException: In AbstractTreeDataModel rowIndex must be -1.
        at org.richfaces.model.AbstractTreeDataModel.setRowIndex(AbstractTreeDataModel.java:52)
        at org.ajax4jsf.component.UIDataAdaptor.setRowIndex(UIDataAdaptor.java:289)
        at javax.faces.component.UIData.visitColumnsAndRows(UIData.java:1544)
        at javax.faces.component.UIData.visitTree(UIData.java:1212)
        at javax.faces.component.UIComponent.visitTree(UIComponent.java:1457)
        at javax.faces.component.UIForm.visitTree(UIForm.java:333)
        at javax.faces.component.UIComponent.visitTree(UIComponent.java:1457)
        at javax.faces.component.UIViewRoot.processRestoreState(UIViewRoot.java:869)
        at org.ajax4jsf.application.AjaxStateManager.restoreView(AjaxStateManager.java:439)
        ....

On my other page, something similar is happening. It contains a <h:selectManyCheckbox>, which rerenders some other stuff in case of a value-change. So in case of a submit I get something like this:

WARNING: StandardWrapperValve[Faces Servlet]: PWC1406: Servlet.service() for servlet Faces Servlet threw exception
java.lang.NullPointerException
        at javax.faces.component.UIComponentBase.findComponent(UIComponentBase.java:564)
        at org.ajax4jsf.component.EventValueExpression.getComponent(EventValueExpression.java:77)
        at org.ajax4jsf.component.EventValueExpression.getValue(EventValueExpression.java:130)
        at javax.faces.component.UIComponentBase$AttributesMap.get(UIComponentBase.java:2166)
        at com.sun.faces.renderkit.RenderKitUtils.renderPassThruAttributesOptimized(RenderKitUtils.java:608)
        at com.sun.faces.renderkit.RenderKitUtils.renderPassThruAttributes(RenderKitUtils.java:321)
        at com.sun.faces.renderkit.html_basic.SelectManyCheckboxListRenderer.renderOption(SelectManyCheckboxListRenderer.java:328)
        at com.sun.faces.renderkit.html_basic.SelectManyCheckboxListRenderer.encodeEnd(SelectManyCheckboxListRenderer.java:177)
        at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:878)
        ....

I've tried to combine versions of JSF/RichFaces, but it just resulted all the same.

Any help would be appreciated!

+2  A: 

Glassfish v3 has JSF 2.0 bundled, so that might be causing troubles. If you want to use JSF 1.2 with Glassfish v3 you have to add a sun-web.xml in the WEB-INF folder:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sun-web-app PUBLIC "-//Sun Microsystems, Inc.//DTD GlassFish
Application Server 3.0 Servlet 3.0//EN"
"http://www.sun.com/software/appserver/dtds/sun-web-app_3_0-0.dtd"&gt;
<sun-web-app>
    <class-loader delegate="false"/>
    <property name="useBundledJsf" value="true"/>
</sun-web-app>
Bozho
You can leave "think" away :)
BalusC
:D Thank you very much! It works fine now!
wheelie