|
What this is
Other links
The source code/* * $Header: /cvsroot/mvnforum/mvnforum/src/com/mvnforum/db/ForumBean.java,v 1.13 2005/01/18 11:52:18 minhnn Exp $ * $Author: minhnn $ * $Revision: 1.13 $ * $Date: 2005/01/18 11:52:18 $ * * ==================================================================== * * Copyright (C) 2002-2005 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.db; import java.sql.Timestamp; import java.util.Collection; import java.util.Iterator; import net.myvietnam.mvncore.util.StringUtil; import net.myvietnam.mvncore.exception.BadInputException; import com.mvnforum.MVNForumConfig; /* * Included columns: ForumID, CategoryID, LastPostMemberName, ForumName, ForumDesc, * ForumCreationDate, ForumModifiedDate, ForumLastPostDate, ForumOrder, ForumType, * ForumFormatOption, ForumOption, ForumStatus, ForumModerationMode, ForumPassword, * ForumThreadCount, ForumPostCount * Excluded columns: */ public class ForumBean { /************************************************************************* * NOTE: below constants MUST NOT be changed IN ALL CASES, * or it will break the compatibility *************************************************************************/ /** The default value mean forum is enable and normal */ public final static int FORUM_STATUS_DEFAULT = 0; /** The disabled value mean forum is disabled */ public final static int FORUM_STATUS_DISABLED = 1; /** * No changes (edit, attach, reply) could be maded, moderator * have to change this status before making any changes is possible */ public final static int FORUM_STATUS_LOCKED = 2; /** Noone can reply, but moderator can change it */ public final static int FORUM_STATUS_CLOSED = 3; /** */ public final static int FORUM_TYPE_DEFAULT = 0; /** */ public final static int FORUM_TYPE_PRIVATE = 1; /** */ public final static int FORUM_MODERATION_MODE_SYSTEM_DEFAULT = 0; /** */ public final static int FORUM_MODERATION_MODE_NO_MODERATION = 1; /** */ public final static int FORUM_MODERATION_MODE_THREAD_AND_POST = 2; /** */ public final static int FORUM_MODERATION_MODE_THREAD_ONLY = 3; /** */ public final static int FORUM_MODERATION_MODE_POST_ONLY = 4; public final static String TYPE_NAMES[] = {"Default", "Private"}; public final static String MODE_NAMES[] = {"System Default", "No Moderation", "Thread and Post Moderation", "Thread Only Moderation", "Post Only Moderation"}; private int forumID; private int categoryID; private String lastPostMemberName; private String forumName; private String forumDesc; private Timestamp forumCreationDate; private Timestamp forumModifiedDate; private Timestamp forumLastPostDate; private int forumOrder; private int forumType; private int forumFormatOption; private int forumOption; private int forumStatus; private int forumModerationMode; private String forumPassword; private int forumThreadCount; private int forumPostCount; public int getForumID() { return forumID; } public void setForumID(int forumID) { this.forumID = forumID; } public int getCategoryID() { return categoryID; } public void setCategoryID(int categoryID) { this.categoryID = categoryID; } public String getLastPostMemberName() { return lastPostMemberName; } public void setLastPostMemberName(String lastPostMemberName) { this.lastPostMemberName = StringUtil.getEmptyStringIfNull(lastPostMemberName); } public String getForumName() { return forumName; } public void setForumName(String forumName) { this.forumName = forumName; } public String getForumDesc() { return forumDesc; } public void setForumDesc(String forumDesc) { this.forumDesc = StringUtil.getEmptyStringIfNull(forumDesc); } public Timestamp getForumCreationDate() { return forumCreationDate; } public void setForumCreationDate(Timestamp forumCreationDate) { this.forumCreationDate = forumCreationDate; } public Timestamp getForumModifiedDate() { return forumModifiedDate; } public void setForumModifiedDate(Timestamp forumModifiedDate) { this.forumModifiedDate = forumModifiedDate; } public Timestamp getForumLastPostDate() { return forumLastPostDate; } public void setForumLastPostDate(Timestamp forumLastPostDate) { this.forumLastPostDate = forumLastPostDate; } public int getForumOrder() { return forumOrder; } public void setForumOrder(int forumOrder) { this.forumOrder = forumOrder; } public int getForumType() { return forumType; } public void setForumType(int forumType) { this.forumType = forumType; } public int getForumFormatOption() { return forumFormatOption; } public void setForumFormatOption(int forumFormatOption) { this.forumFormatOption = forumFormatOption; } public int getForumOption() { return forumOption; } public void setForumOption(int forumOption) { this.forumOption = forumOption; } public int getForumStatus() { return forumStatus; } public void setForumStatus(int forumStatus) { this.forumStatus = forumStatus; } public int getForumModerationMode() { return forumModerationMode; } public void setForumModerationMode(int forumModerationMode) { this.forumModerationMode = forumModerationMode; } public String getForumPassword() { return forumPassword; } public void setForumPassword(String forumPassword) { this.forumPassword = StringUtil.getEmptyStringIfNull(forumPassword); } public int getForumThreadCount() { return forumThreadCount; } public void setForumThreadCount(int forumThreadCount) { this.forumThreadCount = forumThreadCount; } public int getForumPostCount() { return forumPostCount; } public void setForumPostCount(int forumPostCount) { this.forumPostCount = forumPostCount; } public String getXMLTag() { StringBuffer xml = new StringBuffer(1024); xml.append("<Forum"); xml.append(" forumID=\"").append(String.valueOf(forumID)).append("\""); xml.append(" categoryID=\"").append(String.valueOf(categoryID)).append("\""); xml.append(" lastPostMemberName=\"").append(String.valueOf(lastPostMemberName)).append("\""); xml.append(" forumName=\"").append(String.valueOf(forumName)).append("\""); xml.append(" forumDesc=\"").append(String.valueOf(forumDesc)).append("\""); xml.append(" forumCreationDate=\"").append(String.valueOf(forumCreationDate)).append("\""); xml.append(" forumModifiedDate=\"").append(String.valueOf(forumModifiedDate)).append("\""); xml.append(" forumLastPostDate=\"").append(String.valueOf(forumLastPostDate)).append("\""); xml.append(" forumOrder=\"").append(String.valueOf(forumOrder)).append("\""); xml.append(" forumType=\"").append(String.valueOf(forumType)).append("\""); xml.append(" forumFormatOption=\"").append(String.valueOf(forumFormatOption)).append("\""); xml.append(" forumOption=\"").append(String.valueOf(forumOption)).append("\""); xml.append(" forumStatus=\"").append(String.valueOf(forumStatus)).append("\""); xml.append(" forumModerationMode=\"").append(String.valueOf(forumModerationMode)).append("\""); xml.append(" forumPassword=\"").append(String.valueOf(forumPassword)).append("\""); xml.append(" forumThreadCount=\"").append(String.valueOf(forumThreadCount)).append("\""); xml.append(" forumPostCount=\"").append(String.valueOf(forumPostCount)).append("\""); xml.append(">"); return xml.toString(); } public String getXML() { StringBuffer xml = new StringBuffer(1024); xml.append("<ForumSection>\n"); xml.append(" <Rows>\n"); xml.append(" <Row>\n"); xml.append(" <Column>\n"); xml.append(" <Name>ForumID\n"); xml.append(" <Value>").append(String.valueOf(forumID)).append("\n"); xml.append(" </Column>\n"); xml.append(" <Column>\n"); xml.append(" <Name>CategoryID\n"); xml.append(" <Value>").append(String.valueOf(categoryID)).append("\n"); xml.append(" </Column>\n"); xml.append(" <Column>\n"); xml.append(" <Name>LastPostMemberName\n"); xml.append(" <Value>").append(String.valueOf(lastPostMemberName)).append("\n"); xml.append(" </Column>\n"); xml.append(" <Column>\n"); xml.append(" <Name>ForumName\n"); xml.append(" <Value>").append(String.valueOf(forumName)).append("\n"); xml.append(" </Column>\n"); xml.append(" <Column>\n"); xml.append(" <Name>ForumDesc\n"); xml.append(" <Value>").append(String.valueOf(forumDesc)).append("\n"); xml.append(" </Column>\n"); xml.append(" <Column>\n"); xml.append(" <Name>ForumCreationDate\n"); xml.append(" <Value>").append(String.valueOf(forumCreationDate)).append("\n"); xml.append(" </Column>\n"); xml.append(" <Column>\n"); xml.append(" <Name>ForumModifiedDate\n"); xml.append(" <Value>").append(String.valueOf(forumModifiedDate)).append("\n"); xml.append(" </Column>\n"); xml.append(" <Column>\n"); xml.append(" <Name>ForumLastPostDate\n"); xml.append(" <Value>").append(String.valueOf(forumLastPostDate)).append("\n"); xml.append(" </Column>\n"); xml.append(" <Column>\n"); xml.append(" <Name>ForumOrder\n"); xml.append(" <Value>").append(String.valueOf(forumOrder)).append("\n"); xml.append(" </Column>\n"); xml.append(" <Column>\n"); xml.append(" <Name>ForumType\n"); xml.append(" <Value>").append(String.valueOf(forumType)).append("\n"); xml.append(" </Column>\n"); xml.append(" <Column>\n"); xml.append(" <Name>ForumFormatOption\n"); xml.append(" <Value>").append(String.valueOf(forumFormatOption)).append("\n"); xml.append(" </Column>\n"); xml.append(" <Column>\n"); xml.append(" <Name>ForumOption\n"); xml.append(" <Value>").append(String.valueOf(forumOption)).append("\n"); xml.append(" </Column>\n"); xml.append(" <Column>\n"); xml.append(" <Name>ForumStatus\n"); xml.append(" <Value>").append(String.valueOf(forumStatus)).append("\n"); xml.append(" </Column>\n"); xml.append(" <Column>\n"); xml.append(" <Name>ForumModerationMode\n"); xml.append(" <Value>").append(String.valueOf(forumModerationMode)).append("\n"); xml.append(" </Column>\n"); xml.append(" <Column>\n"); xml.append(" <Name>ForumPassword\n"); xml.append(" <Value>").append(String.valueOf(forumPassword)).append("\n"); xml.append(" </Column>\n"); xml.append(" <Column>\n"); xml.append(" <Name>ForumThreadCount\n"); xml.append(" <Value>").append(String.valueOf(forumThreadCount)).append("\n"); xml.append(" </Column>\n"); xml.append(" <Column>\n"); xml.append(" <Name>ForumPostCount\n"); xml.append(" <Value>").append(String.valueOf(forumPostCount)).append("\n"); xml.append(" </Column>\n"); xml.append(" </Row>\n"); xml.append(" </Rows>\n"); xml.append("</ForumSection>\n"); return xml.toString(); } public static String getXML(Collection objForumBeans) { StringBuffer xml = new StringBuffer(1024); Iterator iterator = objForumBeans.iterator(); xml.append("<ForumSection>\n"); xml.append(" <Rows>\n"); while (iterator.hasNext()) { ForumBean objForumBean = (ForumBean)iterator.next(); xml.append(" <Row>\n"); xml.append(" <Column>\n"); xml.append(" <Name>ForumID\n"); xml.append(" <Value>").append(String.valueOf(objForumBean.forumID)).append("\n"); xml.append(" </Column>\n"); xml.append(" <Column>\n"); xml.append(" <Name>CategoryID\n"); xml.append(" <Value>").append(String.valueOf(objForumBean.categoryID)).append("\n"); xml.append(" </Column>\n"); xml.append(" <Column>\n"); xml.append(" <Name>LastPostMemberName\n"); xml.append(" <Value>").append(String.valueOf(objForumBean.lastPostMemberName)).append("\n"); xml.append(" </Column>\n"); xml.append(" <Column>\n"); xml.append(" <Name>ForumName\n"); xml.append(" <Value>").append(String.valueOf(objForumBean.forumName)).append("\n"); xml.append(" </Column>\n"); xml.append(" <Column>\n"); xml.append(" <Name>ForumDesc\n"); xml.append(" <Value>").append(String.valueOf(objForumBean.forumDesc)).append("\n"); xml.append(" </Column>\n"); xml.append(" <Column>\n"); xml.append(" <Name>ForumCreationDate\n"); xml.append(" <Value>").append(String.valueOf(objForumBean.forumCreationDate)).append("\n"); xml.append(" </Column>\n"); xml.append(" <Column>\n"); xml.append(" <Name>ForumModifiedDate\n"); xml.append(" <Value>").append(String.valueOf(objForumBean.forumModifiedDate)).append("\n"); xml.append(" </Column>\n"); xml.append(" <Column>\n"); xml.append(" <Name>ForumLastPostDate\n"); xml.append(" <Value>").append(String.valueOf(objForumBean.forumLastPostDate)).append("\n"); xml.append(" </Column>\n"); xml.append(" <Column>\n"); xml.append(" <Name>ForumOrder\n"); xml.append(" <Value>").append(String.valueOf(objForumBean.forumOrder)).append("\n"); xml.append(" </Column>\n"); xml.append(" <Column>\n"); xml.append(" <Name>ForumType\n"); xml.append(" <Value>").append(String.valueOf(objForumBean.forumType)).append("\n"); xml.append(" </Column>\n"); xml.append(" <Column>\n"); xml.append(" <Name>ForumFormatOption\n"); xml.append(" <Value>").append(String.valueOf(objForumBean.forumFormatOption)).append("\n"); xml.append(" </Column>\n"); xml.append(" <Column>\n"); xml.append(" <Name>ForumOption\n"); xml.append(" <Value>").append(String.valueOf(objForumBean.forumOption)).append("\n"); xml.append(" </Column>\n"); xml.append(" <Column>\n"); xml.append(" <Name>ForumStatus\n"); xml.append(" <Value>").append(String.valueOf(objForumBean.forumStatus)).append("\n"); xml.append(" </Column>\n"); xml.append(" <Column>\n"); xml.append(" <Name>ForumModerationMode\n"); xml.append(" <Value>").append(String.valueOf(objForumBean.forumModerationMode)).append("\n"); xml.append(" </Column>\n"); xml.append(" <Column>\n"); xml.append(" <Name>ForumPassword\n"); xml.append(" <Value>").append(String.valueOf(objForumBean.forumPassword)).append("\n"); xml.append(" </Column>\n"); xml.append(" <Column>\n"); xml.append(" <Name>ForumThreadCount\n"); xml.append(" <Value>").append(String.valueOf(objForumBean.forumThreadCount)).append("\n"); xml.append(" </Column>\n"); xml.append(" <Column>\n"); xml.append(" <Name>ForumPostCount\n"); xml.append(" <Value>").append(String.valueOf(objForumBean.forumPostCount)).append("\n"); xml.append(" </Column>\n"); xml.append(" </Row>\n"); }//while xml.append(" </Rows>\n"); xml.append("</ForumSection>\n"); return xml.toString(); } /************************************************ * Customized methods come below ************************************************/ private int pendingThreadCount = 0; private int threadsWithPendingPostsCount = 0; private int pendingPostCount = 0; public int getPendingPostCount() { return pendingPostCount; } public void setPendingPostCount(int pendingPostCount) { this.pendingPostCount = pendingPostCount; } public int getPendingThreadCount() { return pendingThreadCount; } public void setPendingThreadCount(int pendingThreadCount) { this.pendingThreadCount = pendingThreadCount; } public int getThreadsWithPendingPostsCount() { return threadsWithPendingPostsCount; } public void setThreadsWithPendingPostsCount(int threadsWithPendingPostsCount) { this.threadsWithPendingPostsCount = threadsWithPendingPostsCount; } static public void validateForumType(int type) throws IllegalArgumentException { if ((type < 0) || (type > FORUM_TYPE_PRIVATE)) { throw new IllegalArgumentException("Invalid ForumType = " + type); } } static public void validateForumModerationMode(int moderationMod) throws IllegalArgumentException { if ((moderationMod < 0) || (moderationMod > FORUM_MODERATION_MODE_POST_ONLY)) { throw new IllegalArgumentException("Invalid ForumModerationMod = " + moderationMod); } } static public void validateForumStatus(int status) throws IllegalArgumentException { if ((status < 0) || (status > FORUM_STATUS_CLOSED)) { throw new IllegalArgumentException("Invalid ForumStatus = " + status); } } static public void validateForumOption(int option) throws IllegalArgumentException { if ((option < 0) || (option > 0)) { throw new IllegalArgumentException("Invalid ForumOption = " + option); } } static public void validateForumFormatOption(int option) throws IllegalArgumentException { if ((option < 0) || (option > 0)) { throw new IllegalArgumentException("Invalid ForumFormatOption = " + option); } } public void ensureNotDisabledForum() throws BadInputException { if (forumStatus == ForumBean.FORUM_STATUS_DISABLED) { throw new BadInputException("Cannnot process this action in a disabled forum.");//@todo : localize me } } public void ensureNotLockedForum() throws BadInputException { if (forumStatus == ForumBean.FORUM_STATUS_LOCKED) { throw new BadInputException("Cannnot process this action in a locked forum.");//@todo : localize me } } public void ensureNotClosedForum() throws BadInputException { if (forumStatus == ForumBean.FORUM_STATUS_CLOSED) { throw new BadInputException("Cannnot process this action in a closed forum.");//@todo : localize me } } public boolean shouldModeratePost() { int mode = forumModerationMode; if (mode == FORUM_MODERATION_MODE_SYSTEM_DEFAULT) { mode = MVNForumConfig.getDefaultModerationOption(); } if ((mode == FORUM_MODERATION_MODE_POST_ONLY) || (mode == FORUM_MODERATION_MODE_THREAD_AND_POST)) { return true; } return false; } public boolean shouldModerateThread() { int mode = forumModerationMode; if (mode == FORUM_MODERATION_MODE_SYSTEM_DEFAULT) { mode = MVNForumConfig.getDefaultModerationOption(); } if ((mode == FORUM_MODERATION_MODE_THREAD_ONLY) || (mode == FORUM_MODERATION_MODE_THREAD_AND_POST)) { return true; } return false; } public String getForumModeName() { return MODE_NAMES[this.forumModerationMode]; } public String getForumTypeName() { return TYPE_NAMES[this.forumType]; } } //end of class ForumBean |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.