View | Details | Raw Unified | Return to bug 24005
Collapse All | Expand All

(-)catalina/src/share/org/apache/catalina/servlets/WebdavServlet.java (-20 / +7 lines)
Lines 72-78 Link Here
72
import java.util.Date;
72
import java.util.Date;
73
import java.util.Enumeration;
73
import java.util.Enumeration;
74
import java.util.Hashtable;
74
import java.util.Hashtable;
75
import java.util.Locale;
76
import java.util.Stack;
75
import java.util.Stack;
77
import java.util.TimeZone;
76
import java.util.TimeZone;
78
import java.util.Vector;
77
import java.util.Vector;
Lines 113-119 Link Here
113
112
114
113
115
    // -------------------------------------------------------------- Constants
114
    // -------------------------------------------------------------- Constants
116
115
    
117
116
118
    private static final String METHOD_HEAD = "HEAD";
117
    private static final String METHOD_HEAD = "HEAD";
119
    private static final String METHOD_PROPFIND = "PROPFIND";
118
    private static final String METHOD_PROPFIND = "PROPFIND";
Lines 1365-1376 Link Here
1365
1364
1366
    // -------------------------------------------------------- Private Methods
1365
    // -------------------------------------------------------- Private Methods
1367
1366
1368
1369
    protected String getETagValue(ResourceInfo resourceInfo) {
1370
        return resourceInfo.length + "-" + resourceInfo.date;
1371
    }
1372
1373
1374
    /**
1367
    /**
1375
     * Generate the namespace declarations.
1368
     * Generate the namespace declarations.
1376
     */
1369
     */
Lines 2014-2021 Link Here
2014
            generatedXML.writeElement(null, "displayname", XMLWriter.OPENING);
2007
            generatedXML.writeElement(null, "displayname", XMLWriter.OPENING);
2015
            generatedXML.writeData(resourceName);
2008
            generatedXML.writeData(resourceName);
2016
            generatedXML.writeElement(null, "displayname", XMLWriter.CLOSING);
2009
            generatedXML.writeElement(null, "displayname", XMLWriter.CLOSING);
2017
            generatedXML.writeProperty(null, "getcontentlanguage",
2018
                                       Locale.getDefault().toString());
2019
            if (!resourceInfo.collection) {
2010
            if (!resourceInfo.collection) {
2020
                generatedXML.writeProperty
2011
                generatedXML.writeProperty
2021
                    (null, "getlastmodified", resourceInfo.httpDate);
2012
                    (null, "getlastmodified", resourceInfo.httpDate);
Lines 2026-2032 Link Here
2026
                    (null, "getcontenttype",
2017
                    (null, "getcontenttype",
2027
                     getServletContext().getMimeType(resourceInfo.path));
2018
                     getServletContext().getMimeType(resourceInfo.path));
2028
                generatedXML.writeProperty(null, "getetag",
2019
                generatedXML.writeProperty(null, "getetag",
2029
                                           getETagValue(resourceInfo));
2020
                                           getETag(resourceInfo));
2030
                generatedXML.writeElement(null, "resourcetype",
2021
                generatedXML.writeElement(null, "resourcetype",
2031
                                          XMLWriter.NO_CONTENT);
2022
                                          XMLWriter.NO_CONTENT);
2032
            } else {
2023
            } else {
Lines 2127-2135 Link Here
2127
                    if (resourceInfo.collection) {
2118
                    if (resourceInfo.collection) {
2128
                        propertiesNotFound.addElement(property);
2119
                        propertiesNotFound.addElement(property);
2129
                    } else {
2120
                    } else {
2130
                        generatedXML.writeProperty
2121
                        generatedXML.writeElement(null, "getcontentlanguage",
2131
                            (null, "getcontentlanguage",
2122
                                                  XMLWriter.NO_CONTENT);
2132
                             Locale.getDefault().toString());
2133
                    }
2123
                    }
2134
                } else if (property.equals("getcontentlength")) {
2124
                } else if (property.equals("getcontentlength")) {
2135
                    if (resourceInfo.collection) {
2125
                    if (resourceInfo.collection) {
Lines 2153-2159 Link Here
2153
                        propertiesNotFound.addElement(property);
2143
                        propertiesNotFound.addElement(property);
2154
                    } else {
2144
                    } else {
2155
                        generatedXML.writeProperty
2145
                        generatedXML.writeProperty
2156
                            (null, "getetag", getETagValue(resourceInfo));
2146
                            (null, "getetag", getETag(resourceInfo));
2157
                    }
2147
                    }
2158
                } else if (property.equals("getlastmodified")) {
2148
                } else if (property.equals("getlastmodified")) {
2159
                    if (resourceInfo.collection) {
2149
                    if (resourceInfo.collection) {
Lines 2303-2310 Link Here
2303
            generatedXML.writeData(resourceName);
2293
            generatedXML.writeData(resourceName);
2304
            generatedXML.writeElement
2294
            generatedXML.writeElement
2305
                (null, "displayname", XMLWriter.CLOSING);
2295
                (null, "displayname", XMLWriter.CLOSING);
2306
            generatedXML.writeProperty(null, "getcontentlanguage",
2307
                                       Locale.getDefault().toString());
2308
            generatedXML.writeProperty(null, "getlastmodified",
2296
            generatedXML.writeProperty(null, "getlastmodified",
2309
                                       FastHttpDateFormat.formatDate
2297
                                       FastHttpDateFormat.formatDate
2310
                                       (lock.creationDate.getTime(), null));
2298
                                       (lock.creationDate.getTime(), null));
Lines 2403-2411 Link Here
2403
                    generatedXML.writeElement
2391
                    generatedXML.writeElement
2404
                        (null, "displayname", XMLWriter.CLOSING);
2392
                        (null, "displayname", XMLWriter.CLOSING);
2405
                } else if (property.equals("getcontentlanguage")) {
2393
                } else if (property.equals("getcontentlanguage")) {
2406
                    generatedXML.writeProperty
2394
                    generatedXML.writeElement(null, "getcontentlanguage",
2407
                        (null, "getcontentlanguage",
2395
                                              XMLWriter.NO_CONTENT);
2408
                         Locale.getDefault().toString());
2409
                } else if (property.equals("getcontentlength")) {
2396
                } else if (property.equals("getcontentlength")) {
2410
                    generatedXML.writeProperty
2397
                    generatedXML.writeProperty
2411
                        (null, "getcontentlength", (String.valueOf(0)));
2398
                        (null, "getcontentlength", (String.valueOf(0)));

Return to bug 24005