Thanks Jody - I was able to get this update and confirm that it works.
On 8/28/2012 9:04 PM, Jody Garnett wrote:
If you comment out the first try/catch section of that function (which
is supposed to "optimize" the code), the performance improves.
I added a check so the "optimisation" is only attempted for non "udig" code.
String resolveType=child.getAttribute("type"); //$NON-NLS-1$
if( !resolveType.startsWith("net.refractions") &&
!resolveType.startsWith("eu.udig") ){
// We first try a class loader trick to grab the target class
// without forcing the load of the plugin where the element
// comes from (this works in may cases where the type is
something
// common from net.refractions.udig.libs)
try{
ClassLoader classLoader = target.getClassLoader();
if( classLoader==null ){
classLoader=ClassLoader.getSystemClassLoader();
}
Class< ? > resolvedClass =
classLoader.loadClass(resolveType);
if( target.isAssignableFrom(resolvedClass) ){
return true;
}
else {
continue; // we were able to load the class and it did not
match
}
} catch(ClassNotFoundException e2){
// that is no good, let's try using the RCP classloader
}
}
It has restored performance. I will continue on with the more detailed
solution; but for now we are in position to release again.
Jody
_______________________________________________
User-friendly Desktop Internet GIS (uDig)
http://udig.refractions.net
http://lists.refractions.net/mailman/listinfo/udig-devel