>
>
> Now I see your problem. If you look at the code of MMBase.addLocalObserver
> then you are added to the observer vector of the MediaFragments 
> Builder, but not
> to the vector of the VideoFragment en AudioFragment builders.
>
hehe It took some emails, i will try to be more clear next time ;-)

> That's clear, but you agree that this second call to the parent 
> builder will
> finally end up for the second time in MMObjectBuilder.nodeXXXChanged
> with only a different builder param? Idem voor de MediaFragments builder
> it will see the changed signal twice or more. Is it very difficult to let
> addXXXObserver add the observer to all relevant builders, so one signal
> can do the job?
>
I see two problems with this.
1) A MMObjectBuilder only knows when it is having a parentBuilder, so 
the childBuilders are not know. But this, probably, has to change in the 
future to avoid e.g. that a builder can be deactivated or deleted while 
it is having child's.

2) If an audiofragment changes the signal should also go to the 
mediafragment builder. Regardless if observers are set! The 
mediafragment builder only sends the signals to it's observers and will 
ignore the statements for caching, because the cache is already cleared 
in the audiofragment builder.

b.t.w. It's is not true that some instance would retrieve the node 
changes twice. The MMObjectBuilder of audiofragments would receive the 
signal (where buildername=audiofragments) and the MMObjectBuild of 
mediafragments would receive the signal (where 
buildername=audiofragments). In the current implementation the 
MMobjectBuilder is responsible to sent signals to all instances that are 
listening.

greetings Rob


Reply via email to