* @return Connection parameters, or null if no factory is willing to process the URL
*/
public static Map<String, Serializable> createDataAcessParameters( URL url ) {
Iterator<DataAccessFactory> available = DataAccessFinder.getAvailableDataStores();
while( available.hasNext() ) {
DataAccessFactory factory = available.next();
try {
if (!consider(factory, url)) {
continue;
}
Map<String, Serializable> params = createConnectionParameters(url, factory);
if (params != null && factory.canProcess(params)) {
// oh this actually worked!
return params;
}
} catch (Throwable t) {
if (Activator.getDefault().isDebugging()) {
IStatus warning = new Status(IStatus.WARNING, Activator.PLUGIN_ID, factory
.getDisplayName()
+ " unable to process " + url, t);
Activator.getDefault().getLog().log(warning);
}
}