On Wed, May 19, 2010 at 5:21 PM, Alan Ruttenberg alanruttenberg@gmail.com wrote:
Sorry I'm behind on this. In what sense is ABCL "isolated"? For example, in the context of protege, the whole point is to be able to interact with the same objects the protege editor is interactive with.
That's a matter of correctly configuring the classloaders. I don't know if OSGi puts any restriction here, but in general if you make sure the ABCL "private" classloader has the Protege one as one its ancestors, then ABCL will be able to access all the classes known to Protege. If you want to pass live Protege objects to the private ABCL world, you'll have to construct some machinery to expose some parts of ABCL through a common interface, and get a reference to an instance of that interface using reflection.
Of course, the whole point of all this is to be able to run multiple ABCL instances. If you don't have this need, going through all this pain is useless.
Alessio