adminroleset.java

来自「一个jsp写的bbs」· Java 代码 · 共 185 行

JAVA
185
字号
package com.laoer.bbscs.web.action;

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

import org.apache.commons.lang.*;
import org.apache.struts.action.*;
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.*;
import org.apache.struts.util.MessageResources;

public class AdminRoleSet
    extends AdminBaseAction {

  private RoleService roleService;

  private PermissionService permissionService;

  private AjaxMessagesXML ajaxMessagesXML;

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

    MessageResources mr = this.getResources(request);
    Locale locale = this.getLocale(request);

    if (adminRoleSetForm.getAction().equalsIgnoreCase("new")) {
      adminRoleSetForm.setAction("add");
      this.setPermissionList(request);
      request.setAttribute("permissionValues", new ArrayList().toArray());
      return mapping.findForward("roleSet");
    }

    if (adminRoleSetForm.getAction().equalsIgnoreCase("edit")) {
      adminRoleSetForm.setAction("editdo");
      Role role = this.getRoleService().findRoleByID(adminRoleSetForm.getId());
      //System.out.println(role);
      adminRoleSetForm.setRoleName(role.getRoleName());
      //System.out.println(role.getPermissions());
      request.setAttribute("permissionValues", role.getPermissions().toArray());
      if (role.getTypeID() == 0) {
        this.setPermissionList(request);
      }
      else {
        this.setBoardPermissionList(request);
      }

      return mapping.findForward("roleSet");
    }

    if (adminRoleSetForm.getAction().equalsIgnoreCase("add")) {
      if (StringUtils.isBlank(adminRoleSetForm.getRoleName())) {
        this.getAjaxMessagesXML().setMessage(Constant.CODEID_NULL,
                                             mr.getMessage(locale, "error.nullerror"));
        this.setAjaxMessagesXMLRepuest(request, this.getAjaxMessagesXML());
        return mapping.findForward("ajaxjsp");
      }
      Role role = new Role();
      role.setRoleName(adminRoleSetForm.getRoleName());
      //role.setTypeID(0);
      role.setTypeID(Constant.ROLE_TYPE_USERADD);
      if (adminRoleSetForm.getPermissions() != null) {
        for (int i = 0; i < adminRoleSetForm.getPermissions().length; i++) {
          role.getPermissions().add(new Long(adminRoleSetForm.getPermissions()[i]));
        }
      }
      try {
        this.getRoleService().saveRole(role);
        this.getAjaxMessagesXML().setMessage(Constant.CODEID_OK,
                                             mr.getMessage(locale, "admin.role.add.ok"));
      }
      catch (BbscsException ex) {
        this.getAjaxMessagesXML().setMessage(Constant.CODEID_ROLE_ADDFAILED,
                                             mr.getMessage(locale, "error.admin.role.add"));
      }
      this.setAjaxMessagesXMLRepuest(request, this.getAjaxMessagesXML());
      return mapping.findForward("ajaxjsp");
    }

    if (adminRoleSetForm.getAction().equalsIgnoreCase("editdo")) {
      if (StringUtils.isBlank(adminRoleSetForm.getRoleName())) {
        this.getAjaxMessagesXML().setMessage(Constant.CODEID_NULL,
                                             mr.getMessage(locale, "error.nullerror"));
        this.setAjaxMessagesXMLRepuest(request, this.getAjaxMessagesXML());
        return mapping.findForward("ajaxjsp");
      }
      Role role = this.getRoleService().findRoleByID(adminRoleSetForm.getId());
      role.setRoleName(adminRoleSetForm.getRoleName());
      //role.setTypeID(1);
      /**
             if (adminRoleSetForm.getPermissions() != null) {
        //List permissions = new ArrayList();
        role.getPermissions().clear();
        for (int i = 0; i < adminRoleSetForm.getPermissions().length; i++) {
          role.getPermissions().add(new Long(adminRoleSetForm.getPermissions()[i]));
        }
             }*/
      List permissions = new ArrayList();
      if (adminRoleSetForm.getPermissions() != null) {
        role.getPermissions().clear();
        for (int i = 0; i < adminRoleSetForm.getPermissions().length; i++) {
          permissions.add(new Long(adminRoleSetForm.getPermissions()[i]));
        }
      }
      role.setPermissions(permissions);
      try {
        this.getRoleService().saveRole(role);
        this.getAjaxMessagesXML().setMessage(Constant.CODEID_OK,
                                             mr.getMessage(locale, "admin.role.edit.ok"));
      }
      catch (BbscsException ex) {
        this.getAjaxMessagesXML().setMessage(Constant.CODEID_ROLE_EDITFAILED,
                                             mr.getMessage(locale, "error.admin.role.edit"));
      }
      this.setAjaxMessagesXMLRepuest(request, this.getAjaxMessagesXML());
      return mapping.findForward("ajaxjsp");

    }

    if (adminRoleSetForm.getAction().equalsIgnoreCase("del")) {
      Role role = this.getRoleService().findRoleByID(adminRoleSetForm.getId());
      if (role.getTypeID() <= 1) {
        this.getAjaxMessagesXML().setMessage(Constant.CODEID_ROLE_CANNOTDEL,
                                             mr.getMessage(locale, "error.admin.role.cannotdel"));
      }
      else {
        try {
          this.getRoleService().removeRole(role);
          this.getAjaxMessagesXML().setMessage(Constant.CODEID_OK,
                                               mr.getMessage(locale, "admin.role.del.ok"));
        }
        catch (BbscsException ex1) {
          this.getAjaxMessagesXML().setMessage(Constant.CODEID_ROLE_EDITFAILED,
                                               mr.getMessage(locale, "error.admin.role.del"));
        }
      }
      this.setAjaxMessagesXMLRepuest(request, this.getAjaxMessagesXML());
      return mapping.findForward("ajaxjsp");
    }

    return mapping.getInputForward();
  }

  private void setPermissionList(HttpServletRequest request) {
    //List permissionList = this.getPermissionService().findPermissionsAll();
    List permissionList = this.getPermissionService().findPermissionsByTypeID(0);
    permissionList.addAll(this.getPermissionService().findPermissionsByTypeID(1));
    request.setAttribute("permissionList", permissionList);
  }

  private void setBoardPermissionList(HttpServletRequest request) {
    List permissionList = this.getPermissionService().findPermissionsByTypeID(2);
    permissionList.addAll(this.getPermissionService().findPermissionsByTypeID(3));
    request.setAttribute("permissionList", permissionList);
  }

  public PermissionService getPermissionService() {
    return permissionService;
  }

  public RoleService getRoleService() {
    return roleService;
  }

  public AjaxMessagesXML getAjaxMessagesXML() {
    return ajaxMessagesXML;
  }

  public void setPermissionService(PermissionService permissionService) {
    this.permissionService = permissionService;
  }

  public void setRoleService(RoleService roleService) {
    this.roleService = roleService;
  }

  public void setAjaxMessagesXML(AjaxMessagesXML ajaxMessagesXML) {
    this.ajaxMessagesXML = ajaxMessagesXML;
  }
}

⌨️ 快捷键说明

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