");
writer.write(WebDAVHelper.encodeHTML(I18NUtil.getMessage("webdav.column.name")));
writer.write(" | ");
writer.write("");
writer.write(WebDAVHelper.encodeHTML(I18NUtil.getMessage("webdav.column.size")));
writer.write(" | ");
writer.write("");
writer.write(WebDAVHelper.encodeHTML(I18NUtil.getMessage("webdav.column.type")));
writer.write(" | ");
writer.write("");
writer.write(WebDAVHelper.encodeHTML(I18NUtil.getMessage("webdav.column.modifieddate")));
writer.write(" | ");
writer.write("
\n");
// Get the URL for the root path
String rootURL = getURLForPath(m_request, getPath(), true);
if (rootURL.endsWith(WebDAVHelper.PathSeperator) == false)
{
rootURL = rootURL + WebDAVHelper.PathSeperator;
}
if (wasLink)
{
Path pathToNode = nodeService.getPath(fileInfo.getNodeRef());
if (pathToNode.size() > 2)
{
pathToNode = pathToNode.subPath(2, pathToNode.size() - 1);
}
rootURL = getURLForPath(m_request, pathToNode.toDisplayPath(nodeService, getPermissionService()), true);
if (rootURL.endsWith(WebDAVHelper.PathSeperator) == false)
{
rootURL = rootURL + WebDAVHelper.PathSeperator;
}
rootURL = rootURL + WebDAVHelper.encodeURL(fileInfo.getName(), m_userAgent) + WebDAVHelper.PathSeperator;
}
// Start with a link to the parent folder so we can navigate back up, unless we are at the root level
if (! getDAVHelper().isRootPath(getPath(), getServletPath()))
{
writer.write("");
writer.write(WebDAVHelper.encodeHTML(fname));
writer.write("");
// size field
writer.write(" | ");
ContentData contentData = null;
if (!childNodeInfo.isFolder())
{
Serializable contentPropertyName = nodeService.getProperty(childNodeInfo.getNodeRef(), ContentModel.PROP_CONTENT_PROPERTY_NAME);
QName contentPropertyQName = DefaultTypeConverter.INSTANCE.convert(QName.class, contentPropertyName);
if (null == contentPropertyQName)
{
contentPropertyQName = ContentModel.PROP_CONTENT;
}
Serializable contentProperty = nodeService.getProperty(childNodeInfo.getNodeRef(), contentPropertyQName);
if (contentProperty instanceof ContentData)
{
contentData = (ContentData) contentProperty;
}
}
if (childNodeInfo.isFolder())
{
writer.write(" ");
}
else
{
if (null != contentData)
{
writer.write(formatSize(Long.toString(contentData.getSize())));
}
else
{
writer.write(" ");
}
}
writer.write(" | ");
// mimetype field
if (childNodeInfo.isFolder())
{
writer.write(" ");
}
else
{
String mimetype = " ";
if (null != contentData)
{
mimetype = contentData.getMimetype();
String displayType = mimeTypeService.getDisplaysByMimetype().get(mimetype);
if (displayType != null)
{
mimetype = displayType;
}
}
writer.write(mimetype);
}
writer.write(" | ");
// modified date field
Date modifiedDate = childNodeInfo.getModifiedDate();
if (modifiedDate != null)
{
writer.write(WebDAV.formatHeaderDate(DefaultTypeConverter.INSTANCE.longValue(modifiedDate)));
}
else
{
writer.write(" ");
}
writer.write(" |
\n");
// flush every few rows
if ((rowId & 15) == 0)
{
writer.flush();
}
}
writer.write("