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

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

Introduction

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

Prototype

public long getParentFolderId();

Source Link

Usage

From source file:com.liferay.compat.hook.webdav.CompatDLWebDAVStorageImpl.java

License:Open Source License

public boolean unlockResource(WebDAVRequest webDAVRequest, String token) throws WebDAVException {

    Resource resource = getResource(webDAVRequest);

    try {/*from  w  w w. j  a  v  a 2  s  . c  o m*/
        if (isInstanceOfDLFileEntryResourceImpl(super.getResource(webDAVRequest))) {

            FileEntry fileEntry = (FileEntry) resource.getModel();

            // Do not allow WebDAV to check in a file entry if it requires a
            // manual check in

            if (isManualCheckInRequired(fileEntry)) {
                return false;
            }

            ServiceContext serviceContext = new ServiceContext();

            serviceContext.setAttribute(DLUtil.WEBDAV_CHECK_IN_MODE, true);

            ServiceContextThreadLocal.pushServiceContext(serviceContext);

            try {
                DLAppServiceUtil.checkInFileEntry(fileEntry.getFileEntryId(), token);
            } finally {
                ServiceContextThreadLocal.popServiceContext();
            }

            if (webDAVRequest.isAppleDoubleRequest()) {
                DLAppServiceUtil.deleteFileEntry(fileEntry.getFileEntryId());
            }
        } else {
            Folder folder = (Folder) resource.getModel();

            DLAppServiceUtil.unlockFolder(folder.getRepositoryId(), folder.getParentFolderId(),
                    folder.getName(), token);
        }

        return true;
    } catch (Exception e) {
        if (e instanceof InvalidLockException) {
            if (_log.isWarnEnabled()) {
                _log.warn(e.getMessage());
            }
        } else {
            if (_log.isWarnEnabled()) {
                _log.warn("Unable to unlock file entry", e);
            }
        }
    }

    return false;
}

From source file:com.liferay.document.library.internal.exportimport.data.handler.FolderStagedModelDataHandler.java

License:Open Source License

@Override
protected void doExportStagedModel(PortletDataContext portletDataContext, Folder folder) throws Exception {

    Element folderElement = portletDataContext.getExportDataElement(folder);

    String folderPath = ExportImportPathUtil.getModelPath(folder);

    if (!folder.isDefaultRepository()) {
        Repository repository = _repositoryLocalService.getRepository(folder.getRepositoryId());

        StagedModelDataHandlerUtil.exportReferenceStagedModel(portletDataContext, folder, repository,
                PortletDataContext.REFERENCE_TYPE_STRONG);

        portletDataContext.addClassedModel(folderElement, folderPath, folder);

        long portletRepositoryClassNameId = _portal.getClassNameId(PortletRepository.class.getName());

        if (repository.getClassNameId() != portletRepositoryClassNameId) {
            return;
        }//w ww  .  j  av  a2  s .  c o  m
    }

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

        StagedModelDataHandlerUtil.exportReferenceStagedModel(portletDataContext, folder,
                folder.getParentFolder(), PortletDataContext.REFERENCE_TYPE_PARENT);
    }

    exportFolderFileEntryTypes(portletDataContext, folderElement, folder);

    portletDataContext.addClassedModel(folderElement, folderPath, folder, DLFolder.class);
}

From source file:com.liferay.document.library.internal.exportimport.data.handler.FolderStagedModelDataHandler.java

License:Open Source License

@Override
protected void doImportStagedModel(PortletDataContext portletDataContext, Folder folder) throws Exception {

    Map<Long, Long> folderIdsAndRepositoryEntryIds = (Map<Long, Long>) portletDataContext
            .getNewPrimaryKeysMap(Folder.class + ".folderIdsAndRepositoryEntryIds");

    if (!folder.isDefaultRepository()) {
        Map<Long, Long> repositoryEntryIds = (Map<Long, Long>) portletDataContext
                .getNewPrimaryKeysMap(RepositoryEntry.class);

        folderIdsAndRepositoryEntryIds.put(folder.getFolderId(), repositoryEntryIds.get(folder.getFolderId()));

        return;/*  w  w w.  j  ava  2s . c om*/
    }

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

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

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

    ServiceContext serviceContext = portletDataContext.createServiceContext(folder, DLFolder.class);

    serviceContext.setUserId(userId);

    Folder importedFolder = null;

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

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

            serviceContext.setUuid(folder.getUuid());

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

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

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

    Element folderElement = portletDataContext.getImportDataElement(folder);

    importFolderFileEntryTypes(portletDataContext, folderElement, folder, importedFolder, serviceContext);

    portletDataContext.importClassedModel(folder, importedFolder, DLFolder.class);

    folderIds.put(folder.getFolderId(), importedFolder.getFolderId());
    folderIdsAndRepositoryEntryIds.put(folder.getFolderId(), importedFolder.getFolderId());
}

From source file:com.liferay.document.library.web.internal.portlet.configuration.icon.DeleteFolderPortletConfigurationIcon.java

License:Open Source License

@Override
public String getURL(PortletRequest portletRequest, PortletResponse portletResponse) {

    PortletURL portletURL = _portal.getControlPanelPortletURL(portletRequest,
            DLPortletKeys.DOCUMENT_LIBRARY_ADMIN, PortletRequest.ACTION_PHASE);

    Folder folder = null;

    try {/*from  w  ww  .ja  v a  2  s.c  o m*/
        folder = ActionUtil.getFolder(portletRequest);
    } catch (PortalException pe) {
        throw new RuntimeException(pe);
    }

    if (folder.isMountPoint()) {
        portletURL.setParameter(ActionRequest.ACTION_NAME, "/document_library/edit_repository");
    } else {
        portletURL.setParameter(ActionRequest.ACTION_NAME, "/document_library/edit_folder");
    }

    ThemeDisplay themeDisplay = (ThemeDisplay) portletRequest.getAttribute(WebKeys.THEME_DISPLAY);

    if (folder.isMountPoint() || !isTrashEnabled(themeDisplay.getScopeGroupId(), folder.getRepositoryId())) {

        portletURL.setParameter(Constants.CMD, Constants.DELETE);
    } else {
        portletURL.setParameter(Constants.CMD, Constants.MOVE_TO_TRASH);
    }

    PortletURL redirectURL = _portal.getControlPanelPortletURL(portletRequest,
            DLPortletKeys.DOCUMENT_LIBRARY_ADMIN, PortletRequest.RENDER_PHASE);

    long parentFolderId = folder.getParentFolderId();

    if (parentFolderId == DLFolderConstants.DEFAULT_PARENT_FOLDER_ID) {
        redirectURL.setParameter("mvcRenderCommandName", "/document_library/view");
    } else {
        redirectURL.setParameter("mvcRenderCommandName", "/document_library/view_folder");
    }

    redirectURL.setParameter("folderId", String.valueOf(parentFolderId));

    portletURL.setParameter("redirect", redirectURL.toString());
    portletURL.setParameter("folderId", String.valueOf(folder.getFolderId()));

    return portletURL.toString();
}

From source file:com.liferay.document.library.web.internal.webdav.DLWebDAVStorageImpl.java

License:Open Source License

@Override
public Resource getResource(WebDAVRequest webDAVRequest) throws WebDAVException {

    try {//from www .ja  v a2  s . c  o m
        String[] pathArray = webDAVRequest.getPathArray();

        long companyId = webDAVRequest.getCompanyId();

        long parentFolderId = getParentFolderId(companyId, pathArray);

        String name = WebDAVUtil.getResourceName(pathArray);

        if (Validator.isNull(name)) {
            String path = getRootPath() + webDAVRequest.getPath();

            return new BaseResourceImpl(path, StringPool.BLANK, getToken());
        }

        try {
            Folder folder = _dlAppService.getFolder(webDAVRequest.getGroupId(), parentFolderId, name);

            if ((folder.getParentFolderId() != parentFolderId)
                    || (webDAVRequest.getGroupId() != folder.getRepositoryId())) {

                StringBundler sb = new StringBundler(6);

                sb.append("No DLFolder exists with the key ");
                sb.append("{parendFolderId=");
                sb.append(parentFolderId);
                sb.append(", repositoryId=");
                sb.append(webDAVRequest.getGroupId());
                sb.append(StringPool.CLOSE_CURLY_BRACE);

                throw new NoSuchFolderException(sb.toString());
            }

            return toResource(webDAVRequest, folder, false);
        } catch (NoSuchFolderException nsfe) {
            if (_log.isDebugEnabled()) {
                _log.debug(nsfe, nsfe);
            }

            try {
                String title = getTitle(pathArray);

                FileEntry fileEntry = _dlAppService.getFileEntry(webDAVRequest.getGroupId(), parentFolderId,
                        title);

                return toResource(webDAVRequest, fileEntry, false);
            } catch (NoSuchFileEntryException nsfee) {
                if (_log.isDebugEnabled()) {
                    _log.debug(nsfee, nsfee);
                }

                return null;
            }
        }
    } catch (Exception e) {
        throw new WebDAVException(e);
    }
}

From source file:com.liferay.document.library.web.internal.webdav.DLWebDAVStorageImpl.java

License:Open Source License

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

    try {// w w w  . j  a  v  a2 s  .  com
        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();

        serviceContext.setUserId(webDAVRequest.getUserId());

        int status = HttpServletResponse.SC_CREATED;

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

                status = HttpServletResponse.SC_NO_CONTENT;
            }
        }

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

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

        return status;
    } catch (PrincipalException pe) {
        if (_log.isDebugEnabled()) {
            _log.debug(pe, pe);
        }

        return HttpServletResponse.SC_FORBIDDEN;
    } catch (DuplicateFolderNameException dfne) {
        if (_log.isDebugEnabled()) {
            _log.debug(dfne, dfne);
        }

        return HttpServletResponse.SC_PRECONDITION_FAILED;
    } catch (Exception e) {
        throw new WebDAVException(e);
    }
}

From source file:com.liferay.document.library.web.internal.webdav.DLWebDAVStorageImpl.java

License:Open Source License

@Override
public boolean unlockResource(WebDAVRequest webDAVRequest, String token) throws WebDAVException {

    Resource resource = getResource(webDAVRequest);

    try {//from  ww  w  .j ava 2 s.com
        if (resource instanceof DLFileEntryResourceImpl) {
            FileEntry fileEntry = (FileEntry) resource.getModel();

            // Do not allow WebDAV to check in a file entry if it requires a
            // manual check in

            if (fileEntry.isManualCheckInRequired()) {
                return false;
            }

            ServiceContext serviceContext = new ServiceContext();

            serviceContext.setAttribute(DL.WEBDAV_CHECK_IN_MODE, Boolean.TRUE);

            _dlAppService.checkInFileEntry(fileEntry.getFileEntryId(), token, serviceContext);

            if (webDAVRequest.isAppleDoubleRequest()) {
                _dlAppService.deleteFileEntry(fileEntry.getFileEntryId());
            }
        } else {
            Folder folder = (Folder) resource.getModel();

            _dlAppService.unlockFolder(folder.getRepositoryId(), folder.getParentFolderId(), folder.getName(),
                    token);
        }

        return true;
    } catch (InvalidLockException ile) {
        if (_log.isWarnEnabled()) {
            _log.warn(ile.getMessage());
        }
    } catch (Exception e) {
        if (_log.isWarnEnabled()) {
            _log.warn("Unable to unlock file entry", e);
        }
    }

    return false;
}

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;// ww  w  .j a va  2s.c o m
    }

    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 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 . ja  va 2  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 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());
    }/*  ww  w.  ja v  a2s.  com*/

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