This is a follow on to
UDIG-1933 and represents a long term solution to the performance problem encountered.
The idea is to cache target classes, and double check the implementation of ResolveManager against the AdapterManager original.
The result is ResolveManager2 focused on the following differences:
- full cache the supported super classes and interfaces for a resolve class; this allows a faster search of available factories
- perform as many comparisons using class name as possible, to prevent greedy loading
- use the list of supported types to perform a quick canAdapt check
- only load the factory in the adapt method where we are already slow with a progress monitor
- use a real proxy to hold the factory instances
This work is taking place on the following branch: