📄 threadrepository.java
字号:
package com.jdon.jivejdon.repository;
import java.sql.SQLException;
import java.util.Iterator;
import java.util.List;
import org.apache.log4j.Logger;
import com.jdon.jivejdon.dao.MessageDaoFacade;
import com.jdon.jivejdon.model.ForumMessage;
import com.jdon.jivejdon.model.ForumThread;
public class ThreadRepository {
private final static Logger logger = Logger
.getLogger(ThreadRepository.class);
protected MessageDaoFacade messageDaoFacade;
protected ForumBuilder forumBuilder;
public ThreadRepository(MessageDaoFacade messageDaoFacade,
ForumBuilder forumBuilder) {
this.messageDaoFacade = messageDaoFacade;
this.forumBuilder = forumBuilder;
}
/**
* return a full ForumThread
* one ForumThread has one rootMessage
* need solve the realtion with Forum rootForumMessage lastPost
*
* @param threadId
* @return
*/
public ForumThread getThread(Long threadId) {
return forumBuilder.getThread(threadId);
}
/**
* create a new Thread, this is for topic message
* @param rootForumMessage
* @return
* @throws Exception
*/
public ForumThread createThread(ForumMessage rootForumMessage)
throws Exception {
logger.debug(" createThread");
ForumThread forumThread = new ForumThread();
try {
forumThread.setForum(rootForumMessage.getForum());
long dateTime = System.currentTimeMillis();
forumThread.setModifiedDate(Long.toString(dateTime));
forumThread.setName(rootForumMessage.getSubject());
messageDaoFacade.getMessageDao().createThread(forumThread);
} catch (SQLException e) {
logger.error(e);
throw new Exception(e);
}
return forumThread;
}
public void updateThread(ForumThread thread) throws Exception {
messageDaoFacade.getMessageDao().updateThread(thread);
}
/**
*
* @param thread
* @throws Exception
* delete the thread will delete the relation message
*/
public void deleteThread(ForumThread thread) throws Exception {
List messageIds = messageDaoFacade.getMessageQueryDao().getAllMessageIdByThread(thread.getThreadId());
Iterator results = messageIds.iterator();
while ( results.hasNext() ) {
ForumMessage forumMessage = messageDaoFacade.getMessageDao().getMessage((Long) results.next());
messageDaoFacade.getMessageDao().deleteMessage(forumMessage);
}
messageDaoFacade.getMessageDao().deleteThread(thread);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -