@RequestMapping public String ver( RenderRequest request, RenderResponse response, @RequestParam(required = false) Integer dias, Model model) { log.debug("Viendo el versiculo"); TimeZone tz = null; DateTimeZone zone = null; ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY); try { tz = themeDisplay.getTimeZone(); zone = DateTimeZone.forID(tz.getID()); } catch (IllegalArgumentException e) { zone = DateTimeZone.forID(ZonaHorariaUtil.getConvertedId(tz.getID())); } try { long scopeGroupId = themeDisplay.getScopeGroupId(); AssetEntryQuery assetEntryQuery = new AssetEntryQuery(); DateTime hoy = (DateTime) request.getPortletSession().getAttribute("hoy", PortletSession.APPLICATION_SCOPE); if (hoy == null) { hoy = new DateTime(zone); log.debug("Subiendo atributo hoy({}) a la sesion", hoy); request.getPortletSession().setAttribute("hoy", hoy, PortletSession.APPLICATION_SCOPE); } // Busca el contenido del dia String[] tags = TagsUtil.getTags(new String[4], hoy); tags[3] = "versiculo"; long[] assetTagIds = AssetTagLocalServiceUtil.getTagIds(scopeGroupId, tags); assetEntryQuery.setAllTagIds(assetTagIds); List<AssetEntry> results = AssetEntryServiceUtil.getEntries(assetEntryQuery); log.debug("Buscando el versiculo de la semana {}", hoy); for (AssetEntry asset : results) { if (asset.getClassName().equals(JournalArticle.class.getName())) { JournalArticle ja = JournalArticleLocalServiceUtil.getLatestArticle(asset.getClassPK()); String contenido = JournalArticleLocalServiceUtil.getArticleContent( ja.getGroupId(), ja.getArticleId(), "view", "" + themeDisplay.getLocale(), themeDisplay); model.addAttribute("contenido", contenido); } } } catch (Exception e) { log.error("No se pudo cargar el contenido", e); throw new RuntimeException("No se pudo cargar el contenido", e); } return "versiculo/ver"; }
public ActionForward execute( ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { UploadServletRequest uploadRequest = null; try { String cmd = ParamUtil.getString(request, Constants.CMD); ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY); long groupId = ParamUtil.getLong(request, "groupId"); String articleId = ParamUtil.getString(request, "articleId"); double version = ParamUtil.getDouble(request, "version", JournalArticleConstants.DEFAULT_VERSION); String languageId = LanguageUtil.getLanguageId(request); String output = null; if (cmd.equals(Constants.PREVIEW)) { uploadRequest = PortalUtil.getUploadServletRequest(request); String title = ParamUtil.getString(uploadRequest, "title"); String description = ParamUtil.getString(uploadRequest, "description"); String type = ParamUtil.getString(uploadRequest, "type"); String structureId = ParamUtil.getString(uploadRequest, "structureId"); String templateId = ParamUtil.getString(uploadRequest, "templateId"); Date now = new Date(); Date createDate = now; Date modifiedDate = now; Date displayDate = now; User user = PortalUtil.getUser(uploadRequest); String xml = ParamUtil.getString(uploadRequest, "xml"); Document doc = SAXReaderUtil.read(xml); Element root = doc.getRootElement(); String previewArticleId = "PREVIEW_" + PwdGenerator.getPassword(PwdGenerator.KEY3, 10); format(groupId, articleId, version, previewArticleId, root, uploadRequest); Map<String, String> tokens = JournalUtil.getTokens(groupId, themeDisplay); tokens.put("article_resource_pk", "-1"); JournalArticle article = new JournalArticleImpl(); article.setGroupId(groupId); article.setCompanyId(user.getCompanyId()); article.setUserId(user.getUserId()); article.setUserName(user.getFullName()); article.setCreateDate(createDate); article.setModifiedDate(modifiedDate); article.setArticleId(articleId); article.setVersion(version); article.setTitle(title); article.setDescription(description); article.setContent(xml); article.setType(type); article.setStructureId(structureId); article.setTemplateId(templateId); article.setDisplayDate(displayDate); output = JournalArticleLocalServiceUtil.getArticleContent( article, templateId, null, languageId, themeDisplay); } else { output = JournalArticleServiceUtil.getArticleContent( groupId, articleId, version, languageId, themeDisplay); } request.setAttribute(WebKeys.JOURNAL_ARTICLE_CONTENT, output); if (output.startsWith("<?xml ")) { return mapping.findForward("portlet.journal.raw_article_content"); } else { return mapping.findForward("portlet.journal.view_article_content"); } } catch (Exception e) { PortalUtil.sendError(e, request, response); return null; } finally { if (uploadRequest != null) { uploadRequest.cleanUp(); } } }