| 1 6 7 package org.contineo.actions.admin.rules; 8 9 import java.util.ArrayList ; 10 import java.util.Collection ; 11 import java.util.Iterator ; 12 13 import javax.servlet.http.HttpServletRequest ; 14 import javax.servlet.http.HttpServletResponse ; 15 import javax.servlet.http.HttpSession ; 16 17 import org.apache.log4j.Level; 18 import org.apache.log4j.Logger; 19 20 import org.apache.struts.action.Action; 21 import org.apache.struts.action.ActionForm; 22 import org.apache.struts.action.ActionForward; 23 import org.apache.struts.action.ActionMapping; 24 25 import org.contineo.admin.Group; 26 import org.contineo.admin.GroupRule; 27 import org.contineo.admin.MenuGroup; 28 import org.contineo.admin.dao.GroupDAO; 29 import org.contineo.admin.dao.MenuDAO; 30 import org.contineo.admin.dao.MenuGroupDAO; 31 import org.contineo.core.LoggingManager; 32 import org.contineo.core.SessionManagement; 33 34 38 public class ShowRulesAction extends Action { 39 40 44 private Logger logger; 45 46 47 48 public ShowRulesAction() { 49 logger = LoggingManager.getLogger(this.getClass()); 50 } 51 52 public ActionForward execute(ActionMapping mapping, 53 ActionForm form, HttpServletRequest request, 54 HttpServletResponse response) { 55 ActionForward actionForward = new ActionForward(); 56 HttpSession session = request.getSession(); 57 if (SessionManagement.isValid(session)) { 58 try { 59 String menuid = request.getParameter("menuid"); 60 int id = Integer.parseInt(menuid); 61 MenuGroupDAO mgdao = new MenuGroupDAO(); 62 GroupDAO gdao = new GroupDAO(); 63 MenuDAO mdao = new MenuDAO(); 64 String username = (String )session.getAttribute("authuser"); 65 if (mdao.isWriteEnable(id, username)) { 66 Collection groups = gdao.findAll(); 67 Collection <GroupRule> rules = new ArrayList <GroupRule>(); 68 Iterator iter = groups.iterator(); 69 while (iter.hasNext()) { 70 Group g = (Group)iter.next(); 71 GroupRule gr = new GroupRule(); 72 gr.setGroupName(g.getGroupName()); 73 74 if (g.getGroupName().equals("admin")) { 76 gr.setEnabled(false); 77 gr.setRead(true); 78 gr.setWrite(true); 79 } else { 80 gr.setEnabled(true); 81 MenuGroup mg = mgdao.findByMenuIdGroupName(id, g.getGroupName()); 82 if (mg == null || !mg.getGroupName().equals(g.getGroupName())) { 83 gr.setRead(false); 84 gr.setWrite(false); 85 } else { 86 gr.setRead(true); 87 if (mg.getWriteEnable() == 1) 88 gr.setWrite(true); 89 else 90 gr.setWrite(false); 91 } 92 } 93 rules.add(gr); 94 } 95 request.setAttribute("rules", rules); 96 request.setAttribute("menuid", menuid); 97 actionForward = mapping.findForward("showrules"); 98 } else 99 actionForward = mapping.findForward("noaccess"); 100 } catch (Exception e) { 101 if (logger.isEnabledFor(Level.ERROR)) 102 logger.error(e.getMessage()); 103 actionForward = mapping.findForward("error"); 104 } 105 } else 106 actionForward = mapping.findForward("invalid"); 107 return actionForward; 108 } 109 } 110 | Popular Tags |