1 6 7 package org.contineo.actions; 8 9 import java.util.ArrayList ; 10 import java.util.Collection ; 11 import java.util.Enumeration ; 12 import java.util.Hashtable ; 13 import java.util.Iterator ; 14 15 import javax.servlet.http.HttpServletRequest ; 16 import javax.servlet.http.HttpServletResponse ; 17 import javax.servlet.http.HttpSession ; 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 35 public class ShowKeywordsAction extends Action { 36 37 private Logger logger; 38 39 40 public ShowKeywordsAction() { 41 logger = LoggingManager.getLogger(this.getClass()); 42 } 43 44 public ActionForward execute(ActionMapping mapping, 45 ActionForm form, HttpServletRequest request, 46 HttpServletResponse response) { 47 ActionForward actionForward = new ActionForward(); 48 HttpSession session = request.getSession(); 49 if (SessionManagement.isValid(session)) { 50 try { 51 session.setAttribute("helppage", "showkeywords"); 52 String letter = request.getParameter("letter"); 53 if (letter == null || letter.length() == 0) 54 letter = "a"; 55 String username = (String )session.getAttribute("authuser"); 56 KeywordDAO keywordDao = new KeywordDAO(); 57 Collection coll = keywordDao.findByFirstLetter(letter, username); 58 Iterator iter = coll.iterator(); 59 Hashtable <String , Integer > table = new Hashtable <String , Integer >(coll.size()); 60 while (iter.hasNext()) { 61 Keywords keyword = (Keywords)iter.next(); 62 int count = 1; 63 if (table.containsKey(keyword.getKeyword())) { 64 Integer i = (Integer )table.get(keyword.getKeyword()); 65 table.remove(keyword.getKeyword()); 66 count = i.intValue(); 67 count++; 68 } 69 table.put(keyword.getKeyword(), new Integer (count)); 70 } 71 Collection <Keyword> keywords = new ArrayList <Keyword>(table.size()); 72 Enumeration enum1 = table.keys(); 73 while (enum1.hasMoreElements()) { 74 Keyword keyword = new Keyword(); 75 String key = (String )enum1.nextElement(); 76 Integer value = (Integer )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 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
|