Hi all,
We've got an interesting case with LSP4E vs LinuxTools,
both registering a factory with the same signature
(adptableType -> adapterType). The dummy expectation was
that it was legal to have multiple factories and that as long
as the current factory returns null, another one would be
tried and so on.
However, digging in the code of AdapterManager, it's
actually keeping track of a single adapter factory, ignoring
other ones. Which one is used is randomish and probably
depends on bundle activation order or ordering in the
extension registry. The AdapaterManager is documented to
behave like this, we should probably not change it.
However, the IAdapterManager is more flexible and could
allow implementations to keep and use multiple factories with
same signatures. That would resolve our case and would more
generally provide much more power and flexibility in usage and
implementation of adapter factories.
So I'm considering writing and using in InternalPlatform a
new implementation of the AdapterManager.
Does anyone have some more knowledge about this area to
share whether it seems like a good idea or not?
Thanks in advance