/** @deprecated use {@link Resources#fromURL(Resource, String)} */ @Deprecated public File url(String url) { return Files.url(baseDirectory, url); }
public void setObject(String location) { if (location != null) { File dataDirectory = canonicalize(rootDir); File file = canonicalize(new File(location)); if (isSubfile(dataDirectory, file)) { File curr = file; String path = null; // paranoid check to avoid infinite loops while (curr != null && !curr.equals(dataDirectory)) { if (path == null) { path = curr.getName(); } else { path = curr.getName() + "/" + path; } curr = curr.getParentFile(); } location = "file:" + path; } else { File dataFile = Files.url(rootDir, location); if (dataFile != null && !dataFile.equals(file)) { // relative to the data directory, does not need fixing } else { location = "file://" + file.getAbsolutePath(); } } } delegate.setObject(location); }
/** * Converts an absolute URL to a resource to be relative to the data directory if applicable. * * @return The relative path, or the original path if it does not contain the data directory */ protected String relativeDataFileURL(String url, Catalog catalog) { if (catalog == null) { return url; } File baseDirectory = catalog.getResourceLoader().getBaseDirectory(); File f = Files.url(baseDirectory, url); return f == null ? url : "file:" + Paths.convert(baseDirectory, f); }
if (baseDirectory != null) { relFile = Files.url(baseDirectory, uriSpec); } else if (loader != null) {