Example usage for com.liferay.portal.kernel.upload UploadException isExceededLiferayFileItemSizeLimit

List of usage examples for com.liferay.portal.kernel.upload UploadException isExceededLiferayFileItemSizeLimit

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.upload UploadException isExceededLiferayFileItemSizeLimit.

Prototype

public boolean isExceededLiferayFileItemSizeLimit() 

Source Link

Usage

From source file:com.liferay.blogs.web.internal.portlet.action.EditEntryMVCActionCommand.java

License:Open Source License

@Override
protected void doProcessAction(ActionRequest actionRequest, ActionResponse actionResponse) throws Exception {

    String cmd = ParamUtil.getString(actionRequest, Constants.CMD);

    try {/*from  w w w  .  j  ava  2  s.c om*/
        BlogsEntry entry = null;
        List<BlogsEntryAttachmentFileEntryReference> blogsEntryAttachmentFileEntryReferences = null;

        UploadException uploadException = (UploadException) actionRequest
                .getAttribute(WebKeys.UPLOAD_EXCEPTION);

        if (uploadException != null) {
            Throwable cause = uploadException.getCause();

            if (uploadException.isExceededFileSizeLimit()) {
                throw new FileSizeException(cause);
            }

            if (uploadException.isExceededLiferayFileItemSizeLimit()) {
                throw new LiferayFileItemException(cause);
            }

            if (uploadException.isExceededUploadRequestSizeLimit()) {
                throw new UploadRequestSizeException(cause);
            }

            throw new PortalException(cause);
        } else if (cmd.equals(Constants.ADD) || cmd.equals(Constants.UPDATE)) {

            Callable<Object[]> updateEntryCallable = new UpdateEntryCallable(actionRequest);

            Object[] returnValue = TransactionInvokerUtil.invoke(_transactionConfig, updateEntryCallable);

            entry = (BlogsEntry) returnValue[0];
            blogsEntryAttachmentFileEntryReferences = (List<BlogsEntryAttachmentFileEntryReference>) returnValue[1];
        } else if (cmd.equals(Constants.DELETE)) {
            deleteEntries(actionRequest, false);
        } else if (cmd.equals(Constants.MOVE_TO_TRASH)) {
            deleteEntries(actionRequest, true);
        } else if (cmd.equals(Constants.RESTORE)) {
            restoreTrashEntries(actionRequest);
        } else if (cmd.equals(Constants.SUBSCRIBE)) {
            subscribe(actionRequest);
        } else if (cmd.equals(Constants.UNSUBSCRIBE)) {
            unsubscribe(actionRequest);
        }

        String redirect = ParamUtil.getString(actionRequest, "redirect");
        String portletId = HttpUtil.getParameter(redirect, "p_p_id", false);

        int workflowAction = ParamUtil.getInteger(actionRequest, "workflowAction",
                WorkflowConstants.ACTION_SAVE_DRAFT);

        boolean ajax = ParamUtil.getBoolean(actionRequest, "ajax");

        if (ajax) {
            JSONObject jsonObject = JSONFactoryUtil.createJSONObject();

            JSONArray jsonArray = JSONFactoryUtil.createJSONArray();

            for (BlogsEntryAttachmentFileEntryReference blogsEntryAttachmentFileEntryReference : blogsEntryAttachmentFileEntryReferences) {

                JSONObject blogsEntryFileEntryReferencesJSONObject = JSONFactoryUtil.createJSONObject();

                blogsEntryFileEntryReferencesJSONObject.put("attributeDataImageId",
                        EditorConstants.ATTRIBUTE_DATA_IMAGE_ID);
                blogsEntryFileEntryReferencesJSONObject.put("fileEntryId", String.valueOf(
                        blogsEntryAttachmentFileEntryReference.getTempBlogsEntryAttachmentFileEntryId()));
                blogsEntryFileEntryReferencesJSONObject.put("fileEntryUrl",
                        PortletFileRepositoryUtil.getPortletFileEntryURL(null,
                                blogsEntryAttachmentFileEntryReference.getBlogsEntryAttachmentFileEntry(),
                                StringPool.BLANK));

                jsonArray.put(blogsEntryFileEntryReferencesJSONObject);
            }

            jsonObject.put("blogsEntryAttachmentReferences", jsonArray);
            jsonObject.put("coverImageFileEntryId", entry.getCoverImageFileEntryId());
            jsonObject.put("entryId", entry.getEntryId());
            jsonObject.put("redirect", redirect);

            JSONPortletResponseUtil.writeJSON(actionRequest, actionResponse, jsonObject);

            return;
        }

        if ((entry != null) && (workflowAction == WorkflowConstants.ACTION_SAVE_DRAFT)) {

            redirect = getSaveAndContinueRedirect(actionRequest, entry, redirect);

            sendRedirect(actionRequest, actionResponse, redirect);
        } else {
            WindowState windowState = actionRequest.getWindowState();

            if (!windowState.equals(LiferayWindowState.POP_UP)) {
                sendRedirect(actionRequest, actionResponse, redirect);
            } else {
                redirect = PortalUtil.escapeRedirect(redirect);

                if (Validator.isNotNull(redirect)) {
                    if (cmd.equals(Constants.ADD) && (entry != null)) {
                        String namespace = PortalUtil.getPortletNamespace(portletId);

                        redirect = HttpUtil.addParameter(redirect, namespace + "className",
                                BlogsEntry.class.getName());
                        redirect = HttpUtil.addParameter(redirect, namespace + "classPK", entry.getEntryId());
                    }

                    actionRequest.setAttribute(WebKeys.REDIRECT, redirect);
                }
            }
        }
    } catch (AssetCategoryException | AssetTagException e) {
        SessionErrors.add(actionRequest, e.getClass(), e);

        actionResponse.setRenderParameter("mvcRenderCommandName", "/blogs/edit_entry");

        hideDefaultSuccessMessage(actionRequest);
    } catch (EntryContentException | EntryCoverImageCropException | EntryDescriptionException
            | EntryDisplayDateException | EntrySmallImageNameException | EntrySmallImageScaleException
            | EntryTitleException | EntryUrlTitleException | FileSizeException | LiferayFileItemException
            | SanitizerException | UploadRequestSizeException e) {

        SessionErrors.add(actionRequest, e.getClass());

        actionResponse.setRenderParameter("mvcRenderCommandName", "/blogs/edit_entry");

        hideDefaultSuccessMessage(actionRequest);
    } catch (NoSuchEntryException | PrincipalException e) {
        SessionErrors.add(actionRequest, e.getClass());

        actionResponse.setRenderParameter("mvcPath", "/blogs/error.jsp");

        hideDefaultSuccessMessage(actionRequest);
    } catch (Throwable t) {
        _log.error(t, t);

        actionResponse.setRenderParameter("mvcPath", "/blogs/error.jsp");

        hideDefaultSuccessMessage(actionRequest);
    }
}

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

License:Open Source License

@Override
protected void doProcessAction(ActionRequest actionRequest, ActionResponse actionResponse) throws Exception {

    String cmd = ParamUtil.getString(actionRequest, Constants.CMD);

    FileEntry fileEntry = null;//  w  ww .j a v a 2 s.  c  o m

    PortletConfig portletConfig = getPortletConfig(actionRequest);

    try {
        UploadException uploadException = (UploadException) actionRequest
                .getAttribute(WebKeys.UPLOAD_EXCEPTION);

        if (uploadException != null) {
            Throwable cause = uploadException.getCause();

            if (cmd.equals(Constants.ADD_TEMP)) {
                if (cause instanceof FileUploadBase.IOFileUploadException) {
                    if (_log.isInfoEnabled()) {
                        _log.info("Temporary upload was cancelled");
                    }
                }
            } else {
                if (uploadException.isExceededFileSizeLimit()) {
                    throw new FileSizeException(cause);
                }

                if (uploadException.isExceededLiferayFileItemSizeLimit()) {
                    throw new LiferayFileItemException(cause);
                }

                if (uploadException.isExceededUploadRequestSizeLimit()) {
                    throw new UploadRequestSizeException(cause);
                }

                throw new PortalException(cause);
            }
        } else if (cmd.equals(Constants.ADD) || cmd.equals(Constants.ADD_DYNAMIC)
                || cmd.equals(Constants.UPDATE) || cmd.equals(Constants.UPDATE_AND_CHECKIN)) {

            fileEntry = updateFileEntry(portletConfig, actionRequest, actionResponse);
        } else if (cmd.equals(Constants.ADD_MULTIPLE)) {
            addMultipleFileEntries(portletConfig, actionRequest, actionResponse);

            hideDefaultSuccessMessage(actionRequest);
        } else if (cmd.equals(Constants.ADD_TEMP)) {
            addTempFileEntry(actionRequest, actionResponse);
        } else if (cmd.equals(Constants.DELETE)) {
            deleteFileEntry(actionRequest, false);
        } else if (cmd.equals(Constants.DELETE_TEMP)) {
            deleteTempFileEntry(actionRequest, actionResponse);
        } else if (cmd.equals(Constants.CANCEL_CHECKOUT)) {
            cancelFileEntriesCheckOut(actionRequest);
        } else if (cmd.equals(Constants.CHECKIN)) {
            checkInFileEntries(actionRequest);
        } else if (cmd.equals(Constants.CHECKOUT)) {
            checkOutFileEntries(actionRequest);
        } else if (cmd.equals(Constants.MOVE_TO_TRASH)) {
            deleteFileEntry(actionRequest, true);
        } else if (cmd.equals(Constants.RESTORE)) {
            restoreTrashEntries(actionRequest);
        } else if (cmd.equals(Constants.REVERT)) {
            revertFileEntry(actionRequest);
        }

        WindowState windowState = actionRequest.getWindowState();

        if (cmd.equals(Constants.ADD_TEMP) || cmd.equals(Constants.DELETE_TEMP)) {

            actionResponse.setRenderParameter("mvcPath", "/null.jsp");
        } else if (cmd.equals(Constants.PREVIEW)) {
            SessionMessages.add(actionRequest,
                    _portal.getPortletId(actionRequest) + SessionMessages.KEY_SUFFIX_FORCE_SEND_REDIRECT);

            hideDefaultSuccessMessage(actionRequest);

            actionResponse.setRenderParameter("mvcRenderCommandName", "/document_library/edit_file_entry");
        } else if (!windowState.equals(LiferayWindowState.POP_UP)) {
        } else {
            String redirect = ParamUtil.getString(actionRequest, "redirect");
            int workflowAction = ParamUtil.getInteger(actionRequest, "workflowAction",
                    WorkflowConstants.ACTION_SAVE_DRAFT);

            if ((fileEntry != null) && (workflowAction == WorkflowConstants.ACTION_SAVE_DRAFT)) {

                redirect = getSaveAndContinueRedirect(portletConfig, actionRequest, fileEntry, redirect);

                sendRedirect(actionRequest, actionResponse, redirect);
            } else {
                if (windowState.equals(LiferayWindowState.POP_UP)) {
                    redirect = _portal.escapeRedirect(ParamUtil.getString(actionRequest, "redirect"));

                    if (Validator.isNotNull(redirect)) {
                        if (cmd.equals(Constants.ADD) && (fileEntry != null)) {

                            String portletId = HttpUtil.getParameter(redirect, "p_p_id", false);

                            String namespace = _portal.getPortletNamespace(portletId);

                            redirect = HttpUtil.addParameter(redirect, namespace + "className",
                                    DLFileEntry.class.getName());
                            redirect = HttpUtil.addParameter(redirect, namespace + "classPK",
                                    fileEntry.getFileEntryId());
                        }

                        actionRequest.setAttribute(WebKeys.REDIRECT, redirect);
                    }
                }
            }
        }
    } catch (Exception e) {
        handleUploadException(portletConfig, actionRequest, actionResponse, cmd, e);
    }
}

From source file:com.liferay.journal.web.internal.portlet.JournalPortlet.java

License:Open Source License

public void updateArticle(ActionRequest actionRequest, ActionResponse actionResponse) throws Exception {

    UploadException uploadException = (UploadException) actionRequest.getAttribute(WebKeys.UPLOAD_EXCEPTION);

    if (uploadException != null) {
        Throwable cause = uploadException.getCause();

        if (uploadException.isExceededLiferayFileItemSizeLimit()) {
            throw new LiferayFileItemException(cause);
        }//ww  w.  j a  v a 2s  . co m

        if (uploadException.isExceededFileSizeLimit() || uploadException.isExceededUploadRequestSizeLimit()) {

            throw new ArticleContentSizeException(cause);
        }

        throw new PortalException(cause);
    }

    UploadPortletRequest uploadPortletRequest = _portal.getUploadPortletRequest(actionRequest);

    if (_log.isDebugEnabled()) {
        _log.debug("Updating article " + MapUtil.toString(uploadPortletRequest.getParameterMap()));
    }

    String actionName = ParamUtil.getString(actionRequest, ActionRequest.ACTION_NAME);

    long groupId = ParamUtil.getLong(uploadPortletRequest, "groupId");
    long folderId = ParamUtil.getLong(uploadPortletRequest, "folderId");
    long classNameId = ParamUtil.getLong(uploadPortletRequest, "classNameId");
    long classPK = ParamUtil.getLong(uploadPortletRequest, "classPK");

    String articleId = ParamUtil.getString(uploadPortletRequest, "articleId");

    boolean autoArticleId = ParamUtil.getBoolean(uploadPortletRequest, "autoArticleId");
    double version = ParamUtil.getDouble(uploadPortletRequest, "version");

    Map<Locale, String> titleMap = LocalizationUtil.getLocalizationMap(actionRequest, "titleMapAsXML");
    Map<Locale, String> descriptionMap = LocalizationUtil.getLocalizationMap(actionRequest,
            "descriptionMapAsXML");

    ServiceContext serviceContext = ServiceContextFactory.getInstance(JournalArticle.class.getName(),
            uploadPortletRequest);

    String ddmStructureKey = ParamUtil.getString(uploadPortletRequest, "ddmStructureKey");

    DDMStructure ddmStructure = _ddmStructureLocalService.getStructure(_portal.getSiteGroupId(groupId),
            _portal.getClassNameId(JournalArticle.class), ddmStructureKey, true);

    Fields fields = DDMUtil.getFields(ddmStructure.getStructureId(), serviceContext);

    String content = _journalConverter.getContent(ddmStructure, fields);

    String ddmTemplateKey = ParamUtil.getString(uploadPortletRequest, "ddmTemplateKey");
    String layoutUuid = ParamUtil.getString(uploadPortletRequest, "layoutUuid");

    Layout targetLayout = JournalUtil.getArticleLayout(layoutUuid, groupId);

    if (targetLayout == null) {
        layoutUuid = null;
    }

    int displayDateMonth = ParamUtil.getInteger(uploadPortletRequest, "displayDateMonth");
    int displayDateDay = ParamUtil.getInteger(uploadPortletRequest, "displayDateDay");
    int displayDateYear = ParamUtil.getInteger(uploadPortletRequest, "displayDateYear");
    int displayDateHour = ParamUtil.getInteger(uploadPortletRequest, "displayDateHour");
    int displayDateMinute = ParamUtil.getInteger(uploadPortletRequest, "displayDateMinute");
    int displayDateAmPm = ParamUtil.getInteger(uploadPortletRequest, "displayDateAmPm");

    if (displayDateAmPm == Calendar.PM) {
        displayDateHour += 12;
    }

    int expirationDateMonth = ParamUtil.getInteger(uploadPortletRequest, "expirationDateMonth");
    int expirationDateDay = ParamUtil.getInteger(uploadPortletRequest, "expirationDateDay");
    int expirationDateYear = ParamUtil.getInteger(uploadPortletRequest, "expirationDateYear");
    int expirationDateHour = ParamUtil.getInteger(uploadPortletRequest, "expirationDateHour");
    int expirationDateMinute = ParamUtil.getInteger(uploadPortletRequest, "expirationDateMinute");
    int expirationDateAmPm = ParamUtil.getInteger(uploadPortletRequest, "expirationDateAmPm");
    boolean neverExpire = ParamUtil.getBoolean(uploadPortletRequest, "neverExpire");

    if (!PropsValues.SCHEDULER_ENABLED) {
        neverExpire = true;
    }

    if (expirationDateAmPm == Calendar.PM) {
        expirationDateHour += 12;
    }

    int reviewDateMonth = ParamUtil.getInteger(uploadPortletRequest, "reviewDateMonth");
    int reviewDateDay = ParamUtil.getInteger(uploadPortletRequest, "reviewDateDay");
    int reviewDateYear = ParamUtil.getInteger(uploadPortletRequest, "reviewDateYear");
    int reviewDateHour = ParamUtil.getInteger(uploadPortletRequest, "reviewDateHour");
    int reviewDateMinute = ParamUtil.getInteger(uploadPortletRequest, "reviewDateMinute");
    int reviewDateAmPm = ParamUtil.getInteger(uploadPortletRequest, "reviewDateAmPm");
    boolean neverReview = ParamUtil.getBoolean(uploadPortletRequest, "neverReview");

    if (!PropsValues.SCHEDULER_ENABLED) {
        neverReview = true;
    }

    if (reviewDateAmPm == Calendar.PM) {
        reviewDateHour += 12;
    }

    boolean indexable = ParamUtil.getBoolean(uploadPortletRequest, "indexable");

    boolean smallImage = ParamUtil.getBoolean(uploadPortletRequest, "smallImage");
    String smallImageURL = ParamUtil.getString(uploadPortletRequest, "smallImageURL");
    File smallFile = uploadPortletRequest.getFile("smallFile");

    String articleURL = ParamUtil.getString(uploadPortletRequest, "articleURL");

    JournalArticle article = null;
    String oldUrlTitle = StringPool.BLANK;

    if (actionName.equals("addArticle")) {

        // Add article

        article = _journalArticleService.addArticle(groupId, folderId, classNameId, classPK, articleId,
                autoArticleId, titleMap, descriptionMap, content, ddmStructureKey, ddmTemplateKey, layoutUuid,
                displayDateMonth, displayDateDay, displayDateYear, displayDateHour, displayDateMinute,
                expirationDateMonth, expirationDateDay, expirationDateYear, expirationDateHour,
                expirationDateMinute, neverExpire, reviewDateMonth, reviewDateDay, reviewDateYear,
                reviewDateHour, reviewDateMinute, neverReview, indexable, smallImage, smallImageURL, smallFile,
                null, articleURL, serviceContext);
    } else {

        // Update article

        article = _journalArticleService.getArticle(groupId, articleId, version);

        String tempOldUrlTitle = article.getUrlTitle();

        if (actionName.equals("previewArticle") || actionName.equals("updateArticle")) {

            article = _journalArticleService.updateArticle(groupId, folderId, articleId, version, titleMap,
                    descriptionMap, content, ddmStructureKey, ddmTemplateKey, layoutUuid, displayDateMonth,
                    displayDateDay, displayDateYear, displayDateHour, displayDateMinute, expirationDateMonth,
                    expirationDateDay, expirationDateYear, expirationDateHour, expirationDateMinute,
                    neverExpire, reviewDateMonth, reviewDateDay, reviewDateYear, reviewDateHour,
                    reviewDateMinute, neverReview, indexable, smallImage, smallImageURL, smallFile, null,
                    articleURL, serviceContext);
        }

        if (!tempOldUrlTitle.equals(article.getUrlTitle())) {
            oldUrlTitle = tempOldUrlTitle;
        }
    }

    // Recent articles

    JournalUtil.addRecentArticle(actionRequest, article);

    // Journal content

    String portletResource = ParamUtil.getString(actionRequest, "portletResource");

    long referringPlid = ParamUtil.getLong(actionRequest, "referringPlid");

    if (Validator.isNotNull(portletResource) && (referringPlid > 0)) {
        Layout layout = _layoutLocalService.getLayout(referringPlid);

        PortletPreferences portletPreferences = PortletPreferencesFactoryUtil.getStrictPortletSetup(layout,
                portletResource);

        if (portletPreferences != null) {
            portletPreferences.setValue("groupId", String.valueOf(article.getGroupId()));
            portletPreferences.setValue("articleId", article.getArticleId());

            portletPreferences.store();

            updateContentSearch(actionRequest, portletResource, article.getArticleId());
        }
    }

    sendEditArticleRedirect(actionRequest, actionResponse, article, oldUrlTitle);

    long ddmStructureClassNameId = _portal.getClassNameId(DDMStructure.class);

    if (article.getClassNameId() == ddmStructureClassNameId) {
        String ddmPortletId = PortletProviderUtil.getPortletId(DDMStructure.class.getName(), Action.EDIT);

        MultiSessionMessages.add(actionRequest, ddmPortletId + "requestProcessed");
    }
}

From source file:com.liferay.message.boards.web.internal.portlet.action.EditMessageMVCActionCommand.java

License:Open Source License

@Override
protected void doProcessAction(ActionRequest actionRequest, ActionResponse actionResponse) throws Exception {

    String cmd = ParamUtil.getString(actionRequest, Constants.CMD);

    MBMessage message = null;/*www.ja v  a2  s  .c  om*/

    try {
        UploadException uploadException = (UploadException) actionRequest
                .getAttribute(WebKeys.UPLOAD_EXCEPTION);

        if (uploadException != null) {
            Throwable cause = uploadException.getCause();

            if (uploadException.isExceededFileSizeLimit()) {
                throw new FileSizeException(cause);
            }

            if (uploadException.isExceededLiferayFileItemSizeLimit()) {
                throw new LiferayFileItemException(cause);
            }

            if (uploadException.isExceededUploadRequestSizeLimit()) {
                throw new UploadRequestSizeException(cause);
            }

            throw new PortalException(cause);
        } else if (cmd.equals(Constants.ADD) || cmd.equals(Constants.UPDATE)) {

            message = updateMessage(actionRequest, actionResponse);
        } else if (cmd.equals(Constants.ADD_ANSWER)) {
            addAnswer(actionRequest);
        } else if (cmd.equals(Constants.DELETE)) {
            deleteMessage(actionRequest);
        } else if (cmd.equals(Constants.DELETE_ANSWER)) {
            deleteAnswer(actionRequest);
        } else if (cmd.equals(Constants.LOCK)) {
            lockThreads(actionRequest);
        } else if (cmd.equals(Constants.SUBSCRIBE)) {
            subscribeMessage(actionRequest);
        } else if (cmd.equals(Constants.UNLOCK)) {
            unlockThreads(actionRequest);
        } else if (cmd.equals(Constants.UNSUBSCRIBE)) {
            unsubscribeMessage(actionRequest);
        }

        if (Validator.isNotNull(cmd)) {
            WindowState windowState = actionRequest.getWindowState();

            if (!windowState.equals(LiferayWindowState.POP_UP)) {
                String redirect = getRedirect(actionRequest, actionResponse, message);

                sendRedirect(actionRequest, actionResponse, redirect);
            } else {
                String redirect = PortalUtil.escapeRedirect(ParamUtil.getString(actionRequest, "redirect"));

                if (Validator.isNotNull(redirect)) {
                    actionResponse.sendRedirect(redirect);
                }
            }
        }
    } catch (NoSuchMessageException | PrincipalException | RequiredMessageException e) {

        SessionErrors.add(actionRequest, e.getClass());

        actionResponse.setRenderParameter("mvcPath", "/message_boards/error.jsp");
    } catch (AntivirusScannerException | CaptchaConfigurationException | CaptchaTextException
            | DuplicateFileEntryException | FileExtensionException | FileNameException | FileSizeException
            | LiferayFileItemException | LockedThreadException | MessageBodyException | MessageSubjectException
            | SanitizerException | UploadRequestSizeException e) {

        if (e instanceof AntivirusScannerException) {
            SessionErrors.add(actionRequest, e.getClass(), e);
        } else {
            SessionErrors.add(actionRequest, e.getClass());
        }
    } catch (AssetCategoryException | AssetTagException e) {
        SessionErrors.add(actionRequest, e.getClass(), e);
    } catch (Exception e) {
        Throwable cause = e.getCause();

        if (cause instanceof SanitizerException) {
            SessionErrors.add(actionRequest, SanitizerException.class);
        } else {
            throw e;
        }
    }
}

From source file:com.liferay.wiki.web.internal.portlet.action.EditPageAttachmentsMVCActionCommand.java

License:Open Source License

@Override
protected void doProcessAction(ActionRequest actionRequest, ActionResponse actionResponse) throws Exception {

    String cmd = ParamUtil.getString(actionRequest, Constants.CMD);

    PortletConfig portletConfig = getPortletConfig(actionRequest);

    try {//from w w  w .  j a  v a2  s  .c om
        UploadException uploadException = (UploadException) actionRequest
                .getAttribute(WebKeys.UPLOAD_EXCEPTION);

        if (uploadException != null) {
            Throwable cause = uploadException.getCause();

            if (uploadException.isExceededFileSizeLimit()) {
                throw new FileSizeException(cause);
            }

            if (uploadException.isExceededLiferayFileItemSizeLimit()) {
                throw new LiferayFileItemException(cause);
            }

            if (uploadException.isExceededUploadRequestSizeLimit()) {
                throw new UploadRequestSizeException(cause);
            }

            throw new PortalException(cause);
        } else if (cmd.equals(Constants.ADD)) {
            _wikiAttachmentsHelper.addAttachments(actionRequest);
        } else if (cmd.equals(Constants.CHECK)) {
            JSONObject jsonObject = RestoreEntryUtil.checkEntry(actionRequest);

            JSONPortletResponseUtil.writeJSON(actionRequest, actionResponse, jsonObject);

            return;
        } else if (cmd.equals(Constants.DELETE)) {
            deleteAttachment(actionRequest, false);
        } else if (cmd.equals(Constants.EMPTY_TRASH)) {
            _wikiAttachmentsHelper.emptyTrash(actionRequest);
        } else if (cmd.equals(Constants.MOVE_TO_TRASH)) {
            deleteAttachment(actionRequest, true);
        } else if (cmd.equals(Constants.RENAME)) {
            _wikiAttachmentsHelper.restoreRename(actionRequest);
        } else if (cmd.equals(Constants.RESTORE)) {
            _wikiAttachmentsHelper.restoreEntries(actionRequest);

            String redirect = ParamUtil.getString(actionRequest, "redirect");

            if (Validator.isNotNull(redirect)) {
                actionResponse.sendRedirect(redirect);
            }
        } else if (cmd.equals(Constants.OVERRIDE)) {
            _wikiAttachmentsHelper.restoreOverride(actionRequest);
        }
    } catch (NoSuchNodeException | NoSuchPageException | PrincipalException e) {

        SessionErrors.add(actionRequest, e.getClass());

        actionResponse.setRenderParameter("mvcPath", "/wiki/error.jsp");
    } catch (Exception e) {
        handleUploadException(portletConfig, actionRequest, actionResponse, cmd, e);
    }
}

From source file:org.lsug.quota.web.internal.upload.QuotaDefaultUploadHandler.java

License:Open Source License

private UploadPortletRequest _getUploadPortletRequest(PortletRequest portletRequest) throws PortalException {

    UploadPortletRequest uploadPortletRequest = _portal.getUploadPortletRequest(portletRequest);

    UploadException uploadException = (UploadException) portletRequest.getAttribute(WebKeys.UPLOAD_EXCEPTION);

    if (uploadException != null) {
        Throwable cause = uploadException.getCause();

        if (uploadException.isExceededFileSizeLimit()) {
            throw new FileSizeException(cause);
        }/* www .j  a v a  2 s  . c o  m*/

        if (uploadException.isExceededLiferayFileItemSizeLimit()) {
            throw new LiferayFileItemException(cause);
        }

        if (uploadException.isExceededUploadRequestSizeLimit()) {
            throw new UploadRequestSizeException(cause);
        }

        throw new PortalException(cause);
    }

    return uploadPortletRequest;
}

From source file:org.opencps.paymentmgt.portlet.PaymentMgtFrontOfficePortlet.java

License:Open Source License

/**
 * Upload file/*  w w  w  . j a v a2  s .  com*/
 * 
 * @param actionRequest
 * @param actionResponse
 * @return
 * @throws Exception
 */
protected FileEntry updateFileEntry(ActionRequest actionRequest, ActionResponse actionResponse)
        throws Exception {

    UploadPortletRequest uploadPortletRequest = PortalUtil.getUploadPortletRequest(actionRequest);

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

    String cmd = ParamUtil.getString(uploadPortletRequest, Constants.CMD);

    long repositoryId = themeDisplay.getScopeGroupId();

    long folderId = 0;

    Folder folderFile = initFolderService(actionRequest, themeDisplay);

    if (Validator.isNotNull(folderFile)) {
        folderId = folderFile.getFolderId();
    }

    Date now = new Date();
    String sourceFileName = now.getTime() + "_" + uploadPortletRequest.getFileName("uploadedFile");
    String title = ParamUtil.getString(uploadPortletRequest, "fileName");

    String description = ParamUtil.getString(uploadPortletRequest, "description");
    String changeLog = ParamUtil.getString(uploadPortletRequest, "changeLog");
    System.out.println("----FILE NAME----" + sourceFileName);
    if (folderId > 0) {
        Folder folder = DLAppServiceUtil.getFolder(folderId);

        if (folder.getGroupId() != themeDisplay.getScopeGroupId()) {
            throw new NoSuchFolderException("{folderId=" + folderId + "}");
        }
    }

    InputStream inputStream = null;

    try {
        String contentType = uploadPortletRequest.getContentType("uploadedFile");

        long size = uploadPortletRequest.getSize("uploadedFile");

        if ((cmd.equals(Constants.ADD) || cmd.equals(Constants.ADD_DYNAMIC)) && (size == 0)) {

            contentType = MimeTypesUtil.getContentType(title);
        }

        inputStream = uploadPortletRequest.getFileAsStream("uploadedFile");

        ServiceContext serviceContext = ServiceContextFactory.getInstance(DLFileEntry.class.getName(),
                uploadPortletRequest);
        serviceContext.setAddGroupPermissions(true);
        serviceContext.setAddGuestPermissions(true);

        FileEntry fileEntry = null;

        // Add file entry

        fileEntry = DLAppServiceUtil.addFileEntry(repositoryId, folderId, sourceFileName, contentType,
                sourceFileName, description, changeLog, inputStream, size, serviceContext);
        System.out.println("----FILE ENTRY ID----" + fileEntry.getFileEntryId());
        AssetPublisherUtil.addAndStoreSelection(actionRequest, DLFileEntry.class.getName(),
                fileEntry.getFileEntryId(), -1);

        AssetPublisherUtil.addRecentFolderId(actionRequest, DLFileEntry.class.getName(), folderId);

        return fileEntry;
    } catch (Exception e) {
        e.printStackTrace();
        UploadException uploadException = (UploadException) actionRequest
                .getAttribute(WebKeys.UPLOAD_EXCEPTION);

        if (uploadException != null) {
            if (uploadException.isExceededLiferayFileItemSizeLimit()) {
                throw new LiferayFileItemException();
            } else if (uploadException.isExceededSizeLimit()) {
                throw new FileSizeException(uploadException.getCause());
            }
        }

        throw e;
    } finally {
        StreamUtil.cleanUp(inputStream);
    }
}

From source file:org.opencps.servicemgt.service.impl.TemplateFileLocalServiceImpl.java

License:Open Source License

protected FileEntry updateFileEntry(ActionRequest actionRequest, ActionResponse actionResponse)
        throws Exception {

    UploadPortletRequest uploadPortletRequest = PortalUtil.getUploadPortletRequest(actionRequest);

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

    String cmd = ParamUtil.getString(uploadPortletRequest, Constants.CMD);

    long repositoryId = themeDisplay.getScopeGroupId();

    long folderId = 0;

    Folder folderFile = initFolderService(actionRequest, themeDisplay);

    if (Validator.isNotNull(folderFile)) {
        folderId = folderFile.getFolderId();
    }//  ww  w  .  j  av a 2 s.  c  o m

    String sourceFileName = uploadPortletRequest.getFileName("uploadedFile");
    String title = ParamUtil.getString(uploadPortletRequest, "fileName");

    String description = ParamUtil.getString(uploadPortletRequest, "description");
    String changeLog = ParamUtil.getString(uploadPortletRequest, "changeLog");

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

        if (folder.getGroupId() != themeDisplay.getScopeGroupId()) {
            throw new NoSuchFolderException("{folderId=" + folderId + "}");
        }
    }

    InputStream inputStream = null;

    try {
        String contentType = uploadPortletRequest.getContentType("uploadedFile");

        long size = uploadPortletRequest.getSize("uploadedFile");

        if ((cmd.equals(Constants.ADD) || cmd.equals(Constants.ADD_DYNAMIC)) && (size == 0)) {

            contentType = MimeTypesUtil.getContentType(title);
        }

        inputStream = uploadPortletRequest.getFileAsStream("uploadedFile");

        ServiceContext serviceContext = ServiceContextFactory.getInstance(DLFileEntry.class.getName(),
                uploadPortletRequest);

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

        FileEntry fileEntry = null;

        // Add file entry

        fileEntry = DLAppServiceUtil.addFileEntry(repositoryId, folderId, sourceFileName, contentType,
                sourceFileName, description, changeLog, inputStream, size, serviceContext);

        AssetPublisherUtil.addAndStoreSelection(actionRequest, DLFileEntry.class.getName(),
                fileEntry.getFileEntryId(), -1);

        AssetPublisherUtil.addRecentFolderId(actionRequest, DLFileEntry.class.getName(), folderId);

        return fileEntry;
    } catch (Exception e) {
        UploadException uploadException = (UploadException) actionRequest
                .getAttribute(WebKeys.UPLOAD_EXCEPTION);

        if (uploadException != null) {
            if (uploadException.isExceededLiferayFileItemSizeLimit()) {
                throw new LiferayFileItemException();
            } else if (uploadException.isExceededSizeLimit()) {
                throw new FileSizeException(uploadException.getCause());
            }
        }

        throw e;
    } finally {
        StreamUtil.cleanUp(inputStream);
    }
}