Most of the time when using Liferay’s Web Content (i.e. JournalArticle) you will want to determine the latest version to be displayed to your users. The following code snippet shows a simple solution to do so:
List<JournalArticle> articles = JournalArticleLocalServiceUtil.getStructureArticles(GROUPID, STRUCTUREID); ListIterator<JournalArticle> it = articles.listIterator(); List<String> checkedArticleIds = new ArrayList<String>(); while (it.hasNext()) { JournalArticle article = it.next(); if (checkedArticleIds.contains(article.getArticleId())) { continue; // previous article version already checked } JournalArticle articleLastVersion = JournalArticleLocalServiceUtil.getLatestArticle(GROUPID, article.getArticleId()); checkedArticleIds.add(article.getArticleId()); System.out.println("Added articleId " + article.getArticleId() + " with version " + article.getVersion()); }
Leave a Reply