Andrey do have time to check that? If not I may try investigating it
over the weekend (although I never used callbacks with ROP, so I am
not fully sure how they are expected to work). This may warrant a
release recall.
Andrus
On Oct 30, 2009, at 4:43 AM, Lachlan Deck wrote:
> Hi Andrus,
>
> On 04/10/2009, at 12:37 AM, Andrus Adamchik wrote:
>
>> I finished this per CAY-1281. Project upgrade is performed on
>> opening it in the Modeler, so migration for the existing callback
>> users is straightforward.
>>
>> Haven't checked whether that works for ROP. I would appreciate if
>> somebody could help me with that.
>
> I can confirm that this is broken (unless I've missed something
> obvious) in ROP after updating to 3.0B1
>
> After the update it appears that an entity record is not properly
> initialised when saving from ROP. i.e., server-side validation is
> throwing some NPEs and/or thinking that values haven't been set
> (perhaps a serialisation issue?). However, the validation on the
> client-side would have caught this as, for the most part, the
> validation is the same.
>
> I refactored all our current server-side prePersist methods to
> postAdd and the problem saving from the client continues.
>
> Rolling back the cayenne jar(s) fixes the problem.
>
> Any suggestions?
>
>> On Sep 28, 2009, at 9:53 AM, Andrus Adamchik wrote:
>>
>>>
>>> On Sep 28, 2009, at 4:08 AM, Lachlan Deck wrote:
>>>
>>>>
>>>> So from what I can see the only two changes required were
>>>> 'postInsert' and adjusting the meaning of prePersist
>>>
>>> I also tend to think that less is better. This discussion thread
>>> was a nice brainstorming on the callbacks use patterns. So we've
>>> played with a few things and now I am fine if we go a full circle
>>> to the minimal change suggested earlier, and don't worry about JPA
>>> users, extra delete callbacks, or symmetry between callback types
>>> (in many respects there's little symmetry if you look at the
>>> object lifecycle - http://cayenne.apache.org/doc/persistent-object-lifecycle.html)
>>> .
>>>
>>> So here is the change I am going to make:
>>>
>>> 1. Call "prePersist" before commit
>>> 2. Introduce "postAdd" instead of current "prePersist".
>>>
>>> This change is minimal and is not incompatible with other ideas.
>>> Objections?
>>>
>>> Andrus
>
> with regards,
> --
>
> Lachlan Deck
>
>
>
>
This archive was generated by hypermail 2.0.0 : Fri Oct 30 2009 - 03:51:58 EDT