mirror of
https://github.com/cryptomator/cryptomator.git
synced 2026-09-19 22:44:32 +00:00
Removed FolderCreateMode from filesystem api
* Folder#create now always creates the parents
This commit is contained in:
+8
-14
@@ -8,7 +8,6 @@
|
||||
*******************************************************************************/
|
||||
package org.cryptomator.filesystem.inmem;
|
||||
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.UncheckedIOException;
|
||||
import java.nio.file.FileAlreadyExistsException;
|
||||
import java.time.Instant;
|
||||
@@ -20,7 +19,6 @@ import java.util.stream.Stream;
|
||||
|
||||
import org.apache.commons.io.FileExistsException;
|
||||
import org.cryptomator.filesystem.Folder;
|
||||
import org.cryptomator.filesystem.FolderCreateMode;
|
||||
|
||||
class InMemoryFolder extends InMemoryNode implements Folder {
|
||||
|
||||
@@ -67,16 +65,11 @@ class InMemoryFolder extends InMemoryNode implements Folder {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void create(FolderCreateMode mode) {
|
||||
public void create() {
|
||||
if (exists()) {
|
||||
return;
|
||||
}
|
||||
if (!parent.exists() && FolderCreateMode.FAIL_IF_PARENT_IS_MISSING.equals(mode)) {
|
||||
throw new UncheckedIOException(new FileNotFoundException(parent.name));
|
||||
} else if (!parent.exists() && FolderCreateMode.INCLUDING_PARENTS.equals(mode)) {
|
||||
parent.create(mode);
|
||||
}
|
||||
assert parent.exists();
|
||||
parent.create();
|
||||
parent.children.compute(this.name(), (k, v) -> {
|
||||
if (v == null) {
|
||||
this.lastModified = Instant.now();
|
||||
@@ -93,11 +86,11 @@ class InMemoryFolder extends InMemoryNode implements Folder {
|
||||
if (target.exists()) {
|
||||
target.delete();
|
||||
}
|
||||
assert!target.exists();
|
||||
target.create(FolderCreateMode.INCLUDING_PARENTS);
|
||||
assert !target.exists();
|
||||
target.create();
|
||||
this.copyTo(target);
|
||||
this.delete();
|
||||
assert!this.exists();
|
||||
assert !this.exists();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -114,11 +107,12 @@ class InMemoryFolder extends InMemoryNode implements Folder {
|
||||
// recursively on folders:
|
||||
if (entry.getValue() instanceof InMemoryFolder) {
|
||||
InMemoryFolder subFolder = (InMemoryFolder) entry.getValue();
|
||||
// this will try to itself from our children, which is ok as we're using an iterator here.
|
||||
// this will try to itself from our children, which is ok as
|
||||
// we're using an iterator here.
|
||||
subFolder.delete();
|
||||
}
|
||||
}
|
||||
assert!this.exists();
|
||||
assert !this.exists();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+3
-4
@@ -16,7 +16,6 @@ import java.util.concurrent.TimeoutException;
|
||||
import org.cryptomator.filesystem.File;
|
||||
import org.cryptomator.filesystem.FileSystem;
|
||||
import org.cryptomator.filesystem.Folder;
|
||||
import org.cryptomator.filesystem.FolderCreateMode;
|
||||
import org.cryptomator.filesystem.ReadableFile;
|
||||
import org.cryptomator.filesystem.WritableFile;
|
||||
import org.junit.Assert;
|
||||
@@ -34,7 +33,7 @@ public class InMemoryFileSystemTest {
|
||||
Assert.assertEquals(0, fs.folders().count());
|
||||
|
||||
// create /foo
|
||||
fooFolder.create(FolderCreateMode.FAIL_IF_PARENT_IS_MISSING);
|
||||
fooFolder.create();
|
||||
Assert.assertTrue(fooFolder.exists());
|
||||
Assert.assertEquals(1, fs.folders().count());
|
||||
|
||||
@@ -46,7 +45,7 @@ public class InMemoryFileSystemTest {
|
||||
// create /foo/bar
|
||||
Folder fooBarFolder = fooFolder.folder("bar");
|
||||
Assert.assertFalse(fooBarFolder.exists());
|
||||
fooBarFolder.create(FolderCreateMode.INCLUDING_PARENTS);
|
||||
fooBarFolder.create();
|
||||
Assert.assertTrue(fooFolder.exists());
|
||||
Assert.assertTrue(fooBarFolder.exists());
|
||||
Assert.assertEquals(1, fs.folders().count());
|
||||
@@ -149,7 +148,7 @@ public class InMemoryFileSystemTest {
|
||||
final Folder qweAsdFolder = fs.folder("qwe").folder("asd");
|
||||
final File test1File = fooBarFolder.file("test1.txt");
|
||||
final File test2File = fooBarFolder.file("test2.txt");
|
||||
fooBarFolder.create(FolderCreateMode.INCLUDING_PARENTS);
|
||||
fooBarFolder.create();
|
||||
|
||||
// create some files inside foo/bar/
|
||||
try (WritableFile writable1 = test1File.openWritable(); //
|
||||
|
||||
Reference in New Issue
Block a user