Package com.liusoft.dlog4j.action

Source Code of com.liusoft.dlog4j.action.BBSAdminAction

/*
*  BBSReplyDAO.java
*  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
*  (at your option) any later version.
*
*  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 Library 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.
*  Author: Winter Lau (javayou@gmail.com)
*  http://dlog4j.sourceforge.net
*/
package com.liusoft.dlog4j.action;

import java.util.Date;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;
import org.apache.struts.action.ActionMessages;

import com.liusoft.dlog4j.beans.ForumBean;
import com.liusoft.dlog4j.beans.SiteBean;
import com.liusoft.dlog4j.beans.TypeBean;
import com.liusoft.dlog4j.dao.BBSForumDAO;
import com.liusoft.dlog4j.formbean.BBSForumForm;
import com.liusoft.dlog4j.util.StringUtils;

/**
* BBS�����Action
* @author Winter Lau
*/
public class BBSAdminAction extends AdminActionBase {

  /**
   * ������̳
   *
   * @param mapping
   * @param form
   * @param request
   * @param response
   * @return
   * @throws Exception
   */
  protected ActionForward doLockForum(ActionMapping mapping, ActionForm form,
      HttpServletRequest request, HttpServletResponse response, String s_forum_id)
      throws Exception {
    BBSForumForm forum = (BBSForumForm)form;
    int forum_id = Integer.parseInt(s_forum_id);
    BBSForumDAO.lockForumByID(forum.getSid(), forum_id);
    return super.makeForward(mapping.findForward("forums"), forum.getSid());
  }
 
  /**
   * ������̳
   *
   * @param mapping
   * @param form
   * @param request
   * @param response
   * @return
   * @throws Exception
   */
  protected ActionForward doHideForum(ActionMapping mapping, ActionForm form,
      HttpServletRequest request, HttpServletResponse response, String s_forum_id)
      throws Exception {
    BBSForumForm forum = (BBSForumForm)form;
    int forum_id = Integer.parseInt(s_forum_id);
    BBSForumDAO.hideForumByID(forum.getSid(), forum_id);
    return super.makeForward(mapping.findForward("forums"), forum.getSid());
  }
 
  /**
   * ɾ����̳
   *
   * @param mapping
   * @param form
   * @param request
   * @param response
   * @return
   * @throws Exception
   */
  protected ActionForward doDeleteForum(ActionMapping mapping, ActionForm form,
      HttpServletRequest request, HttpServletResponse response, String s_forum_id)
      throws Exception {
    BBSForumForm forum = (BBSForumForm)form;
    int forum_id = Integer.parseInt(s_forum_id);
    BBSForumDAO.deleteForumByID(forum.getSid(), forum_id);
    return super.makeForward(mapping.findForward("forums"), forum.getSid());
  }
 
  /**
   * ������̳
   *
   * @param mapping
   * @param form
   * @param request
   * @param response
   * @return
   * @throws Exception
   */
  protected ActionForward doUpdateForum(ActionMapping mapping, ActionForm form,
      HttpServletRequest request, HttpServletResponse response)
      throws Exception {
    BBSForumForm forum = (BBSForumForm)form;
    super.validateClientId(request, forum);
    ForumBean fbean = BBSForumDAO.getForumByID(forum.getId());
    if(fbean!=null){
      if(StringUtils.isNotEmpty(forum.getName())&&!StringUtils.equals(fbean.getName(),forum.getName())){
        fbean.setName(forum.getName());
      }
      if(StringUtils.isNotEmpty(forum.getDesc())&&!StringUtils.equals(fbean.getDesc(),forum.getDesc())){
        fbean.setDesc(forum.getDesc());
      }
      if(fbean.getStatus()!=forum.getStatus()){
        int s = forum.getStatus();
        if(s==ForumBean.STATUS_NORMAL||s==ForumBean.STATUS_HIDDEN||s==ForumBean.STATUS_LOCKED)
          fbean.setStatus(forum.getStatus());
      }
      //�����������
      if(forum.getCatalog()>0){
        if(fbean.getCatalog()==null)
          fbean.setCatalog(new TypeBean(forum.getCatalog()));
        else if(fbean.getCatalog().getId()!=forum.getCatalog())
          fbean.setCatalog(new TypeBean(forum.getCatalog()));           
      }
      else if(fbean.getCatalog()!=null){
        fbean.setCatalog(null);
      }
     
      BBSForumDAO.flush();
    }
    return super.makeForward(mapping.findForward("forums"), forum.getSid());
  }
 
  /**
   * ������̳
   *
   * @param mapping
   * @param form
   * @param request
   * @param response
   * @return
   * @throws Exception
   */
  protected ActionForward doCreateForum(ActionMapping mapping, ActionForm form,
      HttpServletRequest request, HttpServletResponse response)
      throws Exception {
    BBSForumForm forum = (BBSForumForm)form;
    ActionMessages msgs = new ActionMessages();
    if(StringUtils.isEmpty(forum.getName())){
      msgs.add("name", new ActionMessage("error.forum_name_empty"));
    }
    else{     
      super.validateClientId(request, forum);
      SiteBean site = super.getSiteBean(request);
      ForumBean fbean = new ForumBean();
      fbean.setName(forum.getName());
      if(!StringUtils.isEmpty(forum.getDesc()))
        fbean.setDesc(forum.getDesc());
      fbean.setCreateTime(new Date());
      fbean.setSite(site);
      int s = forum.getStatus();
      if(s==ForumBean.STATUS_NORMAL||s==ForumBean.STATUS_HIDDEN||s==ForumBean.STATUS_LOCKED)
        fbean.setStatus(forum.getStatus());
      else
        fbean.setStatus(ForumBean.STATUS_NORMAL);
      if(forum.getCatalog()>0){
        fbean.setCatalog(new TypeBean(forum.getCatalog()));
      }
      BBSForumDAO.createForum(fbean, forum.getId(), forum.getDirection()==1);
    }
    if(!msgs.isEmpty()){
      saveMessages(request, msgs);
      return mapping.findForward("forum_add");
    }
    return super.makeForward(mapping.findForward("forums"), forum.getSid());
  }
 
  /**
   * �����ƶ��ռǷ���
   *
   * @param mapping
   * @param form
   * @param request
   * @param response
   * @return
   * @throws Exception
   */
  protected ActionForward doMoveUp(ActionMapping mapping, ActionForm form,
      HttpServletRequest request, HttpServletResponse response, String s_forum_id)
      throws Exception
  {
    BBSForumForm lform = (BBSForumForm)form;
    try{
      int forum_id = Integer.parseInt(s_forum_id);
      BBSForumDAO.move(getSiteBean(request), forum_id, true);
    }catch(Exception e){
      context().log("move up forum #"+s_forum_id+" failed.", e);
    }
    return makeForward(mapping.findForward("forums"), lform.getSid());
  }
 
  /**
   * �����ƶ��ռǷ���
   *
   * @param mapping
   * @param form
   * @param request
   * @param response
   * @return
   * @throws Exception
   */
  protected ActionForward doMoveDown(ActionMapping mapping, ActionForm form,
      HttpServletRequest request, HttpServletResponse response, String s_forum_id)
      throws Exception
  {
    BBSForumForm lform = (BBSForumForm)form;
    try{
      int forum_id = Integer.parseInt(s_forum_id);
      BBSForumDAO.move(getSiteBean(request), forum_id, false);
    }catch(Exception e){
      context().log("move up forum #"+s_forum_id+" failed.", e);
    }
    return makeForward(mapping.findForward("forums"), lform.getSid());
  }
 
}
TOP

Related Classes of com.liusoft.dlog4j.action.BBSAdminAction

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.