protected void addFileEntryTypeAttributes(Document document, DLFileVersion dlFileVersion)
      throws PortalException, SystemException {

    DLFileEntryType dlFileEntryType =
        DLFileEntryTypeLocalServiceUtil.getDLFileEntryType(dlFileVersion.getFileEntryTypeId());

    List<DDMStructure> ddmStructures = dlFileEntryType.getDDMStructures();

    for (DDMStructure ddmStructure : ddmStructures) {
      Fields fields = null;

      try {
        DLFileEntryMetadata fileEntryMetadata =
            DLFileEntryMetadataLocalServiceUtil.getFileEntryMetadata(
                ddmStructure.getStructureId(), dlFileVersion.getFileVersionId());

        fields = StorageEngineUtil.getFields(fileEntryMetadata.getDDMStorageId());
      } catch (Exception e) {
      }

      if (fields != null) {
        DDMIndexerUtil.addAttributes(document, ddmStructure, fields);
      }
    }
  }
  protected void addDDMStructureAttributes(Document document, JournalArticle article)
      throws Exception {

    DDMStructure ddmStructure =
        _ddmStructureLocalService.fetchStructure(
            article.getGroupId(),
            PortalUtil.getClassNameId(JournalArticle.class),
            article.getDDMStructureKey(),
            true);

    if (ddmStructure == null) {
      return;
    }

    document.addKeyword(Field.CLASS_TYPE_ID, ddmStructure.getStructureId());

    DDMFormValues ddmFormValues = null;

    try {
      Fields fields = JournalConverterUtil.getDDMFields(ddmStructure, article.getDocument());

      ddmFormValues = FieldsToDDMFormValuesConverterUtil.convert(ddmStructure, fields);
    } catch (Exception e) {
      return;
    }

    if (ddmFormValues != null) {
      DDMIndexerUtil.addAttributes(document, ddmStructure, ddmFormValues);
    }
  }
  protected void addFileEntryTypeAttributes(Document document, DLFileVersion dlFileVersion)
      throws PortalException {

    List<DLFileEntryMetadata> dlFileEntryMetadatas =
        DLFileEntryMetadataLocalServiceUtil.getFileVersionFileEntryMetadatas(
            dlFileVersion.getFileVersionId());

    for (DLFileEntryMetadata dlFileEntryMetadata : dlFileEntryMetadatas) {
      Fields fields = null;

      try {
        fields = StorageEngineUtil.getFields(dlFileEntryMetadata.getDDMStorageId());
      } catch (Exception e) {
      }

      if (fields != null) {
        DDMStructure ddmStructure =
            DDMStructureLocalServiceUtil.getStructure(dlFileEntryMetadata.getDDMStructureId());

        DDMIndexerUtil.addAttributes(document, ddmStructure, fields);
      }
    }
  }