public String getNodePagesRSS( long nodeId, int max, String type, double version, String displayStyle, String feedURL, String entryURL) throws PortalException, SystemException { WikiNodePermission.check(getPermissionChecker(), nodeId, ActionKeys.VIEW); WikiNode node = wikiNodePersistence.findByPrimaryKey(nodeId); long companyId = node.getCompanyId(); String name = node.getName(); String description = node.getDescription(); List<WikiPage> pages = getNodePages(nodeId, max); boolean diff = false; Locale locale = null; return exportToRSS( companyId, name, description, type, version, displayStyle, feedURL, entryURL, pages, diff, locale); }
protected void processSpecialPages( long userId, WikiNode node, Element rootElement, List<String> specialNamespaces) throws PortalException { ProgressTracker progressTracker = ProgressTrackerThreadLocal.getProgressTracker(); List<Element> pageElements = rootElement.elements("page"); for (int i = 0; i < pageElements.size(); i++) { Element pageElement = pageElements.get(i); String title = pageElement.elementText("title"); if (!title.startsWith("Category:")) { if (isSpecialMediaWikiPage(title, specialNamespaces)) { rootElement.remove(pageElement); } continue; } String categoryName = title.substring("Category:".length()); categoryName = normalize(categoryName, 75); Element revisionElement = pageElement.element("revision"); String description = revisionElement.elementText("text"); description = normalizeDescription(description); try { AssetTag assetTag = null; try { assetTag = AssetTagLocalServiceUtil.getTag(node.getCompanyId(), categoryName); } catch (NoSuchTagException nste) { ServiceContext serviceContext = new ServiceContext(); serviceContext.setAddGroupPermissions(true); serviceContext.setAddGuestPermissions(true); serviceContext.setScopeGroupId(node.getGroupId()); assetTag = AssetTagLocalServiceUtil.addTag(userId, categoryName, null, serviceContext); } if (Validator.isNotNull(description)) { AssetTagPropertyLocalServiceUtil.addTagProperty( userId, assetTag.getTagId(), "description", description); } } catch (SystemException se) { _log.error(se, se); } if ((i % 5) == 0) { progressTracker.setPercent((i * 10) / pageElements.size()); } } }
protected long getUserId( long userId, WikiNode node, String author, Map<String, String> usersMap) { User user = null; String emailAddress = usersMap.get(author); if (Validator.isNotNull(emailAddress)) { user = UserLocalServiceUtil.fetchUserByEmailAddress(node.getCompanyId(), emailAddress); } else { user = UserLocalServiceUtil.fetchUserByScreenName( node.getCompanyId(), StringUtil.toLowerCase(author)); } if (user != null) { return user.getUserId(); } return userId; }
@Test public void testUpdateExisting() throws Exception { long pk = RandomTestUtil.nextLong(); WikiNode newWikiNode = _persistence.create(pk); newWikiNode.setUuid(RandomTestUtil.randomString()); newWikiNode.setGroupId(RandomTestUtil.nextLong()); newWikiNode.setCompanyId(RandomTestUtil.nextLong()); newWikiNode.setUserId(RandomTestUtil.nextLong()); newWikiNode.setUserName(RandomTestUtil.randomString()); newWikiNode.setCreateDate(RandomTestUtil.nextDate()); newWikiNode.setModifiedDate(RandomTestUtil.nextDate()); newWikiNode.setName(RandomTestUtil.randomString()); newWikiNode.setDescription(RandomTestUtil.randomString()); newWikiNode.setLastPostDate(RandomTestUtil.nextDate()); newWikiNode.setStatus(RandomTestUtil.nextInt()); newWikiNode.setStatusByUserId(RandomTestUtil.nextLong()); newWikiNode.setStatusByUserName(RandomTestUtil.randomString()); newWikiNode.setStatusDate(RandomTestUtil.nextDate()); _persistence.update(newWikiNode); WikiNode existingWikiNode = _persistence.findByPrimaryKey(newWikiNode.getPrimaryKey()); Assert.assertEquals(existingWikiNode.getUuid(), newWikiNode.getUuid()); Assert.assertEquals(existingWikiNode.getNodeId(), newWikiNode.getNodeId()); Assert.assertEquals(existingWikiNode.getGroupId(), newWikiNode.getGroupId()); Assert.assertEquals(existingWikiNode.getCompanyId(), newWikiNode.getCompanyId()); Assert.assertEquals(existingWikiNode.getUserId(), newWikiNode.getUserId()); Assert.assertEquals(existingWikiNode.getUserName(), newWikiNode.getUserName()); Assert.assertEquals( Time.getShortTimestamp(existingWikiNode.getCreateDate()), Time.getShortTimestamp(newWikiNode.getCreateDate())); Assert.assertEquals( Time.getShortTimestamp(existingWikiNode.getModifiedDate()), Time.getShortTimestamp(newWikiNode.getModifiedDate())); Assert.assertEquals(existingWikiNode.getName(), newWikiNode.getName()); Assert.assertEquals(existingWikiNode.getDescription(), newWikiNode.getDescription()); Assert.assertEquals( Time.getShortTimestamp(existingWikiNode.getLastPostDate()), Time.getShortTimestamp(newWikiNode.getLastPostDate())); Assert.assertEquals(existingWikiNode.getStatus(), newWikiNode.getStatus()); Assert.assertEquals(existingWikiNode.getStatusByUserId(), newWikiNode.getStatusByUserId()); Assert.assertEquals(existingWikiNode.getStatusByUserName(), newWikiNode.getStatusByUserName()); Assert.assertEquals( Time.getShortTimestamp(existingWikiNode.getStatusDate()), Time.getShortTimestamp(newWikiNode.getStatusDate())); }