2017-11-10 14 views
0

Liferayのドキュメントとメディアでは、file.txtというファイルを含むsubfolderという名前のフォルダを含むmyfolderという名前のフォルダを作成しました。DLFileEntryから "/ full/path/to/file"を取得

DLFileEntryはfile.txtです。

文字列の取得方法/folder/subfolder/file.txt

注:

  • コンテキスト:表示/報告の目的のために、私は少しそれがパンくずでどのように表示されるかのように、ファイルのフルパスを取得する必要があります。
  • getTreePath()は、この名前を持つメソッドはLiferayの5に
存在するように見えたとしても、私は getBreadcrumbsのために全体のLiferay 7 DXP SP4をgrepedと何のソースコードが来ないように代わりにフォルダ名の /32701/
  • などの識別子を与えますここ
  • 答えて

    0

    は私の実装です:

    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; 
        } 
    } 
    

    保守性と​​パフォーマンスを向上させるためにすべてのアイデアは大歓迎です!

    関連する問題