Example usage for com.liferay.portal.kernel.portlet PortletResponseUtil sendFile

List of usage examples for com.liferay.portal.kernel.portlet PortletResponseUtil sendFile

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.portlet PortletResponseUtil sendFile.

Prototype

public static void sendFile(PortletRequest portletRequest, MimeResponse mimeResponse, String fileName,
            InputStream inputStream, String contentType) throws IOException 

Source Link

Usage

From source file:org.eclipse.sw360.portal.portlets.components.ComponentPortlet.java

License:Open Source License

private void exportExcel(ResourceRequest request, ResourceResponse response) {
    final User user = UserCacheHolder.getUserFromRequest(request);

    try {/*from   w  ww . ja  v a  2  s  .c o m*/
        boolean extendedByReleases = Boolean
                .valueOf(request.getParameter(PortalConstants.EXTENDED_EXCEL_EXPORT));
        List<Component> components = getFilteredComponentList(request);
        ComponentExporter exporter = new ComponentExporter(thriftClients.makeComponentClient(), components,
                user, extendedByReleases);
        String filename = String.format("components-%s.xlsx", SW360Utils.getCreatedOn());
        PortletResponseUtil.sendFile(request, response, filename, exporter.makeExcelExport(components),
                CONTENT_TYPE_OPENXML_SPREADSHEET);
    } catch (IOException | SW360Exception e) {
        log.error("An error occurred while generating the Excel export", e);
        response.setProperty(ResourceResponse.HTTP_STATUS_CODE,
                Integer.toString(HttpServletResponse.SC_INTERNAL_SERVER_ERROR));
    }
}

From source file:org.eclipse.sw360.portal.portlets.licenses.LicensesPortlet.java

License:Open Source License

private void exportExcel(ResourceRequest request, ResourceResponse response) {
    try {/*from w ww  .  jav  a2 s  . c  om*/
        LicenseService.Iface client = thriftClients.makeLicenseClient();
        List<License> licenses = client.getLicenseSummaryForExport();

        PortletResponseUtil.sendFile(request, response, "Licenses.xlsx", exporter.makeExcelExport(licenses),
                CONTENT_TYPE_OPENXML_SPREADSHEET);
    } catch (IOException | TException e) {
        log.error("An error occurred while generating the Excel export", e);
        response.setProperty(ResourceResponse.HTTP_STATUS_CODE,
                Integer.toString(HttpServletResponse.SC_INTERNAL_SERVER_ERROR));
    }
}

From source file:org.eclipse.sw360.portal.portlets.projects.ProjectPortlet.java

License:Open Source License

private void sendLicenseInfoResponse(ResourceRequest request, ResourceResponse response, Project project,
        LicenseInfoFile licenseInfoFile) throws IOException {
    OutputFormatInfo outputFormatInfo = licenseInfoFile.getOutputFormatInfo();
    String filename = String.format("LicenseInfo-%s-%s.%s", project.getName(), SW360Utils.getCreatedOn(),
            outputFormatInfo.getFileExtension());
    String mimetype = outputFormatInfo.getMimeType();
    if (isNullOrEmpty(mimetype)) {
        mimetype = URLConnection.guessContentTypeFromName(filename);
    }/*from w  ww.ja v a2s  .  co m*/

    PortletResponseUtil.sendFile(request, response, filename, licenseInfoFile.getGeneratedOutput(), mimetype);
}

From source file:org.eclipse.sw360.portal.portlets.projects.ProjectPortlet.java

License:Open Source License

private void exportExcel(ResourceRequest request, ResourceResponse response) {
    final User user = UserCacheHolder.getUserFromRequest(request);
    final String projectId = request.getParameter(Project._Fields.ID.toString());
    String filename = String.format("projects-%s.xlsx", SW360Utils.getCreatedOn());
    try {/*from  ww w .ja v a2s  .c o m*/
        boolean extendedByReleases = Boolean
                .valueOf(request.getParameter(PortalConstants.EXTENDED_EXCEL_EXPORT));
        List<Project> projects = getFilteredProjectList(request);
        if (!isNullOrEmpty(projectId)) {
            Project project = projects.stream().filter(p -> p.getId().equals(projectId)).findFirst().get();
            filename = String.format("project-%s-%s-%s.xlsx", project.getName(), project.getVersion(),
                    SW360Utils.getCreatedOn());
        }
        ProjectExporter exporter = new ProjectExporter(thriftClients.makeComponentClient(),
                thriftClients.makeProjectClient(), user, projects, extendedByReleases);
        PortletResponseUtil.sendFile(request, response, filename, exporter.makeExcelExport(projects),
                CONTENT_TYPE_OPENXML_SPREADSHEET);
    } catch (IOException | SW360Exception e) {
        log.error("An error occurred while generating the Excel export", e);
        response.setProperty(ResourceResponse.HTTP_STATUS_CODE,
                Integer.toString(HttpServletResponse.SC_INTERNAL_SERVER_ERROR));
    }
}

From source file:org.eclipse.sw360.portal.portlets.projects.ProjectPortlet.java

License:Open Source License

private void exportReleasesSpreadsheet(ResourceRequest request, ResourceResponse response) {
    final User user = UserCacheHolder.getUserFromRequest(request);
    try {/*from  www .  ja va 2  s  .co m*/
        String id = request.getParameter(PROJECT_ID);
        ProjectService.Iface client = thriftClients.makeProjectClient();
        Project project = null;
        if (!isNullOrEmpty(id)) {
            project = client.getProjectById(id, user);
        }
        if (project != null) {
            List<ReleaseClearingStatusData> releaseStringMap = client.getReleaseClearingStatuses(id, user);
            List<Release> releases = releaseStringMap.stream().map(ReleaseClearingStatusData::getRelease)
                    .sorted(Comparator.comparing(SW360Utils::printFullname)).collect(Collectors.toList());
            ReleaseExporter exporter = new ReleaseExporter(thriftClients.makeComponentClient(), releases, user,
                    releaseStringMap);

            PortletResponseUtil.sendFile(request, response,
                    String.format("releases-%s-%s-%s.xlsx", project.getName(), project.getVersion(),
                            SW360Utils.getCreatedOn()),
                    exporter.makeExcelExport(releases), CONTENT_TYPE_OPENXML_SPREADSHEET);
        }
    } catch (IOException | TException e) {
        log.error("An error occurred while generating the Excel export", e);
        response.setProperty(ResourceResponse.HTTP_STATUS_CODE,
                Integer.toString(HttpServletResponse.SC_INTERNAL_SERVER_ERROR));
    }
}

From source file:org.gfbio.ContactFormToHelpdeskPortlet.java

License:Open Source License

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

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

    String portletId = PortalUtil.getPortletId(resourceRequest);

    PortletPermissionUtil.check(themeDisplay.getPermissionChecker(), themeDisplay.getPlid(), portletId,
            ActionKeys.CONFIGURATION);/*from  www . jav a  2s  .c  om*/

    PortletPreferences preferences = PortletPreferencesFactoryUtil.getPortletSetup(resourceRequest);

    String databaseTableName = preferences.getValue("databaseTableName", StringPool.BLANK);
    String title = preferences.getValue("title", "no-title");

    StringBuilder sb = new StringBuilder();

    List<String> fieldLabels = new ArrayList<String>();

    for (int i = 1; true; i++) {
        String fieldLabel = preferences.getValue("fieldLabel" + i, StringPool.BLANK);

        String localizedfieldLabel = LocalizationUtil.getPreferencesValue(preferences, "fieldLabel" + i,
                themeDisplay.getLanguageId());

        if (Validator.isNull(fieldLabel)) {
            break;
        }

        fieldLabels.add(fieldLabel);

        sb.append("\"");
        sb.append(localizedfieldLabel.replaceAll("\"", "\\\""));
        sb.append("\";");
    }

    sb.deleteCharAt(sb.length() - 1);
    sb.append("\n");

    if (Validator.isNotNull(databaseTableName)) {
        List<ExpandoRow> rows = ExpandoRowLocalServiceUtil.getRows(themeDisplay.getCompanyId(),
                WebFormUtil.class.getName(), databaseTableName, QueryUtil.ALL_POS, QueryUtil.ALL_POS);

        for (ExpandoRow row : rows) {
            for (String fieldName : fieldLabels) {
                String data = ExpandoValueLocalServiceUtil.getData(themeDisplay.getCompanyId(),
                        WebFormUtil.class.getName(), databaseTableName, fieldName, row.getClassPK(),
                        StringPool.BLANK);

                data = data.replaceAll("\"", "\\\"");

                sb.append("\"");
                sb.append(data);
                sb.append("\";");
            }

            sb.deleteCharAt(sb.length() - 1);
            sb.append("\n");
        }
    }

    String fileName = title + ".csv";
    byte[] bytes = sb.toString().getBytes();
    String contentType = ContentTypes.APPLICATION_TEXT;

    PortletResponseUtil.sendFile(resourceRequest, resourceResponse, fileName, bytes, contentType);
}