Example usage for com.liferay.portal.kernel.xml Element addElement

List of usage examples for com.liferay.portal.kernel.xml Element addElement

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.xml Element addElement.

Prototype

public Element addElement(QName qName);

Source Link

Usage

From source file:com.liferay.portlet.calendar.lar.CalendarPortletDataHandlerImpl.java

License:Open Source License

protected void exportEvent(PortletDataContext portletDataContext, Element rootElement, CalEvent event)
        throws PortalException, SystemException {

    if (!portletDataContext.isWithinDateRange(event.getModifiedDate())) {
        return;//from  ww w. ja  v a2 s.co  m
    }

    String path = getEventPath(portletDataContext, event);

    if (!portletDataContext.isPathNotProcessed(path)) {
        return;
    }

    Element eventElement = rootElement.addElement("event");

    portletDataContext.addClassedModel(eventElement, path, event, _NAMESPACE);
}

From source file:com.liferay.portlet.documentlibrary.lar.DLDisplayPortletDataHandlerImpl.java

License:Open Source License

@Override
protected String doExportData(PortletDataContext portletDataContext, String portletId,
        PortletPreferences portletPreferences) throws Exception {

    portletDataContext.addPermissions("com.liferay.portlet.documentlibrary",
            portletDataContext.getScopeGroupId());

    long rootFolderId = GetterUtil.getLong(portletPreferences.getValue("rootFolderId", null));

    Document document = SAXReaderUtil.createDocument();

    Element rootElement = document.addElement("documentlibrary-display-data");

    Element fileEntryTypesElement = rootElement.addElement("file-entry-types");
    Element foldersElement = rootElement.addElement("folders");
    Element fileEntriesElement = rootElement.addElement("file-entries");
    Element fileShortcutsElement = rootElement.addElement("file-shortcuts");
    Element fileRanksElement = rootElement.addElement("file-ranks");

    if (rootFolderId == DLFolderConstants.DEFAULT_PARENT_FOLDER_ID) {
        List<Folder> folders = FolderUtil.findByRepositoryId(portletDataContext.getScopeGroupId());

        for (Folder folder : folders) {
            DLPortletDataHandlerImpl.exportFolder(portletDataContext, fileEntryTypesElement, foldersElement,
                    fileEntriesElement, fileShortcutsElement, fileRanksElement, folder, false);
        }//from   ww w  .  j a v a 2 s. c om
    } else {
        Folder folder = FolderUtil.findByPrimaryKey(rootFolderId);

        rootElement.addAttribute("root-folder-id", String.valueOf(folder.getFolderId()));

        DLPortletDataHandlerImpl.exportFolder(portletDataContext, fileEntryTypesElement, foldersElement,
                fileEntriesElement, fileShortcutsElement, fileRanksElement, folder, true);
    }

    return document.formattedString();
}

From source file:com.liferay.portlet.documentlibrary.lar.DLPortletDataHandlerImpl.java

License:Open Source License

public static void exportFileEntry(PortletDataContext portletDataContext, Element fileEntryTypesElement,
        Element foldersElement, Element fileEntriesElement, Element fileRanksElement,
        Element repositoriesElement, Element repositoryEntriesElement, FileEntry fileEntry,
        boolean checkDateRange) throws Exception {

    if (checkDateRange && !portletDataContext.isWithinDateRange(fileEntry.getModifiedDate())) {

        return;//from   w w w . ja va 2 s.c  om
    }

    if (!fileEntry.isDefaultRepository()) {
        Repository repository = RepositoryUtil.findByPrimaryKey(fileEntry.getRepositoryId());

        exportRepository(portletDataContext, repositoriesElement, repositoryEntriesElement, repository);

        return;
    }

    FileVersion fileVersion = fileEntry.getFileVersion();

    if (fileVersion.getStatus() != WorkflowConstants.STATUS_APPROVED) {
        return;
    }

    String path = getFileEntryPath(portletDataContext, fileEntry);

    if (!portletDataContext.isPathNotProcessed(path)) {
        return;
    }

    Element fileEntryElement = fileEntriesElement.addElement("file-entry");

    if (foldersElement != null) {
        exportParentFolder(portletDataContext, fileEntryTypesElement, foldersElement, repositoriesElement,
                repositoryEntriesElement, fileEntry.getFolderId());
    }

    if (!portletDataContext.isPerformDirectBinaryImport()) {
        InputStream is = null;

        try {
            is = FileEntryUtil.getContentStream(fileEntry);
        } catch (NoSuchFileException nsfe) {
        }

        if (is == null) {
            if (_log.isWarnEnabled()) {
                _log.warn("No file found for file entry " + fileEntry.getFileEntryId());
            }

            fileEntryElement.detach();

            return;
        }

        try {
            String binPath = getFileEntryBinPath(portletDataContext, fileEntry);

            portletDataContext.addZipEntry(binPath, is);

            fileEntryElement.addAttribute("bin-path", binPath);
        } finally {
            try {
                is.close();
            } catch (IOException ioe) {
                _log.error(ioe, ioe);
            }
        }
    }

    if (portletDataContext.getBooleanParameter(_NAMESPACE, "ranks")) {
        List<DLFileRank> fileRanks = DLFileRankUtil.findByFileEntryId(fileEntry.getFileEntryId());

        for (DLFileRank fileRank : fileRanks) {
            exportFileRank(portletDataContext, fileRanksElement, fileRank);
        }
    }

    if (portletDataContext.getBooleanParameter(_NAMESPACE, "previews-and-thumbnails")) {

        DLProcessorRegistryUtil.exportGeneratedFiles(portletDataContext, fileEntry, fileEntryElement);
    }

    exportMetaData(portletDataContext, fileEntryTypesElement, fileEntryElement, fileEntry);

    portletDataContext.addClassedModel(fileEntryElement, path, fileEntry, _NAMESPACE);
}

From source file:com.liferay.portlet.documentlibrary.lar.DLPortletDataHandlerImpl.java

License:Open Source License

protected static void exportFileEntryType(PortletDataContext portletDataContext, Element fileEntryTypesElement,
        DLFileEntryType dlFileEntryType) throws Exception {

    String path = getFileEntryTypePath(portletDataContext, dlFileEntryType);

    if (!portletDataContext.isPathNotProcessed(path)) {
        return;//ww w  .ja v a  2 s  .co m
    }

    Element fileEntryTypeElement = fileEntryTypesElement.addElement("file-entry-type");

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

    String[] ddmStructureUuids = new String[ddmStructures.size()];

    for (int i = 0; i < ddmStructures.size(); i++) {
        DDMStructure ddmStructure = ddmStructures.get(i);

        ddmStructureUuids[i] = ddmStructure.getUuid();

        DDMPortletDataHandlerImpl.exportStructure(portletDataContext, fileEntryTypeElement, ddmStructure);
    }

    fileEntryTypeElement.addAttribute("structureUuids", StringUtil.merge(ddmStructureUuids));

    portletDataContext.addClassedModel(fileEntryTypeElement, path, dlFileEntryType, _NAMESPACE);
}

From source file:com.liferay.portlet.documentlibrary.lar.DLPortletDataHandlerImpl.java

License:Open Source License

protected static void exportFileRank(PortletDataContext portletDataContext, Element fileRanksElement,
        DLFileRank fileRank) throws Exception {

    String path = getFileRankPath(portletDataContext, fileRank);

    if (!portletDataContext.isPathNotProcessed(path)) {
        return;/*from   w w  w  .  j a va 2 s .  co  m*/
    }

    Element fileRankElement = fileRanksElement.addElement("file-rank");

    FileEntry fileEntry = FileEntryUtil.fetchByPrimaryKey(fileRank.getFileEntryId());

    String fileEntryUuid = fileEntry.getUuid();

    fileRankElement.addAttribute("file-entry-uuid", fileEntryUuid);

    portletDataContext.addClassedModel(fileRankElement, path, fileRank, _NAMESPACE);
}

From source file:com.liferay.portlet.documentlibrary.lar.DLPortletDataHandlerImpl.java

License:Open Source License

protected static void exportFileShortcut(PortletDataContext portletDataContext, Element fileEntryTypesElement,
        Element foldersElement, Element fileShortcutsElement, Element repositoriesElement,
        Element repositoryEntriesElement, DLFileShortcut fileShortcut) throws Exception {

    if (!portletDataContext.isWithinDateRange(fileShortcut.getModifiedDate())) {

        return;/*from w  ww.  j  av a 2s  .  co  m*/
    }

    exportParentFolder(portletDataContext, fileEntryTypesElement, foldersElement, repositoriesElement,
            repositoryEntriesElement, fileShortcut.getFolderId());

    String path = getFileShortcutPath(portletDataContext, fileShortcut);

    if (portletDataContext.isPathNotProcessed(path)) {
        Element fileShortcutElement = fileShortcutsElement.addElement("file-shortcut");

        FileEntry fileEntry = DLAppLocalServiceUtil.getFileEntry(fileShortcut.getToFileEntryId());

        String fileEntryUuid = fileEntry.getUuid();

        fileShortcutElement.addAttribute("file-entry-uuid", fileEntryUuid);

        portletDataContext.addClassedModel(fileShortcutElement, path, fileShortcut, _NAMESPACE);
    }
}

From source file:com.liferay.portlet.documentlibrary.lar.DLPortletDataHandlerImpl.java

License:Open Source License

protected static void exportFolder(PortletDataContext portletDataContext, Element fileEntryTypesElement,
        Element foldersElement, Element fileEntriesElement, Element fileShortcutsElement,
        Element fileRanksElement, Element repositoriesElement, Element repositoryEntriesElement, Folder folder,
        boolean recurse) throws Exception {

    if (!portletDataContext.isWithinDateRange(folder.getModifiedDate())) {
        return;/*from  www . j  av  a 2  s . c  om*/
    }

    if (folder.isMountPoint()) {
        Repository repository = RepositoryUtil.findByPrimaryKey(folder.getRepositoryId());

        exportRepository(portletDataContext, repositoriesElement, repositoryEntriesElement, repository);

        return;
    } else if (!folder.isDefaultRepository()) {

        // No need to export non-Liferay repository items since they would
        // be exported as part of repository export

        return;
    }

    exportParentFolder(portletDataContext, fileEntryTypesElement, foldersElement, repositoriesElement,
            repositoryEntriesElement, folder.getParentFolderId());

    String path = getFolderPath(portletDataContext, folder);

    if (!portletDataContext.isPathNotProcessed(path)) {
        return;
    }

    Element folderElement = foldersElement.addElement("folder");

    exportFolderFileEntryTypes(portletDataContext, folder, fileEntryTypesElement, folderElement);

    portletDataContext.addClassedModel(folderElement, path, folder, _NAMESPACE);

    if (recurse) {
        List<Folder> folders = FolderUtil.findByR_P(folder.getRepositoryId(), folder.getFolderId());

        for (Folder curFolder : folders) {
            exportFolder(portletDataContext, fileEntryTypesElement, foldersElement, fileEntriesElement,
                    fileShortcutsElement, fileRanksElement, repositoriesElement, repositoryEntriesElement,
                    curFolder, recurse);
        }
    }

    List<FileEntry> fileEntries = FileEntryUtil.findByR_F(folder.getRepositoryId(), folder.getFolderId());

    for (FileEntry fileEntry : fileEntries) {
        exportFileEntry(portletDataContext, fileEntryTypesElement, foldersElement, fileEntriesElement,
                fileRanksElement, repositoriesElement, repositoryEntriesElement, fileEntry, true);
    }

    if (portletDataContext.getBooleanParameter(_NAMESPACE, "shortcuts")) {
        List<DLFileShortcut> fileShortcuts = DLFileShortcutUtil.findByG_F(folder.getRepositoryId(),
                folder.getFolderId());

        for (DLFileShortcut fileShortcut : fileShortcuts) {
            exportFileShortcut(portletDataContext, fileEntryTypesElement, foldersElement, fileShortcutsElement,
                    repositoriesElement, repositoryEntriesElement, fileShortcut);
        }
    }
}

From source file:com.liferay.portlet.documentlibrary.lar.DLPortletDataHandlerImpl.java

License:Open Source License

protected static void exportMetaData(PortletDataContext portletDataContext, Element fileEntryTypesElement,
        Element fileEntryElement, FileEntry fileEntry) throws Exception {

    if (!(fileEntry instanceof LiferayFileEntry)) {
        return;// w  w  w. ja  v  a 2s.  c o  m
    }

    LiferayFileEntry liferayFileEntry = (LiferayFileEntry) fileEntry;

    DLFileEntry dlFileEntry = liferayFileEntry.getDLFileEntry();

    long fileEntryTypeId = dlFileEntry.getFileEntryTypeId();

    DLFileEntryType dlFileEntryType = DLFileEntryTypeLocalServiceUtil.fetchFileEntryType(fileEntryTypeId);

    if (dlFileEntryType == null) {
        return;
    }

    fileEntryElement.addAttribute("fileEntryTypeUuid", dlFileEntryType.getUuid());

    if (!isFileEntryTypeExportable(portletDataContext.getCompanyId(), dlFileEntryType)) {

        return;
    }

    exportFileEntryType(portletDataContext, fileEntryTypesElement, dlFileEntryType);

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

    for (DDMStructure ddmStructure : ddmStructures) {
        Element structureFields = fileEntryElement.addElement("structure-fields");

        String path = getFileEntryFileEntryTypeStructureFieldsPath(portletDataContext, fileEntry,
                dlFileEntryType.getUuid(), ddmStructure.getStructureId());

        structureFields.addAttribute("path", path);

        structureFields.addAttribute("structureUuid", ddmStructure.getUuid());

        FileVersion fileVersion = fileEntry.getFileVersion();

        DLFileEntryMetadata dlFileEntryMetadata = DLFileEntryMetadataLocalServiceUtil
                .getFileEntryMetadata(ddmStructure.getStructureId(), fileVersion.getFileVersionId());

        Fields fields = StorageEngineUtil.getFields(dlFileEntryMetadata.getDDMStorageId());

        portletDataContext.addZipEntry(path, fields);
    }
}

From source file:com.liferay.portlet.documentlibrary.lar.DLPortletDataHandlerImpl.java

License:Open Source License

protected static void exportParentFolder(PortletDataContext portletDataContext, Element fileEntryTypesElement,
        Element foldersElement, Element repositoriesElement, Element repositoryEntriesElement, long folderId)
        throws Exception {

    if (folderId == DLFolderConstants.DEFAULT_PARENT_FOLDER_ID) {
        return;//  w w w  .  j  a va2 s .com
    }

    Folder folder = DLAppLocalServiceUtil.getFolder(folderId);

    if (folder.isMountPoint()) {
        Repository repository = RepositoryUtil.findByPrimaryKey(folder.getRepositoryId());

        exportRepository(portletDataContext, repositoriesElement, repositoryEntriesElement, repository);

        return;
    } else if (!folder.isDefaultRepository()) {
        //no need to export non-Liferay Repository items since they would
        //be exported as part of repository export
        return;
    }

    exportParentFolder(portletDataContext, fileEntryTypesElement, foldersElement, repositoriesElement,
            repositoryEntriesElement, folder.getParentFolderId());

    String path = getFolderPath(portletDataContext, folder);

    if (portletDataContext.isPathNotProcessed(path)) {
        Element folderElement = foldersElement.addElement("folder");

        exportFolderFileEntryTypes(portletDataContext, folder, fileEntryTypesElement, folderElement);

        portletDataContext.addClassedModel(folderElement, path, folder, _NAMESPACE);
    }
}

From source file:com.liferay.portlet.documentlibrary.lar.DLPortletDataHandlerImpl.java

License:Open Source License

protected static void exportRepository(PortletDataContext portletDataContext, Element repositoriesElement,
        Element repositoryEntriesElement, Repository repository) throws Exception {

    if (!portletDataContext.isWithinDateRange(repository.getModifiedDate())) {

        return;/*  w ww. j  a  v a2 s.c  om*/
    }

    String path = getRepositoryPath(portletDataContext, repository);

    if (!portletDataContext.isPathNotProcessed(path)) {
        return;
    }

    Element repositoryElement = repositoriesElement.addElement("repository");

    repositoryElement.addAttribute("class-name", repository.getClassName());

    portletDataContext.addClassedModel(repositoryElement, path, repository, _NAMESPACE);

    List<RepositoryEntry> repositoryEntries = RepositoryEntryUtil
            .findByRepositoryId(repository.getRepositoryId());

    for (RepositoryEntry repositoryEntry : repositoryEntries) {
        exportRepositoryEntry(portletDataContext, repositoryEntriesElement, repositoryEntry);
    }
}