If for a single child the attributes cannot be recieved, the whole listing is aborted and an exception thrown.
From my point of view this is not a good solution, because if we have a dir with 100 childs, a single failed IO operation makes the whole listing operation void.
Additionally, the already made listing depends on the sorting of the child elements (e.g., if the failing IO-operation is one of the first elements, the DavFolder.children is quite empty while if it is one of the last elements, the object stores the nearly the whole listing).
I suggest to encapsulate all IO-ops for one child in a try-catch-block and continue with the next child, if an IOException is raised.
Folders listings are created with
DavFolder.getMembers(...)
: https://github.com/cryptomator/webdav-nio-adapter-servlet/blob/e8372ddd24c5a737c4c20d042d80571a2b24703f/src/main/java/org/cryptomator/webdav/core/servlet/DavFolder.java#L108-L128If for a single child the attributes cannot be recieved, the whole listing is aborted and an exception thrown.
From my point of view this is not a good solution, because if we have a dir with 100 childs, a single failed IO operation makes the whole listing operation void. Additionally, the already made listing depends on the sorting of the child elements (e.g., if the failing IO-operation is one of the first elements, the
DavFolder.children
is quite empty while if it is one of the last elements, the object stores the nearly the whole listing).I suggest to encapsulate all IO-ops for one child in a
try-catch
-block and continue with the next child, if an IOException is raised.