[Trinidad] merging ObjectInputStreamResolveClass class to trunk - getting java.lang.ClassNotFoundException: void with client-side state-saving

2010-04-12 Thread Matthias Wessendorf
Hi,

for ticket TRINIDAD-1747 ([1]) on the JSF 1.2-based Trinidad branch
we introduced the ObjectInputStreamResolveClass class. For
JSF2-based Trinidad this has not been (yet)
done.

I uploaded a (simple) patch that makes similar usage of the class in
our JSF2 Version of Trinidad,
see [2] (the patch also set the
org.apache.myfaces.trinidad.CLIENT_STATE_METHOD to be fully
client-side state-saving).

Running the latest trunk (with client-side state-saving) with the
patch works fine on MyFaces (I used the last beta-3 release). However
with the Mojarra 2.0.1 and 2.0.2 releases I get this exception
java.lang.ClassNotFoundException: void:

SEVERE:
java.lang.ClassNotFoundException: void
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at 
org.codehaus.classworlds.RealmClassLoader.loadClassDirect(RealmClassLoader.java:195)
at 
org.codehaus.classworlds.DefaultClassRealm.loadClass(DefaultClassRealm.java:255)
at 
org.codehaus.classworlds.DefaultClassRealm.loadClass(DefaultClassRealm.java:274)
at 
org.codehaus.classworlds.RealmClassLoader.loadClass(RealmClassLoader.java:214)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at 
org.mortbay.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:401)
at 
org.mortbay.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:363)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at 
org.apache.myfaces.trinidad.util.ClassLoaderUtils.loadClass(ClassLoaderUtils.java:134)
at 
org.apache.myfaces.trinidad.util.ClassLoaderUtils.loadClass(ClassLoaderUtils.java:65)
at 
org.apache.myfaces.trinidadinternal.util.ObjectInputStreamResolveClass.resolveClass(ObjectInputStreamResolveClass.java:50)
at 
java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1575)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496)
at java.io.ObjectInputStream.readClass(ObjectInputStream.java:1462)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1312)
at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1667)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1323)
at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1667)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1323)
at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1667)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1323)
at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1667)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1323)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
at 
org.apache.myfaces.trinidadinternal.renderkit.core.CoreResponseStateManager._restoreSerializedView(CoreResponseStateManager.java:257)
at 
org.apache.myfaces.trinidadinternal.renderkit.core.CoreResponseStateManager.getTreeStructureToRestore(CoreResponseStateManager.java:146)
at 
org.apache.myfaces.trinidadinternal.application.StateManagerImpl.restoreView(StateManagerImpl.java:567)
at 
com.sun.faces.application.view.ViewHandlingStrategy.restoreView(ViewHandlingStrategy.java:131)
at 
com.sun.faces.application.view.MultiViewHandler.restoreView(MultiViewHandler.java:143)
at 
javax.faces.application.ViewHandlerWrapper.restoreView(ViewHandlerWrapper.java:288)
at 
org.apache.myfaces.trinidadinternal.application.ViewHandlerImpl.restoreView(ViewHandlerImpl.java:242)
at 
com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:199)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at 
com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.java:110)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:312)
at 
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
at 
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166)
at 
org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:247)
at 
org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:157)
at 
org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
at 
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
at 

Re: [Trinidad] merging ObjectInputStreamResolveClass class to trunk - getting java.lang.ClassNotFoundException: void with client-side state-saving

2010-04-12 Thread Matthias Wessendorf
Ok, I filed a bug against the Mojarra issue tracker and I am linking
to this thread here
to ensure no information is lost.

Bug is located here:
https://javaserverfaces.dev.java.net/issues/show_bug.cgi?id=1607

-Matthias

On Mon, Apr 12, 2010 at 3:20 PM, Matthias Wessendorf mat...@apache.org wrote:
 Hi,

 for ticket TRINIDAD-1747 ([1]) on the JSF 1.2-based Trinidad branch
 we introduced the ObjectInputStreamResolveClass class. For
 JSF2-based Trinidad this has not been (yet)
 done.

 I uploaded a (simple) patch that makes similar usage of the class in
 our JSF2 Version of Trinidad,
 see [2] (the patch also set the
 org.apache.myfaces.trinidad.CLIENT_STATE_METHOD to be fully
 client-side state-saving).

 Running the latest trunk (with client-side state-saving) with the
 patch works fine on MyFaces (I used the last beta-3 release). However
 with the Mojarra 2.0.1 and 2.0.2 releases I get this exception
 java.lang.ClassNotFoundException: void:

 SEVERE:
 java.lang.ClassNotFoundException: void
        at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
        at 
 org.codehaus.classworlds.RealmClassLoader.loadClassDirect(RealmClassLoader.java:195)
        at 
 org.codehaus.classworlds.DefaultClassRealm.loadClass(DefaultClassRealm.java:255)
        at 
 org.codehaus.classworlds.DefaultClassRealm.loadClass(DefaultClassRealm.java:274)
        at 
 org.codehaus.classworlds.RealmClassLoader.loadClass(RealmClassLoader.java:214)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
        at 
 org.mortbay.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:401)
        at 
 org.mortbay.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:363)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:169)
        at 
 org.apache.myfaces.trinidad.util.ClassLoaderUtils.loadClass(ClassLoaderUtils.java:134)
        at 
 org.apache.myfaces.trinidad.util.ClassLoaderUtils.loadClass(ClassLoaderUtils.java:65)
        at 
 org.apache.myfaces.trinidadinternal.util.ObjectInputStreamResolveClass.resolveClass(ObjectInputStreamResolveClass.java:50)
        at 
 java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1575)
        at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496)
        at java.io.ObjectInputStream.readClass(ObjectInputStream.java:1462)
        at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1312)
        at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1667)
        at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1323)
        at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1667)
        at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1323)
        at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1667)
        at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1323)
        at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1667)
        at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1323)
        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
        at 
 org.apache.myfaces.trinidadinternal.renderkit.core.CoreResponseStateManager._restoreSerializedView(CoreResponseStateManager.java:257)
        at 
 org.apache.myfaces.trinidadinternal.renderkit.core.CoreResponseStateManager.getTreeStructureToRestore(CoreResponseStateManager.java:146)
        at 
 org.apache.myfaces.trinidadinternal.application.StateManagerImpl.restoreView(StateManagerImpl.java:567)
        at 
 com.sun.faces.application.view.ViewHandlingStrategy.restoreView(ViewHandlingStrategy.java:131)
        at 
 com.sun.faces.application.view.MultiViewHandler.restoreView(MultiViewHandler.java:143)
        at 
 javax.faces.application.ViewHandlerWrapper.restoreView(ViewHandlerWrapper.java:288)
        at 
 org.apache.myfaces.trinidadinternal.application.ViewHandlerImpl.restoreView(ViewHandlerImpl.java:242)
        at 
 com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:199)
        at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
        at 
 com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.java:110)
        at 
 com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:312)
        at 
 org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
        at 
 org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166)
        at 
 org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:247)
        at