KickJava   Java API By Example, From Geeks To Geeks.

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


1 /*
2  * StrutsAction.java
3  *
4  * Created on 01. September 2004, 08:36
5  */

6
7 package org.contineo.actions;
8
9 import java.util.ArrayList JavaDoc;
10 import java.util.Collection JavaDoc;
11 import java.util.Iterator JavaDoc;
12
13 import javax.servlet.http.HttpServletRequest JavaDoc;
14 import javax.servlet.http.HttpServletResponse JavaDoc;
15 import javax.servlet.http.HttpSession JavaDoc;
16
17 import org.apache.log4j.Level;
18 import org.apache.log4j.Logger;
19 import org.apache.struts.action.Action;
20 import org.apache.struts.action.ActionForm;
21 import org.apache.struts.action.ActionForward;
22 import org.apache.struts.action.ActionMapping;
23 import org.contineo.admin.ExtMenu;
24 import org.contineo.admin.Menu;
25 import org.contineo.admin.dao.MenuDAO;
26 import org.contineo.core.FileBean;
27 import org.contineo.core.LoggingManager;
28 import org.contineo.core.SessionManagement;
29 import org.contineo.core.config.SettingConfigurator;
30 /**
31  *
32  * @author Michael Scholz
33  * @version 1.0
34  */

35 public class ShowKeywordAction extends Action {
36
37     private Logger logger;
38
39     /** Creates a new instance of ShowKeywordAction */
40     public ShowKeywordAction() {
41         logger = LoggingManager.getLogger(this.getClass());
42     }
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", "showkeywords");
52                 String JavaDoc keyword = request.getParameter("keyword");
53                 String JavaDoc username = (String JavaDoc)session.getAttribute("authuser");
54                 MenuDAO menuDao = new MenuDAO();
55                 Collection JavaDoc<ExtMenu> coll2 = new ArrayList JavaDoc<ExtMenu>();
56                 Collection JavaDoc coll = menuDao.findByUserNameAndKeyword(username, keyword);
57                 Iterator JavaDoc iter = coll.iterator();
58                 SettingConfigurator settings = new SettingConfigurator();
59                 String JavaDoc docpath = settings.getValue("docdir");
60                 while (iter.hasNext()) {
61                     Menu menu = (Menu)iter.next();
62                     ExtMenu xmenu = new ExtMenu(menu);
63
64                     // calculate size of menu
65
int size = 0;
66                     if (menu.getMenuType() == 5) {
67                         long sz = FileBean.getSize(docpath + "/" + menu.getMenuPath() + "/" + menu.getMenuId() + "/" + menu.getMenuRef());
68                         sz = sz/1024;
69                         size = (int)sz;
70                     } else {
71                         size = menuDao.findByUserName(username, menu.getMenuId()).size();
72                     }
73                     xmenu.setSize(size);
74                     
75                     // check if menu is writable
76
boolean writable = false;
77                     if (menuDao.isWriteEnable(menu.getMenuId(), username)) {
78                         writable = true;
79                     } else {
80                         writable = false;
81                     }
82                     xmenu.setWritable(writable);
83                     
84                     coll2.add(xmenu);
85                 }
86                 request.setAttribute("menus", coll2);
87                 request.setAttribute("keyword", keyword);
88             } catch (Exception JavaDoc e) {
89                 if (logger.isEnabledFor(Level.ERROR))
90                     logger.error(e.getMessage());
91             }
92             actionForward = mapping.findForward("showkeyword");
93         } else
94             actionForward = mapping.findForward("invalid");
95         return actionForward;
96     }
97 }
98
Popular Tags