Example usage for com.liferay.portal.kernel.repository.model Folder getDescription

List of usage examples for com.liferay.portal.kernel.repository.model Folder getDescription

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.repository.model Folder getDescription.

Prototype

public String getDescription();

Source Link

Usage

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

License:Open Source License

protected static void importFolder(PortletDataContext portletDataContext, String folderPath,
        Element folderElement, Folder folder) throws Exception {

    long userId = portletDataContext.getUserId(folder.getUserUuid());

    Map<Long, Long> folderIds = (Map<Long, Long>) portletDataContext.getNewPrimaryKeysMap(DLFolder.class);

    long parentFolderId = MapUtil.getLong(folderIds, folder.getParentFolderId(), folder.getParentFolderId());

    ServiceContext serviceContext = portletDataContext.createServiceContext(folderPath, folder, _NAMESPACE);

    if ((parentFolderId != DLFolderConstants.DEFAULT_PARENT_FOLDER_ID)
            && (parentFolderId == folder.getParentFolderId())) {

        String path = getImportFolderPath(portletDataContext, parentFolderId);

        Folder parentFolder = (Folder) portletDataContext.getZipEntryAsObject(path);

        importFolder(portletDataContext, path, folderElement, parentFolder);

        parentFolderId = MapUtil.getLong(folderIds, folder.getParentFolderId(), folder.getParentFolderId());
    }/*from w ww  .j  av a2s .  c o  m*/

    Folder importedFolder = null;

    if (portletDataContext.isDataStrategyMirror()) {
        Folder existingFolder = FolderUtil.fetchByUUID_R(folder.getUuid(),
                portletDataContext.getScopeGroupId());

        if (existingFolder == null) {
            String name = getFolderName(null, portletDataContext.getScopeGroupId(), parentFolderId,
                    folder.getName(), 2);

            serviceContext.setUuid(folder.getUuid());

            importedFolder = DLAppLocalServiceUtil.addFolder(userId, portletDataContext.getScopeGroupId(),
                    parentFolderId, name, folder.getDescription(), serviceContext);
        } else {
            String name = getFolderName(folder.getUuid(), portletDataContext.getScopeGroupId(), parentFolderId,
                    folder.getName(), 2);

            importedFolder = DLAppLocalServiceUtil.updateFolder(existingFolder.getFolderId(), parentFolderId,
                    name, folder.getDescription(), serviceContext);
        }
    } else {
        String name = getFolderName(null, portletDataContext.getScopeGroupId(), parentFolderId,
                folder.getName(), 2);

        importedFolder = DLAppLocalServiceUtil.addFolder(userId, portletDataContext.getScopeGroupId(),
                parentFolderId, name, folder.getDescription(), serviceContext);
    }

    importFolderFileEntryTypes(portletDataContext, folderElement, importedFolder, serviceContext);

    portletDataContext.importClassedModel(folder, importedFolder, _NAMESPACE);
}

From source file:com.liferay.portlet.documentlibrary.service.impl.DLAppServiceImpl.java

License:Open Source License

protected void copyFolder(Repository repository, Folder srcFolder, Folder destFolder,
        ServiceContext serviceContext) throws PortalException, SystemException {

    Queue<Folder[]> folders = new LinkedList<Folder[]>();
    final List<FileEntry> fileEntries = new ArrayList<FileEntry>();

    Folder curSrcFolder = srcFolder;//from   w  w w .ja v  a 2s  . c o m
    Folder curDestFolder = destFolder;

    while (true) {
        List<FileEntry> srcFileEntries = repository.getFileEntries(curSrcFolder.getFolderId(),
                QueryUtil.ALL_POS, QueryUtil.ALL_POS, null);

        for (FileEntry srcFileEntry : srcFileEntries) {
            try {
                FileEntry fileEntry = repository.copyFileEntry(curDestFolder.getGroupId(),
                        srcFileEntry.getFileEntryId(), curDestFolder.getFolderId(), serviceContext);

                dlAppHelperLocalService.addFileEntry(getUserId(), fileEntry, fileEntry.getFileVersion(),
                        serviceContext);

                fileEntries.add(fileEntry);
            } catch (Exception e) {
                _log.error(e, e);

                continue;
            }
        }

        List<Folder> srcSubfolders = repository.getFolders(curSrcFolder.getFolderId(), false, QueryUtil.ALL_POS,
                QueryUtil.ALL_POS, null);

        for (Folder srcSubfolder : srcSubfolders) {
            Folder destSubfolder = repository.addFolder(curDestFolder.getFolderId(), srcSubfolder.getName(),
                    srcSubfolder.getDescription(), serviceContext);

            folders.offer(new Folder[] { srcSubfolder, destSubfolder });
        }

        Folder[] next = folders.poll();

        if (next == null) {
            break;
        } else {
            curSrcFolder = next[0];
            curDestFolder = next[1];
        }
    }

    TransactionCommitCallbackUtil.registerCallback(new Callable<Void>() {

        public Void call() throws Exception {
            for (FileEntry fileEntry : fileEntries) {
                DLProcessorRegistryUtil.trigger(fileEntry);
            }

            return null;
        }

    });
}

From source file:com.liferay.portlet.documentlibrary.service.impl.DLAppServiceImpl.java

License:Open Source License

protected Folder moveFolders(long folderId, long parentFolderId, Repository fromRepository,
        Repository toRepository, ServiceContext serviceContext) throws PortalException, SystemException {

    Folder folder = fromRepository.getFolder(folderId);

    Folder newFolder = toRepository.addFolder(parentFolderId, folder.getName(), folder.getDescription(),
            serviceContext);/*  w w w.ja va 2s .c  o  m*/

    List<Object> foldersAndFileEntriesAndFileShortcuts = getFoldersAndFileEntriesAndFileShortcuts(
            fromRepository.getRepositoryId(), folderId, WorkflowConstants.STATUS_ANY, true, QueryUtil.ALL_POS,
            QueryUtil.ALL_POS);

    try {
        for (Object folderAndFileEntryAndFileShortcut : foldersAndFileEntriesAndFileShortcuts) {

            if (folderAndFileEntryAndFileShortcut instanceof FileEntry) {
                FileEntry fileEntry = (FileEntry) folderAndFileEntryAndFileShortcut;

                copyFileEntry(toRepository, fileEntry, newFolder.getFolderId(), serviceContext);
            } else if (folderAndFileEntryAndFileShortcut instanceof Folder) {
                Folder currentFolder = (Folder) folderAndFileEntryAndFileShortcut;

                moveFolders(currentFolder.getFolderId(), newFolder.getFolderId(), fromRepository, toRepository,
                        serviceContext);

            } else if (folderAndFileEntryAndFileShortcut instanceof DLFileShortcut) {

                if (newFolder.isSupportsShortcuts()) {
                    DLFileShortcut dlFileShorcut = (DLFileShortcut) folderAndFileEntryAndFileShortcut;

                    dlFileShortcutService.addFileShortcut(dlFileShorcut.getGroupId(), newFolder.getFolderId(),
                            dlFileShorcut.getToFileEntryId(), serviceContext);
                }
            }
        }
    } catch (PortalException pe) {
        toRepository.deleteFolder(newFolder.getFolderId());

        throw pe;
    }

    try {
        fromRepository.deleteFolder(folderId);
    } catch (PortalException pe) {
        toRepository.deleteFolder(newFolder.getFolderId());

        throw pe;
    }

    return newFolder;
}

From source file:com.liferay.portlet.documentlibrary.webdav.DLWebDAVStorageImpl.java

License:Open Source License

@Override
public int copyCollectionResource(WebDAVRequest webDavRequest, Resource resource, String destination,
        boolean overwrite, long depth) throws WebDAVException {

    try {/*from w  w w. ja v a  2  s.c o m*/
        String[] destinationArray = WebDAVUtil.getPathArray(destination, true);

        long companyId = webDavRequest.getCompanyId();

        long parentFolderId = DLFolderConstants.DEFAULT_PARENT_FOLDER_ID;

        try {
            parentFolderId = getParentFolderId(companyId, destinationArray);
        } catch (NoSuchFolderException nsfe) {
            return HttpServletResponse.SC_CONFLICT;
        }

        Folder folder = (Folder) resource.getModel();

        long groupId = WebDAVUtil.getGroupId(companyId, destination);
        String name = WebDAVUtil.getResourceName(destinationArray);
        String description = folder.getDescription();

        ServiceContext serviceContext = new ServiceContext();

        serviceContext.setAddGroupPermissions(isAddGroupPermissions(groupId));
        serviceContext.setAddGuestPermissions(true);

        int status = HttpServletResponse.SC_CREATED;

        if (overwrite) {
            if (deleteResource(groupId, parentFolderId, name, webDavRequest.getLockUuid())) {

                status = HttpServletResponse.SC_NO_CONTENT;
            }
        }

        if (depth == 0) {
            DLAppServiceUtil.addFolder(groupId, parentFolderId, name, description, serviceContext);
        } else {
            DLAppServiceUtil.copyFolder(groupId, folder.getFolderId(), parentFolderId, name, description,
                    serviceContext);
        }

        return status;
    } catch (DuplicateFolderNameException dfne) {
        return HttpServletResponse.SC_PRECONDITION_FAILED;
    } catch (PrincipalException pe) {
        return HttpServletResponse.SC_FORBIDDEN;
    } catch (Exception e) {
        throw new WebDAVException(e);
    }
}

From source file:com.liferay.portlet.documentlibrary.webdav.DLWebDAVStorageImpl.java

License:Open Source License

@Override
public int moveCollectionResource(WebDAVRequest webDavRequest, Resource resource, String destination,
        boolean overwrite) throws WebDAVException {

    try {/*from ww  w . j  av  a2  s . co m*/
        String[] destinationArray = WebDAVUtil.getPathArray(destination, true);

        Folder folder = (Folder) resource.getModel();

        long companyId = webDavRequest.getCompanyId();
        long groupId = WebDAVUtil.getGroupId(companyId, destinationArray);
        long folderId = folder.getFolderId();
        long parentFolderId = getParentFolderId(companyId, destinationArray);
        String name = WebDAVUtil.getResourceName(destinationArray);
        String description = folder.getDescription();

        ServiceContext serviceContext = new ServiceContext();

        int status = HttpServletResponse.SC_CREATED;

        if (overwrite) {
            if (deleteResource(groupId, parentFolderId, name, webDavRequest.getLockUuid())) {

                status = HttpServletResponse.SC_NO_CONTENT;
            }
        }

        if (parentFolderId != folder.getParentFolderId()) {
            DLAppServiceUtil.moveFolder(folderId, parentFolderId, serviceContext);
        }

        if (!name.equals(folder.getName())) {
            DLAppServiceUtil.updateFolder(folderId, name, description, serviceContext);
        }

        return status;
    } catch (PrincipalException pe) {
        return HttpServletResponse.SC_FORBIDDEN;
    } catch (DuplicateFolderNameException dfne) {
        return HttpServletResponse.SC_PRECONDITION_FAILED;
    } catch (Exception e) {
        throw new WebDAVException(e);
    }
}

From source file:com.liferay.so.hook.upgrade.v2_0_0.UpgradeDocumentLibrary.java

License:Open Source License

protected void moveDocumentsAndFolders(long groupId, long rootFolderId) throws Exception {

    boolean deleteFolder = true;

    List<FileEntry> fileEntries = DLAppLocalServiceUtil.getFileEntries(groupId, rootFolderId);

    for (FileEntry fileEntry : fileEntries) {
        ServiceContext serviceContext = new ServiceContext();

        try {//from  w  w w.  j  a va  2s .c  o m
            DLAppLocalServiceUtil.moveFileEntry(fileEntry.getUserId(), fileEntry.getFileEntryId(),
                    DLFolderConstants.DEFAULT_PARENT_FOLDER_ID, serviceContext);
        } catch (Exception e) {
            deleteFolder = false;
        }
    }

    List<Folder> folders = DLAppLocalServiceUtil.getFolders(groupId, rootFolderId);

    for (Folder folder : folders) {
        ServiceContext serviceContext = new ServiceContext();

        try {
            DLAppLocalServiceUtil.updateFolder(folder.getFolderId(), DLFolderConstants.DEFAULT_PARENT_FOLDER_ID,
                    folder.getName(), folder.getDescription(), serviceContext);
        } catch (Exception e) {
            deleteFolder = false;
        }
    }

    if (deleteFolder) {
        DLAppLocalServiceUtil.deleteFolder(rootFolderId);
    }
}

From source file:com.liferay.sync.messaging.SyncMessageListener.java

License:Open Source License

protected void addSyncDLObject(long modifiedTime, String event, String type, long typePK) throws Exception {

    if (event.equals(DLSyncConstants.EVENT_DELETE)) {
        SyncDLObjectLocalServiceUtil.addSyncDLObject(0, modifiedTime, 0, 0, StringPool.BLANK, StringPool.BLANK,
                StringPool.BLANK, StringPool.BLANK, StringPool.BLANK, StringPool.BLANK, StringPool.BLANK, 0,
                StringPool.BLANK, event, null, 0, StringPool.BLANK, type, typePK, StringPool.BLANK);
    } else if (type.equals(DLSyncConstants.TYPE_FILE)) {
        FileEntry fileEntry = null;//from ww  w  .  j a  v  a 2  s .c  o m

        try {
            fileEntry = DLAppLocalServiceUtil.getFileEntry(typePK);
        } catch (NoSuchFileEntryException nsfee) {
            return;
        }

        Date lockExpirationDate = null;
        long lockUserId = 0;
        String lockUserName = StringPool.BLANK;

        Lock lock = fileEntry.getLock();

        if (lock != null) {
            lockExpirationDate = lock.getExpirationDate();
            lockUserId = lock.getUserId();
            lockUserName = lock.getUserName();
        }

        DLFileVersion dlFileVersion = DLFileVersionLocalServiceUtil
                .getLatestFileVersion(fileEntry.getFileEntryId(), false);

        SyncDLObjectLocalServiceUtil.addSyncDLObject(dlFileVersion.getCompanyId(), modifiedTime,
                dlFileVersion.getRepositoryId(), fileEntry.getFolderId(), dlFileVersion.getTitle(),
                dlFileVersion.getExtension(), dlFileVersion.getMimeType(), dlFileVersion.getDescription(),
                dlFileVersion.getChangeLog(), dlFileVersion.getExtraSettings(), dlFileVersion.getVersion(),
                dlFileVersion.getSize(), SyncUtil.getChecksum(dlFileVersion), event, lockExpirationDate,
                lockUserId, lockUserName, type, fileEntry.getFileEntryId(), fileEntry.getUuid());
    } else {
        Folder folder = null;

        try {
            folder = DLAppLocalServiceUtil.getFolder(typePK);
        } catch (NoSuchFolderException nsfe) {
            return;
        }

        SyncDLObjectLocalServiceUtil.addSyncDLObject(folder.getCompanyId(), modifiedTime,
                folder.getRepositoryId(), folder.getParentFolderId(), folder.getName(), StringPool.BLANK,
                StringPool.BLANK, folder.getDescription(), StringPool.BLANK, StringPool.BLANK, "-1", 0,
                StringPool.BLANK, event, null, 0, StringPool.BLANK, type, folder.getFolderId(),
                folder.getUuid());
    }
}