KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > contineo > actions > admin > menu > AddMenuAction


1 package org.contineo.actions.admin.menu;
2
3 import java.util.Collection JavaDoc;
4 import java.util.Iterator JavaDoc;
5
6 import javax.servlet.http.HttpServletRequest JavaDoc;
7 import javax.servlet.http.HttpServletResponse JavaDoc;
8 import javax.servlet.http.HttpSession JavaDoc;
9 import org.apache.log4j.Level;
10 import org.apache.log4j.Logger;
11 import org.apache.struts.action.Action;
12 import org.apache.struts.action.ActionForm;
13 import org.apache.struts.action.ActionForward;
14 import org.apache.struts.action.ActionMapping;
15 import org.contineo.admin.Group;
16 import org.contineo.admin.dao.GroupDAO;
17 import org.contineo.admin.dao.MenuDAO;
18 import org.contineo.core.LoggingManager;
19 import org.contineo.core.SessionManagement;
20 import org.contineo.forms.MenuForm;
21
22 /**
23  * Fills the add menu form.
24  * Created on 26. August 2003, 22:49
25  * @author Michael Scholz
26  */

27 public class AddMenuAction extends Action {
28
29     /**
30      * @uml.property name="logger"
31      * @uml.associationEnd
32      */

33     private Logger logger;
34
35     
36     /** Creates a new instance of AddMenuAction */
37     public AddMenuAction() {
38         logger = LoggingManager.getLogger(this.getClass());
39     }
40  
41     /**
42      * This method performs the action.
43      */

44     public ActionForward execute(ActionMapping mapping,
45                     ActionForm form, HttpServletRequest JavaDoc request,
46                     HttpServletResponse JavaDoc response) {
47         ActionForward actionForward = new ActionForward();
48         HttpSession JavaDoc session = request.getSession();
49         if (SessionManagement.isValid(session)) {
50             try {
51                 session.setAttribute("helppage", "addmenu");
52                 String JavaDoc menuparent = request.getParameter("menuid");
53                 if (menuparent != null)
54                     session.setAttribute("menuid", menuparent);
55                 else
56                     menuparent = (String JavaDoc) session.getAttribute("menuid");
57                 String JavaDoc username = (String JavaDoc)session.getAttribute("authuser");
58                 MenuDAO mdao = new MenuDAO();
59                 if (mdao.isWriteEnable(Integer.parseInt(menuparent), username)) {
60                     String JavaDoc parentname = request.getParameter("menutext");
61                     if (parentname != null)
62                         session.setAttribute("menutext", parentname);
63                     else
64                         parentname = (String JavaDoc) session.getAttribute("menutext");
65                     request.setAttribute("parentname", parentname);
66                     String JavaDoc menutype = request.getParameter("menutype");
67                     if (menutype != null)
68                         session.setAttribute("menutype", menutype);
69                     else
70                         menutype = (String JavaDoc) session.getAttribute("menutype");
71                     request.setAttribute("menutype", menutype);
72                     MenuForm menuform = new MenuForm();
73                     menuform.setMenuParent(menuparent);
74                     request.setAttribute("menu", menuform);
75                     GroupDAO dao = new GroupDAO();
76                     Collection JavaDoc coll = dao.findAll();
77
78                     // do not include admin group in list
79
for (Iterator JavaDoc iter = coll.iterator(); iter.hasNext();) {
80                         Group currGroup = (Group) iter.next();
81                         if (currGroup.getGroupName().equals("admin")) {
82                             iter.remove();
83                         }
84                     }
85                     
86                     request.setAttribute("groups", coll);
87                     actionForward = mapping.findForward("addmenu");
88                 } else
89                     actionForward = mapping.findForward("noaccess");
90             } catch (Exception JavaDoc e) {
91                 if (logger.isEnabledFor(Level.ERROR))
92                     logger.error(e.getMessage());
93                 actionForward = mapping.findForward("error");
94             }
95         } else
96             actionForward = mapping.findForward("invalid");
97         return actionForward;
98     }
99 }
100
Popular Tags