Prechádzať zdrojové kódy

Make delegating folders create their parents during own creation if they don't exist yet.

Sebastian Stenzel 9 rokov pred
rodič
commit
0c42392244

+ 4 - 0
main/filesystem-api/src/main/java/org/cryptomator/filesystem/delegating/DelegatingFolder.java

@@ -63,6 +63,10 @@ public abstract class DelegatingFolder<R extends DelegatingReadableFile, W exten
 
 	@Override
 	public void create() throws UncheckedIOException {
+		if (exists()) {
+			return;
+		}
+		parent().ifPresent(p -> p.create());
 		delegate.create();
 	}
 

+ 1 - 1
main/filesystem-crypto/src/main/java/org/cryptomator/filesystem/crypto/CryptoFileSystem.java

@@ -85,7 +85,7 @@ public class CryptoFileSystem extends CryptoFolder implements FileSystem {
 
 	@Override
 	public boolean exists() {
-		return physicalRoot.exists();
+		return physicalFile().exists() && physicalFolder().exists();
 	}
 
 	@Override