/***************************************************************************
* Copyright 2001-2006 The eXo Platform SARL All rights reservd. *
* Please look at license.txt in info directory for more license detail. *
**************************************************************************/
package org.exoplatform.forum.test;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import javax.jcr.ImportUUIDBehavior;
import javax.jcr.Node;
import org.apache.commons.io.FileUtils;
import org.exoplatform.forum.service.Category;
import org.exoplatform.forum.service.Forum;
import org.exoplatform.forum.service.ForumAdministration;
import org.exoplatform.forum.service.ForumNodeTypes;
import org.exoplatform.forum.service.ForumPrivateMessage;
import org.exoplatform.forum.service.ForumService;
import org.exoplatform.forum.service.ForumStatistic;
import org.exoplatform.forum.service.JCRPageList;
import org.exoplatform.forum.service.MessageBuilder;
import org.exoplatform.forum.service.Post;
import org.exoplatform.forum.service.Tag;
import org.exoplatform.forum.service.Topic;
import org.exoplatform.forum.service.TopicType;
import org.exoplatform.forum.service.UserProfile;
import org.exoplatform.forum.service.Utils;
import org.exoplatform.forum.service.Watch;
import org.exoplatform.ks.bbcode.api.BBCode;
import org.exoplatform.services.jcr.ext.app.SessionProviderService;
import org.exoplatform.services.jcr.util.IdGenerator;
/**
* Created by The eXo Platform SARL
* Author : Hung Nguyen
* hung.nguyen@exoplatform.com
* July 3, 2007
*/
public class TestForumService extends ForumServiceTestCase {
private static final String USER_ROOT = "root";
private static final String USER_DEMO = "demo";
private static final String USER_JOHN = "john";
public TestForumService() throws Exception {
super();
}
private ForumService forumService_;
private String categoryId;
private String forumId;
private String topicId;
public void setUp() throws Exception {
super.setUp();
forumService_ = (ForumService) container.getComponentInstanceOfType(ForumService.class);
SessionProviderService sessionProviderService = (SessionProviderService) container.getComponentInstanceOfType(SessionProviderService.class);
sProvider = sessionProviderService.getSystemSessionProvider(null);
}
public void testForumService() throws Exception {
ForumStatistic forumStatistic = new ForumStatistic();
forumService_.saveForumStatistic(forumStatistic);
assertNotNull(forumService_);
}
public void testUserProfile() throws Exception {
String userName = "tu.duy";
UserProfile userProfile = createdUserProfile(userName);
// save UserProfile
forumService_.saveUserProfile(userProfile, true, true);
// getUserInfo
userProfile = forumService_.getUserInfo(userName);
assertNotNull("Get info UserProfile is null", userProfile);
// get Default
userProfile = forumService_.getDefaultUserProfile(userName, "");
assertNotNull("Get default UserProfile is null", userProfile);
// getUserInformations
userProfile = forumService_.getUserInformations(userProfile);
assertNotNull("Get informations UserProfile is null", userProfile);
// getUserSettingProfile
userProfile = forumService_.getUserSettingProfile(userName);
assertNotNull("Get Setting UserProfile is not null", userProfile);
// saveUserSettingProfile
assertEquals("Default AutoWatchMyTopics is false", userProfile.getIsAutoWatchMyTopics(), false);
userProfile.setIsAutoWatchMyTopics(true);
forumService_.saveUserSettingProfile(userProfile);
userProfile = forumService_.getUserSettingProfile(userName);
assertEquals("Edit AutoWatchMyTopics and can't save this property. AutoWatchMyTopics is false", userProfile.getIsAutoWatchMyTopics(), true);
//
}
public void testUserLogin() throws Exception {
String[] userIds = new String[] { USER_ROOT, USER_JOHN, USER_DEMO };
for (int i = 0; i < userIds.length; i++) {
try {
forumService_.getQuickProfile(userIds[i]);
} catch (Exception e) {
forumService_.saveUserProfile(createdUserProfile(userIds[i]), true, true);
}
}
// Add user login
forumService_.userLogin(USER_ROOT);
forumService_.userLogin(USER_JOHN);
forumService_.userLogin(USER_DEMO);
// Get all user online:
assertEquals("Get all user online", 3, forumService_.getOnlineUsers().size());
// isOnline
assertEquals("John is not Online", forumService_.isOnline(USER_JOHN), true);
// get Last Login
assertEquals("Demo can't last Login", forumService_.getLastLogin(), USER_DEMO);
// userLogout
forumService_.userLogout(USER_DEMO);
assertEquals("Demo is online", forumService_.isOnline(USER_DEMO), false);
}
public void testForumAdministration() throws Exception {
ForumAdministration administration = createForumAdministration();
forumService_.saveForumAdministration(administration);
administration = forumService_.getForumAdministration();
assertNotNull(administration);
assertEquals(administration.getForumSortBy(), "forumName");
}
public void testCategory() throws Exception {
String[] catIds = new String[] { getId(Utils.CATEGORY), getId(Utils.CATEGORY), getId(Utils.CATEGORY) };
// add category
forumService_.saveCategory(createCategory(catIds[0]), true);
forumService_.saveCategory(createCategory(catIds[1]), true);
forumService_.saveCategory(createCategory(catIds[2]), true);
Category category = forumService_.getCategory(catIds[0]);
assertNotNull("Category is null", category);
// get categories
List<Category> categories = forumService_.getCategories();
assertEquals(categories.size(), 3);
// update category
category.setCategoryName("ReName Category");
forumService_.saveCategory(category, false);
Category updatedCat = forumService_.getCategory(catIds[0]);
assertEquals("Category name is not change", "ReName Category", updatedCat.getCategoryName());
// test removeCategory
for (int i = 0; i < 3; ++i) {
forumService_.removeCategory(catIds[i]);
}
categories = forumService_.getCategories();
assertEquals("Size categories can not equals 0", categories.size(), 0);
}
public void testForum() throws Exception {
String catId = getId(Utils.CATEGORY);
Category cat = createCategory(catId);
// create new category
forumService_.saveCategory(cat, true);
// create new forum
Forum forum = createdForum();
String forumId = forum.getId();
// add forum
forumService_.saveForum(catId, forum, true);
// getForum
forum = forumService_.getForum(catId, forumId);
assertNotNull("Forum is null", forum);
// getList Forum
// Created 5 new forum, we have total 6 forum.
List<Forum> forums = new ArrayList<Forum>();
for (int i = 0; i < 5; i++) {
forumService_.saveForum(cat.getId(), createdForum(), true);
}
forums.addAll(forumService_.getForums(catId, ""));
// check size of list forum
assertEquals("List forums size not equals 6", forums.size(), 6);
// update Forum
forum.setForumName("Forum update");
forumService_.saveForum(catId, forum, false);
assertEquals(forum.getForumName(), forumService_.getForum(catId, forumId).getForumName());
// modifyForum
forum.setIsLock(true);
forumService_.modifyForum(forum, 2);
forum = forumService_.getForum(catId, forumId);
assertEquals(forum.getIsLock(), true);
// saveModerateOfForum
List<String> list = new ArrayList<String>();
list.add(catId + "/" + forum.getId());
forumService_.saveModerateOfForums(list, "demo", false);
forum = forumService_.getForum(catId, forumId);
list.clear();
list.addAll(Arrays.asList(forum.getModerators()));
assertEquals(list.contains("demo"), true);
// test moderator of category.
cat.setModerators(new String[] { "admin", "john" });
forumService_.saveCategory(cat, false);
forum = forumService_.getForum(catId, forumId);
list.clear();
list.addAll(Arrays.asList(forum.getModerators()));
// assertEquals("Forum in category can not content moderatort user admin", list.contains("admin"), true);
// test moveForum, Move list Forum from Category 'cat' to Category 'cate'
// create new Category
Category cate = createCategory(getId(Utils.CATEGORY));
forumService_.saveCategory(cate, true);
Category cateNew = forumService_.getCategory(cate.getId());
// move forum
forumService_.moveForum(forums, cateNew.getPath());
// get forum in new category
forum = forumService_.getForum(cate.getId(), forumId);
assertNotNull(forum);
// remove Forum and return this Forum
for (Forum forum2 : forums) {
forumService_.removeForum(cate.getId(), forum2.getId());
}
// check remove
forums = forumService_.getForumSummaries(catId, "");
assertEquals("List forums can not equals 0", forums.size(), 0);
}
public void testTopic() throws Exception {
Category cat = createCategory(getId(Utils.CATEGORY));
forumService_.saveCategory(cat, true);
Forum forum = createdForum();
forumService_.saveForum(cat.getId(), forum, true);
List<String> listTopicId = new ArrayList<String>();
// add 10 Topics
List<Topic> list = new ArrayList<Topic>();
Topic topic;
for (int i = 0; i < 10; i++) {
topic = createdTopic("Owner");
list.add(topic);
listTopicId.add(topic.getId());
forumService_.saveTopic(cat.getId(), forum.getId(), topic, true, false, new MessageBuilder());
}
topic = list.get(8);
// get Topic - topic in position 8
Topic topica = forumService_.getTopic(cat.getId(), forum.getId(), topic.getId(), "");
assertNotNull(topica);
// get Topic by path
topica = forumService_.getTopicByPath(cat.getId() + "/" + forum.getId() + "/" + topic.getId(), false);
assertNotNull(topica);
// update Topic
topica.setIsSticky(true);
topica.setTopicName("topic 8");
forumService_.saveTopic(cat.getId(), forum.getId(), topica, false, false, new MessageBuilder());
assertEquals("This topic name not is 'topic 8'", "topic 8", forumService_.getTopic(cat.getId(), forum.getId(), topic.getId(), "").getTopicName());
// modifyTopic
topica.setIsLock(true);
list.clear();
list.add(topica);
forumService_.modifyTopic(list, 2);
topica = forumService_.getTopic(cat.getId(), forum.getId(), topic.getId(), "");
assertEquals("This topic is open.", topica.getIsLock(), true);
// get PageList Topic
JCRPageList pagelist = forumService_.getPageTopic(cat.getId(), forum.getId(), "", "");
assertEquals("Available all topics not equals 10.", pagelist.getAvailable(), 10);
pagelist.setPageSize(5);
List<Topic> listTopic = pagelist.getPage(1);
assertEquals("Available page not equals 5", listTopic.size(), 5);
assertEquals(pagelist.getAvailablePage(), 2);
// get Topic By User
topic = createdTopic("demo");
forumService_.saveTopic(cat.getId(), forum.getId(), topic, true, false, new MessageBuilder());
// We have 11 topic: 10 by Owner and 1 by demo
pagelist = forumService_.getPageTopicByUser("Owner", true, "");
assertEquals(pagelist.getAvailable(), 10);
// auto prune
// set 5 topics for old
Calendar cal = Calendar.getInstance();
cal.setTimeInMillis(cal.getTimeInMillis() - 2 * 86400000);
Node topicNode;
for (Topic topic2 : listTopic) {
topicNode = root_.getNode(topic2.getPath().replaceFirst("/", ""));
topicNode.setProperty(ForumNodeTypes.EXO_LAST_POST_DATE, cal);
topicNode.save();
}
listTopic = forumService_.getAllTopicsOld(1, forum.getPath());
assertEquals("Failed to run auto prune. List topic has size not equals 5.", listTopic.size(), 5);
// move Topic
// move topic from forum to forum 1
Forum forum1 = createdForum();
forumService_.saveForum(cat.getId(), forum1, true);
forum1 = forumService_.getForum(cat.getId(), forum1.getId());
List<Topic> topics = new ArrayList<Topic>();
topics.add(topica);
forumService_.moveTopic(topics, forum1.getPath(), "", "");
assertNotNull("Failed to moved topic, topic is null.", forumService_.getTopic(cat.getId(), forum1.getId(), topica.getId(), ""));
// test remove Topic return Topic
// remove id topic moved in list topicIds.
if (listTopicId.contains(topica.getId()))
listTopicId.remove(topica.getId());
for (String topicId : listTopicId) {
forumService_.removeTopic(cat.getId(), forum.getId(), topicId);
}
List<Topic> topics2 = forumService_.getTopics(cat.getId(), forum.getId());
assertEquals("Topics in forum failed to remove. List topic has size more than 1.", topics2.size(), 1);
}
public void testTopicType() throws Exception {
// set Data
setData();
TopicType topicType = createTopicType("Musics");
forumService_.saveTopicType(topicType);
forumService_.saveTopicType(createTopicType("Dance"));
forumService_.saveTopicType(createTopicType("Sing"));
topicType = forumService_.getTopicType(topicType.getId());
assertNotSame("Can not save and get Topic type.", topicType.getId(), TopicType.DEFAULT_ID);
// Check get All
List<TopicType> listTopicType = forumService_.getTopicTypes();
assertEquals("Can not get all topic type. Size of topicTypes list is not 3.", listTopicType.size(), 3);
}
private void setData() throws Exception {
killData();
Category cat = createCategory(getId(Utils.CATEGORY));
this.categoryId = cat.getId();
forumService_.saveCategory(cat, true);
Forum forum = createdForum();
this.forumId = forum.getId();
forumService_.saveForum(categoryId, forum, true);
Topic topic = createdTopic("root");
forumService_.saveTopic(categoryId, forumId, topic, true, false, new MessageBuilder());
this.topicId = topic.getId();
}
private void killData() throws Exception {
List<Category> cats = forumService_.getCategories();
if (cats.size() > 0) {
for (Category category : cats) {
forumService_.removeCategory(category.getId());
}
}
}
public void testPost() throws Exception {
// set Data
setData();
List<Post> posts = new ArrayList<Post>();
for (int i = 0; i < 25; ++i) {
Post post = createdPost();
posts.add(post);
forumService_.savePost(categoryId, forumId, topicId, post, true, new MessageBuilder());
}
// getPost
assertNotNull(forumService_.getPost(categoryId, forumId, topicId, posts.get(0).getId()));
// get ListPost
JCRPageList pagePosts = forumService_.getPosts(categoryId, forumId, topicId, "", "", "", "root");
assertEquals(pagePosts.getAvailable(), posts.size() + 1);// size = 26 (first post and new postList)
List page1 = pagePosts.getPage(1);
assertEquals(page1.size(), 10);
List page3 = pagePosts.getPage(3);
assertEquals(page3.size(), 6);
// getPost by Ip
JCRPageList pageIpPosts = forumService_.getListPostsByIP("192.168.1.11", null);
assertEquals(pageIpPosts.getAvailable(), 25);// size = 25 (not content first post)
// update Post First
Post newPost = (Post) pagePosts.getPage(1).get(1);
newPost.setMessage("New message");
forumService_.savePost(categoryId, forumId, topicId, newPost, false, new MessageBuilder());
assertEquals("New message", forumService_.getPost(categoryId, forumId, topicId, newPost.getId()).getMessage());
// test movePost
Topic topicnew = createdTopic("root");
forumService_.saveTopic(categoryId, forumId, topicnew, true, false, new MessageBuilder());
topicnew = forumService_.getTopic(categoryId, forumId, topicnew.getId(), "root");
forumService_.movePost(new String[] { newPost.getPath() }, topicnew.getPath(), false, "test mail content", "");
assertNotNull(forumService_.getPost(categoryId, forumId, topicnew.getId(), newPost.getId()));
// test remove Post return post
assertNotNull(forumService_.removePost(categoryId, forumId, topicnew.getId(), newPost.getId()));
assertNull(forumService_.getPost(categoryId, forumId, topicnew.getId(), newPost.getId()));
// getViewPost
}
// BookMark
public void testBookMark() throws Exception {
// set Data
setData();
// add bookmark
String bookMark = Utils.CATEGORY + "//" + categoryId;
forumService_.saveUserBookmark("root", bookMark, true);
bookMark = Utils.FORUM + "//" + categoryId + "/" + forumId;
forumService_.saveUserBookmark("root", bookMark, true);
// get bookmark
List<String> bookMarks = new ArrayList<String>();
bookMarks.addAll(forumService_.getBookmarks("root"));
assertEquals(bookMarks.size(), 2);
}
// Private Message
public void testPrivateMessage() throws Exception {
ForumPrivateMessage privateMessage = new ForumPrivateMessage();
privateMessage.setFrom("demo");
privateMessage.setIsUnread(false);
privateMessage.setName("privateMessage Name");
privateMessage.setMessage("Content privateMessage");
privateMessage.setSendTo("root");
// savePtivateMs
forumService_.savePrivateMessage(privateMessage);
// get Private Message is SEND_MESSAGE
JCRPageList pageList = forumService_.getPrivateMessage("demo", Utils.SEND_MESSAGE);
assertNotNull(pageList);
assertEquals(pageList.getAvailable(), 1);
privateMessage = (ForumPrivateMessage) pageList.getPage(1).get(0);
String privateMessageId_SEND = privateMessage.getId();
// get Private Message is RECEIVE_MESSAGE
pageList = forumService_.getPrivateMessage("root", Utils.RECEIVE_MESSAGE);
assertNotNull(pageList);
assertEquals(pageList.getAvailable(), 1);
privateMessage = (ForumPrivateMessage) pageList.getPage(1).get(0);
String privateMessageId_RECEIVE = privateMessage.getId();
//
long t = forumService_.getNewPrivateMessage("root");
assertEquals(t, 1);
// Remove PrivateMessage
forumService_.removePrivateMessage(privateMessageId_SEND, "demo", Utils.SEND_MESSAGE);
pageList = forumService_.getPrivateMessage("demo", Utils.SEND_MESSAGE);
assertEquals(pageList.getAvailable(), 0);
forumService_.removePrivateMessage(privateMessageId_RECEIVE, "root", Utils.RECEIVE_MESSAGE);
pageList = forumService_.getPrivateMessage("root", Utils.RECEIVE_MESSAGE);
assertEquals(pageList.getAvailable(), 0);
//
}
/*
* public void testPoll() throws Exception{ //set Data setData(); Poll poll = createPoll("question to this poll1", new String[]{"option 1", "option 2", "option 3"}); // Save new poll forumService_.savePoll(categoryId, forumId, topicId, poll, true, false); // Get poll assertNotNull(forumService_.getPoll(categoryId, forumId, topicId)); // Set close for poll poll.setIsClosed(true);
* forumService_.setClosedPoll(categoryId, forumId, topicId, poll); assertEquals(true, forumService_.getPoll(categoryId, forumId, topicId).getIsClosed()); // Delete poll forumService_.removePoll(categoryId, forumId, topicId); assertNull(forumService_.getPoll(categoryId, forumId, topicId)); }
*/
public void testGetObject() throws Exception {
// set Data
setData();
// Test get object by path
String topicPath = forumService_.getForumHomePath();
topicPath = categoryId + "/" + forumId + "/" + topicId;
assertNotNull(forumService_.getObjectNameByPath(topicPath));
// Test get object by id
assertNotNull(forumService_.getObjectNameById(forumId, Utils.FORUM));
}
public void testImportXML() throws Exception {
Category cat = createCategory(getId(Utils.CATEGORY));
forumService_.saveCategory(cat, true);
cat = forumService_.getCategory(cat.getId());
String pathNode = cat.getPath();
assertEquals("Before import data, category don't have any forum", forumService_.getForums(cat.getId(), "").size(), 0);
try {
File file = new File(System.getProperty("user.dir") + "/src/test/resources/conf/portal/Data.xml");
String content = FileUtils.readFileToString(file, "UTF-8");
byte currentXMLBytes[] = content.getBytes();
ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(currentXMLBytes);
// Import forum into category
forumService_.importXML(pathNode, byteArrayInputStream, ImportUUIDBehavior.IMPORT_UUID_CREATE_NEW);
assertEquals("Can't import forum into category", forumService_.getForums(cat.getId(), "").size(), 1);
} catch (IOException e) {
log.debug("Failed to test importXML", e);
}
}
public void testExportXML() throws Exception {
Category cat = createCategory(getId(Utils.CATEGORY));
forumService_.saveCategory(cat, true);
cat = forumService_.getCategory(cat.getId());
Forum forum = createdForum();
forumService_.saveForum(cat.getId(), forum, true);
forum = forumService_.getForum(cat.getId(), forum.getId());
ByteArrayOutputStream bos = new ByteArrayOutputStream();
forumService_.exportXML(cat.getId(), forum.getId(), new ArrayList<String>(), forum.getPath(), bos, false);
assertEquals("can't export Forum into XML file", bos.size() > 0, true);
}
public void testTag() throws Exception {
// set Data
setData();
Tag tag = createTag("Tag1");
Tag tag2 = createTag("Tag2");
Tag tag3 = createTag("Tag3");
// add tag
List<Tag> tags = new ArrayList<Tag>();
tags.add(tag);
tags.add(tag2);
tags.add(tag3);
Topic topic = forumService_.getTopic(categoryId, forumId, topicId, "");
forumService_.addTag(tags, USER_ROOT, topic.getPath());
// get Tags name in topic by root.
// List<String> list = forumService_.getTagNameInTopic(USER_ROOT+","+topicId);
// Test get tag
String id = Utils.TAG + tag.getName();
tag = forumService_.getTag(id);
assertNotNull(tag);
// Get all tag
// assertEquals("All tags size is not 3", 3, forumService_.getAllTags().size());
}
public void testSearch() throws Exception {
/*
* setData(); //getQuickSearch List<String> users = new ArrayList<String>(); users.add("root"); String pathQuery = ""; // from ForumService/ String textQuery = "description"; String type = "true,all"; List<ForumSearch> forumSearchs = forumService_.getQuickSearch(textQuery, type, pathQuery, "root", null, null, null); assertEquals(forumSearchs.isEmpty(), false); //getAdvancedSearch
* ForumEventQuery eventQuery = new ForumEventQuery(); eventQuery.setListOfUser(users); eventQuery.setUserPermission(0); eventQuery.setType(Utils.TOPIC) ; eventQuery.setKeyValue(textQuery) ; eventQuery.setValueIn("entire") ; eventQuery.setPath("") ; eventQuery.setByUser(""); eventQuery.setIsLock("") ; eventQuery.setIsClose("") ; eventQuery.setTopicCountMin("0") ;
* eventQuery.setPostCountMin("0") ; eventQuery.setViewCountMin("0") ; eventQuery.setModerator("") ; forumSearchs = forumService_.getAdvancedSearch(eventQuery, null, null); assertEquals(forumSearchs.isEmpty(), false);
*/
}
public void testWatch() throws Exception {
// set Data
setData();
// addWatch
String topicPath = categoryId + "/" + forumId;
List<String> values = new ArrayList<String>();
values.add("duytucntt@gmail.com");
forumService_.addWatch(1, topicPath, values, "root");
// watch by user
List<Watch> watchs = forumService_.getWatchByUser("root");
assertEquals(watchs.get(0).getEmail(), values.get(0));
forumService_.removeWatch(1, topicPath, "/" + values.get(0));
watchs = forumService_.getWatchByUser("root");
assertEquals(watchs.size(), 0);
}
public void testIpBan() throws Exception {
// set Data
setData();
// set Ip ban
String ip = "192.168.1.10";
// save Ip ban
forumService_.addBanIP(ip);
// get Ip ban
List<String> listBans = forumService_.getBanList();
assertEquals("Ip have adding in listBans", listBans.get(0), ip);
// addBanIPForum
forumService_.addBanIPForum(ip, categoryId + "/" + forumId);
// getForumBanList
List<String> listIpBanInForum = forumService_.getForumBanList(categoryId + "/" + forumId);
assertEquals("Ip add in forum", listIpBanInForum.get(0), ip);
// removeBanIPForum
forumService_.removeBanIPForum(ip, categoryId + "/" + forumId);
listIpBanInForum = forumService_.getForumBanList(categoryId + "/" + forumId);
assertEquals("Ip is removed in listIpBanInForum, size is not 0 ", listIpBanInForum.size(), 0);
// removeIpBan
forumService_.removeBan(ip);
listBans = forumService_.getBanList();
assertEquals("Ip is removed in listBans, size is not 0 ", listBans.size(), 0);
}
private UserProfile createdUserProfile(String userName) {
UserProfile userProfile = new UserProfile();
userProfile.setUserId(userName);
userProfile.setUserRole((long) 0);
userProfile.setUserTitle(Utils.ADMIN);
userProfile.setEmail("duytucntt@gmail.com");
userProfile.setJoinedDate(new Date());
userProfile.setTimeZone(7.0);
userProfile.setSignature("signature");
return userProfile;
}
private Post createdPost() {
Post post = new Post();
post.setOwner("root");
post.setCreatedDate(new Date());
post.setModifiedBy("root");
post.setModifiedDate(new Date());
post.setName("SubJect");
post.setMessage("content description");
post.setRemoteAddr("192.168.1.11");
post.setIcon("classNameIcon");
post.setIsApproved(true);
post.setIsActiveByTopic(true);
post.setIsHidden(false);
return post;
}
private Topic createdTopic(String owner) {
Topic topicNew = new Topic();
topicNew.setOwner(owner);
topicNew.setTopicName("TestTopic");
topicNew.setCreatedDate(new Date());
topicNew.setModifiedBy("root");
topicNew.setModifiedDate(new Date());
topicNew.setLastPostBy("root");
topicNew.setLastPostDate(new Date());
topicNew.setDescription("Topic description");
topicNew.setPostCount(0);
topicNew.setViewCount(0);
topicNew.setIsNotifyWhenAddPost("");
topicNew.setIsModeratePost(false);
topicNew.setIsClosed(false);
topicNew.setIsLock(false);
topicNew.setIsWaiting(false);
topicNew.setIsActive(true);
topicNew.setIcon("classNameIcon");
topicNew.setIsApproved(true);
topicNew.setCanView(new String[] {});
topicNew.setCanPost(new String[] {});
return topicNew;
}
private Forum createdForum() {
Forum forum = new Forum();
forum.setOwner("root");
forum.setForumName("TestForum");
forum.setForumOrder(1);
forum.setCreatedDate(new Date());
forum.setModifiedBy("root");
forum.setModifiedDate(new Date());
forum.setLastTopicPath("");
forum.setDescription("description");
forum.setPostCount(0);
forum.setTopicCount(0);
forum.setNotifyWhenAddTopic(new String[] {});
forum.setNotifyWhenAddPost(new String[] {});
forum.setIsModeratePost(false);
forum.setIsModerateTopic(false);
forum.setIsClosed(false);
forum.setIsLock(false);
forum.setViewer(new String[] {});
forum.setCreateTopicRole(new String[] {});
forum.setCreateTopicRole(new String[] {});
forum.setModerators(new String[] {});
return forum;
}
private Category createCategory(String id) {
Category cat = new Category(id);
cat.setOwner("root");
cat.setCategoryName("testCategory");
cat.setCategoryOrder(1);
cat.setCreatedDate(new Date());
cat.setDescription("desciption");
cat.setModifiedBy("root");
cat.setModifiedDate(new Date());
return cat;
}
private String getId(String type) {
return type + IdGenerator.generate();
}
/*
* private Poll createPoll(String question, String[] options){ Poll poll = new Poll(); poll.setCreatedDate(new Date()); poll.setIsAgainVote(true); poll.setIsClosed(false); poll.setIsMultiCheck(true); poll.setModifiedBy("root"); poll.setModifiedDate(new Date()); poll.setOption(options); poll.setOwner("root"); poll.setQuestion(question); poll.setUserVote(new String[]{}); poll.setVote(new
* String[]{}); return poll; }
*/
private Tag createTag(String name) {
Tag tag = new Tag();
tag.setName(name);
tag.setUserTag(new String[] { "root" });
return tag;
}
private ForumAdministration createForumAdministration() {
ForumAdministration forumAdministration = new ForumAdministration();
forumAdministration.setForumSortBy("forumName");
forumAdministration.setForumSortByType("ascending");
forumAdministration.setTopicSortBy("threadName");
forumAdministration.setTopicSortByType("ascending");
forumAdministration.setCensoredKeyword("");
forumAdministration.setEnableHeaderSubject(false);
forumAdministration.setHeaderSubject("");
forumAdministration.setNotifyEmailContent("");
return forumAdministration;
}
private BBCode createBBCode(String tag, String replacement, boolean isActive) {
BBCode bbCode = new BBCode();
bbCode.setTagName(tag);
bbCode.setActive(isActive);
bbCode.setDescription("Description!");
bbCode.setExample("[" + tag + "] text example [/" + tag + "]");
bbCode.setOption(false);
bbCode.setReplacement(replacement);
return bbCode;
}
private TopicType createTopicType(String name) {
TopicType topicType = new TopicType();
topicType.setIcon("BlueIcon");
topicType.setName(name);
return topicType;
}
}