protected Date getCreateDate(Object obj) { if (obj instanceof DLFileEntry) { DLFileEntry dlFileEntry = (DLFileEntry) obj; return dlFileEntry.getCreateDate(); } else if (obj instanceof DLFileShortcut) { DLFileShortcut dlFileShortcut = (DLFileShortcut) obj; return dlFileShortcut.getCreateDate(); } else if (obj instanceof DLFolder) { DLFolder dlFolder = (DLFolder) obj; return dlFolder.getCreateDate(); } else if (obj instanceof FileEntry) { FileEntry fileEntry = (FileEntry) obj; return fileEntry.getCreateDate(); } else { Folder folder = (Folder) obj; return folder.getCreateDate(); } }
protected void sendDocumentLibrary( HttpServletRequest request, HttpServletResponse response, User user, String path, String[] pathArray) throws Exception { if (!PropsValues.WEB_SERVER_SERVLET_DIRECTORY_INDEXING_ENABLED) { response.setStatus(HttpServletResponse.SC_FORBIDDEN); return; } long groupId = _getGroupId(user.getCompanyId(), pathArray[0]); long folderId = DLFolderConstants.DEFAULT_PARENT_FOLDER_ID; for (int i = 1; i < pathArray.length; i++) { String name = pathArray[i]; try { Folder folder = DLAppServiceUtil.getFolder(groupId, folderId, name); folderId = folder.getFolderId(); } catch (NoSuchFolderException nsfe) { if (i != (pathArray.length - 1)) { throw nsfe; } String title = name; sendFile(response, user, groupId, folderId, title); return; } } try { sendFile(response, user, groupId, folderId, "index.html"); return; } catch (Exception e) { if ((e instanceof NoSuchFileEntryException) || (e instanceof PrincipalException)) { try { sendFile(response, user, groupId, folderId, "index.htm"); return; } catch (NoSuchFileEntryException nsfee) { } catch (PrincipalException pe) { } } else { throw e; } } List<WebServerEntry> webServerEntries = new ArrayList<WebServerEntry>(); webServerEntries.add(new WebServerEntry(path, "../")); List<Folder> folders = DLAppServiceUtil.getFolders(groupId, folderId); for (Folder folder : folders) { WebServerEntry webServerEntry = new WebServerEntry( path, folder.getName() + StringPool.SLASH, folder.getCreateDate(), folder.getModifiedDate(), folder.getDescription(), 0); webServerEntries.add(webServerEntry); } List<FileEntry> fileEntries = DLAppServiceUtil.getFileEntries(groupId, folderId); for (FileEntry fileEntry : fileEntries) { WebServerEntry webServerEntry = new WebServerEntry( path, fileEntry.getTitle(), fileEntry.getCreateDate(), fileEntry.getModifiedDate(), fileEntry.getDescription(), fileEntry.getSize()); webServerEntries.add(webServerEntry); } sendHTML(response, path, webServerEntries); }