List of usage examples for com.liferay.portal.kernel.portlet PortletResponseUtil sendFile
public static void sendFile(PortletRequest portletRequest, MimeResponse mimeResponse, String fileName, InputStream inputStream, String contentType) throws IOException
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); }