Example usage for com.liferay.portal.kernel.theme ThemeDisplay getPermissionChecker

List of usage examples for com.liferay.portal.kernel.theme ThemeDisplay getPermissionChecker

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.theme ThemeDisplay getPermissionChecker.

Prototype

@JSON(include = false)
public PermissionChecker getPermissionChecker() 

Source Link

Document

Returns the permission checker, which is used to ensure users making resource requests have the necessary access permissions.

Usage

From source file:com.liferay.document.library.web.internal.portlet.action.ActionUtil.java

License:Open Source License

public static Folder getFolder(HttpServletRequest request) throws PortalException {

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

    long folderId = ParamUtil.getLong(request, "folderId");

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

    if ((folderId <= 0) && !ignoreRootFolder) {
        PortletDisplay portletDisplay = themeDisplay.getPortletDisplay();

        String portletId = portletDisplay.getId();

        PortletPreferences portletPreferences = PortletPreferencesFactoryUtil.getPortletPreferences(request,
                portletId);//from  www . j a v  a  2  s.  c  om

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

    Folder folder = null;

    if (folderId > 0) {
        folder = DLAppServiceUtil.getFolder(folderId);

        if (folder.getModel() instanceof DLFolder) {
            DLFolder dlFolder = (DLFolder) folder.getModel();

            if (dlFolder.isInTrash()) {
                throw new NoSuchFolderException("{folderId=" + folderId + "}");
            }
        }
    } else {
        DLPermission.check(themeDisplay.getPermissionChecker(), themeDisplay.getScopeGroupId(),
                ActionKeys.VIEW);
    }

    return folder;
}

From source file:com.liferay.document.library.web.internal.portlet.action.ActionUtil.java

License:Open Source License

public static Repository getRepository(HttpServletRequest request) throws PortalException {

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

    long repositoryId = ParamUtil.getLong(request, "repositoryId");

    Repository repository = null;/*from w w w .j  ava2  s. c  o  m*/

    if (repositoryId > 0) {
        repository = RepositoryServiceUtil.getRepository(repositoryId);
    } else {
        DLPermission.check(themeDisplay.getPermissionChecker(), themeDisplay.getScopeGroupId(),
                ActionKeys.VIEW);
    }

    return repository;
}

From source file:com.liferay.document.library.web.internal.portlet.action.GetFileActionHelper.java

License:Open Source License

protected void getFile(long fileEntryId, long folderId, String name, String title, String version,
        long fileShortcutId, String uuid, long groupId, String targetExtension, HttpServletRequest request,
        HttpServletResponse response) throws Exception {

    if (name.startsWith("DLFE-")) {
        name = name.substring(5);/*from   w  w w  .  j a va2 s.c om*/
    }

    name = FileUtil.stripExtension(name);

    FileEntry fileEntry = null;

    if (Validator.isNotNull(uuid) && (groupId > 0)) {
        fileEntry = DLAppServiceUtil.getFileEntryByUuidAndGroupId(uuid, groupId);

        folderId = fileEntry.getFolderId();
    }

    if (fileEntryId > 0) {
        fileEntry = DLAppServiceUtil.getFileEntry(fileEntryId);
    } else if (fileShortcutId <= 0) {
        if (Validator.isNotNull(title)) {
            fileEntry = DLAppServiceUtil.getFileEntry(groupId, folderId, title);
        } else if (Validator.isNotNull(name)) {
            DLFileEntry dlFileEntry = DLFileEntryLocalServiceUtil.fetchFileEntryByName(groupId, folderId, name);

            if (dlFileEntry == null) {

                // LPS-30374

                List<DLFileEntry> dlFileEntries = DLFileEntryLocalServiceUtil.getFileEntries(folderId, name);

                if (!dlFileEntries.isEmpty()) {
                    dlFileEntry = dlFileEntries.get(0);
                }
            }

            if (dlFileEntry != null) {
                ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY);

                PermissionChecker permissionChecker = themeDisplay.getPermissionChecker();

                DLFileEntryPermission.check(permissionChecker, dlFileEntry, ActionKeys.VIEW);

                fileEntry = new LiferayFileEntry(dlFileEntry);
            }
        }
    } else {
        FileShortcut fileShortcut = DLAppServiceUtil.getFileShortcut(fileShortcutId);

        fileEntryId = fileShortcut.getToFileEntryId();

        fileEntry = DLAppServiceUtil.getFileEntry(fileEntryId);
    }

    if (Validator.isNull(version)) {
        if ((fileEntry != null) && Validator.isNotNull(fileEntry.getVersion())) {

            version = fileEntry.getVersion();
        } else {
            throw new NoSuchFileEntryException("{fileEntryId=" + fileEntryId + "}");
        }
    }

    FileVersion fileVersion = fileEntry.getFileVersion(version);

    InputStream is = fileVersion.getContentStream(true);

    String fileName = fileVersion.getTitle();

    String sourceExtension = fileVersion.getExtension();

    if (Validator.isNotNull(sourceExtension) && !fileName.endsWith(StringPool.PERIOD + sourceExtension)) {

        fileName += StringPool.PERIOD + sourceExtension;
    }

    long contentLength = fileVersion.getSize();
    String contentType = fileVersion.getMimeType();

    if (Validator.isNotNull(targetExtension)) {
        String id = DLUtil.getTempFileId(fileEntry.getFileEntryId(), version);

        File convertedFile = DocumentConversionUtil.convert(id, is, sourceExtension, targetExtension);

        if (convertedFile != null) {
            fileName = FileUtil.stripExtension(fileName).concat(StringPool.PERIOD).concat(targetExtension);
            is = new FileInputStream(convertedFile);
            contentLength = convertedFile.length();
            contentType = MimeTypesUtil.getContentType(fileName);
        }
    }

    FlashMagicBytesUtil.Result flashMagicBytesUtilResult = FlashMagicBytesUtil.check(is);

    if (flashMagicBytesUtilResult.isFlash()) {
        fileName = FileUtil.stripExtension(fileName) + ".swf";
    }

    is = flashMagicBytesUtilResult.getInputStream();

    ServletResponseUtil.sendFile(request, response, fileName, is, contentLength, contentType);
}

From source file:com.liferay.document.library.web.internal.portlet.action.GetFileActionHelper.java

License:Open Source License

protected void processPrincipalException(Throwable t, HttpServletRequest request, HttpServletResponse response)
        throws IOException, ServletException {

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

    PermissionChecker permissionChecker = themeDisplay.getPermissionChecker();

    User user = permissionChecker.getUser();

    if ((user != null) && !user.isDefaultUser()) {
        PortalUtil.sendError(HttpServletResponse.SC_UNAUTHORIZED, (Exception) t, request, response);

        return;/*from   w ww .  ja v  a2  s  .  c o  m*/
    }

    String redirect = PortalUtil.getPathMain() + "/portal/login";

    String currentURL = PortalUtil.getCurrentURL(request);

    redirect = HttpUtil.addParameter(redirect, "redirect", currentURL);

    response.sendRedirect(redirect);
}

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

License:Open Source License

@Override
public boolean isShow(PortletRequest portletRequest) {
    try {//  ww  w . j a  va2s .co  m
        ThemeDisplay themeDisplay = (ThemeDisplay) portletRequest.getAttribute(WebKeys.THEME_DISPLAY);

        PortletDisplay portletDisplay = themeDisplay.getPortletDisplay();

        long folderId = DLFolderConstants.DEFAULT_PARENT_FOLDER_ID;

        Folder folder = ActionUtil.getFolder(portletRequest);

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

        if (DLFolderPermission.contains(themeDisplay.getPermissionChecker(), themeDisplay.getScopeGroupId(),
                folderId, ActionKeys.VIEW) && portletDisplay.isWebDAVEnabled()
                && ((folder == null) || (folder.getRepositoryId() == themeDisplay.getScopeGroupId()))) {

            return true;
        }
    } catch (Exception e) {
    }

    return false;
}

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

License:Open Source License

@Override
public boolean isShow(PortletRequest portletRequest) {
    ThemeDisplay themeDisplay = (ThemeDisplay) portletRequest.getAttribute(WebKeys.THEME_DISPLAY);

    try {//  w  ww.  j  a  v a2 s. co m
        FileEntry fileEntry = ActionUtil.getFileEntry(portletRequest);

        FileEntryDisplayContextHelper fileEntryDisplayContextHelper = new FileEntryDisplayContextHelper(
                themeDisplay.getPermissionChecker(), fileEntry);

        return fileEntryDisplayContextHelper.isCancelCheckoutDocumentActionAvailable();
    } catch (Exception e) {
    }

    return false;
}

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

License:Open Source License

@Override
public boolean isShow(PortletRequest portletRequest) {
    try {/*from   w ww.  j  a  v a 2  s.c om*/
        ThemeDisplay themeDisplay = (ThemeDisplay) portletRequest.getAttribute(WebKeys.THEME_DISPLAY);

        FileEntry fileEntry = ActionUtil.getFileEntry(portletRequest);

        FileEntryDisplayContextHelper fileEntryDisplayContextHelper = new FileEntryDisplayContextHelper(
                themeDisplay.getPermissionChecker(), fileEntry);

        return fileEntryDisplayContextHelper.isCheckinActionAvailable();
    } catch (Exception e) {
    }

    return false;
}

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

License:Open Source License

@Override
public boolean isShow(PortletRequest portletRequest) {
    ThemeDisplay themeDisplay = (ThemeDisplay) portletRequest.getAttribute(WebKeys.THEME_DISPLAY);

    try {//from ww w  . j  av  a  2s.  co  m
        FileEntry fileEntry = ActionUtil.getFileEntry(portletRequest);

        FileEntryDisplayContextHelper fileEntryDisplayContextHelper = new FileEntryDisplayContextHelper(
                themeDisplay.getPermissionChecker(), fileEntry);

        return fileEntryDisplayContextHelper.isCheckoutDocumentActionAvailable();
    } catch (Exception e) {
    }

    return false;
}

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

License:Open Source License

@Override
public boolean isShow(PortletRequest portletRequest) {
    try {// w w  w  .  j  a  v  a  2  s  .c  om
        ThemeDisplay themeDisplay = (ThemeDisplay) portletRequest.getAttribute(WebKeys.THEME_DISPLAY);

        FileEntry fileEntry = ActionUtil.getFileEntry(portletRequest);

        FileEntryDisplayContextHelper fileEntryDisplayContextHelper = new FileEntryDisplayContextHelper(
                themeDisplay.getPermissionChecker(), fileEntry);

        return fileEntryDisplayContextHelper.isFileEntryDeletable();
    } catch (PortalException pe) {
        throw new RuntimeException(pe);
    }
}

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

License:Open Source License

@Override
public boolean isShow(PortletRequest portletRequest) {
    ThemeDisplay themeDisplay = (ThemeDisplay) portletRequest.getAttribute(WebKeys.THEME_DISPLAY);

    try {/* www  .  ja va  2s . c  om*/
        Folder folder = ActionUtil.getFolder(portletRequest);

        return DLFolderPermission.contains(themeDisplay.getPermissionChecker(), themeDisplay.getScopeGroupId(),
                folder.getFolderId(), ActionKeys.DELETE);
    } catch (PortalException pe) {
        throw new RuntimeException(pe);
    }
}