1 6 7 package org.contineo.actions.admin.group; 8 9 import java.util.Collection ; 10 import java.util.Iterator ; 11 12 import javax.servlet.http.HttpServletRequest ; 13 import javax.servlet.http.HttpServletResponse ; 14 import javax.servlet.http.HttpSession ; 15 import org.apache.log4j.Level; 16 import org.apache.log4j.Logger; 17 import org.apache.struts.action.Action; 18 import org.apache.struts.action.ActionError; 19 import org.apache.struts.action.ActionErrors; 20 import org.apache.struts.action.ActionForm; 21 import org.apache.struts.action.ActionForward; 22 import org.apache.struts.action.ActionMapping; 23 import org.apache.struts.action.ActionMessage; 24 import org.apache.struts.action.ActionMessages; 25 import org.contineo.admin.Group; 26 import org.contineo.admin.dao.GroupDAO; 27 import org.contineo.core.LoggingManager; 28 import org.contineo.core.SessionManagement; 29 33 public class SaveGroupAction extends Action { 34 35 39 private Logger logger; 40 41 42 43 public SaveGroupAction() { 44 logger = LoggingManager.getLogger(this.getClass()); 45 } 46 47 public ActionForward execute(ActionMapping mapping, 48 ActionForm form, HttpServletRequest request, 49 HttpServletResponse response) { 50 ActionForward actionForward = new ActionForward(); 51 ActionErrors errors = new ActionErrors(); 52 ActionMessages messages = new ActionMessages(); 53 HttpSession session = request.getSession(); 54 if (SessionManagement.isValid(session)) { 55 try { 56 Group group = (Group)form; 57 GroupDAO dao = new GroupDAO(); 58 if (dao.existsGroup(group.getGroupName())) { 59 errors.add(ActionErrors.GLOBAL_ERROR, new ActionError("errors.action.groupexists")); 60 } else { 61 boolean stored = dao.insert(group); 62 if (!stored) 63 errors.add(ActionErrors.GLOBAL_ERROR, new ActionError("errors.action.savegroup.notstored")); 64 else 65 messages.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage("msg.action.savegroup")); 66 } 67 group.reset(mapping, request); 68 Collection coll = dao.findAll(); 69 Iterator iter = coll.iterator(); 71 while (iter.hasNext()) { 72 Group gr = (Group) iter.next(); 73 if (gr.getGroupName().equals("admin")) { 74 iter.remove(); 75 break; 76 } 77 } 78 request.setAttribute("groups", coll); 79 } catch (Exception e) { 80 if (logger.isEnabledFor(Level.ERROR)) 81 logger.error(e.getMessage()); 82 errors.add(ActionErrors.GLOBAL_ERROR, new ActionError("errors.action.savegroup.notstored")); 83 } 84 saveErrors(request, errors); 85 saveMessages(request, messages); 86 actionForward = mapping.findForward("addgroup"); 87 } else 88 actionForward = mapping.findForward("invalid"); 89 return actionForward; 90 } 91 } 92 | Popular Tags |