KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > contineo > actions > search > ShowPreviewAction


1 /*
2  * StrutsAction.java
3  *
4  * Created on 16. Dezember 2003, 22:25
5  */

6
7 package org.contineo.actions.search;
8
9 import javax.servlet.http.HttpServletRequest JavaDoc;
10 import javax.servlet.http.HttpServletResponse JavaDoc;
11 import javax.servlet.http.HttpSession JavaDoc;
12
13 import org.apache.log4j.Level;
14 import org.apache.log4j.Logger;
15 import org.apache.lucene.document.Document;
16 import org.apache.struts.action.Action;
17 import org.apache.struts.action.ActionForm;
18 import org.apache.struts.action.ActionForward;
19 import org.apache.struts.action.ActionMapping;
20 import org.contineo.admin.dao.MenuDAO;
21 import org.contineo.core.LoggingManager;
22 import org.contineo.core.SessionManagement;
23 import org.contineo.searchengine.SearchDocument;
24 import org.contineo.searchengine.crawler.Indexer;
25 import org.contineo.searchengine.dao.SearchDocumentDAO;
26 /**
27  *
28  * @author Michael Scholz
29  * @version 1.0
30  */

31 public class ShowPreviewAction extends Action {
32
33     private Logger logger;
34
35     /** Creates a new instance of StrutsAction */
36     public ShowPreviewAction() {
37         logger = LoggingManager.getLogger(this.getClass());
38     }
39
40     public ActionForward execute(ActionMapping mapping,
41                     ActionForm form, HttpServletRequest JavaDoc request,
42                     HttpServletResponse JavaDoc response) {
43         ActionForward actionForward = new ActionForward();
44         HttpSession JavaDoc session = request.getSession();
45         if (SessionManagement.isValid(session)) {
46             try {
47                 String JavaDoc username = (String JavaDoc)session.getAttribute("authuser");
48                 String JavaDoc menuid = request.getParameter("menuid");
49                 int id = Integer.parseInt(menuid);
50                 MenuDAO menuDao = new MenuDAO();
51                 if (menuDao.isReadEnable(id, username)) {
52                     SearchDocumentDAO searchDocDao = new SearchDocumentDAO();
53                     SearchDocument searchDoc = searchDocDao.findByMenuId(id);
54                     Indexer indexer = new Indexer();
55                     Document doc = indexer.getDocument(searchDoc.getLuceneId());
56                     request.setAttribute("content", doc.get("content"));
57                     request.setAttribute("name", doc.get("name"));
58                     actionForward = mapping.findForward("showpreview");
59                 } else {
60                     actionForward = mapping.findForward("invalid");
61                 }
62             } catch (Exception JavaDoc e) {
63                 if (logger.isEnabledFor(Level.ERROR))
64                     logger.error(e.getMessage());
65                 actionForward = mapping.findForward("error");
66             }
67         } else
68             actionForward = mapping.findForward("invalid");
69         return actionForward;
70     }
71 }
Popular Tags