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

📄 forumbuilder.java

📁 非常有影响的 j道 论 坛 源码 国外很有明的专家编写的 ....对java爱好者很有参考价值
💻 JAVA
字号:
/*
 * Copyright 2007 the original author or jdon.com
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 */
package com.jdon.jivejdon.repository.builder;

import org.apache.log4j.Logger;

import com.jdon.controller.model.ModelIF;
import com.jdon.jivejdon.dao.ForumDao;
import com.jdon.jivejdon.model.Forum;
import com.jdon.jivejdon.model.ForumMessage;
import com.jdon.jivejdon.model.ForumState;
import com.jdon.jivejdon.model.ForumThread;
import com.jdon.jivejdon.repository.HotKeysRepository;

public class ForumBuilder {
	private final static Logger logger = Logger.getLogger(ForumBuilder.class);

	private HotKeysRepository hotKeysFactory;

	private ForumDao forumDao;
	
	public ForumBuilder(ForumDao forumDao, HotKeysRepository hotKeysFactory) {
		this.hotKeysFactory = hotKeysFactory;
		this.forumDao = forumDao;
	}
	
	public Forum create(Long forumId) {
		return forumDao.getForum(forumId);
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.jdon.jivejdon.repository.builder.Builder#buildPart(com.jdon.jivejdon.model.Forum)
	 */
	public void buildPart(Forum forum) {
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.jdon.jivejdon.repository.builder.Builder#buildProperties(com.jdon.jivejdon.model.Forum)
	 */
	public void buildProperties(Forum forum) {
		forum.setHotKeys(hotKeysFactory.getHotKeys());
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.jdon.jivejdon.repository.builder.Builder#buildState(com.jdon.jivejdon.model.Forum, com.jdon.jivejdon.model.ForumMessage)
	 */
	public void buildState(Forum forum, ForumThread forumThread, ForumMessage message, MessageDirector messageDirector) throws Exception {
		try {
			ForumState forumState = forum.getForumState();
			logger.debug(" loadForumState for forumId=" + forum.getForumId());
			forumState.setMessageCount(forumDao.getMessageCount(forum.getForumId()));
			forumState.setThreadCount(forumDao.getThreadCount(forum.getForumId()));

			Long lastMessageId = forumDao.getLastPostMessageId(forum.getForumId());
			if (lastMessageId == null) {
				logger.warn("maybe first running, not found lastMessageId for forumId: " + forum.getForumId());
				return;
			}
			if ((message == null) || (message.getMessageId().longValue() != lastMessageId.longValue()))
				message = messageDirector.getMessage(lastMessageId, forumThread, forum);
			forumState.setLastPost(message);
			message.setForum(forum);
		} catch (Exception e) {
			String error = e + " buildState forumMessageId=" + forum.getForumId();
			logger.error(error);
			throw new Exception(error);
		}
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -