X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Fdav%2FDavResponse.java;h=8dd6bf3fc2cde0742d39675f550f74a271791656;hb=43d4cc1e87d33cdf45dfa01f48221b30f73235cc;hp=6d45246db6fd2a8fd66b370271deafeb1af1ef59;hpb=b8f50d6d8e7b9c9215d156ba33f9dedfcee913a7;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..8dd6bf3fc 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.cms.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(); } }