📄 roleaction.java
字号:
package org.artemis.manager.struts.action;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.log4j.Logger;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessages;
import com.gsta.eshore.framework.daoutil.CriteriaQuery;
import com.gsta.eshore.framework.daoutil.PageSupport;
import com.gsta.eshore.framework.jcf.IState;
import com.gsta.eshore.framework.jcf.StateImpl;
import com.gsta.eshore.framework.util.AppUtils;
import org.artemis.manager.common.Constants;
import org.artemis.manager.struts.form.FunctionForm;
import org.artemis.manager.struts.form.RoleForm;
import org.artemis.right.model.Function;
import org.artemis.right.model.Permission;
import org.artemis.right.model.PerssionId;
import org.artemis.right.model.Role;
/**
* @author hewenqiang Jul 25, 2006 2:47:43 PM
*/
public class RoleAction extends DelegateAction {
private static Logger logger = Logger.getLogger(RoleAction.class);
/**
* Method execute
* @param mapping
* @param form
* @param request
* @param response
* @return ActionForward
*/
public ActionForward executeAction(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) {
ActionForward myforward = null;
String myaction = mapping.getParameter();
logger.info(" RoleAction action Name: " + myaction);
if (isCancelled(request)) {
if (logger.isInfoEnabled()) {
logger.info(" RoleAction " + mapping.getAttribute()
+ " - action was cancelled");
}
return mapping.findForward("cancel");
}
if (AppUtils.isBlank(myaction)) {
myforward = mapping.findForward("error");
} else if ("findAllRole".equalsIgnoreCase(myaction)) {
myforward = findAllRole(mapping, form, request, response);
}else if("saveRole".equalsIgnoreCase(myaction)){
myforward=saveRole( mapping,form,request,response);
} else if ("updateRoleById".equalsIgnoreCase(myaction)) {
myforward = updateRoleById(mapping, form, request, response);
} else if ("deleteRoleById".equalsIgnoreCase(myaction)) {
myforward = deleteRoleById(mapping, form, request, response);
}else if("findRoleById".equalsIgnoreCase(myaction)){
myforward=findRoleById( mapping,form,request,response);
}else if("findRoleByFunction".equalsIgnoreCase(myaction)){
myforward=findRoleByFunction( mapping,form,request,response);
}else if("updateRoleById".equalsIgnoreCase(myaction)){
myforward=updateRoleById( mapping,form,request,response);
}else if("deletePermissionByRoleId".equalsIgnoreCase(myaction)){
myforward=deletePermissionByRoleId( mapping,form,request,response);
}
else {
myforward = mapping.findForward("error");
}
return myforward;
}
private ActionForward deletePermissionByRoleId(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {
String roleId=request.getParameter("roleId");
logger.info("Action deletePermissionByRoleId with roleId "+roleId);
List permissions=new ArrayList();
FunctionForm functionForm = (FunctionForm) form;
String[] strArray = functionForm.getStrArray();
for (int i = 0; i < strArray.length; i++) {
Permission permission=new Permission();
PerssionId perssionId=new PerssionId();
perssionId.setRoleId(roleId);
perssionId.setFunctionId(strArray[i]);
permission.setId(perssionId);
permissions.add(permission);
}
removeRequestAttribute(mapping,request);
IState state=new StateImpl();
try {
getBiz().deleteFunctionsFromRole(permissions, state);
if(!state.isOK())
return handleException(mapping, request, ActionMessages.GLOBAL_MESSAGE, "error.ClientException");
} catch (Exception e) {
return handleException(mapping, request, e, "RoleAction's deletePermissionByRoleId");
}
request.setAttribute("roleId", roleId);
return mapping.findForward("view");
}
private ActionForward updateRoleById(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {
logger.info("Struts Action updateRoleById");
RoleForm roleForm = (RoleForm) form;
IState state=new StateImpl();
try {
getBiz().updateRole(roleForm.getRole(), state);
logger.info("updateRoleById result = "+state.isOK());
if(!state.isOK())
return handleException(mapping, request, ActionMessages.GLOBAL_MESSAGE, "error.ClientException");
} catch (Exception e) {
return handleException(mapping, request, e, "RoleAction's updateRoleById");
}
return mapping.findForward("view");
}
private ActionForward findAllRole(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {
String curPageNO = request.getParameter("curPageNO");
String myaction;
String search=request.getParameter("search");
//String myform="forms[0]";
if(search==null){
search="";
myaction="findAllRole.do";
}else{
myaction="findAllRole.do?search="+search;
}
removeRequestAttribute(mapping,request);
try {
//Qbc查找方式
CriteriaQuery cq=new CriteriaQuery(Role.class,curPageNO,myaction);
cq.setPageSize(Constants.PAGE_SIZE);
if(!AppUtils.isBlank(search)){
cq.like("name","%"+search+"%");
cq.add();
}
IState state=new StateImpl();
PageSupport ps= (PageSupport)getBiz().findAllRole(cq, state);
request.setAttribute("search",search);
request.setAttribute("curPageNO",new Integer(ps.getCurPageNO()));
request.setAttribute("offset", new Integer(ps.getOffset()+1));
request.setAttribute("list", ps.getResultList());
if(!AppUtils.isBlank(ps.getResultList()))
request.setAttribute("toolBar", ps.getToolBar());
}catch (Exception e){
return handleException(mapping, request, e, "RoleAction's findAllRole");
}
return mapping.findForward("view");
}
private ActionForward deleteRoleById(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {
String id=request.getParameter("id");
logger.info("Struts Action deleteRoleById with id "+id);
IState state=new StateImpl();
try {
getBiz().deleteRoleById(id, state);
if(!state.isOK())
return handleException(mapping, request, ActionMessages.GLOBAL_MESSAGE, "error.ClientException");
} catch (Exception e) {
return handleException(mapping, request, e, "RoleAction's deleteRoleById");
}
return mapping.findForward("view");
}
private ActionForward findRoleById(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {
String id=request.getParameter("id");
logger.info("Action findRoleById with id "+id);
removeRequestAttribute(mapping,request);
IState state=new StateImpl();
try {
Role role=getBiz().findRoleById(id, state);
if(!state.isOK())
return handleException(mapping, request, ActionMessages.GLOBAL_MESSAGE, "error.ClientException");
request.setAttribute("role",role);
} catch (Exception e) {
return handleException(mapping, request, e, "RoleAction's findRoleById");
}
return mapping.findForward("view");
}
private ActionForward findRoleByFunction(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {
String functionId=request.getParameter("functionId");
logger.info("Struts Action findRoleByFunction with function id "+functionId);
IState state=new StateImpl();
try {
Function function=getBiz().findFunctionById(functionId, state);
List list=getBiz().findRoleByFunction(functionId, state);
if(!state.isOK())
return handleException(mapping, request, ActionMessages.GLOBAL_MESSAGE, "error.ClientException");
request.setAttribute("list",list);
request.setAttribute("function", function);
} catch (Exception e) {
return handleException(mapping, request, e, "RoleAction's findRoleByFunction");
}
return mapping.findForward("view");
}
private ActionForward saveRole(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {
RoleForm roleForm = (RoleForm) form;
IState state=new StateImpl();
// System.out.println(roleForm.getRole().getName()+roleForm.getRole().getEnabled());
try {
String id=getBiz().saveRole(roleForm.getRole(), state);
logger.info("success saveRole,id = "+id);
if(!state.isOK())
return handleException(mapping, request, ActionMessages.GLOBAL_MESSAGE, "error.ClientException");
} catch (Exception e) {
return handleException(mapping, request, e, "RoleAction's save");
}
return mapping.findForward("view");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -