/** * Convert a Resource path to file reference for provided base directory. * * <p>This method requires the base directory of the ResourceStore. Note ResourceStore * implementations may not create the file until needed. In the case of an absolute path, base * should be null. * * @param base Base directory, often GeoServer Data Directory * @param path Resource path reference * @return File reference */ public static File toFile(File base, String path) { for (String item : Paths.names(path)) { base = new File(base, item); } return base; } }
/** * Path construction. * * @param strictPath whether problematic characters are an error * @param path Items defining a Path * @return path Path used to identify a Resource */ static String path(boolean strictPath, String... path) { if (path == null || (path.length == 1 && path[0] == null)) { return null; } ArrayList<String> names = new ArrayList<String>(); for (String item : path) { names.addAll(names(item)); } return toPath(strictPath, names); }
throw new NullPointerException("Base directory required for relative path"); List<String> folderPath = names(convert(base, folder)); List<String> filePath = Arrays.asList(location);
List<String> items = Paths.names(path); int index = 0; if (index < items.size()) {
@Theory public void theoryNameIsEndOfPath(String path) throws Exception { Resource res = getResource(path); List<String> elements = Paths.names(path); String lastElement = elements.get(elements.size() - 1); String result = res.name(); assertThat(result, equalTo(lastElement)); }
static String idFromPath(String path) { List<String> names = Paths.names(path); String resourceName = names.get(names.size() - 1); return resourceName.substring(0, resourceName.length() - ".xml".length()); }
public Entry createEntry(String pathStr) { return createEntry(new ArrayList<String>(Paths.names(pathStr))); }
@Override public Resource get(String path) { List<String> pathNames = Paths.names(path); if (oldResourceStore != null && pathNames.size() > 0 && ArrayUtils.contains(dir.getConfig().getIgnoreDirs(), pathNames.get(0))) { return oldResourceStore.get(path); } return new JDBCResource(dir.createEntry(path)); }
@Theory public void theoryNameIsEndOfPath(String path) throws Exception { Resource res = getResource(path); List<String> elements = Paths.names(path); String lastElement = elements.get(elements.size() - 1); String result = res.name(); assertThat(result, equalTo(lastElement)); }