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))); |