?? forumwebhandler.java
字號:
/*
* $Header: /cvsroot/mvnforum/mvnforum/src/com/mvnforum/user/ForumWebHandler.java,v 1.15 2004/05/19 19:11:59 minhnn Exp $
* $Author: minhnn $
* $Revision: 1.15 $
* $Date: 2004/05/19 19:11:59 $
*
* ====================================================================
*
* Copyright (C) 2002-2004 by MyVietnam.net
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or any later version.
*
* All copyright notices regarding mvnForum MUST remain intact
* in the scripts and in the outputted HTML.
* The "powered by" text/logo with a link back to
* http://www.mvnForum.com and http://www.MyVietnam.net in the
* footer of the pages MUST remain visible when the pages
* are viewed on the internet or intranet.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* Support can be obtained from support forums at:
* http://www.mvnForum.com/mvnforum/index
*
* Correspondence and Marketing Questions can be sent to:
* info@MyVietnam.net
*
* @author: Minh Nguyen minhnn@MyVietnam.net
* @author: Mai Nguyen mai.nh@MyVietnam.net
*/
package com.mvnforum.user;
import java.util.*;
import javax.servlet.http.HttpServletRequest;
import com.mvnforum.auth.*;
import com.mvnforum.db.*;
import net.myvietnam.mvncore.exception.*;
public class ForumWebHandler {
private OnlineUserManager userManager = OnlineUserManager.getInstance();
public ForumWebHandler() {
}
public void prepareList(HttpServletRequest request, String requestURI)
throws AssertionException, DatabaseException, AuthenticationException, MissingURLMapEntryException {
int numberOfThreads = DAOFactory.getThreadDAO().getNumberOfEnableBeans();
int numberOfPosts = DAOFactory.getPostDAO().getNumberOfEnablePosts() - DAOFactory.getThreadDAO().getNumberOfDisableBeans();
int numberOfMembers = DAOFactory.getMemberDAO().getNumberOfMembers();
Collection memberBeans = DAOFactory.getMemberDAO().getMembers_withSortSupport_limit(0, 1, "MemberID", "DESC");
if (memberBeans.size() != 1) {
throw new AssertionException("Assertion: MemberBeans size == 1 (but the value = " + memberBeans.size() + ")");
}
MemberBean memberBean = (MemberBean)memberBeans.iterator().next();
// the following 2 lines fix the bug that no online user found in the first time request
userManager.getOnlineUser(request);
Action action = new ActionInUserModule(request, requestURI); // may throw MissingURLMapEntryException
userManager.updateOnlineUserAction(request, action);
// now set the attribute
request.setAttribute("OnlineUserActions",userManager.getOnlineUserActions(0 /*default*/)); // no permission
request.setAttribute("NumberOfThreads", new Integer(numberOfThreads));
request.setAttribute("NumberOfPosts", new Integer(numberOfPosts));
request.setAttribute("MemberBean", memberBean);
request.setAttribute("NumberOfMembers", new Integer(numberOfMembers));
}
public void prepareListIndex(HttpServletRequest request, String requestURI)
throws AssertionException, DatabaseException, AuthenticationException,
MissingURLMapEntryException, ObjectNotFoundException {
int numberOfThreads = DAOFactory.getThreadDAO().getNumberOfEnableBeans();
int numberOfPosts = DAOFactory.getPostDAO().getNumberOfEnablePosts() - DAOFactory.getThreadDAO().getNumberOfDisableBeans();
int numberOfMembers = DAOFactory.getMemberDAO().getNumberOfMembers();
Collection memberBeans = DAOFactory.getMemberDAO().getMembers_withSortSupport_limit(0, 1, "MemberID", "DESC");
if (memberBeans.size() != 1) {
throw new AssertionException("Assertion: MemberBeans size == 1 (but the value = " + memberBeans.size() + ")");
}
MemberBean memberBean = (MemberBean) memberBeans.iterator().next();
// the following 2 lines fix the bug that no online user found in the first time request
userManager.getOnlineUser(request);
Action action = new ActionInUserModule(request, requestURI); // may throw MissingURLMapEntryException
userManager.updateOnlineUserAction(request, action);
ForumCache forumCache = ForumCache.getInstance();
Collection forumBeans = forumCache.getBeans();
Collection cTotal = new ArrayList();
for (Iterator forumIterator = forumBeans.iterator(); forumIterator.hasNext(); ) {
ForumBean forumBean = (ForumBean) forumIterator.next();
Collection cThreadTemp = DAOFactory.getThreadDAO().getEnableBeans_inForum_withSortSupport_limit(forumBean.getForumID(), 0, 1, "ThreadLastPostDate", "DESC");
if (cThreadTemp.size() == 0) {
continue;
} else if (cThreadTemp.size() > 1) {
throw new AssertionException("Assertion: ThreadBeans size <= 1 (but the value = " + cThreadTemp.size() + ")");
}
ThreadBean threadBean = (ThreadBean) (cThreadTemp.iterator().next());
Collection cPostTemp = DAOFactory.getPostDAO().getLastEnablePosts_inThread_limit(threadBean.getThreadID(), 1);
if (cPostTemp.size() != 1) {
throw new AssertionException("Assertion: PostBeans size == 1 (but the value = " + cPostTemp.size() + ")");
}
PostBean postBean = (PostBean) (cPostTemp.iterator().next());
Collection cGeneralInfo = new ArrayList(2);
cGeneralInfo.add(postBean);
cGeneralInfo.add(threadBean);
cTotal.add(cGeneralInfo);
}
// now set the attribute
request.setAttribute("OnlineUserActions", userManager.getOnlineUserActions(0 /*default*/)); // no permission
request.setAttribute("LastPosts", cTotal);
request.setAttribute("NumberOfThreads", new Integer(numberOfThreads));
request.setAttribute("NumberOfPosts", new Integer(numberOfPosts));
request.setAttribute("MemberBean", memberBean);
request.setAttribute("NumberOfMembers", new Integer(numberOfMembers));
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -