KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > contineo > actions > FolderContentAction


1 /*
2  * MainMenuAction.java
3  *
4  * Created on 21. August 2003, 16:54
5  */

6
7 package org.contineo.actions;
8
9 import java.util.Collection JavaDoc;
10
11 import javax.servlet.http.HttpServletRequest JavaDoc;
12 import javax.servlet.http.HttpServletResponse JavaDoc;
13 import javax.servlet.http.HttpSession JavaDoc;
14
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.ActionForm;
19 import org.apache.struts.action.ActionForward;
20 import org.apache.struts.action.ActionMapping;
21 import org.contineo.admin.ExtMenu;
22 import org.contineo.admin.Menu;
23 import org.contineo.admin.dao.MenuDAO;
24 import org.contineo.core.LoggingManager;
25 import org.contineo.core.SessionManagement;
26
27 /**
28  *
29  * @author Michael Scholz
30  */

31 public class FolderContentAction extends Action {
32
33     /**
34      * @uml.property name="logger"
35      * @uml.associationEnd
36      */

37     private Logger logger;
38
39     
40     /** Creates a new instance of MainMenuAction */
41     public FolderContentAction() {
42         logger = LoggingManager.getLogger(this.getClass());
43     }
44
45     /**
46      * This method performs the action.
47      */

48     public ActionForward execute(ActionMapping mapping,
49                     ActionForm form, HttpServletRequest JavaDoc request,
50                     HttpServletResponse JavaDoc response) {
51         ActionForward actionForward = new ActionForward();
52        
53         HttpSession JavaDoc session = request.getSession();
54         if (SessionManagement.isValid(session)) {
55             int menuid = -1;
56             try {
57                 session.setAttribute("helppage", "showfoldercontent");
58                 
59                 MenuDAO menuDao = new MenuDAO();
60                 
61                 // first we have to get the menu id
62
try {
63                     String JavaDoc childid = request.getParameter("childid");
64                     if (childid != null && childid.length() > 0) {
65                         Menu child = menuDao.findByPrimaryKey(Integer.parseInt(childid));
66                         menuid = child.getMenuParent();
67                     } else {
68                         menuid = Integer.parseInt(request.getParameter("menuid"));
69                     }
70                 } catch (Exception JavaDoc e) {
71                     if (logger.isEnabledFor(Level.ERROR))
72                         logger.error(e.getMessage());
73                 }
74                 
75                 String JavaDoc userName = (String JavaDoc)session.getAttribute("authuser");
76                 
77                 if (menuDao.isReadEnable(menuid, userName)) {
78                     // get all folders contained in this folder
79
Collection JavaDoc<ExtMenu> coll2 = menuDao.getContainedMenus(menuid, userName);
80                     request.setAttribute("menus", coll2);
81                     
82                     // check if this menu is writeable for the given user
83
Integer JavaDoc writePrivilegeInt = menuDao.isMenuWriteable(menuid, userName);
84                     request.setAttribute("right", writePrivilegeInt);
85                     
86                     // get the parent of this menu
87
Menu menu = menuDao.findMenuByMenuId(menuid);
88                     request.setAttribute("parent", menu);
89                     
90                     // get all parents above this menu
91
Collection JavaDoc parents = menu.getParents();
92                     request.setAttribute("parents", parents);
93                     
94                     actionForward = mapping.findForward("foldercontent");
95                 } else
96                     actionForward = mapping.findForward("noaccess");
97             } catch (Exception JavaDoc ex) {
98                 if (logger.isEnabledFor(Level.ERROR))
99                     logger.error(ex.getMessage());
100             }
101         } else {
102             actionForward = mapping.findForward("invalid");
103         }
104         return actionForward;
105     }
106 }
Popular Tags