I'll test with IdentityHashMap with our main app soon. Martin Grigorov Wicket Training and Consulting https://twitter.com/mtgrigorov
On Fri, Jul 11, 2014 at 3:06 PM, Sven Meier <s...@meiers.net> wrote: > Hi, > > > really need to use #equals() ... > > > checking for identity equality should be OK too > > I've just tried with an IdentityHashMap and all tests passed (except > SerializableCheckerTest#runtimeExceptionTolerance() of course). > > Sven > > > > On 07/11/2014 11:39 AM, Martin Grigorov wrote: > >> Hi, >> >> I agree that using the primary key should be enough for #equals() but >> does org.apache.wicket.core.util.objects.checker. >> CheckingObjectOutputStream#check() >> really need to use #equals() (via Stack#contains()) ? >> I think checking for identity equality should be OK too. Java >> Serialization >> is not the simplest part of Java and I may miss something... >> >> On Fri, Jul 11, 2014 at 10:51 AM, Sven Meier <s...@meiers.net> wrote: >> >> Hi, >>> >>> >>> detachable models should never use getObject() in their implementation >>>> of >>>> >>> equals()? >>> >>> generally this is a good advice: there are several places in Wicket >>> checking for model equality (e.g. ReuseIfModelsEqualStrategy). >>> A detachable model should have enough information to decide equality >>> without loading the model object. >>> >>> Regards >>> Sven >>> >>> >>> >>> On 07/11/2014 01:52 AM, Boris Goldowsky wrote: >>> >>> I’ve started using CheckingObjectOutputStream to test for models of >>>> database objects that are not properly detached, and find it very >>>> useful. >>>> >>>> However I just diagnosed (after many hours of frustration) that it can >>>> also cause problems rather than solve them. CheckingObjectOutputStream >>>> causes the equals() method of models to be called, and in the case of >>>> our >>>> models the equals() implementation loads the database object (models of >>>> the >>>> same object being considered equal to each other). Since it’s doing >>>> this >>>> during serialization and thus after the detach process, the checker >>>> actually causes the exact problem that it’s supposed to prevent (and >>>> doesn’t generate any warnings in this case). >>>> >>>> Is it a general rule, that I was just not aware of, that detachable >>>> models should never use getObject() in their implementation of equals()? >>>> Or should CheckingObjectOutputStream be changed to avoid calling >>>> equals() ? >>>> >>>> Bng >>>> >>>> >>>> --------------------------------------------------------------------- >>>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org >>>> For additional commands, e-mail: users-h...@wicket.apache.org >>>> >>>> >>>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org >>> For additional commands, e-mail: users-h...@wicket.apache.org >>> >>> >>> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org > For additional commands, e-mail: users-h...@wicket.apache.org > >