I guess it is a bug.

Juergen

On 6/22/06, Eelco Hillenius <[EMAIL PROTECTED]> wrote:
> ITestPageSource is not serializable. If it was, you wouldn't have this
> problem. I don't use that part of Wicket myself, nor wrote it, so I'm
> not sure if that interface not being serializable is intentional.
> Maybe Ingram Chen can comment on that?
>
> Eelco
>
>
> On 6/22/06, Gert Jan Verhoog <[EMAIL PROTECTED]> wrote:
> > Juergen Donnerstag wrote:
> > > HTTP sessions and hence Wicket Pages get serialized and hence all it
> > > components and variable must be serializable or transient. We enforced
> > > that policy a little bit to make sure the error are detected earlier
> > > and late when the application is deployed already. Just make sure your
> > > components and component variable implement Serializable.
> >
> > I am aware of that. Please look at the example code I included in my
> > previous post. It's a trivial WebPage with a single label, and some
> > WicketTester test code. That's all that's needed to cause the exception.
> >    This is code that I almost copied verbatim from the WicketTester api
> > docs.
> >
> > There are no custom beans, so I don't see what I could make
> > Serializable. In the actual project where I'm running into these
> > problems, all beans are serializable or transient, and all business
> > objects are injected with Spring proxies. (using @SpringBean annotations).
> >
> > The webapplication runs fine, it's *just* the WicketTester code that fails.
> >
> > Maybe there is a simple solution to this problem, but I'm obviously
> > overlooking it.
> >
> > cheers,
> > Gert
> >
> >
> >
> > >
> > > wicket.WicketRuntimeException: Internal error cloning object. Make sure
> > > all dependent objects implement Serializable. Class:
> > > wicket.util.tester.DummyHomePage
> > >
> > >
> > > On 6/21/06, Gert Jan Verhoog <[EMAIL PROTECTED]> wrote:
> > >> Hi list,
> > >>
> > >> After upgrading to Wicket 1.2, wicket tests for my project don't work
> > >> anymore. Testing a page that is initialized using a custom constructor
> > >> causes a WicketRuntimeException:
> > >>
> > >> wicket.WicketRuntimeException: Internal error cloning object. Make sure
> > >> all dependent objects implement Serializable. Class:
> > >> wicket.util.tester.DummyHomePage
> > >>   at
> > >> wicket.protocol.http.HttpSessionStore.setAttribute(HttpSessionStore.java:62)
> > >> [... bits of stacktrace omitted for brevity ...]
> > >> Caused by: java.io.NotSerializableException: com.example.MyPageTest$1
> > >>        at 
> > >> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1075)
> > >>        at
> > >> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1369)
> > >> [... rest of stacktrace omitted for brevity ...]
> > >>
> > >>
> > >> I created the initialized page with an anonymous ITestPageSource, as per
> > >> the WicketTester javadocs.
> > >>
> > >> Consider the following example code that causes the error:
> > >>
> > >> MyPage.html:
> > >> - - - - - - - - - - - - - - - - - - - - - - - - - -
> > >> <html xmlns:wicket="http://wicket.sourceforge.net/";>
> > >>   <head><title>bla</title></head>
> > >>   <body>
> > >>     <h1><span wicket:id="title">(title)</span></h1>
> > >>   </body>
> > >> </html>
> > >> - - - - - - - - - - - - - - - - - - - - - - - - - -
> > >>
> > >>
> > >> MyPage.java:
> > >> - - - - - - - - - - - - - - - - - - - - - - - - - -
> > >> package com.example;
> > >>
> > >> import wicket.markup.html.WebPage;
> > >> import wicket.markup.html.basic.Label;
> > >>
> > >> public class MyPage extends WebPage {
> > >>
> > >>   public MyPage() {
> > >>     this("empty");
> > >>   }
> > >>
> > >>   public MyPage(String title) {
> > >>     add(new Label("title",title));
> > >>   }
> > >> }
> > >> - - - - - - - - - - - - - - - - - - - - - - - - - -
> > >>
> > >>
> > >> and finally, MyPageTest.java:
> > >> - - - - - - - - - - - - - - - - - - - - - - - - - -
> > >> package com.example;
> > >>
> > >> import junit.framework.TestCase;
> > >> import wicket.Page;
> > >> import wicket.util.tester.ITestPageSource;
> > >> import wicket.util.tester.WicketTester;
> > >>
> > >> public class MyPageTest extends TestCase {
> > >>
> > >>   public void testRenderMyPage() {
> > >>     WicketTester tester = new WicketTester();
> > >>
> > >>     // the following statement throws the exception:
> > >>     tester.startPage(new ITestPageSource() {
> > >>       public Page getTestPage() {
> > >>         return new MyPage("hello world");
> > >>       }
> > >>     });
> > >>   }
> > >> }
> > >> - - - - - - - - - - - - - - - - - - - - - - - - - -
> > >>
> > >> What's happening here? Most of my pages use custom constructors to
> > >> initialize the page, and every test method that use these cause the
> > >> error. What can I do about it?
> > >>
> > >> cheers,
> > >> Gert
> > >>
> > >>
> > >> --
> > >> Gert Jan Verhoog
> > >> Func. Internet Integration
> > >> W http://www.func.nl
> > >> T +31 30 2109750
> > >> F +31 30 2109751
> > >>
> > >>
> > >> _______________________________________________
> > >> Wicket-user mailing list
> > >> Wicket-user@lists.sourceforge.net
> > >> https://lists.sourceforge.net/lists/listinfo/wicket-user
> > >>
> > >
> > >
> > > _______________________________________________
> > > Wicket-user mailing list
> > > Wicket-user@lists.sourceforge.net
> > > https://lists.sourceforge.net/lists/listinfo/wicket-user
> >
> >
> > --
> > Gert Jan Verhoog
> > Func. Internet Integration
> > W http://www.func.nl
> > T +31 30 2109750
> > F +31 30 2109751
> >
> > All the advantages of Linux Managed Hosting--Without the Cost and Risk!
> > Fully trained technicians. The highest number of Red Hat certifications in
> > the hosting industry. Fanatical Support. Click to learn more
> > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=107521&bid=248729&dat=121642
> > _______________________________________________
> > Wicket-user mailing list
> > Wicket-user@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/wicket-user
> >
>
> Using Tomcat but need to do more? Need to support web services, security?
> Get stuff done quickly with pre-integrated technology to make your job easier
> Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
> _______________________________________________
> Wicket-user mailing list
> Wicket-user@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wicket-user
>

Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user

Reply via email to