@Override public Resource get(String path) { path = Paths.valid(path); return new FileSystemResource(path); }
@Override public boolean move(String path, String target) { path = Paths.valid(path); target = Paths.valid(target); File file = Paths.toFile(baseDirectory, path); File dest = Paths.toFile(baseDirectory, target); if (!file.exists() && !dest.exists()) { return true; // moving an undefined resource } try { dest.getParentFile().mkdirs(); // Make sure there's somewhere to move to. java.nio.file.Files.move( java.nio.file.Paths.get(file.getAbsolutePath()), java.nio.file.Paths.get(dest.getAbsolutePath()), StandardCopyOption.ATOMIC_MOVE); return true; } catch (IOException e) { throw new IllegalStateException("Unable to move " + path + " to " + target, e); } }
@Override public boolean remove(String path) { path = Paths.valid(path); File file = Paths.toFile(baseDirectory, path); return Files.delete(file); }
assertEquals(name, Paths.valid(true, name)); assertEquals(name, Paths.valid(false, name)); assertEquals(name, Paths.valid(true, name)); fail("invalid: " + name); } catch (IllegalArgumentException expected) { assertEquals(name, Paths.valid(false, name)); fail("invalid: " + name); } catch (IllegalArgumentException expected) { String name = prefix + c + suffix; try { assertEquals(name, Paths.valid(true, name)); fail("invalid: " + name); } catch (IllegalArgumentException expected) { assertEquals(name, Paths.valid(false, name));
assertEquals(name, Paths.valid(true, name)); assertEquals(name, Paths.valid(false, name)); assertEquals(name, Paths.valid(true, name)); fail("invalid: " + name); } catch (IllegalArgumentException expected) { assertEquals(name, Paths.valid(false, name)); fail("invalid: " + name); } catch (IllegalArgumentException expected) { String name = prefix + c + suffix; try { assertEquals(name, Paths.valid(true, name)); fail("invalid: " + name); } catch (IllegalArgumentException expected) { assertEquals(name, Paths.valid(false, name));