@Override public String getSummary(PortletRequest portletRequest, PortletResponse portletResponse) { Locale locale = getLocale(portletRequest); String summary = _article.getDescription(locale); if (Validator.isNotNull(summary)) { return summary; } try { PortletRequestModel portletRequestModel = null; ThemeDisplay themeDisplay = null; if ((portletRequest != null) && (portletResponse != null)) { portletRequestModel = new PortletRequestModel(portletRequest, portletResponse); themeDisplay = (ThemeDisplay) portletRequest.getAttribute(WebKeys.THEME_DISPLAY); } JournalArticleDisplay articleDisplay = JournalArticleLocalServiceUtil.getArticleDisplay( _article, null, null, LanguageUtil.getLanguageId(locale), 1, portletRequestModel, themeDisplay); summary = StringUtil.shorten(HtmlUtil.stripHtml(articleDisplay.getContent()), 200); } catch (Exception e) { } return summary; }
protected String processContent( JournalFeed feed, JournalArticle article, String languageId, ThemeDisplay themeDisplay, SyndEntry syndEntry, SyndContent syndContent) throws Exception { String content = article.getDescription(languageId); String contentField = feed.getContentField(); if (contentField.equals(JournalFeedConstants.RENDERED_WEB_CONTENT)) { String rendererTemplateId = article.getTemplateId(); if (Validator.isNotNull(feed.getRendererTemplateId())) { rendererTemplateId = feed.getRendererTemplateId(); } JournalArticleDisplay articleDisplay = JournalContentUtil.getDisplay( feed.getGroupId(), article.getArticleId(), rendererTemplateId, null, languageId, themeDisplay, 1, _XML_REQUUEST); if (articleDisplay != null) { content = articleDisplay.getContent(); } } else if (!contentField.equals(JournalFeedConstants.WEB_CONTENT_DESCRIPTION)) { Document document = SAXReaderUtil.read(article.getContentByLocale(languageId)); contentField = HtmlUtil.escapeXPathAttribute(contentField); XPath xPathSelector = SAXReaderUtil.createXPath("//dynamic-element[@name=" + contentField + "]"); List<Node> results = xPathSelector.selectNodes(document); if (results.size() == 0) { return content; } Element element = (Element) results.get(0); String elType = element.attributeValue("type"); if (elType.equals("document_library")) { String url = element.elementText("dynamic-content"); url = processURL(feed, url, themeDisplay, syndEntry); } else if (elType.equals("image") || elType.equals("image_gallery")) { String url = element.elementText("dynamic-content"); url = processURL(feed, url, themeDisplay, syndEntry); content = content + "<br /><br /><img alt='' src='" + themeDisplay.getURLPortal() + url + "' />"; } else if (elType.equals("text_box")) { syndContent.setType("text"); content = element.elementText("dynamic-content"); } else { content = element.elementText("dynamic-content"); } } return content; }