>
>
> > Ok, try it once again, then we better go to IRC :)
> >
> Please come to IRC, because we have a lot to discuss ;-)
>
We discussed the problem and come with this adapted proposal:
MMObjectBuilder::nodeXXXXChanged(String machine,String number,String
builder,String ctype) {
if(builder.equals(tableName) {
// do cache stuff
}
// signal all the other objects that have shown interest in changes of
nodes of this builder type.
for (Enumeration e=remoteObservers.elements();e.hasMoreElements();) {
MMBaseObserver o=(MMBaseObserver)e.nextElement();
o.nodeRemoteChanged(machine,number,builder,ctype);
}
MMObjectBuilder pb = getParentBuilder();
if(pb!=null && pb.ISINSTANCEOFBUILDER(builder)) {
pb.nodeRemoteChanged(machine, number, builder, ctype);
}
The different with the previous propasal is the extra
ISINSTANCEOFBUILDER check. This will make sure that only the
parentBuilders are getting a signal if they are instances of the builder
that changed. This additional check implies that we also have to add an
extra method MMObjectBuilder::isInstanceOfBuilder(String buildername). I
don't see big problems. I will start testing this setup and if people
agree, i will add it to cvs.
greetings Rob