KickJava   Java API By Example, From Geeks To Geeks.

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


1 /*
2  * StrutsAction.java
3  *
4  * Created on 31. August 2004, 19:48
5  */

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

35 public class ShowKeywordsAction extends Action {
36
37     private Logger logger;
38
39     /** Creates a new instance of ShowKeywordsAction */
40     public ShowKeywordsAction() {
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 letter = request.getParameter("letter");
53                 if (letter == null || letter.length() == 0)
54                     letter = "a";
55                 String JavaDoc username = (String JavaDoc)session.getAttribute("authuser");
56                 KeywordDAO keywordDao = new KeywordDAO();
57                 Collection JavaDoc coll = keywordDao.findByFirstLetter(letter, username);
58                 Iterator JavaDoc iter = coll.iterator();
59                 Hashtable JavaDoc<String JavaDoc, Integer JavaDoc> table = new Hashtable JavaDoc<String JavaDoc, Integer JavaDoc>(coll.size());
60                 while (iter.hasNext()) {
61                     Keywords keyword = (Keywords)iter.next();
62                     int count = 1;
63                     if (table.containsKey(keyword.getKeyword())) {
64                         Integer JavaDoc i = (Integer JavaDoc)table.get(keyword.getKeyword());
65                         table.remove(keyword.getKeyword());
66                         count = i.intValue();
67                         count++;
68                     }
69                     table.put(keyword.getKeyword(), new Integer JavaDoc(count));
70                 }
71                 Collection JavaDoc<Keyword> keywords = new ArrayList JavaDoc<Keyword>(table.size());
72                 Enumeration JavaDoc enum1 = table.keys();
73                 while (enum1.hasMoreElements()) {
74                     Keyword keyword = new Keyword();
75                     String JavaDoc key = (String JavaDoc)enum1.nextElement();
76                     Integer JavaDoc value = (Integer JavaDoc)table.get(key);
77                     keyword.setWord(key);
78                     keyword.setCount(value.intValue());
79                     keywords.add(keyword);
80                 }
81                 request.setAttribute("keywords", keywords);
82                 request.setAttribute("letter", letter.toUpperCase());
83             } catch (Exception JavaDoc e) {
84                 if (logger.isEnabledFor(Level.ERROR))
85                     logger.error(e.getMessage());
86             }
87             actionForward = mapping.findForward("showkeywords");
88         } else
89             actionForward = mapping.findForward("invalid");
90         return actionForward;
91     }
92 }
Popular Tags