Lines 512-518
Link Here
|
512 |
|
512 |
|
513 |
if (type == FIND_BY_PROPERTY) { |
513 |
if (type == FIND_BY_PROPERTY) { |
514 |
properties = new Vector<String>(); |
514 |
properties = new Vector<String>(); |
515 |
// propNode must be non-null if type == FIND_BY_PROPERTY |
515 |
// propNode must be non-null if type == FIND_BY_PROPERTY |
516 |
@SuppressWarnings("null") |
516 |
@SuppressWarnings("null") |
517 |
NodeList childList = propNode.getChildNodes(); |
517 |
NodeList childList = propNode.getChildNodes(); |
518 |
|
518 |
|
Lines 563-575
Link Here
|
563 |
new XMLWriter(resp.getWriter()); |
563 |
new XMLWriter(resp.getWriter()); |
564 |
generatedXML.writeXMLHeader(); |
564 |
generatedXML.writeXMLHeader(); |
565 |
generatedXML.writeElement |
565 |
generatedXML.writeElement |
566 |
(null, "multistatus" |
566 |
(null, "D:multistatus" |
567 |
+ generateNamespaceDeclarations(), |
567 |
+ generateNamespaceDeclarations(), |
568 |
XMLWriter.OPENING); |
568 |
XMLWriter.OPENING); |
569 |
parseLockNullProperties |
569 |
parseLockNullProperties |
570 |
(req, generatedXML, lockNullPath, type, |
570 |
(req, generatedXML, lockNullPath, type, |
571 |
properties); |
571 |
properties); |
572 |
generatedXML.writeElement(null, "multistatus", |
572 |
generatedXML.writeElement(null, "D:multistatus", |
573 |
XMLWriter.CLOSING); |
573 |
XMLWriter.CLOSING); |
574 |
generatedXML.sendData(); |
574 |
generatedXML.sendData(); |
575 |
return; |
575 |
return; |
Lines 592-598
Link Here
|
592 |
XMLWriter generatedXML = new XMLWriter(resp.getWriter()); |
592 |
XMLWriter generatedXML = new XMLWriter(resp.getWriter()); |
593 |
generatedXML.writeXMLHeader(); |
593 |
generatedXML.writeXMLHeader(); |
594 |
|
594 |
|
595 |
generatedXML.writeElement(null, "multistatus" |
595 |
generatedXML.writeElement(null, "D:multistatus" |
596 |
+ generateNamespaceDeclarations(), |
596 |
+ generateNamespaceDeclarations(), |
597 |
XMLWriter.OPENING); |
597 |
XMLWriter.OPENING); |
598 |
|
598 |
|
Lines 672-678
Link Here
|
672 |
} |
672 |
} |
673 |
} |
673 |
} |
674 |
|
674 |
|
675 |
generatedXML.writeElement(null, "multistatus", |
675 |
generatedXML.writeElement(null, "D:multistatus", |
676 |
XMLWriter.CLOSING); |
676 |
XMLWriter.CLOSING); |
677 |
|
677 |
|
678 |
generatedXML.sendData(); |
678 |
generatedXML.sendData(); |
Lines 1157-1163
Link Here
|
1157 |
generatedXML.writeXMLHeader(); |
1157 |
generatedXML.writeXMLHeader(); |
1158 |
|
1158 |
|
1159 |
generatedXML.writeElement |
1159 |
generatedXML.writeElement |
1160 |
(null, "multistatus" + generateNamespaceDeclarations(), |
1160 |
(null, "D:multistatus" + generateNamespaceDeclarations(), |
1161 |
XMLWriter.OPENING); |
1161 |
XMLWriter.OPENING); |
1162 |
|
1162 |
|
1163 |
while (lockPathsList.hasMoreElements()) { |
1163 |
while (lockPathsList.hasMoreElements()) { |
Lines 1328-1346
Link Here
|
1328 |
// the lock information |
1328 |
// the lock information |
1329 |
XMLWriter generatedXML = new XMLWriter(); |
1329 |
XMLWriter generatedXML = new XMLWriter(); |
1330 |
generatedXML.writeXMLHeader(); |
1330 |
generatedXML.writeXMLHeader(); |
1331 |
generatedXML.writeElement(null, "prop" |
1331 |
generatedXML.writeElement(null, "D:prop" |
1332 |
+ generateNamespaceDeclarations(), |
1332 |
+ generateNamespaceDeclarations(), |
1333 |
XMLWriter.OPENING); |
1333 |
XMLWriter.OPENING); |
1334 |
|
1334 |
|
1335 |
generatedXML.writeElement(null, "lockdiscovery", |
1335 |
generatedXML.writeElement(null, "D:lockdiscovery", |
1336 |
XMLWriter.OPENING); |
1336 |
XMLWriter.OPENING); |
1337 |
|
1337 |
|
1338 |
lock.toXML(generatedXML); |
1338 |
lock.toXML(generatedXML); |
1339 |
|
1339 |
|
1340 |
generatedXML.writeElement(null, "lockdiscovery", |
1340 |
generatedXML.writeElement(null, "D:lockdiscovery", |
1341 |
XMLWriter.CLOSING); |
1341 |
XMLWriter.CLOSING); |
1342 |
|
1342 |
|
1343 |
generatedXML.writeElement(null, "prop", XMLWriter.CLOSING); |
1343 |
generatedXML.writeElement(null, "D:prop", XMLWriter.CLOSING); |
1344 |
|
1344 |
|
1345 |
resp.setStatus(WebdavStatus.SC_OK); |
1345 |
resp.setStatus(WebdavStatus.SC_OK); |
1346 |
resp.setContentType("text/xml; charset=UTF-8"); |
1346 |
resp.setContentType("text/xml; charset=UTF-8"); |
Lines 1432-1438
Link Here
|
1432 |
* Generate the namespace declarations. |
1432 |
* Generate the namespace declarations. |
1433 |
*/ |
1433 |
*/ |
1434 |
private String generateNamespaceDeclarations() { |
1434 |
private String generateNamespaceDeclarations() { |
1435 |
return " xmlns=\"" + DEFAULT_NAMESPACE + "\""; |
1435 |
return " xmlns:D=\"" + DEFAULT_NAMESPACE + "\""; |
1436 |
} |
1436 |
} |
1437 |
|
1437 |
|
1438 |
|
1438 |
|
Lines 2046-2058
Link Here
|
2046 |
return; |
2046 |
return; |
2047 |
} |
2047 |
} |
2048 |
|
2048 |
|
2049 |
generatedXML.writeElement(null, "response", XMLWriter.OPENING); |
2049 |
generatedXML.writeElement(null, "D:response", XMLWriter.OPENING); |
2050 |
String status = new String("HTTP/1.1 " + WebdavStatus.SC_OK + " " |
2050 |
String status = new String("HTTP/1.1 " + WebdavStatus.SC_OK + " " |
2051 |
+ WebdavStatus.getStatusText |
2051 |
+ WebdavStatus.getStatusText |
2052 |
(WebdavStatus.SC_OK)); |
2052 |
(WebdavStatus.SC_OK)); |
2053 |
|
2053 |
|
2054 |
// Generating href element |
2054 |
// Generating href element |
2055 |
generatedXML.writeElement(null, "href", XMLWriter.OPENING); |
2055 |
generatedXML.writeElement(null, "D:href", XMLWriter.OPENING); |
2056 |
|
2056 |
|
2057 |
String href = req.getContextPath() + req.getServletPath(); |
2057 |
String href = req.getContextPath() + req.getServletPath(); |
2058 |
if ((href.endsWith("/")) && (path.startsWith("/"))) |
2058 |
if ((href.endsWith("/")) && (path.startsWith("/"))) |
Lines 2064-2070
Link Here
|
2064 |
|
2064 |
|
2065 |
generatedXML.writeText(rewriteUrl(href)); |
2065 |
generatedXML.writeText(rewriteUrl(href)); |
2066 |
|
2066 |
|
2067 |
generatedXML.writeElement(null, "href", XMLWriter.CLOSING); |
2067 |
generatedXML.writeElement(null, "D:href", XMLWriter.CLOSING); |
2068 |
|
2068 |
|
2069 |
String resourceName = path; |
2069 |
String resourceName = path; |
2070 |
int lastSlash = path.lastIndexOf('/'); |
2070 |
int lastSlash = path.lastIndexOf('/'); |
Lines 2075-2172
Link Here
|
2075 |
|
2075 |
|
2076 |
case FIND_ALL_PROP : |
2076 |
case FIND_ALL_PROP : |
2077 |
|
2077 |
|
2078 |
generatedXML.writeElement(null, "propstat", XMLWriter.OPENING); |
2078 |
generatedXML.writeElement(null, "D:propstat", XMLWriter.OPENING); |
2079 |
generatedXML.writeElement(null, "prop", XMLWriter.OPENING); |
2079 |
generatedXML.writeElement(null, "D:prop", XMLWriter.OPENING); |
2080 |
|
2080 |
|
2081 |
generatedXML.writeProperty |
2081 |
generatedXML.writeProperty |
2082 |
(null, "creationdate", |
2082 |
(null, "D:creationdate", |
2083 |
getISOCreationDate(cacheEntry.attributes.getCreation())); |
2083 |
getISOCreationDate(cacheEntry.attributes.getCreation())); |
2084 |
generatedXML.writeElement(null, "displayname", XMLWriter.OPENING); |
2084 |
generatedXML.writeElement(null, "D:displayname", XMLWriter.OPENING); |
2085 |
generatedXML.writeData(resourceName); |
2085 |
generatedXML.writeData(resourceName); |
2086 |
generatedXML.writeElement(null, "displayname", XMLWriter.CLOSING); |
2086 |
generatedXML.writeElement(null, "D:displayname", XMLWriter.CLOSING); |
2087 |
if (cacheEntry.resource != null) { |
2087 |
if (cacheEntry.resource != null) { |
2088 |
generatedXML.writeProperty |
2088 |
generatedXML.writeProperty |
2089 |
(null, "getlastmodified", FastHttpDateFormat.formatDate |
2089 |
(null, "D:getlastmodified", FastHttpDateFormat.formatDate |
2090 |
(cacheEntry.attributes.getLastModified(), null)); |
2090 |
(cacheEntry.attributes.getLastModified(), null)); |
2091 |
generatedXML.writeProperty |
2091 |
generatedXML.writeProperty |
2092 |
(null, "getcontentlength", |
2092 |
(null, "D:getcontentlength", |
2093 |
String.valueOf(cacheEntry.attributes.getContentLength())); |
2093 |
String.valueOf(cacheEntry.attributes.getContentLength())); |
2094 |
String contentType = getServletContext().getMimeType |
2094 |
String contentType = getServletContext().getMimeType |
2095 |
(cacheEntry.name); |
2095 |
(cacheEntry.name); |
2096 |
if (contentType != null) { |
2096 |
if (contentType != null) { |
2097 |
generatedXML.writeProperty(null, "getcontenttype", |
2097 |
generatedXML.writeProperty(null, "D:getcontenttype", |
2098 |
contentType); |
2098 |
contentType); |
2099 |
} |
2099 |
} |
2100 |
generatedXML.writeProperty(null, "getetag", |
2100 |
generatedXML.writeProperty(null, "D:getetag", |
2101 |
cacheEntry.attributes.getETag()); |
2101 |
cacheEntry.attributes.getETag()); |
2102 |
generatedXML.writeElement(null, "resourcetype", |
2102 |
generatedXML.writeElement(null, "D:resourcetype", |
2103 |
XMLWriter.NO_CONTENT); |
2103 |
XMLWriter.NO_CONTENT); |
2104 |
} else { |
2104 |
} else { |
2105 |
generatedXML.writeElement(null, "resourcetype", |
2105 |
generatedXML.writeElement(null, "D:resourcetype", |
2106 |
XMLWriter.OPENING); |
2106 |
XMLWriter.OPENING); |
2107 |
generatedXML.writeElement(null, "collection", |
2107 |
generatedXML.writeElement(null, "D:collection", |
2108 |
XMLWriter.NO_CONTENT); |
2108 |
XMLWriter.NO_CONTENT); |
2109 |
generatedXML.writeElement(null, "resourcetype", |
2109 |
generatedXML.writeElement(null, "D:resourcetype", |
2110 |
XMLWriter.CLOSING); |
2110 |
XMLWriter.CLOSING); |
2111 |
} |
2111 |
} |
2112 |
|
2112 |
|
2113 |
generatedXML.writeProperty(null, "source", ""); |
2113 |
generatedXML.writeProperty(null, "D:source", ""); |
2114 |
|
2114 |
|
2115 |
String supportedLocks = "<lockentry>" |
2115 |
String supportedLocks = "<D:lockentry>" |
2116 |
+ "<lockscope><exclusive/></lockscope>" |
2116 |
+ "<D:lockscope><D:exclusive/></D:lockscope>" |
2117 |
+ "<locktype><write/></locktype>" |
2117 |
+ "<D:locktype><D:write/></D:locktype>" |
2118 |
+ "</lockentry>" + "<lockentry>" |
2118 |
+ "</D:lockentry>" + "<D:lockentry>" |
2119 |
+ "<lockscope><shared/></lockscope>" |
2119 |
+ "<D:lockscope><D:shared/></D:lockscope>" |
2120 |
+ "<locktype><write/></locktype>" |
2120 |
+ "<D:locktype><D:write/></D:locktype>" |
2121 |
+ "</lockentry>"; |
2121 |
+ "</D:lockentry>"; |
2122 |
generatedXML.writeElement(null, "supportedlock", |
2122 |
generatedXML.writeElement(null, "D:supportedlock", |
2123 |
XMLWriter.OPENING); |
2123 |
XMLWriter.OPENING); |
2124 |
generatedXML.writeText(supportedLocks); |
2124 |
generatedXML.writeText(supportedLocks); |
2125 |
generatedXML.writeElement(null, "supportedlock", |
2125 |
generatedXML.writeElement(null, "D:supportedlock", |
2126 |
XMLWriter.CLOSING); |
2126 |
XMLWriter.CLOSING); |
2127 |
|
2127 |
|
2128 |
generateLockDiscovery(path, generatedXML); |
2128 |
generateLockDiscovery(path, generatedXML); |
2129 |
|
2129 |
|
2130 |
generatedXML.writeElement(null, "prop", XMLWriter.CLOSING); |
2130 |
generatedXML.writeElement(null, "D:prop", XMLWriter.CLOSING); |
2131 |
generatedXML.writeElement(null, "status", XMLWriter.OPENING); |
2131 |
generatedXML.writeElement(null, "D:status", XMLWriter.OPENING); |
2132 |
generatedXML.writeText(status); |
2132 |
generatedXML.writeText(status); |
2133 |
generatedXML.writeElement(null, "status", XMLWriter.CLOSING); |
2133 |
generatedXML.writeElement(null, "D:status", XMLWriter.CLOSING); |
2134 |
generatedXML.writeElement(null, "propstat", XMLWriter.CLOSING); |
2134 |
generatedXML.writeElement(null, "D:propstat", XMLWriter.CLOSING); |
2135 |
|
2135 |
|
2136 |
break; |
2136 |
break; |
2137 |
|
2137 |
|
2138 |
case FIND_PROPERTY_NAMES : |
2138 |
case FIND_PROPERTY_NAMES : |
2139 |
|
2139 |
|
2140 |
generatedXML.writeElement(null, "propstat", XMLWriter.OPENING); |
2140 |
generatedXML.writeElement(null, "D:propstat", XMLWriter.OPENING); |
2141 |
generatedXML.writeElement(null, "prop", XMLWriter.OPENING); |
2141 |
generatedXML.writeElement(null, "D:prop", XMLWriter.OPENING); |
2142 |
|
2142 |
|
2143 |
generatedXML.writeElement(null, "creationdate", |
2143 |
generatedXML.writeElement(null, "D:creationdate", |
2144 |
XMLWriter.NO_CONTENT); |
2144 |
XMLWriter.NO_CONTENT); |
2145 |
generatedXML.writeElement(null, "displayname", |
2145 |
generatedXML.writeElement(null, "D:displayname", |
2146 |
XMLWriter.NO_CONTENT); |
2146 |
XMLWriter.NO_CONTENT); |
2147 |
if (cacheEntry.resource != null) { |
2147 |
if (cacheEntry.resource != null) { |
2148 |
generatedXML.writeElement(null, "getcontentlanguage", |
2148 |
generatedXML.writeElement(null, "D:getcontentlanguage", |
2149 |
XMLWriter.NO_CONTENT); |
2149 |
XMLWriter.NO_CONTENT); |
2150 |
generatedXML.writeElement(null, "getcontentlength", |
2150 |
generatedXML.writeElement(null, "D:getcontentlength", |
2151 |
XMLWriter.NO_CONTENT); |
2151 |
XMLWriter.NO_CONTENT); |
2152 |
generatedXML.writeElement(null, "getcontenttype", |
2152 |
generatedXML.writeElement(null, "D:getcontenttype", |
2153 |
XMLWriter.NO_CONTENT); |
2153 |
XMLWriter.NO_CONTENT); |
2154 |
generatedXML.writeElement(null, "getetag", |
2154 |
generatedXML.writeElement(null, "D:getetag", |
2155 |
XMLWriter.NO_CONTENT); |
2155 |
XMLWriter.NO_CONTENT); |
2156 |
generatedXML.writeElement(null, "getlastmodified", |
2156 |
generatedXML.writeElement(null, "D:getlastmodified", |
2157 |
XMLWriter.NO_CONTENT); |
2157 |
XMLWriter.NO_CONTENT); |
2158 |
} |
2158 |
} |
2159 |
generatedXML.writeElement(null, "resourcetype", |
2159 |
generatedXML.writeElement(null, "D:resourcetype", |
2160 |
XMLWriter.NO_CONTENT); |
2160 |
XMLWriter.NO_CONTENT); |
2161 |
generatedXML.writeElement(null, "source", XMLWriter.NO_CONTENT); |
2161 |
generatedXML.writeElement(null, "D:source", XMLWriter.NO_CONTENT); |
2162 |
generatedXML.writeElement(null, "lockdiscovery", |
2162 |
generatedXML.writeElement(null, "D:lockdiscovery", |
2163 |
XMLWriter.NO_CONTENT); |
2163 |
XMLWriter.NO_CONTENT); |
2164 |
|
2164 |
|
2165 |
generatedXML.writeElement(null, "prop", XMLWriter.CLOSING); |
2165 |
generatedXML.writeElement(null, "D:prop", XMLWriter.CLOSING); |
2166 |
generatedXML.writeElement(null, "status", XMLWriter.OPENING); |
2166 |
generatedXML.writeElement(null, "D:status", XMLWriter.OPENING); |
2167 |
generatedXML.writeText(status); |
2167 |
generatedXML.writeText(status); |
2168 |
generatedXML.writeElement(null, "status", XMLWriter.CLOSING); |
2168 |
generatedXML.writeElement(null, "D:status", XMLWriter.CLOSING); |
2169 |
generatedXML.writeElement(null, "propstat", XMLWriter.CLOSING); |
2169 |
generatedXML.writeElement(null, "D:propstat", XMLWriter.CLOSING); |
2170 |
|
2170 |
|
2171 |
break; |
2171 |
break; |
2172 |
|
2172 |
|
Lines 2176-2183
Link Here
|
2176 |
|
2176 |
|
2177 |
// Parse the list of properties |
2177 |
// Parse the list of properties |
2178 |
|
2178 |
|
2179 |
generatedXML.writeElement(null, "propstat", XMLWriter.OPENING); |
2179 |
generatedXML.writeElement(null, "D:propstat", XMLWriter.OPENING); |
2180 |
generatedXML.writeElement(null, "prop", XMLWriter.OPENING); |
2180 |
generatedXML.writeElement(null, "D:prop", XMLWriter.OPENING); |
2181 |
|
2181 |
|
2182 |
Enumeration<String> properties = propertiesVector.elements(); |
2182 |
Enumeration<String> properties = propertiesVector.elements(); |
2183 |
|
2183 |
|
Lines 2187-2205
Link Here
|
2187 |
|
2187 |
|
2188 |
if (property.equals("creationdate")) { |
2188 |
if (property.equals("creationdate")) { |
2189 |
generatedXML.writeProperty |
2189 |
generatedXML.writeProperty |
2190 |
(null, "creationdate", |
2190 |
(null, "D:creationdate", |
2191 |
getISOCreationDate(cacheEntry.attributes.getCreation())); |
2191 |
getISOCreationDate(cacheEntry.attributes.getCreation())); |
2192 |
} else if (property.equals("displayname")) { |
2192 |
} else if (property.equals("displayname")) { |
2193 |
generatedXML.writeElement |
2193 |
generatedXML.writeElement |
2194 |
(null, "displayname", XMLWriter.OPENING); |
2194 |
(null, "D:displayname", XMLWriter.OPENING); |
2195 |
generatedXML.writeData(resourceName); |
2195 |
generatedXML.writeData(resourceName); |
2196 |
generatedXML.writeElement |
2196 |
generatedXML.writeElement |
2197 |
(null, "displayname", XMLWriter.CLOSING); |
2197 |
(null, "D:displayname", XMLWriter.CLOSING); |
2198 |
} else if (property.equals("getcontentlanguage")) { |
2198 |
} else if (property.equals("getcontentlanguage")) { |
2199 |
if (cacheEntry.context != null) { |
2199 |
if (cacheEntry.context != null) { |
2200 |
propertiesNotFound.addElement(property); |
2200 |
propertiesNotFound.addElement(property); |
2201 |
} else { |
2201 |
} else { |
2202 |
generatedXML.writeElement(null, "getcontentlanguage", |
2202 |
generatedXML.writeElement(null, "D:getcontentlanguage", |
2203 |
XMLWriter.NO_CONTENT); |
2203 |
XMLWriter.NO_CONTENT); |
2204 |
} |
2204 |
} |
2205 |
} else if (property.equals("getcontentlength")) { |
2205 |
} else if (property.equals("getcontentlength")) { |
Lines 2207-2213
Link Here
|
2207 |
propertiesNotFound.addElement(property); |
2207 |
propertiesNotFound.addElement(property); |
2208 |
} else { |
2208 |
} else { |
2209 |
generatedXML.writeProperty |
2209 |
generatedXML.writeProperty |
2210 |
(null, "getcontentlength", |
2210 |
(null, "D:getcontentlength", |
2211 |
(String.valueOf(cacheEntry.attributes.getContentLength()))); |
2211 |
(String.valueOf(cacheEntry.attributes.getContentLength()))); |
2212 |
} |
2212 |
} |
2213 |
} else if (property.equals("getcontenttype")) { |
2213 |
} else if (property.equals("getcontenttype")) { |
Lines 2215-2221
Link Here
|
2215 |
propertiesNotFound.addElement(property); |
2215 |
propertiesNotFound.addElement(property); |
2216 |
} else { |
2216 |
} else { |
2217 |
generatedXML.writeProperty |
2217 |
generatedXML.writeProperty |
2218 |
(null, "getcontenttype", |
2218 |
(null, "D:getcontenttype", |
2219 |
getServletContext().getMimeType |
2219 |
getServletContext().getMimeType |
2220 |
(cacheEntry.name)); |
2220 |
(cacheEntry.name)); |
2221 |
} |
2221 |
} |
Lines 2224-2265
Link Here
|
2224 |
propertiesNotFound.addElement(property); |
2224 |
propertiesNotFound.addElement(property); |
2225 |
} else { |
2225 |
} else { |
2226 |
generatedXML.writeProperty |
2226 |
generatedXML.writeProperty |
2227 |
(null, "getetag", cacheEntry.attributes.getETag()); |
2227 |
(null, "D:getetag", cacheEntry.attributes.getETag()); |
2228 |
} |
2228 |
} |
2229 |
} else if (property.equals("getlastmodified")) { |
2229 |
} else if (property.equals("getlastmodified")) { |
2230 |
if (cacheEntry.context != null) { |
2230 |
if (cacheEntry.context != null) { |
2231 |
propertiesNotFound.addElement(property); |
2231 |
propertiesNotFound.addElement(property); |
2232 |
} else { |
2232 |
} else { |
2233 |
generatedXML.writeProperty |
2233 |
generatedXML.writeProperty |
2234 |
(null, "getlastmodified", FastHttpDateFormat.formatDate |
2234 |
(null, "D:getlastmodified", FastHttpDateFormat.formatDate |
2235 |
(cacheEntry.attributes.getLastModified(), null)); |
2235 |
(cacheEntry.attributes.getLastModified(), null)); |
2236 |
} |
2236 |
} |
2237 |
} else if (property.equals("resourcetype")) { |
2237 |
} else if (property.equals("resourcetype")) { |
2238 |
if (cacheEntry.context != null) { |
2238 |
if (cacheEntry.context != null) { |
2239 |
generatedXML.writeElement(null, "resourcetype", |
2239 |
generatedXML.writeElement(null, "D:resourcetype", |
2240 |
XMLWriter.OPENING); |
2240 |
XMLWriter.OPENING); |
2241 |
generatedXML.writeElement(null, "collection", |
2241 |
generatedXML.writeElement(null, "D:collection", |
2242 |
XMLWriter.NO_CONTENT); |
2242 |
XMLWriter.NO_CONTENT); |
2243 |
generatedXML.writeElement(null, "resourcetype", |
2243 |
generatedXML.writeElement(null, "D:resourcetype", |
2244 |
XMLWriter.CLOSING); |
2244 |
XMLWriter.CLOSING); |
2245 |
} else { |
2245 |
} else { |
2246 |
generatedXML.writeElement(null, "resourcetype", |
2246 |
generatedXML.writeElement(null, "D:resourcetype", |
2247 |
XMLWriter.NO_CONTENT); |
2247 |
XMLWriter.NO_CONTENT); |
2248 |
} |
2248 |
} |
2249 |
} else if (property.equals("source")) { |
2249 |
} else if (property.equals("source")) { |
2250 |
generatedXML.writeProperty(null, "source", ""); |
2250 |
generatedXML.writeProperty(null, "D:source", ""); |
2251 |
} else if (property.equals("supportedlock")) { |
2251 |
} else if (property.equals("supportedlock")) { |
2252 |
supportedLocks = "<lockentry>" |
2252 |
supportedLocks = "<D:lockentry>" |
2253 |
+ "<lockscope><exclusive/></lockscope>" |
2253 |
+ "<D:lockscope><D:exclusive/></D:lockscope>" |
2254 |
+ "<locktype><write/></locktype>" |
2254 |
+ "<D:locktype><D:write/></D:locktype>" |
2255 |
+ "</lockentry>" + "<lockentry>" |
2255 |
+ "</D:lockentry>" + "<D:lockentry>" |
2256 |
+ "<lockscope><shared/></lockscope>" |
2256 |
+ "<D:lockscope><D:shared/></D:lockscope>" |
2257 |
+ "<locktype><write/></locktype>" |
2257 |
+ "<D:locktype><D:write/></D:locktype>" |
2258 |
+ "</lockentry>"; |
2258 |
+ "</D:lockentry>"; |
2259 |
generatedXML.writeElement(null, "supportedlock", |
2259 |
generatedXML.writeElement(null, "D:supportedlock", |
2260 |
XMLWriter.OPENING); |
2260 |
XMLWriter.OPENING); |
2261 |
generatedXML.writeText(supportedLocks); |
2261 |
generatedXML.writeText(supportedLocks); |
2262 |
generatedXML.writeElement(null, "supportedlock", |
2262 |
generatedXML.writeElement(null, "D:supportedlock", |
2263 |
XMLWriter.CLOSING); |
2263 |
XMLWriter.CLOSING); |
2264 |
} else if (property.equals("lockdiscovery")) { |
2264 |
} else if (property.equals("lockdiscovery")) { |
2265 |
if (!generateLockDiscovery(path, generatedXML)) |
2265 |
if (!generateLockDiscovery(path, generatedXML)) |
Lines 2270-2280
Link Here
|
2270 |
|
2270 |
|
2271 |
} |
2271 |
} |
2272 |
|
2272 |
|
2273 |
generatedXML.writeElement(null, "prop", XMLWriter.CLOSING); |
2273 |
generatedXML.writeElement(null, "D:prop", XMLWriter.CLOSING); |
2274 |
generatedXML.writeElement(null, "status", XMLWriter.OPENING); |
2274 |
generatedXML.writeElement(null, "D:status", XMLWriter.OPENING); |
2275 |
generatedXML.writeText(status); |
2275 |
generatedXML.writeText(status); |
2276 |
generatedXML.writeElement(null, "status", XMLWriter.CLOSING); |
2276 |
generatedXML.writeElement(null, "D:status", XMLWriter.CLOSING); |
2277 |
generatedXML.writeElement(null, "propstat", XMLWriter.CLOSING); |
2277 |
generatedXML.writeElement(null, "D:propstat", XMLWriter.CLOSING); |
2278 |
|
2278 |
|
2279 |
Enumeration<String> propertiesNotFoundList = |
2279 |
Enumeration<String> propertiesNotFoundList = |
2280 |
propertiesNotFound.elements(); |
2280 |
propertiesNotFound.elements(); |
Lines 2285-2292
Link Here
|
2285 |
+ " " + WebdavStatus.getStatusText |
2285 |
+ " " + WebdavStatus.getStatusText |
2286 |
(WebdavStatus.SC_NOT_FOUND)); |
2286 |
(WebdavStatus.SC_NOT_FOUND)); |
2287 |
|
2287 |
|
2288 |
generatedXML.writeElement(null, "propstat", XMLWriter.OPENING); |
2288 |
generatedXML.writeElement(null, "D:propstat", XMLWriter.OPENING); |
2289 |
generatedXML.writeElement(null, "prop", XMLWriter.OPENING); |
2289 |
generatedXML.writeElement(null, "D:prop", XMLWriter.OPENING); |
2290 |
|
2290 |
|
2291 |
while (propertiesNotFoundList.hasMoreElements()) { |
2291 |
while (propertiesNotFoundList.hasMoreElements()) { |
2292 |
generatedXML.writeElement |
2292 |
generatedXML.writeElement |
Lines 2294-2304
Link Here
|
2294 |
XMLWriter.NO_CONTENT); |
2294 |
XMLWriter.NO_CONTENT); |
2295 |
} |
2295 |
} |
2296 |
|
2296 |
|
2297 |
generatedXML.writeElement(null, "prop", XMLWriter.CLOSING); |
2297 |
generatedXML.writeElement(null, "D:prop", XMLWriter.CLOSING); |
2298 |
generatedXML.writeElement(null, "status", XMLWriter.OPENING); |
2298 |
generatedXML.writeElement(null, "D:status", XMLWriter.OPENING); |
2299 |
generatedXML.writeText(status); |
2299 |
generatedXML.writeText(status); |
2300 |
generatedXML.writeElement(null, "status", XMLWriter.CLOSING); |
2300 |
generatedXML.writeElement(null, "D:status", XMLWriter.CLOSING); |
2301 |
generatedXML.writeElement(null, "propstat", XMLWriter.CLOSING); |
2301 |
generatedXML.writeElement(null, "D:propstat", XMLWriter.CLOSING); |
2302 |
|
2302 |
|
2303 |
} |
2303 |
} |
2304 |
|
2304 |
|
Lines 2306-2312
Link Here
|
2306 |
|
2306 |
|
2307 |
} |
2307 |
} |
2308 |
|
2308 |
|
2309 |
generatedXML.writeElement(null, "response", XMLWriter.CLOSING); |
2309 |
generatedXML.writeElement(null, "D:response", XMLWriter.CLOSING); |
2310 |
|
2310 |
|
2311 |
} |
2311 |
} |
2312 |
|
2312 |
|
Lines 2390-2396
Link Here
|
2390 |
generatedXML.writeElement(null, "resourcetype", |
2390 |
generatedXML.writeElement(null, "resourcetype", |
2391 |
XMLWriter.CLOSING); |
2391 |
XMLWriter.CLOSING); |
2392 |
|
2392 |
|
2393 |
generatedXML.writeProperty(null, "source", ""); |
2393 |
generatedXML.writeProperty(null, "D:source", ""); |
2394 |
|
2394 |
|
2395 |
String supportedLocks = "<lockentry>" |
2395 |
String supportedLocks = "<lockentry>" |
2396 |
+ "<lockscope><exclusive/></lockscope>" |
2396 |
+ "<lockscope><exclusive/></lockscope>" |
Lines 2578-2584
Link Here
|
2578 |
|
2578 |
|
2579 |
if (resourceLock != null) { |
2579 |
if (resourceLock != null) { |
2580 |
wroteStart = true; |
2580 |
wroteStart = true; |
2581 |
generatedXML.writeElement(null, "lockdiscovery", |
2581 |
generatedXML.writeElement(null, "D:lockdiscovery", |
2582 |
XMLWriter.OPENING); |
2582 |
XMLWriter.OPENING); |
2583 |
resourceLock.toXML(generatedXML); |
2583 |
resourceLock.toXML(generatedXML); |
2584 |
} |
2584 |
} |
Lines 2588-2594
Link Here
|
2588 |
if (path.startsWith(currentLock.path)) { |
2588 |
if (path.startsWith(currentLock.path)) { |
2589 |
if (!wroteStart) { |
2589 |
if (!wroteStart) { |
2590 |
wroteStart = true; |
2590 |
wroteStart = true; |
2591 |
generatedXML.writeElement(null, "lockdiscovery", |
2591 |
generatedXML.writeElement(null, "D:lockdiscovery", |
2592 |
XMLWriter.OPENING); |
2592 |
XMLWriter.OPENING); |
2593 |
} |
2593 |
} |
2594 |
currentLock.toXML(generatedXML); |
2594 |
currentLock.toXML(generatedXML); |
Lines 2596-2602
Link Here
|
2596 |
} |
2596 |
} |
2597 |
|
2597 |
|
2598 |
if (wroteStart) { |
2598 |
if (wroteStart) { |
2599 |
generatedXML.writeElement(null, "lockdiscovery", |
2599 |
generatedXML.writeElement(null, "D:lockdiscovery", |
2600 |
XMLWriter.CLOSING); |
2600 |
XMLWriter.CLOSING); |
2601 |
} else { |
2601 |
} else { |
2602 |
return false; |
2602 |
return false; |
Lines 2752-2795
Link Here
|
2752 |
*/ |
2752 |
*/ |
2753 |
public void toXML(XMLWriter generatedXML) { |
2753 |
public void toXML(XMLWriter generatedXML) { |
2754 |
|
2754 |
|
2755 |
generatedXML.writeElement(null, "activelock", XMLWriter.OPENING); |
2755 |
generatedXML.writeElement(null, "D:activelock", XMLWriter.OPENING); |
2756 |
|
2756 |
|
2757 |
generatedXML.writeElement(null, "locktype", XMLWriter.OPENING); |
2757 |
generatedXML.writeElement(null, "D:locktype", XMLWriter.OPENING); |
2758 |
generatedXML.writeElement(null, type, XMLWriter.NO_CONTENT); |
2758 |
generatedXML.writeElement(null, "D:" + type, XMLWriter.NO_CONTENT); |
2759 |
generatedXML.writeElement(null, "locktype", XMLWriter.CLOSING); |
2759 |
generatedXML.writeElement(null, "D:locktype", XMLWriter.CLOSING); |
2760 |
|
2760 |
|
2761 |
generatedXML.writeElement(null, "lockscope", XMLWriter.OPENING); |
2761 |
generatedXML.writeElement(null, "D:lockscope", XMLWriter.OPENING); |
2762 |
generatedXML.writeElement(null, scope, XMLWriter.NO_CONTENT); |
2762 |
generatedXML.writeElement(null, "D:" + scope, XMLWriter.NO_CONTENT); |
2763 |
generatedXML.writeElement(null, "lockscope", XMLWriter.CLOSING); |
2763 |
generatedXML.writeElement(null, "D:lockscope", XMLWriter.CLOSING); |
2764 |
|
2764 |
|
2765 |
generatedXML.writeElement(null, "depth", XMLWriter.OPENING); |
2765 |
generatedXML.writeElement(null, "D:depth", XMLWriter.OPENING); |
2766 |
if (depth == maxDepth) { |
2766 |
if (depth == maxDepth) { |
2767 |
generatedXML.writeText("Infinity"); |
2767 |
generatedXML.writeText("Infinity"); |
2768 |
} else { |
2768 |
} else { |
2769 |
generatedXML.writeText("0"); |
2769 |
generatedXML.writeText("0"); |
2770 |
} |
2770 |
} |
2771 |
generatedXML.writeElement(null, "depth", XMLWriter.CLOSING); |
2771 |
generatedXML.writeElement(null, "D:depth", XMLWriter.CLOSING); |
2772 |
|
2772 |
|
2773 |
generatedXML.writeElement(null, "owner", XMLWriter.OPENING); |
2773 |
generatedXML.writeElement(null, "D:owner", XMLWriter.OPENING); |
2774 |
generatedXML.writeText(owner); |
2774 |
generatedXML.writeText(owner); |
2775 |
generatedXML.writeElement(null, "owner", XMLWriter.CLOSING); |
2775 |
generatedXML.writeElement(null, "D:owner", XMLWriter.CLOSING); |
2776 |
|
2776 |
|
2777 |
generatedXML.writeElement(null, "timeout", XMLWriter.OPENING); |
2777 |
generatedXML.writeElement(null, "D:timeout", XMLWriter.OPENING); |
2778 |
long timeout = (expiresAt - System.currentTimeMillis()) / 1000; |
2778 |
long timeout = (expiresAt - System.currentTimeMillis()) / 1000; |
2779 |
generatedXML.writeText("Second-" + timeout); |
2779 |
generatedXML.writeText("Second-" + timeout); |
2780 |
generatedXML.writeElement(null, "timeout", XMLWriter.CLOSING); |
2780 |
generatedXML.writeElement(null, "D:timeout", XMLWriter.CLOSING); |
2781 |
|
2781 |
|
2782 |
generatedXML.writeElement(null, "locktoken", XMLWriter.OPENING); |
2782 |
generatedXML.writeElement(null, "D:locktoken", XMLWriter.OPENING); |
2783 |
Enumeration<String> tokensList = tokens.elements(); |
2783 |
Enumeration<String> tokensList = tokens.elements(); |
2784 |
while (tokensList.hasMoreElements()) { |
2784 |
while (tokensList.hasMoreElements()) { |
2785 |
generatedXML.writeElement(null, "href", XMLWriter.OPENING); |
2785 |
generatedXML.writeElement(null, "D:href", XMLWriter.OPENING); |
2786 |
generatedXML.writeText("opaquelocktoken:" |
2786 |
generatedXML.writeText("opaquelocktoken:" |
2787 |
+ tokensList.nextElement()); |
2787 |
+ tokensList.nextElement()); |
2788 |
generatedXML.writeElement(null, "href", XMLWriter.CLOSING); |
2788 |
generatedXML.writeElement(null, "D:href", XMLWriter.CLOSING); |
2789 |
} |
2789 |
} |
2790 |
generatedXML.writeElement(null, "locktoken", XMLWriter.CLOSING); |
2790 |
generatedXML.writeElement(null, "D:locktoken", XMLWriter.CLOSING); |
2791 |
|
2791 |
|
2792 |
generatedXML.writeElement(null, "activelock", XMLWriter.CLOSING); |
2792 |
generatedXML.writeElement(null, "D:activelock", XMLWriter.CLOSING); |
2793 |
|
2793 |
|
2794 |
} |
2794 |
} |
2795 |
|
2795 |
|