Example usage for com.liferay.portal.kernel.util ContentTypes APPLICATION_ZIP

List of usage examples for com.liferay.portal.kernel.util ContentTypes APPLICATION_ZIP

Introduction

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

Prototype

String APPLICATION_ZIP

To view the source code for com.liferay.portal.kernel.util ContentTypes APPLICATION_ZIP.

Click Source Link

Usage

From source file:com.liferay.configuration.admin.web.internal.portlet.action.ExportConfigurationMVCResourceCommand.java

License:Open Source License

protected void exportAll(ResourceRequest resourceRequest, ResourceResponse resourceResponse) throws Exception {

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

    String languageId = themeDisplay.getLanguageId();

    ZipWriter zipWriter = ZipWriterFactoryUtil.getZipWriter();

    Map<String, ConfigurationModel> configurationModels = _configurationModelRetriever
            .getConfigurationModels(themeDisplay.getLanguageId());

    for (ConfigurationModel configurationModel : configurationModels.values()) {

        if (configurationModel.isFactory()) {
            String curFactoryPid = configurationModel.getFactoryPid();

            List<ConfigurationModel> factoryInstances = _configurationModelRetriever
                    .getFactoryInstances(configurationModel);

            for (ConfigurationModel factoryInstance : factoryInstances) {
                String curPid = factoryInstance.getID();

                String curFileName = getFileName(curFactoryPid, curPid);

                zipWriter.addEntry(curFileName, ConfigurationExporter
                        .getPropertiesAsBytes(getProperties(languageId, curFactoryPid, curPid)));
            }//from  w ww. j a  v  a 2 s.  com
        } else if (configurationModel.hasConfiguration()) {
            String curPid = configurationModel.getID();

            String curFileName = getFileName(null, curPid);

            zipWriter.addEntry(curFileName,
                    ConfigurationExporter.getPropertiesAsBytes(getProperties(languageId, curPid, curPid)));
        }
    }

    String fileName = "liferay-system-settings.zip";

    PortletResponseUtil.sendFile(resourceRequest, resourceResponse, fileName,
            new FileInputStream(zipWriter.getFile()), ContentTypes.APPLICATION_ZIP);
}

From source file:com.liferay.configuration.admin.web.internal.portlet.action.ExportConfigurationMVCResourceCommand.java

License:Open Source License

protected void exportFactoryPid(ResourceRequest resourceRequest, ResourceResponse resourceResponse)
        throws Exception {

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

    String languageId = themeDisplay.getLanguageId();

    ZipWriter zipWriter = ZipWriterFactoryUtil.getZipWriter();

    String factoryPid = ParamUtil.getString(resourceRequest, "factoryPid");

    Map<String, ConfigurationModel> configurationModels = _configurationModelRetriever
            .getConfigurationModels(themeDisplay.getLanguageId());

    ConfigurationModel factoryConfigurationModel = configurationModels.get(factoryPid);

    List<ConfigurationModel> factoryInstances = _configurationModelRetriever
            .getFactoryInstances(factoryConfigurationModel);

    for (ConfigurationModel factoryInstance : factoryInstances) {
        String curPid = factoryInstance.getID();

        String curFileName = getFileName(factoryPid, curPid);

        zipWriter.addEntry(curFileName,//  www  . ja  va2  s .com
                ConfigurationExporter.getPropertiesAsBytes(getProperties(languageId, factoryPid, curPid)));
    }

    String fileName = "liferay-system-settings-" + factoryConfigurationModel.getFactoryPid() + ".zip";

    PortletResponseUtil.sendFile(resourceRequest, resourceResponse, fileName,
            new FileInputStream(zipWriter.getFile()), ContentTypes.APPLICATION_ZIP);
}

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

License:Open Source License

protected void downloadFileEntries(ResourceRequest resourceRequest, ResourceResponse resourceResponse)
        throws Exception {

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

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

    File file = null;/* ww  w. j  a  va2  s.  c om*/
    InputStream inputStream = null;

    try {
        List<FileEntry> fileEntries = ActionUtil.getFileEntries(resourceRequest);

        List<FileShortcut> fileShortcuts = ActionUtil.getFileShortcuts(resourceRequest);

        List<Folder> folders = ActionUtil.getFolders(resourceRequest);

        if (fileEntries.isEmpty() && fileShortcuts.isEmpty() && folders.isEmpty()) {

            return;
        } else if ((fileEntries.size() == 1) && fileShortcuts.isEmpty() && folders.isEmpty()) {

            FileEntry fileEntry = fileEntries.get(0);

            PortletResponseUtil.sendFile(resourceRequest, resourceResponse, fileEntry.getFileName(),
                    fileEntry.getContentStream(), 0, fileEntry.getMimeType(),
                    HttpHeaders.CONTENT_DISPOSITION_ATTACHMENT);
        } else if ((fileShortcuts.size() == 1) && fileEntries.isEmpty() && folders.isEmpty()) {

            FileShortcut fileShortcut = fileShortcuts.get(0);

            FileEntry fileEntry = _dlAppService.getFileEntry(fileShortcut.getToFileEntryId());

            PortletResponseUtil.sendFile(resourceRequest, resourceResponse, fileEntry.getFileName(),
                    fileEntry.getContentStream(), 0, fileEntry.getMimeType(),
                    HttpHeaders.CONTENT_DISPOSITION_ATTACHMENT);
        } else {
            String zipFileName = getZipFileName(folderId, themeDisplay);

            ZipWriter zipWriter = ZipWriterFactoryUtil.getZipWriter();

            for (FileEntry fileEntry : fileEntries) {
                zipFileEntry(fileEntry, StringPool.SLASH, zipWriter);
            }

            for (FileShortcut fileShortcut : fileShortcuts) {
                FileEntry fileEntry = _dlAppService.getFileEntry(fileShortcut.getToFileEntryId());

                zipFileEntry(fileEntry, StringPool.SLASH, zipWriter);
            }

            for (Folder folder : folders) {
                zipFolder(folder.getRepositoryId(), folder.getFolderId(),
                        StringPool.SLASH.concat(folder.getName()), zipWriter);
            }

            file = zipWriter.getFile();

            inputStream = new FileInputStream(file);

            PortletResponseUtil.sendFile(resourceRequest, resourceResponse, zipFileName, inputStream,
                    ContentTypes.APPLICATION_ZIP);
        }
    } finally {
        StreamUtil.cleanUp(inputStream);

        if (file != null) {
            file.delete();
        }
    }
}

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

License:Open Source License

protected void downloadFolder(ResourceRequest resourceRequest, ResourceResponse resourceResponse)
        throws Exception {

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

    long repositoryId = ParamUtil.getLong(resourceRequest, "repositoryId");
    long folderId = ParamUtil.getLong(resourceRequest, "folderId");

    File file = null;//from w  ww.  jav  a2  s  .  c  o  m
    InputStream inputStream = null;

    try {
        String zipFileName = getZipFileName(folderId, themeDisplay);

        ZipWriter zipWriter = ZipWriterFactoryUtil.getZipWriter();

        zipFolder(repositoryId, folderId, StringPool.SLASH, zipWriter);

        file = zipWriter.getFile();

        inputStream = new FileInputStream(file);

        PortletResponseUtil.sendFile(resourceRequest, resourceResponse, zipFileName, inputStream,
                ContentTypes.APPLICATION_ZIP);
    } finally {
        StreamUtil.cleanUp(inputStream);

        if (file != null) {
            file.delete();
        }
    }
}

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 {/*  w  w  w  .ja v  a 2  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.portletconfiguration.action.ExportImportAction.java

License:Open Source License

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

    try {//w  ww .  j a v a 2 s  .c o 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());
    }
}