martes, 8 de enero de 2013

Obtener las Categorías de un DLFileEntry


Haciendo un portlet para obtener los documentos almacenados en una determinada carpeta inicialmente obtenía los documentos por categorías, me solicitaron adicionalmente las categorías asignadas al documento.


Para obtener las categorías es necesario saber el Vocabulario almacenado, en mi caso "Biblioteca de Documentos".

  • Una vez teniendo el tipo de vocabulario:
 long tipo = Long.parseLong(portletPreferences.getValue("tipo", ""));


  • Obtengo la lista de documentos.
List<DLFileEntry> fileEntrys = DLFileEntryLocalServiceUtil.getFileEntries(themeDisplay.getScopeGroupId(), tipo);
  • Con un ciclo for recorro la lista y obtengo cada objeto:

DLFileEntry doc = fileEntrys.get(i);

  • Luego obtengo el AssetEntry asociado al documento.
AssetEntry ae = AssetEntryLocalServiceUtil.getEntry(DLFileEntry.class.getName(), doc.getFileEntryId());




  • Finalmente obtengo la(s) categoría(s) asociada(s) al documento:
            List<AssetCategory> aCat = AssetCategoryLocalServiceUtil.getEntryCategories(ae.getEntryId());