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

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

Introduction

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

Prototype

public long getFolderId();

Source Link

Usage

From source file:com.liferay.document.library.web.internal.util.DLBreadcrumbUtil.java

License:Open Source License

public static void addPortletBreadcrumbEntries(long folderId, HttpServletRequest request,
        RenderResponse renderResponse) throws Exception {

    if (folderId != DLFolderConstants.DEFAULT_PARENT_FOLDER_ID) {
        Folder folder = DLAppLocalServiceUtil.getFolder(folderId);

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

            addPortletBreadcrumbEntries(folder, request, renderResponse);
        }/*from w  w w .  j av  a  2  s  .com*/
    }
}

From source file:com.liferay.document.library.web.internal.util.IGUtil.java

License:Open Source License

public static void addPortletBreadcrumbEntries(Folder folder, HttpServletRequest request,
        RenderResponse renderResponse) throws Exception {

    String mvcRenderCommandName = ParamUtil.getString(request, "mvcRenderCommandName");

    PortletURL portletURL = renderResponse.createRenderURL();

    if (mvcRenderCommandName.equals("/document_library/select_folder")) {
        ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY);

        portletURL.setParameter("mvcRenderCommandName", mvcRenderCommandName);
        portletURL.setWindowState(LiferayWindowState.POP_UP);

        PortalUtil.addPortletBreadcrumbEntry(request, themeDisplay.translate("home"), portletURL.toString());
    } else {/*w  w  w  .j ava  2  s . c om*/
        portletURL.setParameter("mvcRenderCommandName", "/image_gallery_display/view");
    }

    long rootFolderId = getRootFolderId(request);

    List<Folder> ancestorFolders = Collections.emptyList();

    if ((folder != null) && (folder.getFolderId() != rootFolderId)) {
        ancestorFolders = folder.getAncestors();

        int indexOfRootFolder = -1;

        for (int i = 0; i < ancestorFolders.size(); i++) {
            Folder ancestorFolder = ancestorFolders.get(i);

            if (rootFolderId == ancestorFolder.getFolderId()) {
                indexOfRootFolder = i;
            }
        }

        if (indexOfRootFolder > -1) {
            ancestorFolders = ancestorFolders.subList(0, indexOfRootFolder);
        }
    }

    Collections.reverse(ancestorFolders);

    for (Folder ancestorFolder : ancestorFolders) {
        portletURL.setParameter("folderId", String.valueOf(ancestorFolder.getFolderId()));

        PortalUtil.addPortletBreadcrumbEntry(request, ancestorFolder.getName(), portletURL.toString());
    }

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

    PortalUtil.addPortletBreadcrumbEntry(request, folder.getName(), portletURL.toString());
}

From source file:com.liferay.document.library.web.internal.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   ww w .jav  a2  s .  co 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) {
            if (_log.isDebugEnabled()) {
                _log.debug(nsfe, 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) {
            _dlAppService.addFolder(groupId, parentFolderId, name, description, serviceContext);
        } else {
            _dlAppService.copyFolder(groupId, folder.getFolderId(), parentFolderId, name, description,
                    serviceContext);
        }

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

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

        return HttpServletResponse.SC_FORBIDDEN;
    } 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 deleteResource(WebDAVRequest webDAVRequest) throws WebDAVException {

    try {//  w ww.  j a va 2 s. c  o m
        Resource resource = getResource(webDAVRequest);

        if (resource == null) {
            if (webDAVRequest.isAppleDoubleRequest()) {
                return HttpServletResponse.SC_NO_CONTENT;
            } else {
                return HttpServletResponse.SC_NOT_FOUND;
            }
        }

        Object model = resource.getModel();

        if (model instanceof Folder) {
            Folder folder = (Folder) model;

            long folderId = folder.getFolderId();

            if ((folder.getModel() instanceof DLFolder)
                    && _dlTrashUtil.isTrashEnabled(folder.getGroupId(), folder.getRepositoryId())) {

                _dlTrashService.moveFolderToTrash(folderId);
            } else {
                _dlAppService.deleteFolder(folderId);
            }
        } else {
            FileEntry fileEntry = (FileEntry) model;

            if (!hasLock(fileEntry, webDAVRequest.getLockUuid()) && (fileEntry.getLock() != null)) {

                return WebDAVUtil.SC_LOCKED;
            }

            long fileEntryId = fileEntry.getFileEntryId();

            if ((fileEntry.getModel() instanceof DLFileEntry)
                    && _dlTrashUtil.isTrashEnabled(fileEntry.getGroupId(), fileEntry.getRepositoryId())) {

                _dlTrashService.moveFileEntryToTrash(fileEntryId);
            } else {
                _dlAppService.deleteFileEntry(fileEntryId);
            }
        }

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

        return HttpServletResponse.SC_FORBIDDEN;
    } 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 Status lockResource(WebDAVRequest webDAVRequest, String owner, long timeout) throws WebDAVException {

    Resource resource = getResource(webDAVRequest);

    Lock lock = null;/*ww  w  .  ja  v  a  2s. c o m*/
    int status = HttpServletResponse.SC_OK;

    try {
        if (resource == null) {
            status = HttpServletResponse.SC_CREATED;

            HttpServletRequest request = webDAVRequest.getHttpServletRequest();

            String[] pathArray = webDAVRequest.getPathArray();

            long companyId = webDAVRequest.getCompanyId();
            long groupId = webDAVRequest.getGroupId();
            long parentFolderId = getParentFolderId(companyId, pathArray);

            String title = getTitle(pathArray);

            String extension = FileUtil.getExtension(title);

            String contentType = getContentType(request, null, title, extension);

            String description = StringPool.BLANK;
            String changeLog = StringPool.BLANK;

            File file = FileUtil.createTempFile(extension);

            file.createNewFile();

            ServiceContext serviceContext = new ServiceContext();

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

            FileEntry fileEntry = _dlAppService.addFileEntry(groupId, parentFolderId, title, contentType, title,
                    description, changeLog, file, serviceContext);

            resource = toResource(webDAVRequest, fileEntry, false);
        }

        if (resource instanceof DLFileEntryResourceImpl) {
            FileEntry fileEntry = (FileEntry) resource.getModel();

            ServiceContext serviceContext = new ServiceContext();

            serviceContext.setAttribute(DL.MANUAL_CHECK_IN_REQUIRED, webDAVRequest.isManualCheckInRequired());

            populateServiceContext(serviceContext, fileEntry);

            _dlAppService.checkOutFileEntry(fileEntry.getFileEntryId(), owner, timeout, serviceContext);

            lock = fileEntry.getLock();
        } else {
            boolean inheritable = false;

            long depth = WebDAVUtil.getDepth(webDAVRequest.getHttpServletRequest());

            if (depth != 0) {
                inheritable = true;
            }

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

            lock = _dlAppService.lockFolder(folder.getRepositoryId(), folder.getFolderId(), owner, inheritable,
                    timeout);
        }
    } catch (Exception e) {

        // DuplicateLock is 423 not 501

        if (!(e instanceof DuplicateLockException)) {
            throw new WebDAVException(e);
        }

        status = WebDAVUtil.SC_LOCKED;
    }

    return new Status(lock, status);
}

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 {/*from w  w w .  j av  a2  s.  c om*/
        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

protected boolean deleteResource(long groupId, long parentFolderId, String name, String lockUuid)
        throws Exception {

    try {/* w w w.ja  va  2 s  .  c o  m*/
        Folder folder = _dlAppService.getFolder(groupId, parentFolderId, name);

        _dlAppService.deleteFolder(folder.getFolderId());

        return true;
    } catch (NoSuchFolderException nsfe) {
        if (_log.isDebugEnabled()) {
            _log.debug(nsfe, nsfe);
        }

        try {
            FileEntry fileEntry = _dlAppService.getFileEntry(groupId, parentFolderId, name);

            if (!hasLock(fileEntry, lockUuid) && (fileEntry.getLock() != null)) {

                StringBundler sb = new StringBundler(4);

                sb.append("Inconsistent file lock state for file entry ");
                sb.append(fileEntry.getPrimaryKey());
                sb.append(" and lock UUID ");
                sb.append(lockUuid);

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

            _dlAppService.deleteFileEntryByTitle(groupId, parentFolderId, name);

            return true;
        } catch (NoSuchFileEntryException nsfee) {
            if (_log.isDebugEnabled()) {
                _log.debug(nsfee, nsfee);
            }
        }
    }

    return false;
}

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

License:Open Source License

protected long getFolderId(long companyId, String[] pathArray, boolean parent) throws Exception {

    long folderId = DLFolderConstants.DEFAULT_PARENT_FOLDER_ID;

    if (pathArray.length <= 1) {
        return folderId;
    }/*from w  ww  . j a  v  a  2  s. c  o m*/

    long groupId = WebDAVUtil.getGroupId(companyId, pathArray);

    int x = pathArray.length;

    if (parent) {
        x--;
    }

    for (int i = 2; i < x; i++) {
        String name = pathArray[i];

        Folder folder = _dlAppService.getFolder(groupId, folderId, name);

        if (groupId == folder.getRepositoryId()) {
            folderId = folder.getFolderId();
        }
    }

    return folderId;
}

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

License:Open Source License

@Override
public int deleteResource(WebDAVRequest webDAVRequest) throws WebDAVException {

    try {/*ww  w . j  av  a 2 s  . c  om*/
        Resource resource = getResource(webDAVRequest);

        if (resource == null) {
            if (webDAVRequest.isAppleDoubleRequest()) {
                return HttpServletResponse.SC_NO_CONTENT;
            } else {
                return HttpServletResponse.SC_NOT_FOUND;
            }
        }

        Object model = resource.getModel();

        if (model instanceof Folder) {
            Folder folder = (Folder) model;

            long folderId = folder.getFolderId();

            if ((folder.getModel() instanceof DLFolder)
                    && DLTrashUtil.isTrashEnabled(folder.getGroupId(), folder.getRepositoryId())) {

                _dlTrashService.moveFolderToTrash(folderId);
            } else {
                _dlAppService.deleteFolder(folderId);
            }
        } else {
            FileEntry fileEntry = (FileEntry) model;

            if (!hasLock(fileEntry, webDAVRequest.getLockUuid()) && (fileEntry.getLock() != null)) {

                return WebDAVUtil.SC_LOCKED;
            }

            long fileEntryId = fileEntry.getFileEntryId();

            if ((fileEntry.getModel() instanceof DLFileEntry)
                    && DLTrashUtil.isTrashEnabled(fileEntry.getGroupId(), fileEntry.getRepositoryId())) {

                _dlTrashService.moveFileEntryToTrash(fileEntryId);
            } else {
                _dlAppService.deleteFileEntry(fileEntryId);
            }
        }

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

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

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

License:Open Source License

@Override
public Status lockResource(WebDAVRequest webDAVRequest, String owner, long timeout) throws WebDAVException {

    Resource resource = getResource(webDAVRequest);

    Lock lock = null;/*from w  w  w.ja  v a 2  s .com*/
    int status = HttpServletResponse.SC_OK;

    try {
        if (resource == null) {
            status = HttpServletResponse.SC_CREATED;

            HttpServletRequest request = webDAVRequest.getHttpServletRequest();

            String[] pathArray = webDAVRequest.getPathArray();

            long companyId = webDAVRequest.getCompanyId();
            long groupId = webDAVRequest.getGroupId();
            long parentFolderId = getParentFolderId(companyId, pathArray);

            String title = getTitle(pathArray);

            String extension = FileUtil.getExtension(title);

            String contentType = getContentType(request, null, title, extension);

            String description = StringPool.BLANK;
            String changeLog = StringPool.BLANK;

            File file = FileUtil.createTempFile(extension);

            file.createNewFile();

            ServiceContext serviceContext = new ServiceContext();

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

            FileEntry fileEntry = _dlAppService.addFileEntry(groupId, parentFolderId, title, contentType, title,
                    description, changeLog, file, serviceContext);

            resource = toResource(webDAVRequest, fileEntry, false);
        }

        if (resource instanceof DLFileEntryResourceImpl) {
            FileEntry fileEntry = (FileEntry) resource.getModel();

            ServiceContext serviceContext = new ServiceContext();

            serviceContext.setAttribute(DL.MANUAL_CHECK_IN_REQUIRED, webDAVRequest.isManualCheckInRequired());

            _dlAppService.checkOutFileEntry(fileEntry.getFileEntryId(), owner, timeout, serviceContext);

            lock = fileEntry.getLock();
        } else {
            boolean inheritable = false;

            long depth = WebDAVUtil.getDepth(webDAVRequest.getHttpServletRequest());

            if (depth != 0) {
                inheritable = true;
            }

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

            lock = _dlAppService.lockFolder(folder.getRepositoryId(), folder.getFolderId(), owner, inheritable,
                    timeout);
        }
    } catch (Exception e) {

        // DuplicateLock is 423 not 501

        if (!(e instanceof DuplicateLockException)) {
            throw new WebDAVException(e);
        }

        status = WebDAVUtil.SC_LOCKED;
    }

    return new Status(lock, status);
}