How about adding a specific list implementation rather than using a
generic list.  Then your list implementation can maintain the
relationships instead of the action.
  (*Chris*)

On Thu, May 8, 2008 at 7:04 AM, Adam Hardy
<[EMAIL PROTECTED]> wrote:
> Adam Hardy on 08/05/08 12:21, wrote:
>>>>>>
>>>>>> when the Params interceptor populates my entity beans, it must be
>>>>>> setting the member variables directly without using the setters.
>>>>>>
>>>>>> Is there a way to tell it to use the setters? There is some logic in
>>>>>> the setters which it would be good if it executed.
>>>>>
>>>>> It gives precedence to the setters. Why would it not be able to see or
>>>>> set the property?
>>>>
>>>> Really? That's good to know - any work-around was looking distinctly
>>>> horrific.
>>>>
>>>> These are JPA pojos, so the setters should be available.
>>>>
>>>> Maybe it's breaking the javabean spec in some subtle way - I
>>>> double-checked the memvar, getter, setter and constructor though and it
>>>> looks OK.
>>>>
>>> I'm not sure.  I ran into this same issue recently and cursed at lot at
>>> OGNL only to find out it was caused by erasure of the generic type (ie. the
>>> class of the setters argument was Object, not what I thought).  It's worth
>>> debugging this with a breakpoint.  The OGNL implementation is quite
>>> straight-forward in the way it searches for properties/methods/members
>>> matching the right signature. As it loops through all the properties you
>>> should see why it missed the one it should have set.
>>
>> Doing that now - hopefully the answer will point to a simple solution. I
>> can already see that Hibernate has got its grubby nose in there.
>
> Debugging unmasked what the problem was. OGNL was calling getChildren() and
> modifying the collection of children, rather than calling
> setChildren(newList) at any point - logically.
>
> I thought I had disabled that by returning a
> Collections.unmodifiableList(list) but in this case I had forgotten.
>
> Unfortunately for me, returning an unmodifiable collection breaks OGNL.
>
> I need to maintain the consistency of entity relationships, insuring that
> the "one" and the "many" sides of a bidirectional relationship are
> consistent with one another when the application updates the relationship at
> runtime.
>
> I'll have to find another way rather than trying to control the list.
>
> Thanks
> Adam
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to