private static void addUDFS(ComponentImpl trgComp, Map src, Map trg) {
Iterator it = src.entrySet().iterator();
Map.Entry entry;
Object key,value;
UDF udf;
ComponentImpl comp,owner;
boolean done;
while(it.hasNext()){
entry=(Entry) it.next();
key=entry.getKey();
value=entry.getValue();
if(value instanceof UDF) {
udf=(UDF) value;
done=false;
// get udf from _udf
owner = (ComponentImpl)udf.getOwnerComponent();
if(owner!=null) {
comp=trgComp;
do{
if(owner.pageSource==comp.pageSource)
break;
}
while((comp=comp.base)!=null);
if(comp!=null) {
value=comp._udfs.get(key);
trg.put(key, value);
done=true;
}
}
// udf with no owner
if(!done)
trg.put(key, udf.duplicate());
//print.o(owner.pageSource.getComponentName()+":"+udf.getFunctionName());
}
}
}