use of it.vige.rubia.model.Post in project rubia-forums by flashboss.
the class ForumsSearchModuleImpl method findPosts.
@SuppressWarnings("unchecked")
public ResultPage<Post> findPosts(SearchCriteria criteria) throws ModuleException {
if (criteria != null) {
try {
EntityManager session = getSession();
FullTextSession fullTextSession = getFullTextSession((Session) session.getDelegate());
Builder builder = new Builder();
String keywords = criteria.getKeywords();
if (keywords != null && keywords.length() != 0) {
String[] fields = null;
Searching searching = Searching.valueOf(criteria.getSearching());
switch(searching) {
case TITLE_MSG:
fields = new String[] { "message.text", "topic.subject" };
break;
case MSG:
fields = new String[] { "message.text" };
break;
}
MultiFieldQueryParser parser = new MultiFieldQueryParser(fields, new StandardAnalyzer());
builder.add(parser.parse(keywords), MUST);
}
String forumId = criteria.getForum();
if (forumId != null && forumId.length() != 0) {
builder.add(new TermQuery(new Term("topic.forum.id", forumId)), MUST);
}
String categoryId = criteria.getCategory();
if (categoryId != null && categoryId.length() != 0) {
builder.add(new TermQuery(new Term("topic.forum.category.id", categoryId)), MUST);
}
String userName = criteria.getAuthor();
if (userName != null && userName.length() != 0) {
builder.add(new WildcardQuery(new Term("poster.userId", userName)), MUST);
}
String timePeriod = criteria.getTimePeriod();
if (timePeriod != null && timePeriod.length() != 0) {
addPostTimeQuery(builder, TimePeriod.valueOf(timePeriod));
}
FullTextQuery fullTextQuery = fullTextSession.createFullTextQuery(builder.build(), Post.class);
SortOrder sortOrder = SortOrder.valueOf(criteria.getSortOrder());
String sortByStr = criteria.getSortBy();
SortBy sortBy = null;
if (sortByStr != null)
sortBy = valueOf(sortByStr);
fullTextQuery.setSort(getSort(sortBy, sortOrder));
fullTextQuery.setFirstResult(criteria.getPageSize() * criteria.getPageNumber());
fullTextQuery.setMaxResults(criteria.getPageSize());
ResultPage<Post> resultPage = new ResultPage<Post>();
resultPage.setPage(fullTextQuery.list());
resultPage.setResultSize(fullTextQuery.getResultSize());
return resultPage;
} catch (ParseException e) {
return null;
} catch (Exception e) {
throw new ModuleException(e.getMessage(), e);
}
} else {
throw new IllegalArgumentException("criteria cannot be null");
}
}
use of it.vige.rubia.model.Post in project rubia-forums by flashboss.
the class EditPost method execute.
/**
* @return the navigation state of the application
*/
@SecureActionForum
@Interceptors(AuthorizationListener.class)
public String execute() {
String navState = null;
boolean success = false;
try {
// setup the business objects to be updated
Post post = forumsModule.findPostById(postId);
forumsModule.updateAttachments(attachments, post);
// TODO: cleanup this forums update process............move this as
// a private method
// setup attachment information
Topic topic = post.getTopic();
// make sure this topic is not locked
if (topic.getStatus() == TOPIC_LOCKED) {
// should not allow posting a reply since the topic is locked
throw new Exception(getBundleMessage(BUNDLE_NAME, TOPIC_LOCKED_ERR_KEY));
}
// setup the message/subject related data
Message message = createMessage();
message.setText(this.message);
message.setSubject(subject);
// update the message/subject/topicType data on the business objects
post.setMessage(message);
if (isFirstPost) {
topic.setSubject(subject);
topic.setType(topicType);
}
// miscellaneous post related update
post.setEditCount(post.getEditCount() + 1);
post.setEditDate(new Date());
// TODO: cleanup this poll update process............move this as a
// private method
// setup poll information
List<PollOption> localPollOptions = new LinkedList<PollOption>();
for (String key : options.keySet()) {
PollOption pollOption = createPollOption(topic.getPoll());
pollOption.setQuestion(options.get(key));
pollOption.setVotes(0);
localPollOptions.add(pollOption);
}
// update poll information
if (topic.getPoll() == null || topic.getPoll().getTitle() == null || topic.getPoll().getTitle().trim().length() == 0) {
// no existing poll information found in the database
if (localPollOptions.size() > 0 && question != null && question.trim().length() > 0) {
// need to add a new poll to this topic
Poll poll = createPoll();
poll.setTitle(question);
poll.setLength(activeDuration);
poll.setOptions(localPollOptions);
validatePoll(poll);
forumsModule.addPollToTopic(topic, poll);
}
} else {
// existing poll information is available in the database
if (localPollOptions.size() > 0) {
// this is a diff update..............................
// setup the poll to be updated in the database
Poll poll = createPoll();
poll.setTitle(question);
poll.setLength(activeDuration);
poll.setVoted(topic.getPoll().getVoted());
poll.setCreationDate(topic.getPoll().getCreationDate());
for (PollOption newPollOption : localPollOptions) {
Iterator<PollOption> stored = topic.getPoll().getOptions().iterator();
while (stored.hasNext()) {
PollOption oldPollOption = (PollOption) stored.next();
if (oldPollOption != null && oldPollOption.getQuestion().equals(newPollOption.getQuestion())) {
newPollOption.setVotes(oldPollOption.getVotes());
break;
}
}
}
poll.setOptions(localPollOptions);
forumsModule.addPollToTopic(topic, poll);
} else {
// remove the poll from the database...poll was removed
// during this editPost process
topic.setPoll(null);
}
}
forumsModule.update(topic);
forumsModule.update(post);
// set the proper navigation state
navState = SUCCESS;
success = true;
} catch (PollValidationException e) {
// handle proper validation error with a proper message...not just a
// generic message..
// just use generic error page for the proof of concept
// set the custom exception such that e.toString() results in the
// proper message
handleException(e);
} catch (Exception e) {
handleException(e);
} finally {
// cleanup if necessary
if (success) {
cleanup();
}
}
return navState;
}
use of it.vige.rubia.model.Post in project rubia-forums by flashboss.
the class DeletePost method confirmDelete.
// actions---------------------------------------------------------------------------------------------------------------------------------
/**
* @return the navigation state of the application
*/
@SecureActionForum
@Interceptors(AuthorizationListener.class)
public String confirmDelete() {
String navState = null;
try {
// setup the business objects/data of interest
Post post = forumsModule.findPostById(postId);
Topic topic = post.getTopic();
// make sure this topic is not locked
if (topic.getStatus() == TOPIC_LOCKED) {
// should not allow posting a reply since the topic is locked
throw new Exception(getBundleMessage(BUNDLE_NAME, TOPIC_LOCKED_ERR_KEY));
}
boolean isFirstPost = false;
boolean isLastPost = false;
List<Post> posts = forumsModule.findPostsByTopicId(topic);
if (posts.get(0).getId() == post.getId().intValue()) {
isFirstPost = true;
}
if (posts.get(posts.size() - 1).getId().intValue() == post.getId().intValue()) {
isLastPost = true;
}
// now perform the actual delete operation.........................
if (isLastPost && isFirstPost) {
// cascade delete will take care of removing
// the post
// the watches
// the poll
// the links
forumsModule.removeTopic(post.getTopic().getId());
// set the proper navigation state
navState = TOPIC_DELETED;
} else {
forumsModule.removePost(post.getId(), isLastPost);
// set the proper navigation state
navState = SUCCESS;
}
} catch (Exception e) {
handleException(e);
}
return navState;
}
use of it.vige.rubia.model.Post in project rubia-forums by flashboss.
the class ViewMyForumsEditAllForums method execute.
/**
*/
@PostConstruct
public void execute() {
Collection<Forum> forums = getWatchedForums();
try {
// get the forumInstanceId where this forum should be added
int forumInstanceId = userPreferences.getForumInstanceId();
forumWatches = forumsModule.findForumWatches(getUser(userModule), forumInstanceId);
} catch (Exception e) {
handleException(e);
setForumWatches(new HashMap<Object, Object>(0));
}
Date userLastLogin = getUserLastLoginDate(userModule, userProfileModule);
for (Forum currentForum : forums) {
// setup folderLook based on whats specified in the theme
String folderImage = themeHelper.getResourceForumURL();
// bundle key
String folderAlt = "No_new_posts";
if (forumsLastPosts != null && forumsLastPosts.containsKey(currentForum.getId())) {
Post lastPost = (Post) forumsLastPosts.get(currentForum.getId());
Date lastPostDate = lastPost.getCreateDate();
if (lastPostDate != null && userLastLogin != null && lastPostDate.compareTo(userLastLogin) > 0) {
// bundle key
folderAlt = "New_posts";
folderImage = themeHelper.getResourceForumNewURL();
}
}
if (currentForum.getStatus() == FORUM_LOCKED) {
folderImage = themeHelper.getResourceForumLockedURL();
// bundle key
folderAlt = "Forum_locked";
}
getForumImages().put(currentForum.getId(), folderImage);
getForumImageDescriptions().put(currentForum.getId(), folderAlt);
}
try {
String t = getRequestParameter(p_forumId);
if (t != null && t.trim().length() > 0) {
forumId = parseInt(t);
} else {
forumId = -1;
}
if (forumId != -1) {
watch = forumsModule.findForumWatchByUserAndForum(getUser(userModule), forumId);
}
} catch (Exception e) {
handleException(e);
forumId = -1;
watch = null;
}
}
use of it.vige.rubia.model.Post in project rubia-forums by flashboss.
the class PreferencesTest method scenary1.
public void scenary1() {
Category firstTestCategory = new Category("First Test Category");
Category secondTestCategory = new Category("Second Test Category");
goTo(driver);
PreferenceController submitCriteria = new PreferenceController();
submitCriteria.setAlwaysAddSignature(true);
submitCriteria.setAlwaysAllowHtml(true);
submitCriteria.setNotifyOnReply(true);
submitCriteria.setPostOrder("descending");
submitCriteria.setPostsPerTopic(25);
submitCriteria.setSignature("My New Signature");
submitCriteria.setSummaryMode(BLOCK_TOPICS_MODE_HOT_TOPICS);
submitCriteria.setSummaryTopicDays(2);
submitCriteria.setSummaryTopicLimit(3);
submitCriteria.setSummaryTopicReplies(4);
submitCriteria.setTopicsPerForum(5);
submit(driver, submitCriteria);
List<Topic> summaryTopics = viewSummary(driver);
int sizeSummaryTopics = viewSize(driver);
Topic summaryTopicDetail = getDetail(driver, "Ninteen Test Topic");
assertTrue(summaryTopics != null);
assertEquals(1, summaryTopics.size());
assertEquals(1, sizeSummaryTopics);
assertEquals("Ninteen Test Topic", summaryTopics.get(0).getSubject());
assertEquals("Ninteen Test Topic", summaryTopicDetail.getSubject());
Topic newTopic = new Topic(new Forum("Third Test Forum", "Third Test Description", new Category("Second Test Category")), "Thirtytwo Test Topic", asList(new Post[] { new Post("Thirtytwo Test Body") }), NORMAL, null);
String message = createTopic(driver, newTopic);
assertTrue(message.equals("Thirtytwo Test Topic"));
List<Forum> forums = getForumsOfCategories(driver, firstTestCategory, secondTestCategory);
Date today = new Date();
List<Topic> topics = getTopicsOfForums(driver, forums.toArray(new Forum[0]));
assertTrue(topics != null);
assertEquals(19, topics.size());
assertEquals("Ninteen Test Topic", topics.get(0).getSubject());
assertEquals("root", topics.get(0).getPoster().getUserId());
assertEquals(32, topics.get(0).getReplies());
assertEquals(98, topics.get(0).getViewCount());
assertTrue(topics.get(0).getLastPostDate().compareTo(today) < 0);
assertEquals(25, topics.get(0).getPosts().size());
assertTrue(topics.get(0).getPosts().get(0).getMessage().getSubject().startsWith(RE + "Ninteen Test Topic"));
assertEquals("<ul><li>Ninteen35</li><li>Test Body</li></ul>", topics.get(0).getPosts().get(0).getMessage().getText());
assertTrue(topics.get(0).getPosts().get(0).getCreateDate().compareTo(today) < 0);
assertEquals("root", topics.get(0).getPosts().get(0).getPoster().getUserId());
assertTrue(topics.get(0).getPosts().get(1).getMessage().getSubject().startsWith(RE + "Ninteen Test Topic"));
assertEquals("<ul><li>Ninteen34</li><li>Test Body</li></ul>", topics.get(0).getPosts().get(1).getMessage().getText());
assertTrue(topics.get(0).getPosts().get(1).getCreateDate().compareTo(today) < 0);
assertEquals("root", topics.get(0).getPosts().get(1).getPoster().getUserId());
assertTrue(topics.get(0).getPosts().get(2).getMessage().getSubject().startsWith(RE + "Ninteen Test Topic"));
assertEquals("<ul><li>Ninteen33</li><li>Test Body</li></ul>", topics.get(0).getPosts().get(2).getMessage().getText());
assertTrue(topics.get(0).getPosts().get(2).getCreateDate().compareTo(today) < 0);
assertEquals("root", topics.get(0).getPosts().get(2).getPoster().getUserId());
assertTrue(topics.get(0).getPosts().get(3).getMessage().getSubject().startsWith(RE + "Ninteen Test Topic"));
assertEquals("<ul><li>Ninteen32</li><li>Test Body</li></ul>", topics.get(0).getPosts().get(3).getMessage().getText());
assertTrue(topics.get(0).getPosts().get(3).getCreateDate().compareTo(today) < 0);
assertEquals("root", topics.get(0).getPosts().get(3).getPoster().getUserId());
assertTrue(topics.get(0).getPosts().get(4).getMessage().getSubject().startsWith(RE + "Ninteen Test Topic"));
assertEquals("<ul><li>Ninteen31</li><li>Test Body</li></ul>", topics.get(0).getPosts().get(4).getMessage().getText());
assertTrue(topics.get(0).getPosts().get(4).getCreateDate().compareTo(today) < 0);
assertEquals("root", topics.get(0).getPosts().get(4).getPoster().getUserId());
assertTrue(topics.get(0).getPosts().get(5).getMessage().getSubject().startsWith(RE + "Ninteen Test Topic"));
assertEquals("<ul><li>Ninteen30</li><li>Test Body</li></ul>", topics.get(0).getPosts().get(5).getMessage().getText());
assertTrue(topics.get(0).getPosts().get(5).getCreateDate().compareTo(today) < 0);
assertEquals("root", topics.get(0).getPosts().get(5).getPoster().getUserId());
assertTrue(topics.get(0).getPosts().get(6).getMessage().getSubject().startsWith(RE + "Ninteen Test Topic"));
assertEquals("<ul><li>Ninteen29</li><li>Test Body</li></ul>", topics.get(0).getPosts().get(6).getMessage().getText());
assertTrue(topics.get(0).getPosts().get(6).getCreateDate().compareTo(today) < 0);
assertEquals("root", topics.get(0).getPosts().get(6).getPoster().getUserId());
assertTrue(topics.get(0).getPosts().get(7).getMessage().getSubject().startsWith(RE + "Ninteen Test Topic"));
assertEquals("<ul><li>Ninteen28</li><li>Test Body</li></ul>", topics.get(0).getPosts().get(7).getMessage().getText());
assertTrue(topics.get(0).getPosts().get(7).getCreateDate().compareTo(today) < 0);
assertEquals("root", topics.get(0).getPosts().get(7).getPoster().getUserId());
assertTrue(topics.get(0).getPosts().get(8).getMessage().getSubject().startsWith(RE + "Ninteen Test Topic"));
assertEquals("<ul><li>Ninteen27</li><li>Test Body</li></ul>", topics.get(0).getPosts().get(8).getMessage().getText());
assertTrue(topics.get(0).getPosts().get(8).getCreateDate().compareTo(today) < 0);
assertEquals("root", topics.get(0).getPosts().get(8).getPoster().getUserId());
assertTrue(topics.get(0).getPosts().get(9).getMessage().getSubject().startsWith(RE + "Ninteen Test Topic"));
assertEquals("<ul><li>Ninteen26</li><li>Test Body</li></ul>", topics.get(0).getPosts().get(9).getMessage().getText());
assertTrue(topics.get(0).getPosts().get(9).getCreateDate().compareTo(today) < 0);
assertEquals("root", topics.get(0).getPosts().get(9).getPoster().getUserId());
assertTrue(topics.get(0).getPosts().get(10).getMessage().getSubject().startsWith(RE + "Ninteen Test Topic"));
assertEquals("<ul><li>Ninteen25</li><li>Test Body</li></ul>", topics.get(0).getPosts().get(10).getMessage().getText());
assertTrue(topics.get(0).getPosts().get(10).getCreateDate().compareTo(today) < 0);
assertEquals("root", topics.get(0).getPosts().get(10).getPoster().getUserId());
assertTrue(topics.get(0).getPosts().get(11).getMessage().getSubject().startsWith(RE + "Ninteen Test Topic"));
assertEquals("<ul><li>Ninteen24</li><li>Test Body</li></ul>", topics.get(0).getPosts().get(11).getMessage().getText());
assertTrue(topics.get(0).getPosts().get(11).getCreateDate().compareTo(today) < 0);
assertEquals("root", topics.get(0).getPosts().get(11).getPoster().getUserId());
assertTrue(topics.get(0).getPosts().get(12).getMessage().getSubject().startsWith(RE + "Ninteen Test Topic"));
assertEquals("<ul><li>Ninteen23</li><li>Test Body</li></ul>", topics.get(0).getPosts().get(12).getMessage().getText());
assertTrue(topics.get(0).getPosts().get(12).getCreateDate().compareTo(today) < 0);
assertEquals("root", topics.get(0).getPosts().get(12).getPoster().getUserId());
assertTrue(topics.get(0).getPosts().get(13).getMessage().getSubject().startsWith(RE + "Ninteen Test Topic"));
assertEquals("<ul><li>Ninteen22</li><li>Test Body</li></ul>", topics.get(0).getPosts().get(13).getMessage().getText());
assertTrue(topics.get(0).getPosts().get(13).getCreateDate().compareTo(today) < 0);
assertEquals("root", topics.get(0).getPosts().get(13).getPoster().getUserId());
assertTrue(topics.get(0).getPosts().get(14).getMessage().getSubject().startsWith(RE + "Ninteen Test Topic"));
assertEquals("<ul><li>Ninteen21</li><li>Test Body</li></ul>", topics.get(0).getPosts().get(14).getMessage().getText());
assertTrue(topics.get(0).getPosts().get(14).getCreateDate().compareTo(today) < 0);
assertEquals("root", topics.get(0).getPosts().get(14).getPoster().getUserId());
assertTrue(topics.get(0).getPosts().get(15).getMessage().getSubject().startsWith(RE + "Ninteen Test Topic"));
assertEquals("<ul><li>Ninteen20</li><li>Test Body</li></ul>", topics.get(0).getPosts().get(15).getMessage().getText());
assertTrue(topics.get(0).getPosts().get(15).getCreateDate().compareTo(today) < 0);
assertEquals("root", topics.get(0).getPosts().get(15).getPoster().getUserId());
assertTrue(topics.get(0).getPosts().get(16).getMessage().getSubject().startsWith(RE + "Ninteen Test Topic"));
assertEquals("<ul><li>Ninteen19</li><li>Test Body</li></ul>", topics.get(0).getPosts().get(16).getMessage().getText());
assertTrue(topics.get(0).getPosts().get(16).getCreateDate().compareTo(today) < 0);
assertEquals("root", topics.get(0).getPosts().get(16).getPoster().getUserId());
assertTrue(topics.get(0).getPosts().get(17).getMessage().getSubject().startsWith(RE + "Ninteen Test Topic"));
assertEquals("<ul><li>Ninteen18</li><li>Test Body</li></ul>", topics.get(0).getPosts().get(17).getMessage().getText());
assertTrue(topics.get(0).getPosts().get(17).getCreateDate().compareTo(today) < 0);
assertEquals("root", topics.get(0).getPosts().get(17).getPoster().getUserId());
assertTrue(topics.get(0).getPosts().get(18).getMessage().getSubject().startsWith(RE + "Ninteen Test Topic"));
assertEquals("<ul><li>Ninteen17</li><li>Test Body</li></ul>", topics.get(0).getPosts().get(18).getMessage().getText());
assertTrue(topics.get(0).getPosts().get(18).getCreateDate().compareTo(today) < 0);
assertEquals("root", topics.get(0).getPosts().get(18).getPoster().getUserId());
assertTrue(topics.get(0).getPosts().get(19).getMessage().getSubject().startsWith(RE + "Ninteen Test Topic"));
assertEquals("<ul><li>Ninteen16</li><li>Test Body</li></ul>", topics.get(0).getPosts().get(19).getMessage().getText());
assertTrue(topics.get(0).getPosts().get(19).getCreateDate().compareTo(today) < 0);
assertEquals("root", topics.get(0).getPosts().get(19).getPoster().getUserId());
assertTrue(topics.get(0).getPosts().get(20).getMessage().getSubject().startsWith(RE + "Ninteen Test Topic"));
assertEquals("<ul><li>Ninteen15</li><li>Test Body</li></ul>", topics.get(0).getPosts().get(20).getMessage().getText());
assertTrue(topics.get(0).getPosts().get(20).getCreateDate().compareTo(today) < 0);
assertEquals("root", topics.get(0).getPosts().get(20).getPoster().getUserId());
assertTrue(topics.get(0).getPosts().get(21).getMessage().getSubject().startsWith(RE + "Ninteen Test Topic"));
assertEquals("<ul><li>Ninteen14</li><li>Test Body</li></ul>", topics.get(0).getPosts().get(21).getMessage().getText());
assertTrue(topics.get(0).getPosts().get(21).getCreateDate().compareTo(today) < 0);
assertEquals("root", topics.get(0).getPosts().get(21).getPoster().getUserId());
assertTrue(topics.get(0).getPosts().get(22).getMessage().getSubject().startsWith(RE + "Ninteen Test Topic"));
assertEquals("<ul><li>Ninteen13</li><li>Test Body</li></ul>", topics.get(0).getPosts().get(22).getMessage().getText());
assertTrue(topics.get(0).getPosts().get(22).getCreateDate().compareTo(today) < 0);
assertEquals("root", topics.get(0).getPosts().get(22).getPoster().getUserId());
assertTrue(topics.get(0).getPosts().get(23).getMessage().getSubject().startsWith(RE + "Ninteen Test Topic"));
assertEquals("<ul><li>Ninteen12</li><li>Test Body</li></ul>", topics.get(0).getPosts().get(23).getMessage().getText());
assertTrue(topics.get(0).getPosts().get(23).getCreateDate().compareTo(today) < 0);
assertEquals("root", topics.get(0).getPosts().get(23).getPoster().getUserId());
assertTrue(topics.get(0).getPosts().get(24).getMessage().getSubject().startsWith(RE + "Ninteen Test Topic"));
assertEquals("<ul><li>Ninteen11</li><li>Test Body</li></ul>", topics.get(0).getPosts().get(24).getMessage().getText());
assertTrue(topics.get(0).getPosts().get(24).getCreateDate().compareTo(today) < 0);
assertEquals("root", topics.get(0).getPosts().get(24).getPoster().getUserId());
assertEquals("Eighteen Test Topic", topics.get(1).getSubject());
assertEquals("root", topics.get(1).getPoster().getUserId());
assertEquals(0, topics.get(1).getReplies());
assertEquals(0, topics.get(1).getViewCount());
assertTrue(topics.get(1).getLastPostDate().compareTo(today) < 0);
assertEquals(1, topics.get(1).getPosts().size());
assertTrue(topics.get(1).getPosts().get(0).getMessage().getSubject().startsWith("Eighteen Test Topic"));
assertTrue(topics.get(1).getPosts().get(0).getCreateDate().compareTo(today) < 0);
assertEquals("root", topics.get(1).getPosts().get(0).getPoster().getUserId());
assertEquals("Seventeen Test Topic", topics.get(2).getSubject());
assertEquals("root", topics.get(2).getPoster().getUserId());
assertEquals(0, topics.get(2).getReplies());
assertEquals(0, topics.get(2).getViewCount());
assertTrue(topics.get(2).getLastPostDate().compareTo(today) < 0);
assertEquals(1, topics.get(2).getPosts().size());
assertTrue(topics.get(2).getPosts().get(0).getMessage().getSubject().startsWith("Seventeen Test Topic"));
assertTrue(topics.get(2).getPosts().get(0).getCreateDate().compareTo(today) < 0);
assertEquals("root", topics.get(2).getPosts().get(0).getPoster().getUserId());
assertEquals("Sixteen Test Topic", topics.get(3).getSubject());
assertEquals("root", topics.get(3).getPoster().getUserId());
assertEquals(0, topics.get(3).getReplies());
assertEquals(0, topics.get(3).getViewCount());
assertTrue(topics.get(3).getLastPostDate().compareTo(today) < 0);
assertEquals(1, topics.get(3).getPosts().size());
assertTrue(topics.get(3).getPosts().get(0).getMessage().getSubject().startsWith("Sixteen Test Topic"));
assertTrue(topics.get(3).getPosts().get(0).getCreateDate().compareTo(today) < 0);
assertEquals("root", topics.get(3).getPosts().get(0).getPoster().getUserId());
assertEquals("Fifteen Test Topic", topics.get(4).getSubject());
assertEquals("root", topics.get(4).getPoster().getUserId());
assertEquals(0, topics.get(4).getReplies());
assertEquals(0, topics.get(4).getViewCount());
assertTrue(topics.get(4).getLastPostDate().compareTo(today) < 0);
assertEquals(1, topics.get(4).getPosts().size());
assertTrue(topics.get(4).getPosts().get(0).getMessage().getSubject().startsWith("Fifteen Test Topic"));
assertTrue(topics.get(4).getPosts().get(0).getCreateDate().compareTo(today) < 0);
assertEquals("root", topics.get(4).getPosts().get(0).getPoster().getUserId());
assertEquals("Fourteen Test Topic", topics.get(5).getSubject());
assertEquals("root", topics.get(5).getPoster().getUserId());
assertEquals(0, topics.get(5).getReplies());
assertEquals(0, topics.get(5).getViewCount());
assertTrue(topics.get(5).getLastPostDate().compareTo(today) < 0);
assertEquals(1, topics.get(5).getPosts().size());
assertTrue(topics.get(5).getPosts().get(0).getMessage().getSubject().startsWith("Fourteen Test Topic"));
assertTrue(topics.get(5).getPosts().get(0).getCreateDate().compareTo(today) < 0);
assertEquals("root", topics.get(5).getPosts().get(0).getPoster().getUserId());
assertEquals("Thirteen Test Topic", topics.get(6).getSubject());
assertEquals("root", topics.get(6).getPoster().getUserId());
assertEquals(0, topics.get(6).getReplies());
assertEquals(0, topics.get(6).getViewCount());
assertTrue(topics.get(6).getLastPostDate().compareTo(today) < 0);
assertEquals(1, topics.get(6).getPosts().size());
assertTrue(topics.get(6).getPosts().get(0).getMessage().getSubject().startsWith("Thirteen Test Topic"));
assertTrue(topics.get(6).getPosts().get(0).getCreateDate().compareTo(today) < 0);
assertEquals("root", topics.get(6).getPosts().get(0).getPoster().getUserId());
assertEquals("Twelve Test Topic", topics.get(7).getSubject());
assertEquals("root", topics.get(7).getPoster().getUserId());
assertEquals(0, topics.get(7).getReplies());
assertEquals(0, topics.get(7).getViewCount());
assertTrue(topics.get(7).getLastPostDate().compareTo(today) < 0);
assertEquals(1, topics.get(7).getPosts().size());
assertTrue(topics.get(7).getPosts().get(0).getMessage().getSubject().startsWith("Twelve Test Topic"));
assertTrue(topics.get(7).getPosts().get(0).getCreateDate().compareTo(today) < 0);
assertEquals("root", topics.get(7).getPosts().get(0).getPoster().getUserId());
assertEquals("Eleven Test Topic", topics.get(8).getSubject());
assertEquals("root", topics.get(8).getPoster().getUserId());
assertEquals(0, topics.get(8).getReplies());
assertEquals(0, topics.get(8).getViewCount());
assertTrue(topics.get(8).getLastPostDate().compareTo(today) < 0);
assertEquals(1, topics.get(8).getPosts().size());
assertTrue(topics.get(8).getPosts().get(0).getMessage().getSubject().startsWith("Eleven Test Topic"));
assertTrue(topics.get(8).getPosts().get(0).getCreateDate().compareTo(today) < 0);
assertEquals("root", topics.get(8).getPosts().get(0).getPoster().getUserId());
assertEquals("Ten Test Topic", topics.get(9).getSubject());
assertEquals("root", topics.get(9).getPoster().getUserId());
assertEquals(0, topics.get(9).getReplies());
assertEquals(0, topics.get(9).getViewCount());
assertTrue(topics.get(9).getLastPostDate().compareTo(today) < 0);
assertEquals(1, topics.get(9).getPosts().size());
assertTrue(topics.get(9).getPosts().get(0).getMessage().getSubject().startsWith("Ten Test Topic"));
assertTrue(topics.get(9).getPosts().get(0).getCreateDate().compareTo(today) < 0);
assertEquals("root", topics.get(9).getPosts().get(0).getPoster().getUserId());
assertEquals("Second Test Topic", topics.get(10).getSubject());
assertEquals("root", topics.get(10).getPoster().getUserId());
assertEquals(0, topics.get(10).getReplies());
assertEquals(0, topics.get(10).getViewCount());
assertTrue(topics.get(10).getLastPostDate().compareTo(today) < 0);
assertEquals(1, topics.get(10).getPosts().size());
assertTrue(topics.get(10).getPosts().get(0).getMessage().getSubject().startsWith("Second Test Topic"));
assertTrue(topics.get(10).getPosts().get(0).getCreateDate().compareTo(today) < 0);
assertEquals("root", topics.get(10).getPosts().get(0).getPoster().getUserId());
assertEquals("Thirtyone Test Topic", topics.get(11).getSubject());
assertEquals("root", topics.get(11).getPoster().getUserId());
assertEquals(0, topics.get(11).getReplies());
assertEquals(0, topics.get(11).getViewCount());
assertTrue(topics.get(11).getLastPostDate().compareTo(today) < 0);
assertEquals(1, topics.get(11).getPosts().size());
assertTrue(topics.get(11).getPosts().get(0).getMessage().getSubject().startsWith("Thirtyone Test Topic"));
assertTrue(topics.get(11).getPosts().get(0).getCreateDate().compareTo(today) < 0);
assertEquals("root", topics.get(11).getPosts().get(0).getPoster().getUserId());
assertEquals("Thirty Test Topic", topics.get(12).getSubject());
assertEquals("root", topics.get(12).getPoster().getUserId());
assertEquals(0, topics.get(12).getReplies());
assertEquals(0, topics.get(12).getViewCount());
assertTrue(topics.get(12).getLastPostDate().compareTo(today) < 0);
assertEquals(1, topics.get(12).getPosts().size());
assertTrue(topics.get(12).getPosts().get(0).getMessage().getSubject().startsWith("Thirty Test Topic"));
assertTrue(topics.get(12).getPosts().get(0).getCreateDate().compareTo(today) < 0);
assertEquals("root", topics.get(12).getPosts().get(0).getPoster().getUserId());
assertEquals("Twentynine Test Topic", topics.get(13).getSubject());
assertEquals("root", topics.get(13).getPoster().getUserId());
assertEquals(0, topics.get(13).getReplies());
assertEquals(0, topics.get(13).getViewCount());
assertTrue(topics.get(13).getLastPostDate().compareTo(today) < 0);
assertEquals(1, topics.get(13).getPosts().size());
assertTrue(topics.get(13).getPosts().get(0).getMessage().getSubject().startsWith("Twentynine Test Topic"));
assertTrue(topics.get(13).getPosts().get(0).getCreateDate().compareTo(today) < 0);
assertEquals("root", topics.get(13).getPosts().get(0).getPoster().getUserId());
assertEquals("Twentyeight Test Topic", topics.get(14).getSubject());
assertEquals("root", topics.get(14).getPoster().getUserId());
assertEquals(0, topics.get(14).getReplies());
assertEquals(0, topics.get(14).getViewCount());
assertTrue(topics.get(14).getLastPostDate().compareTo(today) < 0);
assertEquals(1, topics.get(14).getPosts().size());
assertTrue(topics.get(14).getPosts().get(0).getMessage().getSubject().startsWith("Twentyeight Test Topic"));
assertTrue(topics.get(14).getPosts().get(0).getCreateDate().compareTo(today) < 0);
assertEquals("root", topics.get(14).getPosts().get(0).getPoster().getUserId());
assertEquals("Twentyseven Test Topic", topics.get(15).getSubject());
assertEquals("root", topics.get(15).getPoster().getUserId());
assertEquals(0, topics.get(15).getReplies());
assertEquals(0, topics.get(15).getViewCount());
assertTrue(topics.get(15).getLastPostDate().compareTo(today) < 0);
assertEquals(1, topics.get(15).getPosts().size());
assertTrue(topics.get(15).getPosts().get(0).getMessage().getSubject().startsWith("Twentyseven Test Topic"));
assertTrue(topics.get(15).getPosts().get(0).getCreateDate().compareTo(today) < 0);
assertEquals("root", topics.get(15).getPosts().get(0).getPoster().getUserId());
assertEquals("Third Test Topic", topics.get(16).getSubject());
assertEquals("root", topics.get(16).getPoster().getUserId());
assertEquals(0, topics.get(16).getReplies());
assertEquals(0, topics.get(16).getViewCount());
assertTrue(topics.get(16).getLastPostDate().compareTo(today) < 0);
assertEquals(1, topics.get(16).getPosts().size());
assertTrue(topics.get(16).getPosts().get(0).getMessage().getSubject().startsWith("Third Test Topic"));
assertTrue(topics.get(16).getPosts().get(0).getCreateDate().compareTo(today) < 0);
assertEquals("root", topics.get(16).getPosts().get(0).getPoster().getUserId());
assertEquals("Fourth Test Topic", topics.get(17).getSubject());
assertEquals("root", topics.get(17).getPoster().getUserId());
assertEquals(0, topics.get(17).getReplies());
assertEquals(0, topics.get(17).getViewCount());
assertTrue(topics.get(17).getLastPostDate().compareTo(today) < 0);
assertEquals(1, topics.get(17).getPosts().size());
assertTrue(topics.get(17).getPosts().get(0).getMessage().getSubject().startsWith("Fourth Test Topic"));
assertTrue(topics.get(17).getPosts().get(0).getCreateDate().compareTo(today) < 0);
assertEquals("root", topics.get(17).getPosts().get(0).getPoster().getUserId());
assertEquals("Thirtytwo Test Topic", topics.get(18).getSubject());
assertEquals("root", topics.get(18).getPoster().getUserId());
assertEquals(0, topics.get(18).getReplies());
assertEquals(0, topics.get(18).getViewCount());
assertTrue(topics.get(18).getLastPostDate().compareTo(today) < 0);
assertEquals(1, topics.get(18).getPosts().size());
assertTrue(topics.get(18).getPosts().get(0).getMessage().getSubject().startsWith("Thirtytwo Test Topic"));
assertTrue(topics.get(18).getPosts().get(0).getCreateDate().compareTo(today) < 0);
assertEquals("root", topics.get(18).getPosts().get(0).getPoster().getUserId());
message = removeTopic(driver, new Topic(new Forum("Third Test Forum", "Third Test Description", new Category("Second Test Category")), "Thirtytwo Test Topic", asList(new Post[] { new Post("Thirtytwo Test Body") }), NORMAL, null));
assertTrue(message.equals(OK));
}
Aggregations