X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Facr%2Ffs%2FFsContentProvider.java;h=37401a29c7f894117a2a0240910ee0cd3c5fe595;hb=85015a7cbfe5343c88477d828fa2f8fb754a65cd;hp=65bdd343ef72b213289e982008f917940877c8c2;hpb=c615307d7b87bcb260d8a9f402c6e0a880862f38;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.cms/src/org/argeo/cms/acr/fs/FsContentProvider.java b/org.argeo.cms/src/org/argeo/cms/acr/fs/FsContentProvider.java index 65bdd343e..37401a29c 100644 --- a/org.argeo.cms/src/org/argeo/cms/acr/fs/FsContentProvider.java +++ b/org.argeo.cms/src/org/argeo/cms/acr/fs/FsContentProvider.java @@ -64,11 +64,24 @@ public class FsContentProvider implements ContentProvider { throws IOException { if (!prefixes.containsKey(prefix)) { ByteBuffer bb = ByteBuffer.wrap(namespace.getBytes(StandardCharsets.UTF_8)); - int size = udfav.write(XMLNS_ + prefix, bb); + udfav.write(XMLNS_ + prefix, bb); prefixes.put(prefix, namespace); } } + public void registerPrefix(String prefix, String namespace) { + if (prefixes.containsKey(prefix)) + prefixes.remove(prefix); + try { + UserDefinedFileAttributeView udfav = Files.getFileAttributeView(rootPath, + UserDefinedFileAttributeView.class); + addDefaultNamespace(udfav, prefix, namespace); + } catch (IOException e) { + throw new RuntimeException("Cannot register namespace " + prefix + " " + namespace + " on " + rootPath, e); + } + + } + boolean isRoot(Path path) { try { return isRoot && Files.isSameFile(rootPath, path);