⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 threadrepository.java

📁 用Hibernate开发的JiveJdon
💻 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 + -