Example usage for com.liferay.portal.kernel.util Constants UPDATE_AND_CHECKIN

List of usage examples for com.liferay.portal.kernel.util Constants UPDATE_AND_CHECKIN

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.util Constants UPDATE_AND_CHECKIN.

Prototype

String UPDATE_AND_CHECKIN

To view the source code for com.liferay.portal.kernel.util Constants UPDATE_AND_CHECKIN.

Click Source Link

Usage

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;//from  ww  w . ja  va2s . 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.document.library.web.internal.portlet.action.EditFileEntryMVCActionCommand.java

License:Open Source License

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

    UploadPortletRequest uploadPortletRequest = _portal.getUploadPortletRequest(actionRequest);

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

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

    long fileEntryId = ParamUtil.getLong(uploadPortletRequest, "fileEntryId");

    long repositoryId = ParamUtil.getLong(uploadPortletRequest, "repositoryId");
    long folderId = ParamUtil.getLong(uploadPortletRequest, "folderId");
    String sourceFileName = uploadPortletRequest.getFileName("file");
    String title = ParamUtil.getString(uploadPortletRequest, "title");
    String description = ParamUtil.getString(uploadPortletRequest, "description");
    String changeLog = ParamUtil.getString(uploadPortletRequest, "changeLog");
    boolean majorVersion = ParamUtil.getBoolean(uploadPortletRequest, "majorVersion");

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

        if (folder.getGroupId() != themeDisplay.getScopeGroupId()) {
            throw new NoSuchFolderException("{folderId=" + folderId + "}");
        }/* w  w  w  .j ava  2 s . co  m*/
    }

    InputStream inputStream = null;

    if (cmd.equals(Constants.ADD_DYNAMIC)) {
        title = uploadPortletRequest.getFileName("file");
    }

    try {
        String contentType = uploadPortletRequest.getContentType("file");
        long size = uploadPortletRequest.getSize("file");

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

            contentType = MimeTypesUtil.getContentType(title);
        }

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

            String portletName = portletConfig.getPortletName();

            if (portletName.equals(DLPortletKeys.MEDIA_GALLERY_DISPLAY)) {
                PortletDisplay portletDisplay = themeDisplay.getPortletDisplay();

                DLPortletInstanceSettings dlPortletInstanceSettings = DLPortletInstanceSettings
                        .getInstance(themeDisplay.getLayout(), portletDisplay.getId());

                String[] mimeTypes = dlPortletInstanceSettings.getMimeTypes();

                if (Arrays.binarySearch(mimeTypes, contentType) < 0) {
                    throw new FileMimeTypeException(contentType);
                }
            }
        }

        inputStream = uploadPortletRequest.getFileAsStream("file");

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

        FileEntry fileEntry = null;

        if (cmd.equals(Constants.ADD) || cmd.equals(Constants.ADD_DYNAMIC)) {

            // Add file entry

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

            if (cmd.equals(Constants.ADD_DYNAMIC)) {
                JSONObject jsonObject = JSONFactoryUtil.createJSONObject();

                jsonObject.put("fileEntryId", fileEntry.getFileEntryId());

                JSONPortletResponseUtil.writeJSON(actionRequest, actionResponse, jsonObject);
            }
        } else if (cmd.equals(Constants.UPDATE_AND_CHECKIN)) {

            // Update file entry and checkin

            fileEntry = _dlAppService.updateFileEntryAndCheckIn(fileEntryId, sourceFileName, contentType, title,
                    description, changeLog, majorVersion, inputStream, size, serviceContext);
        } else {

            // Update file entry

            fileEntry = _dlAppService.updateFileEntry(fileEntryId, sourceFileName, contentType, title,
                    description, changeLog, majorVersion, inputStream, size, serviceContext);
        }

        return fileEntry;
    } finally {
        StreamUtil.cleanUp(inputStream);
    }
}