Skip to content

WebDAV VFS and metadata type #7123#7124

Open
bamaer wants to merge 8 commits into
apache:mainfrom
bamaer:7123
Open

WebDAV VFS and metadata type #7123#7124
bamaer wants to merge 8 commits into
apache:mainfrom
bamaer:7123

Conversation

@bamaer
Copy link
Copy Markdown
Contributor

@bamaer bamaer commented May 13, 2026

Please add a meaningful description for your change here


Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

  • Run mvn clean install apache-rat:check to make sure basic checks pass. A more thorough check will be performed on your pull request automatically.
  • If you have a group of commits related to the same change, please squash your commits into one and force push your branch using git rebase -i.
  • Mention the appropriate issue in your description (for example: addresses #123), if applicable.

To make clear that you license your contribution under the Apache License Version 2.0, January 2004
you have to acknowledge this by using the following check-box.

bamaer and others added 8 commits May 13, 2026 14:58
HopWebDavConnectionFileName wraps Webdav4FileName so getURI/getRootURI/
getFriendlyURI use the connection metadata name (e.g. nextcloud:///path)
while wire host/path stay on webdav4 for HTTP.

Undo: git revert this commit (files: HopWebDavLogicalUris.java,
HopWebDavConnectionFileName.java, parser + tests).

Co-authored-by: Cursor <cursoragent@cursor.com>
Webdav4FileSystem.createFile was still attaching plain Webdav4FileName
from PROPFIND/listing. Use HopWebDavConnectionFileSystem to wrap every
Webdav4FileName so HopVfsFileDialog and getURI() show the metadata scheme.

Undo: git revert this commit.
Co-authored-by: Cursor <cursoragent@cursor.com>
doListChildrenResolved returns FileObjects that bypass createFile;
subclass Webdav4FileObject to re-resolve children with HopWebDavConnectionFileName.

Undo: git revert this commit.
Co-authored-by: Cursor <cursoragent@cursor.com>
DefaultFileSystemManager.resolveName picks the provider from parent.getScheme();
HopWebDavConnectionFileName still reported webdav4 so PROPFIND child resolution
used the global Webdav4FileProvider. Return the connection name from getScheme,
keep wireScheme for Webdav4FileName children, and parse resolveName-style URIs
(rootURI + full wire path) into the correct synthetic webdav4 URL.

Undo: git revert this commit.
Co-authored-by: Cursor <cursoragent@cursor.com>
@bamaer bamaer changed the title WebDAV VFS and metadata type 7123 WebDAV VFS and metadata type #7123 May 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant