KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > contineo > actions > documan > version > ShowVersionsAction


1 package org.contineo.actions.documan.version;
2
3 import java.util.Arrays JavaDoc;
4 import java.util.Collection JavaDoc;
5
6 import javax.servlet.http.HttpServletRequest JavaDoc;
7 import javax.servlet.http.HttpServletResponse JavaDoc;
8 import javax.servlet.http.HttpSession JavaDoc;
9
10 import org.apache.log4j.Level;
11 import org.apache.log4j.Logger;
12 import org.apache.struts.action.Action;
13 import org.apache.struts.action.ActionForm;
14 import org.apache.struts.action.ActionForward;
15 import org.apache.struts.action.ActionMapping;
16 import org.contineo.admin.dao.MenuDAO;
17 import org.contineo.core.LoggingManager;
18 import org.contineo.core.SessionManagement;
19 import org.contineo.documan.Document;
20 import org.contineo.documan.Version;
21 import org.contineo.documan.dao.DocumentDAO;
22
23 /**
24  * Fills the version info form.
25  * Created on 23. November 2003, 19:10
26  * @author Michael Scholz
27  */

28 public class ShowVersionsAction extends Action {
29
30     /**
31      * @uml.property name="logger"
32      * @uml.associationEnd
33      */

34     private Logger logger;
35
36     
37     /** Creates a new instance of ShowVersionsAction */
38     public ShowVersionsAction() {
39         logger = LoggingManager.getLogger(this.getClass());
40     }
41
42     public ActionForward execute(ActionMapping mapping,
43                     ActionForm form, HttpServletRequest JavaDoc request,
44                     HttpServletResponse JavaDoc response) {
45         ActionForward actionForward = new ActionForward();
46         HttpSession JavaDoc session = request.getSession();
47         if (SessionManagement.isValid(session)) {
48             String JavaDoc menuid = request.getParameter("menuid");
49             DocumentDAO ddao = new DocumentDAO();
50             try {
51                 MenuDAO mdao = new MenuDAO();
52                 String JavaDoc username = (String JavaDoc)session.getAttribute("authuser");
53                 Document doc = ddao.findByMenuId(Integer.parseInt(menuid));
54                 if (mdao.isReadEnable(doc.getMenuId(), username)) {
55                     // get the versions and sort them
56
Collection JavaDoc<Version> versions = doc.getVersions();
57                     Version[] sortIt = (Version[]) versions.toArray(new Version[0]);
58                     Arrays.sort(sortIt);
59                     versions.clear();
60                     for (int i = 0; i < sortIt.length; i++) {
61                         versions.add(sortIt[i]);
62                     }
63                     
64                     request.setAttribute("versions", versions);
65                     request.setAttribute("menuid", menuid);
66                     boolean write = mdao.isWriteEnable(doc.getMenuId(), username);
67                     request.setAttribute("write", Boolean.valueOf(write));
68                     actionForward = mapping.findForward("showversions");
69                 } else
70                     actionForward = mapping.findForward("noaccess");
71             } catch (Exception JavaDoc e) {
72                 if (logger.isEnabledFor(Level.ERROR))
73                     logger.error(e.getMessage());
74                 actionForward = mapping.findForward("error");
75             }
76         } else
77             actionForward = mapping.findForward("invalid");
78         return actionForward;
79     }
80 }
Popular Tags