labelHeader = WebdavUtils.fixTomcatHeader(requestHeaders.getLabel(), "UTF-8");
retrieveDepth();
if (req.getContentLength() == 0) {
requestedProperties = new RequestedPropertiesImpl();
requestedProperties.setIsAllProp(true);
propFindType = FIND_ALL_PROP;
}
else {
try {
Element element = parseRequestContent(E_PROPFIND);
try {
element = (Element)element.getChildren().get(0);
}
catch (Exception e) {
int statusCode = WebdavStatus.SC_BAD_REQUEST;
sendError( statusCode, getClass().getName()+".missingRootElementChildren", new Object[]{"DAV:"+E_PROPFIND} );
throw new WebdavException( statusCode );
}
if (element.getName().equalsIgnoreCase(E_PROPNAME)){
propFindType = FIND_PROPERTY_NAMES;
}
else if ( element.getName().equalsIgnoreCase(E_PROP) ) {
requestedProperties = new RequestedPropertiesImpl(element);
propFindType = FIND_BY_PROPERTY;
}
else if ( element.getName().equalsIgnoreCase(E_ALLPROP) ) {
requestedProperties = new RequestedPropertiesImpl(element);
propFindType = FIND_ALL_PROP;
}
else {
int statusCode = WebdavStatus.SC_BAD_REQUEST;
sendError( statusCode, getClass().getName()+".invalidChildOfRootElement", new Object[]{element.getNamespace()+":"+element.getName(),"DAV:"+E_PROPFIND} );