[Markus] Good question, I guess I should have been more specific about this on the wiki page. By default, the IdASRegistry looks for a file named "
contextfactories.xrds" in the classpath, but this can be changed by calling setContextFactoryDiscovery() on the registry, passing it any implementation of the IDiscovery interface. Here are some examples:
registry.setContextFactoryDiscovery
(new
FileDiscovery("/mypath/myregistry.xrds")); // this reads the registry
configuration from a local XRDS file
registry.setContextFactoryDiscovery(new StreamDiscovery(myInputStream)); // this reads an XRDS file from a stream
registry.setContextFactoryDiscovery(new YadisDiscovery("
http://www.eclipse.org/higgins/myregistry.xrds")); // this uses Yadis discovery to obtain an XRDS file from a URI
registry.setContextFactoryDiscovery(new ResolutionDiscovery("@higgins*registry")); // this performs XRI resolution to obtain an XRDS file
I think there was consensus on the list that in most deployment scenarios this configuration will simply be read from a local file, so I chose the "contextfactories.xrds" as default. The most sophisticated scenario would of course be to use a URI or an XRI (such as @higgins*registry). In this case, the registry configuration could be dynamically managed without having to touch existing Higgins deployments. Maybe in a future version the IdASRegistry could even dynamically download context factories that are not yet installed locally?
I added a bit more information about this on the ContextDiscoveryComponents page in the "IdASRegistry" section.
Markus