Am 16.04.2012 09:44, schrieb Lance Java:
> I think that SeleniumTestCase should inject a Session implementation that
> fails when setAttribute() is called with a non-Serializable object so that
> we can catch this in the future


that would be a start, but you won't catch nested (uninitialized,
non-serializable) classes like:


class A implements Serializable {
 class B {}

 B b = null;

 public void initB() {
  b = new B();
 }
}


... and in the page:

@Persist
private A a;

@SetupRender() {
 a = new A();
}

in this case the selenium test case will not fail.

in this case:

@Persist
private A a;

@SetupRender() {
 a = new A();
 a.initB(); // <--- b initialized
}

the test case will fail ("class B not serializable")

i am currently fighting with nested data structures in our business
objects where non-serializable instances are failing to persist.

one solution would be to traverse all possible paths in the nested data
structure (by-class, not by-value) und check all possible
(non-transient) fields recursivly for serialization.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org

Reply via email to