[ https://issues.apache.org/jira/browse/JCR-1450?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12577062#action_12577062 ]
Stefan Guggisberg commented on JCR-1450: ---------------------------------------- the FileSystem interface is somehow 'under-specified', it doesn't specify e.g. how to handle non-existing intermediate folders in above example. the currently existing other FileSystem implementations (local and db-based) silently create non-existing intermediate folders (just like java.io.File#mkdirs() does). i'd suggest to mimic this behavior in MemoryFileSystem rather than throwing an exception. BTW: patches are welcome ;-) > move method of the MemoryFileSystem may accept invalid destination path > resulting in invalid entries in FS > ---------------------------------------------------------------------------------------------------------- > > Key: JCR-1450 > URL: https://issues.apache.org/jira/browse/JCR-1450 > Project: Jackrabbit > Issue Type: Bug > Components: jackrabbit-core > Reporter: Denis Linine > Priority: Trivial > > It seems there can be a problem with the move method of the MemoryFileSystem > class: when looking at its code it looks that it can accept destinations, > specifying folders that do not exist in the file system. > For example, if there is a "somefolder/somefile" file and I call the method > passing, say "somefolder/someotherfolder/somefile" as the destination. The > destination will be accepted by the code even if "somefolder/someotherfolder" > is not an existing folder and the function execution will result in a file > having the "somefolder/someotherfolder/somefile" path within a file system > having no "somefolder/someotherfolder" folder - the code should probably > check whether the destination path is really a valid one. Such validation > could be performed , for example, in the following way: take all path > elements from the destination path except the last one and insure that the > resulting path points to an existing folder, throw an exception otherwise. > Currently I have no JackRabbit build/test environment set up and could not > verify practically whether the issue described can really take place, the > supposition is made after looking at the move method implementation. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.