@Override protected int getNotInTrashBaseModelsCount(BaseModel<?> parentBaseModel) throws Exception { JournalFolder folder = (JournalFolder) parentBaseModel; return JournalArticleLocalServiceUtil.getNotInTrashArticlesCount( folder.getGroupId(), folder.getFolderId()); }
@Override protected List<? extends WorkflowedModel> getChildrenWorkflowedModels( BaseModel<?> parentBaseModel) throws Exception { JournalFolder folder = (JournalFolder) parentBaseModel; return JournalArticleLocalServiceUtil.getArticles(folder.getGroupId(), folder.getFolderId()); }
@Override protected void expireBaseModelVersions( BaseModel<?> baseModel, boolean expireAllVersions, ServiceContext serviceContext) throws Exception { JournalArticle article = (JournalArticle) baseModel; if (expireAllVersions) { JournalArticleLocalServiceUtil.expireArticle( article.getUserId(), article.getGroupId(), article.getArticleId(), article.getUrlTitle(), serviceContext); } else { JournalArticleLocalServiceUtil.expireArticle( article.getUserId(), article.getGroupId(), article.getArticleId(), article.getVersion(), article.getUrlTitle(), serviceContext); } }
@Override protected BaseModel<?> updateBaseModel(long primaryKey, ServiceContext serviceContext) throws Exception { JournalArticle article = JournalArticleLocalServiceUtil.getArticle(primaryKey); return JournalTestUtil.updateArticle( article, "Content: Enterprise. Open Source. For Life.", article.getContent(), false, true, serviceContext); }
@Override protected BaseModel<?> expireBaseModel(BaseModel<?> baseModel, ServiceContext serviceContext) throws Exception { JournalArticle article = (JournalArticle) baseModel; return JournalArticleLocalServiceUtil.expireArticle( article.getUserId(), article.getGroupId(), article.getArticleId(), article.getVersion(), StringPool.BLANK, serviceContext); }
@Override protected String getPath(SocialActivity activity, ServiceContext serviceContext) throws Exception { JournalArticle article = JournalArticleLocalServiceUtil.getLatestArticle(activity.getClassPK()); Layout layout = article.getLayout(); if (layout != null) { String groupFriendlyURL = PortalUtil.getGroupFriendlyURL(layout.getLayoutSet(), serviceContext.getThemeDisplay()); return groupFriendlyURL .concat(JournalArticleConstants.CANONICAL_URL_SEPARATOR) .concat(article.getUrlTitle()); } return null; }
@Override protected boolean hasPermissions( PermissionChecker permissionChecker, SocialActivity activity, String actionId, ServiceContext serviceContext) throws Exception { int activityType = activity.getType(); if (activityType == JournalActivityKeys.ADD_ARTICLE) { JournalArticle article = JournalArticleLocalServiceUtil.getLatestArticle(activity.getClassPK()); return JournalFolderPermission.contains( permissionChecker, article.getGroupId(), article.getFolderId(), ActionKeys.ADD_ARTICLE); } else if (activityType == JournalActivityKeys.UPDATE_ARTICLE) { return JournalArticlePermission.contains( permissionChecker, activity.getClassPK(), ActionKeys.UPDATE); } return JournalArticlePermission.contains(permissionChecker, activity.getClassPK(), actionId); }
public static String getURL( HttpServletRequest request, ThemeDisplay themeDisplay, AssetRendererFactory assetRendererFactory, AssetRenderer assetRenderer) throws Exception { long classPK = assetRenderer.getClassPK(); String className = assetRendererFactory.getClassName(); String portletId = PortletProviderUtil.getPortletId(className, PortletProvider.Action.VIEW); PortletURL portletURL = null; if (className.equals(BlogsEntry.class.getName())) { portletURL = PortletURLFactoryUtil.create( request, portletId, themeDisplay.getPlid(), PortletRequest.RENDER_PHASE); portletURL.setParameter("mvcRenderCommandName", "/blogs/view_entry"); portletURL.setParameter("entryId", String.valueOf(classPK)); } else if (className.equals(JournalArticle.class.getName())) { JournalArticle journalArticle = JournalArticleLocalServiceUtil.getLatestArticle(classPK); portletURL = PortletURLFactoryUtil.create( request, portletId, themeDisplay.getPlid(), PortletRequest.RENDER_PHASE); portletURL.setParameter("struts_action", "/journal_content/view"); portletURL.setParameter("groupId", String.valueOf(journalArticle.getGroupId())); portletURL.setParameter("articleId", journalArticle.getArticleId()); } else if (className.equals(KBArticle.class.getName())) { portletURL = PortletURLFactoryUtil.create( request, PortletKeys.KNOWLEDGE_BASE_ARTICLE_DEFAULT_INSTANCE, themeDisplay.getPlid(), PortletRequest.RENDER_PHASE); portletURL.setParameter("mvcPath", "/article/view_article.jsp"); portletURL.setParameter("resourcePrimKey", String.valueOf(classPK)); } else if (className.equals(MBMessage.class.getName())) { portletURL = PortletURLFactoryUtil.create( request, portletId, themeDisplay.getPlid(), PortletRequest.RENDER_PHASE); portletURL.setParameter("struts_action", "/message_boards/view_message"); portletURL.setParameter("messageId", String.valueOf(classPK)); } else if (className.equals(WikiPage.class.getName())) { WikiPage wikiPage = WikiPageLocalServiceUtil.getPage(classPK); portletURL = PortletURLFactoryUtil.create( request, portletId, themeDisplay.getPlid(), PortletRequest.RENDER_PHASE); portletURL.setParameter("struts_action", "/wiki/view"); portletURL.setParameter("nodeId", String.valueOf(wikiPage.getNodeId())); portletURL.setParameter("title", wikiPage.getTitle()); } String currentURL = PortalUtil.getCurrentURL(request); if (portletURL == null) { return currentURL; } portletURL.setWindowState(WindowState.MAXIMIZED); portletURL.setPortletMode(PortletMode.VIEW); portletURL.setParameter("returnToFullPageURL", currentURL); return portletURL.toString(); }
public ArticleSearch getSearchContainer() throws PortalException { ThemeDisplay themeDisplay = (ThemeDisplay) _request.getAttribute(WebKeys.THEME_DISPLAY); ArticleSearch articleSearchContainer = new ArticleSearch(_liferayPortletRequest, getPortletURL()); OrderByComparator<JournalArticle> orderByComparator = JournalPortletUtil.getArticleOrderByComparator(getOrderByCol(), getOrderByType()); articleSearchContainer.setOrderByCol(getOrderByCol()); articleSearchContainer.setOrderByComparator(orderByComparator); articleSearchContainer.setOrderByType(getOrderByType()); EntriesChecker entriesChecker = new EntriesChecker(_liferayPortletRequest, _liferayPortletResponse); entriesChecker.setCssClass("entry-selector"); articleSearchContainer.setRowChecker(entriesChecker); EntriesMover entriesMover = new EntriesMover(themeDisplay.getScopeGroupId()); articleSearchContainer.setRowMover(entriesMover); if (isNavigationMine() || isNavigationRecent()) { boolean includeOwner = true; if (isNavigationMine()) { includeOwner = false; } if (isNavigationRecent()) { articleSearchContainer.setOrderByCol("create-date"); articleSearchContainer.setOrderByType(getOrderByType()); } int total = JournalArticleServiceUtil.getGroupArticlesCount( themeDisplay.getScopeGroupId(), themeDisplay.getUserId(), getFolderId(), getStatus(), includeOwner); articleSearchContainer.setTotal(total); List results = JournalArticleServiceUtil.getGroupArticles( themeDisplay.getScopeGroupId(), themeDisplay.getUserId(), getFolderId(), getStatus(), includeOwner, articleSearchContainer.getStart(), articleSearchContainer.getEnd(), articleSearchContainer.getOrderByComparator()); articleSearchContainer.setResults(results); } else if (Validator.isNotNull(getDDMStructureKey())) { int total = JournalArticleServiceUtil.getArticlesCountByStructureId( themeDisplay.getScopeGroupId(), getDDMStructureKey(), getStatus()); articleSearchContainer.setTotal(total); List results = JournalArticleServiceUtil.getArticlesByStructureId( themeDisplay.getScopeGroupId(), getDDMStructureKey(), getStatus(), articleSearchContainer.getStart(), articleSearchContainer.getEnd(), articleSearchContainer.getOrderByComparator()); articleSearchContainer.setResults(results); } else if (Validator.isNotNull(getDDMTemplateKey())) { List<Long> folderIds = new ArrayList<>(1); if (getFolderId() != JournalFolderConstants.DEFAULT_PARENT_FOLDER_ID) { folderIds.add(getFolderId()); } int total = JournalArticleServiceUtil.searchCount( themeDisplay.getCompanyId(), themeDisplay.getScopeGroupId(), folderIds, JournalArticleConstants.CLASSNAME_ID_DEFAULT, getKeywords(), -1.0, getDDMStructureKey(), getDDMTemplateKey(), null, null, getStatus(), null); articleSearchContainer.setTotal(total); List results = JournalArticleServiceUtil.search( themeDisplay.getCompanyId(), themeDisplay.getScopeGroupId(), folderIds, JournalArticleConstants.CLASSNAME_ID_DEFAULT, getKeywords(), -1.0, getDDMStructureKey(), getDDMTemplateKey(), null, null, getStatus(), null, articleSearchContainer.getStart(), articleSearchContainer.getEnd(), articleSearchContainer.getOrderByComparator()); articleSearchContainer.setResults(results); } else if (isSearch()) { List<Long> folderIds = new ArrayList<>(1); if (getFolderId() != JournalFolderConstants.DEFAULT_PARENT_FOLDER_ID) { folderIds.add(getFolderId()); } JournalWebConfiguration journalWebConfiguration = (JournalWebConfiguration) _request.getAttribute(JournalWebConfiguration.class.getName()); if (journalWebConfiguration.journalArticlesSearchWithIndex()) { boolean orderByAsc = false; if (Validator.equals(getOrderByType(), "asc")) { orderByAsc = true; } Sort sort = null; if (Validator.equals(getOrderByCol(), "display-date")) { sort = new Sort("displayDate", Sort.LONG_TYPE, orderByAsc); } else if (Validator.equals(getOrderByCol(), "modified-date")) { sort = new Sort(Field.MODIFIED_DATE, Sort.LONG_TYPE, orderByAsc); } LinkedHashMap<String, Object> params = new LinkedHashMap<>(); params.put("expandoAttributes", getKeywords()); BaseModelSearchResult<JournalArticle> baseModelSearchResult = JournalArticleLocalServiceUtil.searchJournalArticles( themeDisplay.getCompanyId(), themeDisplay.getScopeGroupId(), folderIds, JournalArticleConstants.CLASSNAME_ID_DEFAULT, getDDMStructureKey(), getDDMTemplateKey(), getKeywords(), params, articleSearchContainer.getStart(), articleSearchContainer.getEnd(), sort); int total = baseModelSearchResult.getLength(); articleSearchContainer.setTotal(total); List results = baseModelSearchResult.getBaseModels(); articleSearchContainer.setResults(results); } else { int total = JournalArticleServiceUtil.searchCount( themeDisplay.getCompanyId(), themeDisplay.getScopeGroupId(), folderIds, JournalArticleConstants.CLASSNAME_ID_DEFAULT, getKeywords(), -1.0, getDDMStructureKey(), getDDMTemplateKey(), null, null, getStatus(), null); articleSearchContainer.setTotal(total); List results = JournalArticleServiceUtil.search( themeDisplay.getCompanyId(), themeDisplay.getScopeGroupId(), folderIds, JournalArticleConstants.CLASSNAME_ID_DEFAULT, getKeywords(), -1.0, getDDMStructureKey(), getDDMTemplateKey(), null, null, getStatus(), null, articleSearchContainer.getStart(), articleSearchContainer.getEnd(), articleSearchContainer.getOrderByComparator()); articleSearchContainer.setResults(results); } } else { int total = JournalFolderServiceUtil.getFoldersAndArticlesCount( themeDisplay.getScopeGroupId(), 0, getFolderId(), getStatus()); articleSearchContainer.setTotal(total); OrderByComparator<Object> folderOrderByComparator = null; boolean orderByAsc = false; if (Validator.equals(getOrderByType(), "asc")) { orderByAsc = true; } if (Validator.equals(getOrderByCol(), "display-date")) { folderOrderByComparator = new FolderArticleDisplayDateComparator(orderByAsc); } else if (Validator.equals(getOrderByCol(), "modified-date")) { folderOrderByComparator = new FolderArticleModifiedDateComparator(orderByAsc); } List results = JournalFolderServiceUtil.getFoldersAndArticles( themeDisplay.getScopeGroupId(), 0, getFolderId(), getStatus(), articleSearchContainer.getStart(), articleSearchContainer.getEnd(), folderOrderByComparator); articleSearchContainer.setResults(results); } return articleSearchContainer; }
@Override protected void moveBaseModelToTrash(long primaryKey) throws Exception { JournalArticle article = JournalArticleLocalServiceUtil.getArticle(primaryKey); JournalArticleLocalServiceUtil.moveArticleToTrash(TestPropsValues.getUserId(), article); }
@Override protected void deleteBaseModel(BaseModel<?> baseModel) throws Exception { JournalArticleLocalServiceUtil.deleteArticle((JournalArticle) baseModel); }
@Override protected BaseModel<?> getBaseModel(long primaryKey) throws Exception { return JournalArticleLocalServiceUtil.getArticle(primaryKey); }