Hoi Rob,
That's not the way to implement it. Your override of nodeLocalChanged and
nodeRemoteChanged should call super.nodeLocalChanged and
super.nodeRemoteChanged to signal your parent. The parent should
call its super if it places an override, so in the end MMObjectBuilders
nodeLocalChanged and nodeRemoteChanged is called. If you don't
call super then the Node cache of MMBase handled by MMObjectBuilder
nodeLocalChanged and nodeRemoteChanged will not operate as
intended.
Wilbert.
----- Original Message -----
From: "Rob Vermeulen" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Tuesday, August 27, 2002 8:13 PM
Subject: nodeChanges to parent builders
> Hi developers,
>
> While using extended builders, I ran into unwanted behavior.
>
> I am using the following builder setup: audiofragment extends
> mediafragment extends object.
> While adding an observer to mediafragments, you expect to receive
> nodeChanges of all implementations of mediafragments. This is not the
> situation because the signaling of changed nodes is not passed to the
> parent builders.
>
> I added a little delegation statement in
> MMObjectBuilder:nodeLocalChanged (also in the remote method).
> MMObjectBuilder pb = getParentBuilder();
> if(pb!=null) {
> pb.nodeRemoteChanged(machine, number, builder, ctype);
> }
>
> For me this seems to work correctly, and if nobody disagrees with this
> addition I want to put it in CVS as a bug fix.
>
> greetings Rob
>
>
>