X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Fdav%2FDavXmlElement.java;h=06da6792c1d44b889de57a4653e64e74eccd2483;hb=54df376a9c2dd458a82eaa09bfbb718fe699dd0d;hp=a3929a02beb18be796f55fac30b037d511311cc1;hpb=b8f50d6d8e7b9c9215d156ba33f9dedfcee913a7;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.cms/src/org/argeo/cms/dav/DavXmlElement.java b/org.argeo.cms/src/org/argeo/cms/dav/DavXmlElement.java index a3929a02b..06da6792c 100644 --- a/org.argeo.cms/src/org/argeo/cms/dav/DavXmlElement.java +++ b/org.argeo.cms/src/org/argeo/cms/dav/DavXmlElement.java @@ -1,15 +1,19 @@ package org.argeo.cms.dav; +import java.util.Comparator; +import java.util.Objects; + import javax.xml.namespace.QName; import javax.xml.stream.XMLStreamException; import javax.xml.stream.XMLStreamWriter; import org.argeo.api.acr.QNamed; -public enum DavXmlElement implements QNamed { +enum DavXmlElement implements QNamed { response, // multistatus, // href, // + /** MUST be the same as DName.collection */ collection, // prop, // resourcetype, // @@ -20,6 +24,7 @@ public enum DavXmlElement implements QNamed { propname, // include, // propstat, // + status, // // locking lockscope, // @@ -35,6 +40,19 @@ public enum DavXmlElement implements QNamed { final static String WEBDAV_NAMESPACE_URI = "DAV:"; final static String WEBDAV_DEFAULT_PREFIX = "D"; + final static Comparator QNAME_COMPARATOR = new Comparator() { + + @Override + public int compare(QName qn1, QName qn2) { + if (Objects.equals(qn1.getNamespaceURI(), qn2.getNamespaceURI())) {// same namespace + return qn1.getLocalPart().compareTo(qn2.getLocalPart()); + } else { + return qn1.getNamespaceURI().compareTo(qn2.getNamespaceURI()); + } + } + + }; + // private final QName value; // // private DavXmlElement() { @@ -70,7 +88,7 @@ public enum DavXmlElement implements QNamed { return; } startElement(xsWriter); - xsWriter.writeCData(value); + xsWriter.writeCharacters(value); xsWriter.writeEndElement(); }