protected URL makeDelegateUrl(URL url) throws MalformedURLException, IOException {
String name = url.getHost();
String file = url.getFile();
if (file != null && !file.equals(""))
{
name += file;
}
// first try TCL and then SCL
ClassLoader cl = Thread.currentThread().getContextClassLoader();
URL target = cl.getResource(name);
if (target == null)
{
cl = ClassLoader.getSystemClassLoader();
target = cl.getResource(name);
}
if (target == null)
throw new FileNotFoundException("Could not locate resource: " + name);
if (log.isTraceEnabled())
{
log.trace("Target resource URL: " + target);
try
{
log.trace("Target resource URL connection: " + target.openConnection());
}
catch (Exception ignore)
{
}
}
// Return a new URL as the cl version does not use the JB stream factory
return new URL(target.toExternalForm());
}
|