从DLFileEntry获取"/full/path/to/file"



在Liferay的文档和媒体中,我创建了一个名为myfolder的文件夹,其中包含一个名为subfolder的文件夹,其中包含一个名为file.txt的文件。

我有 DLFileEntry of file.txt

如何获取字符串/folder/subfolder/file.txt

笔记:

  • 上下文:出于显示/报告目的,我需要获取文件的完整路径,有点像它在面包屑中的显示方式。
  • getTreePath()提供标识符,例如/32701/而不是文件夹名称
  • getBreadcrumbs整个Liferay 7 DXP SP4,没有源代码,尽管Liferay 5中似乎存在具有此名称的方法。
这是我

的实现:

protected String fullPath(DLFileEntry file) throws PortalException {
    String fileName = file.getFileName();
    DLFolder folder = file.getFolder();
    if (folder == null) {
        return "/" + fileName;
    }
    else {
        return fullPath(folder) + "/" + fileName;
    }
}
protected String fullPath(DLFolder folder) throws PortalException {
    String folderName = folder.getName();
    DLFolder parent = folder.getParentFolder();
    if (parent == null) {
        return "/" + folderName;
    }
    else {
        return fullPath(parent) + folderName;
    }
}

欢迎所有提高可维护性和性能的想法!

最新更新