📄 refine.java
字号:
package com.laoer.bbscs.web.action;
import java.util.*;
import javax.servlet.http.*;
import org.apache.commons.lang.*;
import org.apache.commons.logging.*;
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.service.db2xml.*;
import com.laoer.bbscs.web.form.*;
import com.laoer.bbscs.web.servlet.*;
public class Refine
extends BaseAction {
private static final Log logger = LogFactory.getLog(Refine.class);
private EliteService eliteService;
private ForumService forumService;
private EliteXML eliteXML;
private BoardService boardService;
private AjaxMessagesXML ajaxMessagesXML;
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request,
HttpServletResponse response) {
RefineForm refineForm = (RefineForm) form;
long bid = refineForm.getBid();
UserSession us = this.getUserSession(request);
//Board board = (Board) request.getAttribute(Constant.BOARD_REQUEST_KEY);
//if (board == null) {
// board = this.getBoardService().getBoardByID(bid);
// request.setAttribute("board", board);
//}
if (refineForm.getAction().equalsIgnoreCase("index") || refineForm.getAction().equalsIgnoreCase("manage")) {
this.setAttributeBoard(request, bid);
Elite elite = this.getEliteService().findEliteByID(refineForm.getPid());
List eliteDirs = new ArrayList();
if (elite != null) {
List pes = elite.getParentIDs();
for (int i = 0; i < pes.size(); i++) {
Elite pe = this.getEliteService().findEliteByID( ( (Long) pes.get(i)).longValue());
eliteDirs.add(pe);
}
eliteDirs.add(elite);
}
request.setAttribute("eliteDirs", eliteDirs);
if (refineForm.getAction().equalsIgnoreCase("index")) {
return mapping.findForward("refine");
}
if (refineForm.getAction().equalsIgnoreCase("manage")) {
return mapping.findForward("refineManage");
}
}
if (refineForm.getAction().equalsIgnoreCase("showelite")) {
List elist = this.getEliteService().findElitesByPidBid(refineForm.getPid(), bid);
this.getEliteXML().eliteDB2XML(elist, true);
request.setAttribute("xmlo", this.getEliteXML().getXmlo());
request.setAttribute("messagesDocument", this.getEliteXML().getMessagesDocument());
return mapping.findForward(this.FORWARD_AJAX);
}
if (refineForm.getAction().equalsIgnoreCase("showflist")) {
List flist = this.getForumService().findForumsElite(bid, bid, refineForm.getPid());
this.getEliteXML().eliteDB2XML(flist, false);
request.setAttribute("xmlo", this.getEliteXML().getXmlo());
request.setAttribute("messagesDocument", this.getEliteXML().getMessagesDocument());
return mapping.findForward(this.FORWARD_AJAX);
}
if (refineForm.getAction().equalsIgnoreCase("adddir")) {
//this.setAttributeBoard(request, bid);
MessageResources mr = this.getResources(request);
Locale locale = this.getLocale(request);
if (StringUtils.isBlank(refineForm.getEliteName())) {
this.getEliteXML().elite2XML(null, Constant.CODEID_NULL, mr.getMessage(locale, "error.nullerror"));
}
Elite elite = new Elite();
elite.setBoardID(bid);
elite.setCreateUser(us.getUserName());
elite.setEliteName(refineForm.getEliteName());
elite.setEliteTime(System.currentTimeMillis());
elite.setOrders(0);
elite.setParentID(refineForm.getPid());
try {
elite = this.getEliteService().createElite(elite);
this.getEliteXML().elite2XML(elite, Constant.CODEID_OK, mr.getMessage(locale, "refine.adddir.ok"));
}
catch (BbscsException ex) {
logger.error(ex);
this.getEliteXML().elite2XML(null, Constant.CODEID_REFINE_ADDDIR_ERROR,
mr.getMessage(locale, "error.refine.adddir.error"));
}
request.setAttribute("xmlo", this.getEliteXML().getXmlo());
request.setAttribute("messagesDocument", this.getEliteXML().getMessagesDocument());
return mapping.findForward(this.FORWARD_AJAX);
}
if (refineForm.getAction().equalsIgnoreCase("intodir")) {
//this.setAttributeBoard(request, bid);
MessageResources mr = this.getResources(request);
Locale locale = this.getLocale(request);
List postIds = BBSCSUtil.array2List(refineForm.getPostIds());
List forums = this.getForumService().findForumsInIds(bid, postIds);
List forumsSave = new ArrayList();
for (int i = 0; i < forums.size(); i++) {
Forum forum = (Forum) forums.get(i);
forum.setEliteID(refineForm.getEliteDir());
forumsSave.add(forum);
}
try {
this.getForumService().saveForums(forumsSave);
this.getAjaxMessagesXML().setMessage(Constant.CODEID_OK,
mr.getMessage(locale, "refine.adddir.change.ok"));
}
catch (BbscsException ex1) {
this.getAjaxMessagesXML().setMessage(Constant.CODEID_REFINE_CHANGEDIR_ERROR,
mr.getMessage(locale, "error.refine.change.error"));
}
this.setAjaxMessagesXMLRepuest(request, this.getAjaxMessagesXML());
return mapping.findForward(this.FORWARD_AJAX);
}
if (refineForm.getAction().equalsIgnoreCase("del")) {
MessageResources mr = this.getResources(request);
Locale locale = this.getLocale(request);
List postIds = BBSCSUtil.array2List(refineForm.getPostIds());
List forums = this.getForumService().findForumsInIds(bid, postIds);
List forumsDel = new ArrayList();
for (int i = 0; i < forums.size(); i++) {
Forum forum = (Forum) forums.get(i);
forum.setElite(0);
forum.setEliteID(0);
forumsDel.add(forum);
}
try {
this.getForumService().saveForumsEliteDel(forumsDel);
this.getAjaxMessagesXML().setMessage(Constant.CODEID_OK,
mr.getMessage(locale, "refine.adddir.del.ok"));
}
catch (BbscsException ex2) {
this.getAjaxMessagesXML().setMessage(Constant.CODEID_REFINE_DEL_ERROR,
mr.getMessage(locale, "error.refine.del.error"));
}
this.setAjaxMessagesXMLRepuest(request, this.getAjaxMessagesXML());
return mapping.findForward(this.FORWARD_AJAX);
}
if (refineForm.getAction().equalsIgnoreCase("outdir")) {
MessageResources mr = this.getResources(request);
Locale locale = this.getLocale(request);
List postIds = BBSCSUtil.array2List(refineForm.getPostIds());
List forums = this.getForumService().findForumsInIds(bid, postIds);
List forumsSave = new ArrayList();
Elite e = this.getEliteService().findEliteByID(refineForm.getPid());
//Elite ep = this.getEliteService().findEliteByID(e.getParentID());
boolean isDel = false;
for (int i = 0; i < forums.size(); i++) {
Forum forum = (Forum) forums.get(i);
if (forum.getEliteID() != 0) {
forum.setEliteID(e.getParentID());
}
else {
forum.setElite(0);
isDel = true;
}
forumsSave.add(forum);
}
try {
if (isDel) {
this.getForumService().saveForumsEliteDel(forumsSave);
}
else {
this.getForumService().saveForums(forumsSave);
}
this.getAjaxMessagesXML().setMessage(Constant.CODEID_OK,
mr.getMessage(locale, "refine.adddir.out.ok"));
}
catch (BbscsException ex3) {
this.getAjaxMessagesXML().setMessage(Constant.CODEID_REFINE_OUTDIR_ERROR,
mr.getMessage(locale, "error.refine.out.error"));
}
this.setAjaxMessagesXMLRepuest(request, this.getAjaxMessagesXML());
return mapping.findForward(this.FORWARD_AJAX);
}
if (refineForm.getAction().equalsIgnoreCase("edit")) {
MessageResources mr = this.getResources(request);
Locale locale = this.getLocale(request);
Elite elite = this.getEliteService().findEliteByID(refineForm.getEliteId());
if (elite != null) {
this.getEliteXML().elite2XML(elite, Constant.CODEID_OK, "");
}
else {
this.getEliteXML().elite2XML(null, Constant.CODEID_REFINE_GETELITE_ERROR,
mr.getMessage(locale, "error.refine.getelite"));
}
request.setAttribute("xmlo", this.getEliteXML().getXmlo());
request.setAttribute("messagesDocument", this.getEliteXML().getMessagesDocument());
return mapping.findForward(this.FORWARD_AJAX);
}
if (refineForm.getAction().equalsIgnoreCase("editdo")) {
MessageResources mr = this.getResources(request);
Locale locale = this.getLocale(request);
Elite elite = this.getEliteService().findEliteByID(refineForm.getEliteId());
if (elite != null) {
elite.setEliteName(refineForm.getEliteName());
elite.setOrders(refineForm.getOrders());
try {
this.getEliteService().saveElite(elite);
this.getAjaxMessagesXML().setMessage(Constant.CODEID_OK,
mr.getMessage(locale, "refine.edit.ok"));
}
catch (BbscsException ex4) {
logger.error(ex4);
this.getAjaxMessagesXML().setMessage(Constant.CODEID_REFINE_EDIEELITE_ERROR,
mr.getMessage(locale, "error.refine.edit.error"));
}
}
else {
this.getAjaxMessagesXML().setMessage(Constant.CODEID_REFINE_EDIEELITE_ERROR,
mr.getMessage(locale, "error.refine.edit.error"));
}
this.setAjaxMessagesXMLRepuest(request, this.getAjaxMessagesXML());
return mapping.findForward(this.FORWARD_AJAX);
}
if (refineForm.getAction().equalsIgnoreCase("deldir")) {
ActionMessages messages = new ActionMessages();
Elite elite = this.getEliteService().findEliteByID(refineForm.getEliteId());
try {
long pid = elite.getParentID();
this.getEliteService().removeElite(elite);
return new ActionForward(BBSCSUtil.getActionMappingURL("/refine?action=index&pid=" + pid + "&bid=" +
bid), true);
}
catch (BbscsException ex5) {
messages.add("error.refine.dir.del", new ActionMessage("error.refine.dir.del"));
this.saveErrors(request, messages);
return mapping.findForward(this.FORWARD_ERROR);
}
}
return mapping.findForward(this.FORWARD_ERROR);
}
private void setAttributeBoard(HttpServletRequest request, long bid) {
Board board = (Board) request.getAttribute(Constant.BOARD_REQUEST_KEY);
if (board == null) {
board = this.getBoardService().getBoardByID(bid);
request.setAttribute("board", board);
}
}
public EliteService getEliteService() {
return eliteService;
}
public ForumService getForumService() {
return forumService;
}
public EliteXML getEliteXML() {
return eliteXML;
}
public BoardService getBoardService() {
return boardService;
}
public AjaxMessagesXML getAjaxMessagesXML() {
return ajaxMessagesXML;
}
public void setEliteService(EliteService eliteService) {
this.eliteService = eliteService;
}
public void setForumService(ForumService forumService) {
this.forumService = forumService;
}
public void setEliteXML(EliteXML eliteXML) {
this.eliteXML = eliteXML;
}
public void setBoardService(BoardService boardService) {
this.boardService = boardService;
}
public void setAjaxMessagesXML(AjaxMessagesXML ajaxMessagesXML) {
this.ajaxMessagesXML = ajaxMessagesXML;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -