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

📄 adminboardset.java

📁 java论坛
💻 JAVA
字号:
package com.laoer.bbscs.web.action;

import java.util.*;
import javax.servlet.http.*;

import org.apache.commons.lang.*;
import org.apache.struts.action.*;
import org.apache.struts.util.*;
import com.laoer.bbscs.bean.*;
import com.laoer.bbscs.comm.*;
import com.laoer.bbscs.exception.*;
import com.laoer.bbscs.service.*;
import com.laoer.bbscs.web.form.*;

public class AdminBoardSet
    extends Action {

  private BoardService boardService;

  private ForumService forumService;

  public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request,
                               HttpServletResponse response) {
    AdminBoardSetForm adminBoardSetForm = (AdminBoardSetForm) form;

    ActionMessages messages = new ActionMessages();

    if (adminBoardSetForm.getAction().equalsIgnoreCase("new")) {
      //Vector bv = BBSCSUtil.getBoardsValues(this.getLocale(request));
      //request.setAttribute("parentValues", getBoardsValues(bv));
      this.setBoardsValuesRequest(request);
      adminBoardSetForm.setAction("add");
      adminBoardSetForm.setUseStat(1);
      adminBoardSetForm.setAddUserPostNum(1);

      int nextOrders = this.getBoardService().getNextOrder(adminBoardSetForm.getParentID());
      adminBoardSetForm.setOrders(nextOrders);

      return mapping.findForward("boardSet");
    }

    if (adminBoardSetForm.getAction().equalsIgnoreCase("add")) {
      if (StringUtils.isBlank(adminBoardSetForm.getBoardName())) {
        messages.add("error.admin.board.boardNameNull",
                     new ActionMessage("error.admin.board.boardNameNull"));
        this.saveErrors(request, messages);
        //Vector bv = BBSCSUtil.getBoardsValues(this.getLocale(request));
        //request.setAttribute("parentValues", getBoardsValues(bv));
        this.setBoardsValuesRequest(request);
        return mapping.getInputForward();
      }
      if (adminBoardSetForm.getBoardType() == 0 && adminBoardSetForm.getParentID() != 0) {
        messages.add("error.admin.board.type", new ActionMessage("error.admin.board.type"));
        this.saveErrors(request, messages);
        this.setBoardsValuesRequest(request);
        return mapping.getInputForward();
      }
      Board b = new Board();
      b.setAddUserPostNum(adminBoardSetForm.getAddUserPostNum());
      b.setAllowHTML(adminBoardSetForm.getAllowHTML());
      b.setAllowUBB(adminBoardSetForm.getAllowUBB());
      b.setAuditAttach(adminBoardSetForm.getAuditAttach());
      b.setAuditPost(adminBoardSetForm.getAuditPost());
      b.setBoardName(adminBoardSetForm.getBoardName());
      b.setBoardType(adminBoardSetForm.getBoardType());
      b.setBulletin(adminBoardSetForm.getBulletin());
      b.setExplains(adminBoardSetForm.getExplains());
      b.setIsAuth(adminBoardSetForm.getIsAuth());
      b.setIsHidden(adminBoardSetForm.getIsHidden());
      b.setNeedPasswd(adminBoardSetForm.getNeedPasswd());
      b.setOrders(adminBoardSetForm.getOrders());
      b.setParentID(adminBoardSetForm.getParentID());
      b.setPasswd(adminBoardSetForm.getPasswd());
      b.setUseStat(adminBoardSetForm.getUseStat());

      try {
        b = this.getBoardService().createBoard(b);
        messages.add("resultMsg", new ActionMessage("admin.board.create.ok"));
        this.saveMessages(request, messages);
      }
      catch (BbscsException ex1) {
        messages.add("error.admin.board.create", new ActionMessage("error.admin.board.create"));
        this.saveErrors(request, messages);
      }
      this.setBoardsValuesRequest(request);
      return mapping.findForward("boardSet");

    }

    if (adminBoardSetForm.getAction().equalsIgnoreCase("edit")) {
      //Vector bv = BBSCSUtil.getBoardsValues(this.getLocale(request));
      //request.setAttribute("parentValues", getBoardsValues(bv));
      this.setBoardsValuesRequest(request);
      Board b = this.getBoardService().getBoardByID(adminBoardSetForm.getId());
      if (b == null) {
        messages.add("error.board.notexist", new ActionMessage("error.board.notexist"));
        this.saveErrors(request, messages);

        return mapping.findForward("boardSet");
      }
      adminBoardSetForm.setAction("save");
      adminBoardSetForm.setAddUserPostNum(b.getAddUserPostNum());
      adminBoardSetForm.setAllowHTML(b.getAllowHTML());
      adminBoardSetForm.setAllowUBB(b.getAllowUBB());
      adminBoardSetForm.setAuditAttach(b.getAuditAttach());
      adminBoardSetForm.setAuditPost(b.getAuditPost());
      adminBoardSetForm.setBoardName(b.getBoardName());
      adminBoardSetForm.setBoardType(b.getBoardType());
      adminBoardSetForm.setBulletin(b.getBulletin());
      adminBoardSetForm.setExplains(b.getExplains());
      adminBoardSetForm.setId(b.getId().longValue());
      adminBoardSetForm.setIsAuth(b.getIsAuth());
      adminBoardSetForm.setIsHidden(b.getIsHidden());
      adminBoardSetForm.setNeedPasswd(b.getNeedPasswd());
      adminBoardSetForm.setOrders(b.getOrders());
      adminBoardSetForm.setParentID(b.getParentID());
      adminBoardSetForm.setPasswd(b.getPasswd());
      adminBoardSetForm.setUseStat(b.getUseStat());
      return mapping.findForward("boardSet");
    }

    if (adminBoardSetForm.getAction().equalsIgnoreCase("save")) {
      Board b = this.getBoardService().getBoardByID(adminBoardSetForm.getId());
      if (b == null) {
        messages.add("error.board.notexist", new ActionMessage("error.board.notexist"));
        this.saveErrors(request, messages);
        //Vector bv = BBSCSUtil.getBoardsValues(this.getLocale(request));
        //request.setAttribute("parentValues", getBoardsValues(bv));
        this.setBoardsValuesRequest(request);
        return mapping.findForward("boardSet");
      }
      long oldParendID = 0;
      if (b.getParentID() != adminBoardSetForm.getParentID()) {
        oldParendID = b.getParentID();
      }
      b.setAddUserPostNum(adminBoardSetForm.getAddUserPostNum());
      b.setAllowHTML(adminBoardSetForm.getAllowHTML());
      b.setAllowUBB(adminBoardSetForm.getAllowUBB());
      b.setAuditAttach(adminBoardSetForm.getAuditAttach());
      b.setAuditPost(adminBoardSetForm.getAuditPost());
      b.setBoardName(adminBoardSetForm.getBoardName());
      b.setBoardType(adminBoardSetForm.getBoardType());
      b.setBulletin(adminBoardSetForm.getBulletin());
      b.setExplains(adminBoardSetForm.getExplains());
      b.setIsAuth(adminBoardSetForm.getIsAuth());
      b.setIsHidden(adminBoardSetForm.getIsHidden());
      b.setNeedPasswd(adminBoardSetForm.getNeedPasswd());
      b.setOrders(adminBoardSetForm.getOrders());
      b.setParentID(adminBoardSetForm.getParentID());
      b.setPasswd(adminBoardSetForm.getPasswd());
      b.setUseStat(adminBoardSetForm.getUseStat());

      try {

        b = this.getBoardService().updateBoard(b, oldParendID);
        messages.add("resultMsg", new ActionMessage("bbscs.dataupdate.succeed"));
        this.saveMessages(request, messages);
      }
      catch (BbscsException ex) {
        messages.add("error.dataupdate.failed", new ActionMessage("error.dataupdate.failed"));
        this.saveErrors(request, messages);
      }
      //Vector bv = BBSCSUtil.getBoardsValues(this.getLocale(request));
      //request.setAttribute("parentValues", getBoardsValues(bv));
      this.setBoardsValuesRequest(request);
      return mapping.findForward("boardSet");
    }

    if (adminBoardSetForm.getAction().equalsIgnoreCase("del")) {
      Board b = this.getBoardService().getBoardByID(adminBoardSetForm.getId());
      if (b == null) {
        messages.add("error.board.notexist", new ActionMessage("error.board.notexist"));
        this.saveErrors(request, messages);

        return mapping.findForward("error");
      }
      List cboards = this.getBoardService().findBoardsByParentID(adminBoardSetForm.getId());
      if (cboards.size() > 0) {
        messages.add("error.del.board.havechild", new ActionMessage("error.del.board.havechild"));
        this.saveErrors(request, messages);

        return mapping.findForward("error");
      }

      int postNum = this.getForumService().getForumNum(adminBoardSetForm.getId(), -1, -1, -1);
      if (postNum > 0) {
        messages.add("error.del.board.havepost", new ActionMessage("error.del.board.havepost"));
        this.saveErrors(request, messages);

        return mapping.findForward("error");
      }

      try {
        this.getBoardService().removeBoard(b);
        return new ActionForward(BBSCSUtil.getActionMappingURL("/adminBoardList"), true);
      }
      catch (BbscsException ex2) {
        messages.add("error.del.board", new ActionMessage("error.del.board"));
        this.saveErrors(request, messages);

        return mapping.findForward("error");
      }

    }

    return mapping.getInputForward();
  }

  private Vector getBoardsValues(Vector bv) {
    List bl = this.getBoardService().findBoardsAllTree(0, new ArrayList());
    for (int i = 0; i < bl.size(); i++) {
      Board b = (Board) bl.get(i);
      bv.add(new LabelValueBean(BBSCSUtil.getBoardPrefixLine(b.getLevel(), "-") + b.getBoardName(),
                                String.valueOf(b.getId().longValue())));
    }
    return bv;
  }

  private void setBoardsValuesRequest(HttpServletRequest request) {
    Vector bv = BBSCSUtil.getBoardsValues(this.getLocale(request));
    request.setAttribute("parentValues", getBoardsValues(bv));
  }

  public BoardService getBoardService() {
    return boardService;
  }

  public ForumService getForumService() {
    return forumService;
  }

  public void setBoardService(BoardService boardService) {
    this.boardService = boardService;
  }

  public void setForumService(ForumService forumService) {
    this.forumService = forumService;
  }
}

⌨️ 快捷键说明

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