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.portlet.documentlibrary.util.DLImpl.java

License:Open Source License

@Override
public void addPortletBreadcrumbEntries(FileEntry fileEntry, HttpServletRequest request,
        RenderResponse renderResponse) throws Exception {

    Folder folder = fileEntry.getFolder();

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

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

    PortletURL portletURL = renderResponse.createRenderURL();

    FileEntry unescapedFileEntry = fileEntry.toUnescapedModel();

    portletURL.setParameter("struts_action", "/document_library/view_file_entry");
    portletURL.setParameter("fileEntryId", String.valueOf(fileEntry.getFileEntryId()));

    PortalUtil.addPortletBreadcrumbEntry(request, unescapedFileEntry.getTitle(), portletURL.toString());
}

From source file:com.liferay.portlet.documentlibrary.util.DLImpl.java

License:Open Source License

@Override
public void addPortletBreadcrumbEntries(Folder folder, HttpServletRequest request, PortletURL portletURL)
        throws Exception {

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

    PortletDisplay portletDisplay = themeDisplay.getPortletDisplay();

    long defaultFolderId = DLFolderConstants.DEFAULT_PARENT_FOLDER_ID;

    boolean ignoreRootFolder = ParamUtil.getBoolean(request, "ignoreRootFolder");

    if (!ignoreRootFolder) {
        DLPortletInstanceSettings dlPortletInstanceSettings = DLPortletInstanceSettings
                .getInstance(themeDisplay.getLayout(), portletDisplay.getId());

        defaultFolderId = dlPortletInstanceSettings.getDefaultFolderId();
    }//from w  w w. j  av a 2s. c o m

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

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

        int indexOfRootFolder = -1;

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

            if (defaultFolderId == 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()));

        Map<String, Object> data = new HashMap<>();

        data.put("direction-right", Boolean.TRUE.toString());
        data.put("folder-id", ancestorFolder.getFolderId());

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

    long folderId = DLFolderConstants.DEFAULT_PARENT_FOLDER_ID;

    if (folder != null) {
        folderId = folder.getFolderId();
    }

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

    if ((folderId != DLFolderConstants.DEFAULT_PARENT_FOLDER_ID) && (folderId != defaultFolderId)) {

        Folder unescapedFolder = folder.toUnescapedModel();

        Map<String, Object> data = new HashMap<>();

        data.put("direction-right", Boolean.TRUE.toString());
        data.put("folder-id", folderId);

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

From source file:com.liferay.portlet.documentlibrary.util.DLImpl.java

License:Open Source License

@Override
public 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 ww.  ja v a  2  s.c o m*/
    }
}

From source file:com.liferay.portlet.documentlibrary.util.DLImpl.java

License:Open Source License

@Override
public String getWebDavURL(ThemeDisplay themeDisplay, Folder folder, FileEntry fileEntry,
        boolean manualCheckInRequired, boolean openDocumentUrl) throws PortalException {

    StringBundler webDavURL = new StringBundler(8);

    boolean secure = false;

    if (themeDisplay.isSecure() || PropsValues.WEBDAV_SERVLET_HTTPS_REQUIRED) {

        secure = true;//from   www.j  a v  a2  s  .c o  m
    }

    String portalURL = PortalUtil.getPortalURL(themeDisplay.getServerName(), themeDisplay.getServerPort(),
            secure);

    webDavURL.append(portalURL);

    webDavURL.append(themeDisplay.getPathContext());
    webDavURL.append("/webdav");

    if (manualCheckInRequired) {
        webDavURL.append(MANUAL_CHECK_IN_REQUIRED_PATH);
    }

    String fileEntryFileName = null;

    Group group = null;

    if (fileEntry != null) {
        fileEntryFileName = HtmlUtil.unescape(fileEntry.getFileName());

        group = GroupLocalServiceUtil.getGroup(fileEntry.getGroupId());
    } else {
        group = themeDisplay.getScopeGroup();
    }

    webDavURL.append(group.getFriendlyURL());
    webDavURL.append("/document_library");

    StringBuilder sb = new StringBuilder();

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

        Folder curFolder = folder;

        while (true) {
            sb.insert(0, HttpUtil.encodeURL(curFolder.getName(), true));
            sb.insert(0, StringPool.SLASH);

            if (curFolder.getParentFolderId() == DLFolderConstants.DEFAULT_PARENT_FOLDER_ID) {

                break;
            }

            curFolder = DLAppLocalServiceUtil.getFolder(curFolder.getParentFolderId());
        }
    }

    if (fileEntry != null) {
        sb.append(StringPool.SLASH);
        sb.append(HttpUtil.encodeURL(fileEntryFileName, true));
    }

    webDavURL.append(sb.toString());

    return webDavURL.toString();
}

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 {//  w w w  . j  a v a  2 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) {
            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 deleteResource(WebDAVRequest webDavRequest) throws WebDAVException {

    try {// ww w  .  ja  va2s  . 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;

            DLAppServiceUtil.deleteFolder(folder.getFolderId());
        } else {
            FileEntry fileEntry = (FileEntry) model;

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

                return WebDAVUtil.SC_LOCKED;
            }

            DLAppServiceUtil.deleteFileEntry(fileEntry.getFileEntryId());
        }

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

    Resource resource = getResource(webDavRequest);

    Lock lock = null;//w  w  w. j a va 2s.  c  om
    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 = WebDAVUtil.getResourceName(pathArray);

            String contentType = GetterUtil.get(request.getHeader(HttpHeaders.CONTENT_TYPE),
                    ContentTypes.APPLICATION_OCTET_STREAM);

            if (contentType.equals(ContentTypes.APPLICATION_OCTET_STREAM)) {
                contentType = MimeTypesUtil.getContentType(request.getInputStream(), title);
            }

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

            File file = FileUtil.createTempFile(FileUtil.getExtension(title));

            file.createNewFile();

            ServiceContext serviceContext = new ServiceContext();

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

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

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

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

            lock = DLAppServiceUtil.lockFileEntry(fileEntry.getFileEntryId(), owner, timeout);
        } else {
            boolean inheritable = false;

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

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

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

            lock = DLAppServiceUtil.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.portlet.documentlibrary.webdav.DLWebDAVStorageImpl.java

License:Open Source License

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

    try {/* ww  w  .  j  av  a  2  s. c  o 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.portlet.documentlibrary.webdav.DLWebDAVStorageImpl.java

License:Open Source License

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

    try {/*ww w  .  j a  v a 2  s.c  o m*/
        Folder folder = DLAppServiceUtil.getFolder(groupId, parentFolderId, name);

        DLAppServiceUtil.deleteFolder(folder.getFolderId());

        return true;
    } catch (NoSuchFolderException nsfe) {
        try {
            FileEntry fileEntry = DLAppServiceUtil.getFileEntry(groupId, parentFolderId, name);

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

                throw new LockException();
            }

            DLAppServiceUtil.deleteFileEntryByTitle(groupId, parentFolderId, name);

            return true;
        } catch (NoSuchFileEntryException nsfee) {
        }
    }

    return false;
}

From source file:com.liferay.portlet.documentlibrary.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;
    } else {/*from  w w w.  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 = DLAppServiceUtil.getFolder(groupId, folderId, name);

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

    return folderId;
}