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

📄 adminmoduleprocessor.java

📁 java servlet著名论坛源代码
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
/*
 * $Header: /cvsroot/mvnforum/mvnforum/src/com/mvnforum/admin/AdminModuleProcessor.java,v 1.16 2004/06/24 13:11:43 minhnn Exp $
 * $Author: minhnn $
 * $Revision: 1.16 $
 * $Date: 2004/06/24 13:11:43 $
 *
 * ====================================================================
 *
 * 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.admin;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.*;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import com.mvnforum.URLMap;
import com.mvnforum.auth.*;
import net.myvietnam.mvncore.exception.*;
import net.myvietnam.mvncore.util.ParamUtil;
import net.myvietnam.mvncore.util.StringUtil;

class AdminModuleProcessor {

    private static Log log = LogFactory.getLog(AdminModuleProcessor.class);

    private final String ORIGINAL_REQUEST = "mvnforum.admin.OriginalRequest";

    private HttpServlet     adminServlet    = null;
    //private ServletContext  servletContext  = null;

    private AdminModuleURLMapHandler    urlMapHandler               = new AdminModuleURLMapHandler();
    private ForumWebHandler             forumWebHandler             = new ForumWebHandler();
    private CategoryWebHandler          categoryWebHandler          = new CategoryWebHandler();
    private MemberWebHandler            memberWebHandler            = new MemberWebHandler();
    private WatchWebHandler             watchWebHandler             = new WatchWebHandler();
    private GroupsWebHandler            groupsWebHandler            = new GroupsWebHandler();
    private MemberGroupWebHandler       memberGroupWebHandler       = new MemberGroupWebHandler();
    private GroupPermissionWebHandler   groupPermissionWebHandler   = new GroupPermissionWebHandler();
    private GroupForumWebHandler        groupForumWebHandler        = new GroupForumWebHandler();
    private RankWebHandler              rankWebHandler              = new RankWebHandler();
    private MemberPermissionWebHandler  memberPermissionWebHandler  = new MemberPermissionWebHandler();
    private MemberForumWebHandler       memberForumWebHandler       = new MemberForumWebHandler();
    private GeneralAdminTasksWebHandler generalAdminTasksWebHandler = new GeneralAdminTasksWebHandler();
    private ConfigurationWebHandler     configurationWebHandler     = new ConfigurationWebHandler();

    private OnlineUserManager           onlineUserManager           = OnlineUserManager.getInstance();

    public AdminModuleProcessor(HttpServlet servlet) {
        adminServlet    = servlet;
        //servletContext  = servlet.getServletContext();
    }

    /**
     * This method handles the <code>requestURI</code>, and invokes the needed
     * procedure (if the current user has the permission to perform that task).
     * <br/>
     * For example, URI <code>"/addforumprocess"</code> invokes the call to
     * <code>forumWebHandler.processAdd(request);</code>.<br/>
     * After the task is performed, we use the <code>AdminModuleURLMapHandler</code>
     * to get the <code>responseURI</code>. That <code>responseURI</code> is
     * returned back to the calling method, so it can decide and act on it
     * (to redirect to that URI).<br/>
     *
     * @param request The <code>HttpServletRequest</code> object of this HTTP request.
     * @param response The <code>HttpServletResponse</code> object of this HTTP request.
     * @return responseURI to be redirected to. <b>It could be null</b>, which
     *         means we are not supposed to do any redirection, since the output was
     *         already commited (for example, if we sent (downloaded) a file to the user.
     */
    public String process(HttpServletRequest request, HttpServletResponse response)
        throws IOException, ServletException {

        long start = 0;
        String requestURI = StringUtil.getEmptyStringIfNull(request.getPathInfo());
        String responseURI = null;
        if (log.isDebugEnabled()) {
            start = System.currentTimeMillis();
            log.debug("AdminModuleProcessor : requestURI  = " + requestURI);
        }

        // step 1: some command need to be processed before we do the URI mapping (of the MODAL)
        try {
            // always check for Authenticated User
            OnlineUser onlineUser = onlineUserManager.getOnlineUser(request);
            MVNForumPermission permission = onlineUser.getPermission();
            if ( !requestURI.equals("") &&
                 !requestURI.equals("/") &&
                 !requestURI.equals("/login") &&
                 !requestURI.equals("/loginprocess") &&
                 !requestURI.equals("/logout")) {
                permission.ensureIsAuthenticated();
                if (onlineUser.getAuthenticationType() == OnlineUser.AUTHENTICATION_TYPE_COOKIE) {
                    throw new AuthenticationException(NotLoginException.COOKIE_NOT_ALLOWED);
                }
            }

            if (requestURI.equals("/forummanagement")) {
                forumWebHandler.prepareForumManagement(request);
            } else if (requestURI.equals("/editgroupforumpermission")) {
                groupForumWebHandler.prepareList(request);
            } else if (requestURI.equals("/updategroupforumpermission")) {
                groupForumWebHandler.processUpdate(request);

            } else if (requestURI.equals("/addforum")) {
                permission.ensureCanAddForum();
            } else if (requestURI.equals("/addforumprocess")) {
                forumWebHandler.processAdd(request);
            } else if (requestURI.equals("/deleteforum")) {
                forumWebHandler.prepareDelete(request);
            } else if (requestURI.equals("/deleteforumprocess")) {
                forumWebHandler.processDelete(request);
            } else if (requestURI.equals("/editforum")) {
                forumWebHandler.prepareEdit(request);
            } else if (requestURI.equals("/updateforum")) {
                forumWebHandler.processUpdate(request);
            } else if (requestURI.equals("/updateforumorder")) {
                forumWebHandler.processUpdateForumOrder(request);

            } else if (requestURI.equals("/addcategory")) {
                permission.ensureCanAddCategory();
            } else if (requestURI.equals("/addcategoryprocess")) {
                categoryWebHandler.processAdd(request);
            } else if (requestURI.equals("/deletecategory")) {
                categoryWebHandler.prepareDelete(request);
            } else if (requestURI.equals("/deletecategoryprocess")) {
                categoryWebHandler.processDelete(request);
            } else if (requestURI.equals("/editcategory")) {
                categoryWebHandler.prepareEdit(request);
            } else if (requestURI.equals("/updatecategory")) {
                categoryWebHandler.processUpdate(request);
            } else if (requestURI.equals("/updatecategoryorder")) {
                categoryWebHandler.processUpdateCategoryOrder(request);

            } else if (requestURI.equals("/rankmanagement")) {
                rankWebHandler.prepareList(request);
            } else if (requestURI.equals("/editrank")) {
                rankWebHandler.prepareEdit(request);
            } else if (requestURI.equals("/editrankprocess")) {
                rankWebHandler.processUpdate(request);
            } else if (requestURI.equals("/addrankprocess")) {
                rankWebHandler.processAdd(request);
            } else if (requestURI.equals("/deleterankprocess")) {
                rankWebHandler.processDelete(request);

            } else if (requestURI.equals("/usermanagement")) {
                memberWebHandler.prepareListMembers_forPublic(request);
            } else if (requestURI.equals("/addmemberprocess")) {

⌨️ 快捷键说明

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