List of usage examples for com.liferay.portal.kernel.servlet ServletResponseUtil sendFile
public static void sendFile(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, String fileName, InputStream inputStream) throws IOException
From source file:m.omarh.liferay.resources.importer.generator.SitemapGeneratorPortlet.java
License:Open Source License
@Override public void serveResource(ResourceRequest resourceRequest, ResourceResponse resourceResponse) throws IOException, PortletException { String resourceId = resourceRequest.getResourceID(); boolean isDocument = ParamUtil.getBoolean(resourceRequest, "document"); ThemeDisplay themeDisplay = (ThemeDisplay) resourceRequest.getAttribute(WebKeys.THEME_DISPLAY); if (resourceId.equals("sitemap.json")) { String sitemap = JSONUtil.valorizeVariables(themeDisplay, SiteMapUtil.generateJSONSitemap(themeDisplay.getScopeGroup()).toString()); writeJSON(resourceRequest, resourceResponse, JSONUtil.beautify(sitemap)); } else if (resourceId.equals("assets.json")) { String assets = JSONUtil.valorizeVariables(themeDisplay, AssetsUtil.generateJSONAsset(themeDisplay.getScopeGroup()).toString()); writeJSON(resourceRequest, resourceResponse, JSONUtil.beautify(assets)); } else if (resourceId.endsWith(".html") && !isDocument) { writeJSON(resourceRequest, resourceResponse, JournalArticleUtil.getJournalArticleContentJSONObject(themeDisplay, resourceId)); } else if (resourceId.endsWith(".xml") && !isDocument) { String uuid = ParamUtil.getString(resourceRequest, "uuid"); writeJSON(resourceRequest, resourceResponse, JournalStructureUtil.getJournalStructureContent(themeDisplay, uuid)); } else if (resourceId.endsWith(".vm") || resourceId.endsWith(".ftl")) { String uuid = ParamUtil.getString(resourceRequest, "uuid"); writeJSON(resourceRequest, resourceResponse, JournalTemplateUtil.getJournalTemplateContent(themeDisplay, uuid)); } else if (resourceId.endsWith("articles_")) { writeJSON(resourceRequest, resourceResponse, JournalArticleUtil.buildJSONJournalArticles(themeDisplay, false, StringPool.BLANK, StringPool.BLANK)); } else if (resourceId.endsWith("structures_")) { writeJSON(resourceRequest, resourceResponse, JournalStructureUtil.buildJSONDDMStrcutures( themeDisplay.getScopeGroup(), false, StringPool.BLANK, StringPool.BLANK)); } else if (resourceId.endsWith("templates_")) { writeJSON(resourceRequest, resourceResponse, JournalTemplateUtil.buildJSONDDMTemplates( themeDisplay.getScopeGroup(), false, StringPool.BLANK, StringPool.BLANK)); } else if (resourceId.endsWith("application_display_")) { writeJSON(resourceRequest, resourceResponse, ApplicationDisplayUtil.buildJSONApplicationDisplay( themeDisplay.getScopeGroup(), false, StringPool.BLANK, StringPool.BLANK)); } else if (resourceId.endsWith("documents_")) { writeJSON(resourceRequest, resourceResponse, DocumentUtil .buildJSONDocuments(themeDisplay.getScopeGroup(), false, StringPool.BLANK, StringPool.BLANK)); } else if (ArrayUtil.contains(DocumentUtil.TEXT_EXTENSIONS, FileUtil.getExtension(resourceId))) { String uuid = ParamUtil.getString(resourceRequest, "uuid"); writeJSON(resourceRequest, resourceResponse, DocumentUtil.getDLFileContent(themeDisplay, uuid)); } else if (ArrayUtil.contains(DocumentUtil.MIME_TYPES_CONTENT_DISPOSITION_INLINE, FileUtil.getExtension(resourceId)) && isDocument) { String uuid = ParamUtil.getString(resourceRequest, "uuid"); InputStream inputStream = new ByteArrayInputStream(Base64 .encode(DocumentUtil.getDLFileBytes(themeDisplay, uuid)).getBytes(StandardCharsets.UTF_8)); ServletResponseUtil.sendFile(PortalUtil.getHttpServletRequest(resourceRequest), PortalUtil.getHttpServletResponse(resourceResponse), resourceId, inputStream); /*JSONObject base64JSONObject = JSONFactoryUtil.createJSONObject(); base64JSONObject.put("content", Base64.encode(DocumentUtil.getDLFileBytes(themeDisplay, uuid))); // ww w .j a va2 s . co m writeJSON(resourceRequest, resourceResponse, base64JSONObject);*/ } super.serveResource(resourceRequest, resourceResponse); }