From: Mathieu Baudier Date: Fri, 27 Oct 2023 07:39:05 +0000 (+0200) Subject: Fix folder creation X-Git-Tag: v2.3.17~1 X-Git-Url: https://git.argeo.org/?p=gpl%2Fargeo-jcr.git;a=commitdiff_plain;h=dd0cd8f311016d88185e02ab2c14b243f7e814a8 Fix folder creation --- diff --git a/org.argeo.cms.jcr/src/org/argeo/cms/jcr/acr/JcrContent.java b/org.argeo.cms.jcr/src/org/argeo/cms/jcr/acr/JcrContent.java index 03160ba..32366a4 100644 --- a/org.argeo.cms.jcr/src/org/argeo/cms/jcr/acr/JcrContent.java +++ b/org.argeo.cms.jcr/src/org/argeo/cms/jcr/acr/JcrContent.java @@ -292,6 +292,15 @@ public class JcrContent extends AbstractContent { try { Node child; if (classes.length > 0) { + classes: for (int i = 0; i < classes.length; i++) { + if (classes[i].equals(DName.collection.qName())) { + List lst = new ArrayList<>(Arrays.asList(classes)); + lst.add(0, NtType.folder.qName()); + lst.remove(DName.collection.qName()); + classes = lst.toArray(new QName[lst.size()]); + break classes; + } + } QName primaryType = classes[0]; Node node = openForEdit(); child = Jcr.addNode(node, name.toString(), primaryType.toString()); @@ -327,11 +336,7 @@ public class JcrContent extends AbstractContent { lst.add(0, NtType.file.qName()); classes = lst.toArray(new QName[lst.size()]); } - if (attrs.containsKey(DName.collection.qName())) { - List lst = Arrays.asList(classes); - lst.add(0, NtType.folder.qName()); - classes = lst.toArray(new QName[lst.size()]); - } + Content child = add(name, classes); child.putAll(attrs); return child;