Allow creation of folder in any node except files or linked files.
authorMathieu Baudier <mbaudier@argeo.org>
Sat, 21 Jan 2017 16:52:58 +0000 (17:52 +0100)
committerMathieu Baudier <mbaudier@argeo.org>
Sat, 21 Jan 2017 16:52:58 +0000 (17:52 +0100)
org.argeo.jcr/src/org/argeo/jcr/fs/JcrFileSystemProvider.java

index 3e07697dc5c2699661a982af278731d544f82076..add900540a3e2023d7934d2fc0ecdcee3f68e4ff 100644 (file)
@@ -76,8 +76,9 @@ public abstract class JcrFileSystemProvider extends FileSystemProvider {
                                Node parent = toNode(dir.getParent());
                                if (parent == null)
                                        throw new IOException("Parent of " + dir + " does not exist");
-                               if (!(parent.getPath().equals("/") || parent.getPrimaryNodeType().isNodeType(NodeType.NT_FOLDER)))
-                                       throw new JcrFsException(dir + " parent is not a directory");
+                               if (parent.getPrimaryNodeType().isNodeType(NodeType.NT_FILE)
+                                               || parent.getPrimaryNodeType().isNodeType(NodeType.NT_LINKED_FILE))
+                                       throw new JcrFsException(dir + " parent is a file");
                                node = parent.addNode(dir.getFileName().toString(), NodeType.NT_FOLDER);
                                node.addMixin(NodeType.MIX_CREATED);
                                node.addMixin(NodeType.MIX_LAST_MODIFIED);