X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Fdav%2FDavResponse.java;h=828dc2640902d7571e91fa0b1cc8e6aa3b2f76df;hb=bbfad683e435f1989cb7ed4aa56a2fed52b64245;hp=6d45246db6fd2a8fd66b370271deafeb1af1ef59;hpb=51cc05f670214c32f3beecc33bb701865ff6c735;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.cms/src/org/argeo/cms/dav/DavResponse.java b/org.argeo.cms/src/org/argeo/cms/dav/DavResponse.java index 6d45246db..828dc2640 100644 --- a/org.argeo.cms/src/org/argeo/cms/dav/DavResponse.java +++ b/org.argeo.cms/src/org/argeo/cms/dav/DavResponse.java @@ -2,19 +2,23 @@ package org.argeo.cms.dav; import java.util.ArrayList; import java.util.HashMap; -import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; +import java.util.TreeMap; +import java.util.TreeSet; import javax.xml.namespace.QName; +import org.argeo.util.http.HttpStatus; + +/** The WebDav response for a given resource. */ public class DavResponse { final static String MOD_DAV_NAMESPACE = "http://apache.org/dav/props/"; private String href; private boolean collection; - private Set propertyNames = new HashSet<>(); + private Map> propertyNames = new TreeMap<>(); private Map properties = new HashMap<>(); private List resourceTypes = new ArrayList<>(); @@ -42,8 +46,14 @@ public class DavResponse { return resourceTypes; } - public Set getPropertyNames() { - return propertyNames; + public Set getPropertyNames(HttpStatus status) { + if (!propertyNames.containsKey(status)) + propertyNames.put(status, new TreeSet<>(DavXmlElement.QNAME_COMPARATOR)); + return propertyNames.get(status); + } + + public Set getStatuses() { + return propertyNames.keySet(); } }