From: Mathieu Baudier Date: Sat, 21 Jan 2017 17:05:00 +0000 (+0100) Subject: Allow to upload a file in any node. X-Git-Tag: argeo-commons-2.1.58~6 X-Git-Url: http://git.argeo.org/?a=commitdiff_plain;h=e1103912972d44e0b1014cc09170b32092ddaf00;p=lgpl%2Fargeo-commons.git Allow to upload a file in any node. --- diff --git a/org.argeo.jcr/src/org/argeo/jcr/fs/JcrFileSystemProvider.java b/org.argeo.jcr/src/org/argeo/jcr/fs/JcrFileSystemProvider.java index add900540..17665a0a4 100644 --- a/org.argeo.jcr/src/org/argeo/jcr/fs/JcrFileSystemProvider.java +++ b/org.argeo.jcr/src/org/argeo/jcr/fs/JcrFileSystemProvider.java @@ -40,13 +40,14 @@ public abstract class JcrFileSystemProvider extends FileSystemProvider { try { Node node = toNode(path); if (node == null) { - Node parentNode = toNode(path.getParent()); - if (parentNode == null) + Node parent = toNode(path.getParent()); + if (parent == null) throw new JcrFsException("No parent directory for " + path); - if (!(parentNode.getPath().equals("/") || parentNode.isNodeType(NodeType.NT_FOLDER))) - throw new JcrFsException("Parent of " + path + " is not a directory"); + if (parent.getPrimaryNodeType().isNodeType(NodeType.NT_FILE) + || parent.getPrimaryNodeType().isNodeType(NodeType.NT_LINKED_FILE)) + throw new JcrFsException(path + " parent is a file"); - node = parentNode.addNode(path.getFileName().toString(), NodeType.NT_FILE); + node = parent.addNode(path.getFileName().toString(), NodeType.NT_FILE); node.addMixin(NodeType.MIX_CREATED); node.addMixin(NodeType.MIX_LAST_MODIFIED); }