[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [equinox-dev] Extension Point Registry

Brian Bauman wrote on 06/18/2007 05:15:32 PM:

> In 3.4, PDE wants to utilize the Runtime's Extension Point Registry
> since it has been highly optimized.  I have been going through and
> doing some initial work in this area.  


> First, I cannot tell from RegistryStrategy.onStart() if the registry
> has been populated from a cache using IExtensionRegistry.  The
> function "filledFromCache" exists in ExtensionRegistry, but I have
> to cast to the internal class to get this information.  Since I am
> modeling my strategy after the RegistryStrategyOSGi (loading plug-
> ins from the target platform instead of the runtime), this was one
> API I am not sure is necessary.  If loading the registry after it
> was loaded from the cache will hurt performance, this is something I
> would like to see how we might access this information without casting.

Seems like if you are writing your own strategy you should have some access to deeper stuff.  that is the strategy interface is SPI.  If you are finding it lacking then we could certainly look at adding to it.  Perhaps a bug report with the specifics would work.  A patch will almost surely get attention :-)

> Second, is there any way to save the registry without calling
> IExtensionRegistry.stop()?  This would be handy since we would like
> to not have to reparse everything if the workspace crashes.

Good requirement.  Bug report?

> Can I clear the contents of an IExtensionRegistry?  When the user
> changes their platform, it would be handy if we could reuse the
> IExtensionRegistry with the data from the new target, instead of
> creating a new Object.

Not sure I buy this one.  You would likely be better off just tossing the old registry.  The code we would have to put in to enable regisry object reuse would end up being bulky and brittle.