Example usage for com.liferay.portal.kernel.util FileUtil delete

List of usage examples for com.liferay.portal.kernel.util FileUtil delete

Introduction

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

Prototype

public static boolean delete(String file) 

Source Link

Usage

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

License:Open Source License

private void _generateImagesPB(FileVersion fileVersion, PDPage pdPage, int index) throws Exception {

    // Generate images

    RenderedImage renderedImage = pdPage.convertToImage(BufferedImage.TYPE_INT_RGB,
            PropsValues.DL_FILE_ENTRY_PREVIEW_DOCUMENT_DPI);

    if (PropsValues.DL_FILE_ENTRY_PREVIEW_DOCUMENT_MAX_HEIGHT != 0) {
        renderedImage = ImageToolUtil.scale(renderedImage, PropsValues.DL_FILE_ENTRY_PREVIEW_DOCUMENT_MAX_WIDTH,
                PropsValues.DL_FILE_ENTRY_PREVIEW_DOCUMENT_MAX_HEIGHT);
    } else {/* ww  w  .  j  a  v a 2  s.  c om*/
        renderedImage = ImageToolUtil.scale(renderedImage,
                PropsValues.DL_FILE_ENTRY_PREVIEW_DOCUMENT_MAX_WIDTH);
    }

    // Store images

    if (index == 0) {
        storeThumbnailImages(fileVersion, renderedImage);
    } else {
        File tempFile = null;

        try {
            String tempFileId = DLUtil.getTempFileId(fileVersion.getFileEntryId(), fileVersion.getVersion());

            tempFile = getPreviewTempFile(tempFileId, index);

            tempFile.createNewFile();

            ImageIO.write(renderedImage, PREVIEW_TYPE, new FileOutputStream(tempFile));

            addFileToStore(fileVersion.getCompanyId(), PREVIEW_PATH, getPreviewFilePath(fileVersion, index),
                    tempFile);
        } finally {
            FileUtil.delete(tempFile);
        }
    }
}

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

License:Open Source License

private void _generateThumbnailXuggler(FileVersion fileVersion, File file, int height, int width)
        throws Exception {

    StopWatch stopWatch = null;//w  w w.  j av  a  2s  .  co  m

    if (_log.isInfoEnabled()) {
        stopWatch = new StopWatch();

        stopWatch.start();
    }

    String tempFileId = DLUtil.getTempFileId(fileVersion.getFileEntryId(), fileVersion.getVersion());

    File thumbnailTempFile = getThumbnailTempFile(tempFileId);

    try {
        try {
            if (PropsValues.DL_FILE_ENTRY_PREVIEW_FORK_PROCESS_ENABLED) {
                ProcessCallable<String> processCallable = new LiferayVideoThumbnailProcessCallable(
                        ServerDetector.getServerId(), PropsUtil.get(PropsKeys.LIFERAY_HOME),
                        Log4JUtil.getCustomLogSettings(), file.getCanonicalPath(), thumbnailTempFile,
                        THUMBNAIL_TYPE, height, width,
                        PropsValues.DL_FILE_ENTRY_THUMBNAIL_VIDEO_FRAME_PERCENTAGE);

                ProcessExecutor.execute(processCallable, ClassPathUtil.getPortalClassPath());
            } else {
                LiferayConverter liferayConverter = new LiferayVideoThumbnailConverter(file.getCanonicalPath(),
                        thumbnailTempFile, THUMBNAIL_TYPE, height, width,
                        PropsValues.DL_FILE_ENTRY_THUMBNAIL_VIDEO_FRAME_PERCENTAGE);

                liferayConverter.convert();
            }
        } catch (Exception e) {
            _log.error(e, e);
        }

        storeThumbnailImages(fileVersion, thumbnailTempFile);

        if (_log.isInfoEnabled()) {
            _log.info("Xuggler generated a thumbnail for " + fileVersion.getTitle() + " in " + stopWatch);
        }
    } catch (Exception e) {
        throw new SystemException(e);
    } finally {
        FileUtil.delete(thumbnailTempFile);
    }
}

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

License:Open Source License

private void _generateVideo(FileVersion fileVersion) throws Exception {
    String tempFileId = DLUtil.getTempFileId(fileVersion.getFileEntryId(), fileVersion.getVersion());

    File videoTempFile = _getVideoTempFile(tempFileId, fileVersion.getExtension());

    File[] previewTempFiles = new File[_PREVIEW_TYPES.length];

    for (int i = 0; i < _PREVIEW_TYPES.length; i++) {
        previewTempFiles[i] = getPreviewTempFile(tempFileId, _PREVIEW_TYPES[i]);
    }/*from w  ww  .  j  ava 2 s  .c o m*/

    try {
        if (!PrefsPropsUtil.getBoolean(PropsKeys.XUGGLER_ENABLED, PropsValues.XUGGLER_ENABLED)
                || _hasVideo(fileVersion)) {

            return;
        }

        File file = null;

        if (_isGeneratePreview(fileVersion) || _isGenerateThumbnail(fileVersion)) {

            if (fileVersion instanceof LiferayFileVersion) {
                try {
                    LiferayFileVersion liferayFileVersion = (LiferayFileVersion) fileVersion;

                    file = liferayFileVersion.getFile(false);
                } catch (UnsupportedOperationException uoe) {
                }
            }

            if (file == null) {
                InputStream inputStream = fileVersion.getContentStream(false);

                FileUtil.write(videoTempFile, inputStream);

                file = videoTempFile;
            }
        }

        if (_isGeneratePreview(fileVersion)) {
            try {
                _generateVideoXuggler(fileVersion, file, previewTempFiles,
                        PropsValues.DL_FILE_ENTRY_PREVIEW_VIDEO_HEIGHT,
                        PropsValues.DL_FILE_ENTRY_PREVIEW_VIDEO_WIDTH);
            } catch (Exception e) {
                _log.error(e, e);
            }
        }

        if (_isGenerateThumbnail(fileVersion)) {
            try {
                _generateThumbnailXuggler(fileVersion, file, PropsValues.DL_FILE_ENTRY_PREVIEW_VIDEO_HEIGHT,
                        PropsValues.DL_FILE_ENTRY_PREVIEW_VIDEO_WIDTH);
            } catch (Exception e) {
                _log.error(e, e);
            }
        }
    } catch (NoSuchFileEntryException nsfee) {
    } finally {
        _fileVersionIds.remove(fileVersion.getFileVersionId());

        for (int i = 0; i < previewTempFiles.length; i++) {
            FileUtil.delete(previewTempFiles[i]);
        }

        FileUtil.delete(videoTempFile);
    }
}

From source file:com.liferay.portlet.documentlibrary.webdav.DLWebDAVStorageImpl.java

License:Open Source License

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

    File file = null;//from www.  j  a  v  a2  s  . c  om

    try {
        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;
        }

        FileEntry fileEntry = (FileEntry) resource.getModel();

        long groupId = WebDAVUtil.getGroupId(companyId, destination);
        String mimeType = fileEntry.getMimeType();
        String title = WebDAVUtil.getResourceName(destinationArray);
        String description = fileEntry.getDescription();
        String changeLog = StringPool.BLANK;

        InputStream is = fileEntry.getContentStream();

        file = FileUtil.createTempFile(is);

        ServiceContext serviceContext = new ServiceContext();

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

        int status = HttpServletResponse.SC_CREATED;

        if (overwrite) {
            if (deleteResource(groupId, parentFolderId, title, webDavRequest.getLockUuid())) {

                status = HttpServletResponse.SC_NO_CONTENT;
            }
        }

        DLAppServiceUtil.addFileEntry(groupId, parentFolderId, title, mimeType, title, description, changeLog,
                file, serviceContext);

        return status;
    } catch (DuplicateFileException dfe) {
        return HttpServletResponse.SC_PRECONDITION_FAILED;
    } catch (DuplicateFolderNameException dfne) {
        return HttpServletResponse.SC_PRECONDITION_FAILED;
    } catch (LockException le) {
        return WebDAVUtil.SC_LOCKED;
    } catch (PrincipalException pe) {
        return HttpServletResponse.SC_FORBIDDEN;
    } catch (Exception e) {
        throw new WebDAVException(e);
    } finally {
        FileUtil.delete(file);
    }
}

From source file:com.liferay.portlet.documentlibrary.webdav.DLWebDAVStorageImpl.java

License:Open Source License

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

    File file = null;/*w  w  w. jav  a2  s  . c  o  m*/

    try {
        String[] destinationArray = WebDAVUtil.getPathArray(destination, true);

        FileEntry fileEntry = (FileEntry) resource.getModel();

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

            return WebDAVUtil.SC_LOCKED;
        }

        long companyId = webDavRequest.getCompanyId();
        long groupId = WebDAVUtil.getGroupId(companyId, destinationArray);
        long newParentFolderId = getParentFolderId(companyId, destinationArray);
        String sourceFileName = WebDAVUtil.getResourceName(destinationArray);
        String title = WebDAVUtil.getResourceName(destinationArray);
        String description = fileEntry.getDescription();
        String changeLog = StringPool.BLANK;

        String[] assetTagNames = AssetTagLocalServiceUtil.getTagNames(FileEntry.class.getName(),
                fileEntry.getFileEntryId());

        ServiceContext serviceContext = new ServiceContext();

        serviceContext.setAssetTagNames(assetTagNames);

        int status = HttpServletResponse.SC_CREATED;

        if (overwrite) {
            if (deleteResource(groupId, newParentFolderId, title, webDavRequest.getLockUuid())) {

                status = HttpServletResponse.SC_NO_CONTENT;
            }
        }

        // LPS-5415

        if (webDavRequest.isMac()) {
            try {
                FileEntry destFileEntry = DLAppServiceUtil.getFileEntry(groupId, newParentFolderId, title);

                InputStream is = fileEntry.getContentStream();

                file = FileUtil.createTempFile(is);

                DLAppServiceUtil.updateFileEntry(destFileEntry.getFileEntryId(), destFileEntry.getTitle(),
                        destFileEntry.getMimeType(), destFileEntry.getTitle(), destFileEntry.getDescription(),
                        changeLog, false, file, serviceContext);

                DLAppServiceUtil.deleteFileEntry(fileEntry.getFileEntryId());

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

        DLAppServiceUtil.updateFileEntry(fileEntry.getFileEntryId(), sourceFileName, fileEntry.getMimeType(),
                title, description, changeLog, false, file, serviceContext);

        if (fileEntry.getFolderId() != newParentFolderId) {
            fileEntry = DLAppServiceUtil.moveFileEntry(fileEntry.getFileEntryId(), newParentFolderId,
                    serviceContext);
        }

        return status;
    } catch (PrincipalException pe) {
        return HttpServletResponse.SC_FORBIDDEN;
    } catch (DuplicateFileException dfe) {
        return HttpServletResponse.SC_PRECONDITION_FAILED;
    } catch (DuplicateFolderNameException dfne) {
        return HttpServletResponse.SC_PRECONDITION_FAILED;
    } catch (LockException le) {
        return WebDAVUtil.SC_LOCKED;
    } catch (Exception e) {
        throw new WebDAVException(e);
    } finally {
        FileUtil.delete(file);
    }
}

From source file:com.liferay.portlet.documentlibrary.webdav.DLWebDAVStorageImpl.java

License:Open Source License

@Override
public int putResource(WebDAVRequest webDavRequest) throws WebDAVException {
    File file = null;/*ww  w  .  ja  va2s  . c o  m*/

    try {
        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 description = StringPool.BLANK;
        String changeLog = StringPool.BLANK;

        ServiceContext serviceContext = ServiceContextFactory.getInstance(request);

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

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

        String extension = FileUtil.getExtension(title);

        file = FileUtil.createTempFile(extension);

        FileUtil.write(file, request.getInputStream());

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

        try {
            FileEntry fileEntry = DLAppServiceUtil.getFileEntry(groupId, parentFolderId, title);

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

                return WebDAVUtil.SC_LOCKED;
            }

            long fileEntryId = fileEntry.getFileEntryId();

            description = fileEntry.getDescription();

            String[] assetTagNames = AssetTagLocalServiceUtil.getTagNames(FileEntry.class.getName(),
                    fileEntry.getFileEntryId());

            serviceContext.setAssetTagNames(assetTagNames);

            DLAppServiceUtil.updateFileEntry(fileEntryId, title, contentType, title, description, changeLog,
                    false, file, serviceContext);
        } catch (NoSuchFileEntryException nsfee) {
            if (file.length() == 0) {
                serviceContext.setWorkflowAction(WorkflowConstants.ACTION_SAVE_DRAFT);
            }

            DLAppServiceUtil.addFileEntry(groupId, parentFolderId, title, contentType, title, description,
                    changeLog, file, serviceContext);
        }

        if (_log.isInfoEnabled()) {
            _log.info("Added " + StringUtil.merge(pathArray, StringPool.SLASH));
        }

        return HttpServletResponse.SC_CREATED;
    } catch (PrincipalException pe) {
        return HttpServletResponse.SC_FORBIDDEN;
    } catch (NoSuchFolderException nsfe) {
        return HttpServletResponse.SC_CONFLICT;
    } catch (PortalException pe) {
        if (_log.isWarnEnabled()) {
            _log.warn(pe, pe);
        }

        return HttpServletResponse.SC_CONFLICT;
    } catch (Exception e) {
        throw new WebDAVException(e);
    } finally {
        FileUtil.delete(file);
    }
}

From source file:com.liferay.portlet.layoutsadmin.action.ExportLayoutsAction.java

License:Open Source License

@Override
public void processAction(ActionMapping mapping, ActionForm form, PortletConfig portletConfig,
        ActionRequest actionRequest, ActionResponse actionResponse) throws Exception {

    try {/*from   ww w. j av  a2  s  .com*/
        ThemeDisplay themeDisplay = (ThemeDisplay) actionRequest.getAttribute(WebKeys.THEME_DISPLAY);

        long groupId = ParamUtil.getLong(actionRequest, "groupId");
        boolean privateLayout = ParamUtil.getBoolean(actionRequest, "privateLayout");
        long[] layoutIds = ParamUtil.getLongValues(actionRequest, "layoutIds");
        String fileName = ParamUtil.getString(actionRequest, "exportFileName");
        String range = ParamUtil.getString(actionRequest, "range");

        Date startDate = null;
        Date endDate = null;

        if (range.equals("dateRange")) {
            int startDateMonth = ParamUtil.getInteger(actionRequest, "startDateMonth");
            int startDateDay = ParamUtil.getInteger(actionRequest, "startDateDay");
            int startDateYear = ParamUtil.getInteger(actionRequest, "startDateYear");
            int startDateHour = ParamUtil.getInteger(actionRequest, "startDateHour");
            int startDateMinute = ParamUtil.getInteger(actionRequest, "startDateMinute");
            int startDateAmPm = ParamUtil.getInteger(actionRequest, "startDateAmPm");

            if (startDateAmPm == Calendar.PM) {
                startDateHour += 12;
            }

            startDate = PortalUtil.getDate(startDateMonth, startDateDay, startDateYear, startDateHour,
                    startDateMinute, themeDisplay.getTimeZone(), new PortalException());

            int endDateMonth = ParamUtil.getInteger(actionRequest, "endDateMonth");
            int endDateDay = ParamUtil.getInteger(actionRequest, "endDateDay");
            int endDateYear = ParamUtil.getInteger(actionRequest, "endDateYear");
            int endDateHour = ParamUtil.getInteger(actionRequest, "endDateHour");
            int endDateMinute = ParamUtil.getInteger(actionRequest, "endDateMinute");
            int endDateAmPm = ParamUtil.getInteger(actionRequest, "endDateAmPm");

            if (endDateAmPm == Calendar.PM) {
                endDateHour += 12;
            }

            endDate = PortalUtil.getDate(endDateMonth, endDateDay, endDateYear, endDateHour, endDateMinute,
                    themeDisplay.getTimeZone(), new PortalException());
        } else if (range.equals("fromLastPublishDate")) {
            LayoutSet layoutSet = LayoutSetLocalServiceUtil.getLayoutSet(groupId, privateLayout);

            UnicodeProperties settingsProperties = layoutSet.getSettingsProperties();

            long lastPublishDate = GetterUtil.getLong(settingsProperties.getProperty("last-publish-date"));

            if (lastPublishDate > 0) {
                Calendar cal = Calendar.getInstance(themeDisplay.getTimeZone(), themeDisplay.getLocale());

                endDate = cal.getTime();

                cal.setTimeInMillis(lastPublishDate);

                startDate = cal.getTime();
            }
        } else if (range.equals("last")) {
            int rangeLast = ParamUtil.getInteger(actionRequest, "last");

            Date now = new Date();

            startDate = new Date(now.getTime() - (rangeLast * Time.HOUR));

            endDate = now;
        }

        File file = LayoutServiceUtil.exportLayoutsAsFile(groupId, privateLayout, layoutIds,
                actionRequest.getParameterMap(), startDate, endDate);

        HttpServletRequest request = PortalUtil.getHttpServletRequest(actionRequest);
        HttpServletResponse response = PortalUtil.getHttpServletResponse(actionResponse);

        ServletResponseUtil.sendFile(request, response, fileName, new FileInputStream(file),
                ContentTypes.APPLICATION_ZIP);

        FileUtil.delete(file);

        setForward(actionRequest, ActionConstants.COMMON_NULL);
    } catch (Exception e) {
        _log.error(e, e);

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

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

        sendRedirect(actionRequest, actionResponse, pagesRedirect);
    }
}

From source file:com.liferay.portlet.plugininstaller.action.InstallPluginAction.java

License:Open Source License

protected int remoteDeploy(String url, URL urlObj, ActionRequest actionRequest, boolean failOnError)
        throws Exception {

    int responseCode = HttpServletResponse.SC_OK;

    GetMethod getMethod = null;/* w w w  . j av a  2  s .c  om*/

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

    try {
        HttpImpl httpImpl = (HttpImpl) HttpUtil.getHttp();

        HostConfiguration hostConfiguration = httpImpl.getHostConfiguration(url);

        HttpClient httpClient = httpImpl.getClient(hostConfiguration);

        getMethod = new GetMethod(url);

        String fileName = null;

        if (Validator.isNotNull(deploymentContext)) {
            fileName = BaseDeployer.DEPLOY_TO_PREFIX + deploymentContext + ".war";
        } else {
            fileName = url.substring(url.lastIndexOf(CharPool.SLASH) + 1);

            int pos = fileName.lastIndexOf(CharPool.PERIOD);

            if (pos != -1) {
                deploymentContext = fileName.substring(0, pos);
            }
        }

        PluginPackageUtil.registerPluginPackageInstallation(deploymentContext);

        responseCode = httpClient.executeMethod(hostConfiguration, getMethod);

        if (responseCode != HttpServletResponse.SC_OK) {
            if (failOnError) {
                SessionErrors.add(actionRequest, "errorConnectingToUrl",
                        new Object[] { String.valueOf(responseCode) });
            }

            return responseCode;
        }

        long contentLength = getMethod.getResponseContentLength();

        String progressId = ParamUtil.getString(actionRequest, Constants.PROGRESS_ID);

        ProgressInputStream pis = new ProgressInputStream(actionRequest, getMethod.getResponseBodyAsStream(),
                contentLength, progressId);

        String deployDir = PrefsPropsUtil.getString(PropsKeys.AUTO_DEPLOY_DEPLOY_DIR,
                PropsValues.AUTO_DEPLOY_DEPLOY_DIR);

        String tmpFilePath = deployDir + StringPool.SLASH + _DOWNLOAD_DIR + StringPool.SLASH + fileName;

        File tmpFile = new File(tmpFilePath);

        if (!tmpFile.getParentFile().exists()) {
            tmpFile.getParentFile().mkdirs();
        }

        FileOutputStream fos = new FileOutputStream(tmpFile);

        try {
            pis.readAll(fos);

            if (_log.isInfoEnabled()) {
                _log.info("Downloaded plugin from " + urlObj + " has " + pis.getTotalRead() + " bytes");
            }
        } finally {
            pis.clearProgress();
        }

        getMethod.releaseConnection();

        if (pis.getTotalRead() > 0) {
            String destination = deployDir + StringPool.SLASH + fileName;

            File destinationFile = new File(destination);

            boolean moved = FileUtil.move(tmpFile, destinationFile);

            if (!moved) {
                FileUtil.copyFile(tmpFile, destinationFile);
                FileUtil.delete(tmpFile);
            }

            SessionMessages.add(actionRequest, "pluginDownloaded");
        } else {
            if (failOnError) {
                SessionErrors.add(actionRequest, UploadException.class.getName());
            }

            responseCode = HttpServletResponse.SC_INTERNAL_SERVER_ERROR;
        }
    } catch (MalformedURLException murle) {
        SessionErrors.add(actionRequest, "invalidUrl", murle);
    } catch (IOException ioe) {
        SessionErrors.add(actionRequest, "errorConnectingToUrl", ioe);
    } finally {
        if (getMethod != null) {
            getMethod.releaseConnection();
        }

        PluginPackageUtil.endPluginPackageInstallation(deploymentContext);
    }

    return responseCode;
}

From source file:com.liferay.portlet.portletconfiguration.action.ExportImportAction.java

License:Open Source License

protected void exportData(ActionRequest actionRequest, ActionResponse actionResponse, Portlet portlet)
        throws Exception {

    try {//from   ww  w  .  j a va  2  s.co  m
        ThemeDisplay themeDisplay = (ThemeDisplay) actionRequest.getAttribute(WebKeys.THEME_DISPLAY);

        long plid = ParamUtil.getLong(actionRequest, "plid");
        long groupId = ParamUtil.getLong(actionRequest, "groupId");
        String fileName = ParamUtil.getString(actionRequest, "exportFileName");
        String range = ParamUtil.getString(actionRequest, "range");

        Date startDate = null;
        Date endDate = null;

        if (range.equals("dateRange")) {
            int startDateMonth = ParamUtil.getInteger(actionRequest, "startDateMonth");
            int startDateDay = ParamUtil.getInteger(actionRequest, "startDateDay");
            int startDateYear = ParamUtil.getInteger(actionRequest, "startDateYear");
            int startDateHour = ParamUtil.getInteger(actionRequest, "startDateHour");
            int startDateMinute = ParamUtil.getInteger(actionRequest, "startDateMinute");
            int startDateAmPm = ParamUtil.getInteger(actionRequest, "startDateAmPm");

            if (startDateAmPm == Calendar.PM) {
                startDateHour += 12;
            }

            startDate = PortalUtil.getDate(startDateMonth, startDateDay, startDateYear, startDateHour,
                    startDateMinute, themeDisplay.getTimeZone(), new PortalException());

            int endDateMonth = ParamUtil.getInteger(actionRequest, "endDateMonth");
            int endDateDay = ParamUtil.getInteger(actionRequest, "endDateDay");
            int endDateYear = ParamUtil.getInteger(actionRequest, "endDateYear");
            int endDateHour = ParamUtil.getInteger(actionRequest, "endDateHour");
            int endDateMinute = ParamUtil.getInteger(actionRequest, "endDateMinute");
            int endDateAmPm = ParamUtil.getInteger(actionRequest, "endDateAmPm");

            if (endDateAmPm == Calendar.PM) {
                endDateHour += 12;
            }

            endDate = PortalUtil.getDate(endDateMonth, endDateDay, endDateYear, endDateHour, endDateMinute,
                    themeDisplay.getTimeZone(), new PortalException());
        } else if (range.equals("fromLastPublishDate")) {
            Layout layout = LayoutLocalServiceUtil.getLayout(plid);

            PortletPreferences preferences = PortletPreferencesFactoryUtil.getPortletSetup(layout,
                    portlet.getPortletId(), StringPool.BLANK);

            long lastPublishDate = GetterUtil
                    .getLong(preferences.getValue("last-publish-date", StringPool.BLANK));

            if (lastPublishDate > 0) {
                Calendar cal = Calendar.getInstance(themeDisplay.getTimeZone(), themeDisplay.getLocale());

                endDate = cal.getTime();

                cal.setTimeInMillis(lastPublishDate);

                startDate = cal.getTime();
            }
        }

        File file = LayoutServiceUtil.exportPortletInfoAsFile(plid, groupId, portlet.getPortletId(),
                actionRequest.getParameterMap(), startDate, endDate);

        HttpServletRequest request = PortalUtil.getHttpServletRequest(actionRequest);
        HttpServletResponse response = PortalUtil.getHttpServletResponse(actionResponse);

        ServletResponseUtil.sendFile(request, response, fileName, new FileInputStream(file),
                ContentTypes.APPLICATION_ZIP);

        FileUtil.delete(file);

        setForward(actionRequest, ActionConstants.COMMON_NULL);
    } catch (Exception e) {
        if (_log.isDebugEnabled()) {
            _log.debug(e, e);
        }

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

From source file:com.liferay.portlet.wiki.action.EditPageAttachmentAction.java

License:Open Source License

@Override
protected void addMultipleFileEntries(ActionRequest actionRequest, ActionResponse actionResponse,
        String selectedFileName, List<String> validFileNames, List<KeyValuePair> invalidFileNameKVPs)
        throws Exception {

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

    long nodeId = ParamUtil.getLong(actionRequest, "nodeId");
    String title = ParamUtil.getString(actionRequest, "title");

    File file = null;/*from ww  w .j  a  va2 s .  co  m*/

    try {
        file = TempFileUtil.getTempFile(themeDisplay.getUserId(), selectedFileName, _TEMP_FOLDER_NAME);

        if ((file != null) && file.exists()) {
            WikiPageServiceUtil.addPageAttachment(nodeId, title, selectedFileName, file);

            validFileNames.add(selectedFileName);
        }
    } catch (Exception e) {
        String errorMessage = getAddMultipleFileEntriesErrorMessage(themeDisplay, e);

        KeyValuePair invalidFileNameKVP = new KeyValuePair(selectedFileName, errorMessage);

        invalidFileNameKVPs.add(invalidFileNameKVP);
    } finally {
        FileUtil.delete(file);
    }
}