1 package org.contineo.actions.documan.version; 2 3 import java.util.Arrays ; 4 import java.util.Collection ; 5 6 import javax.servlet.http.HttpServletRequest ; 7 import javax.servlet.http.HttpServletResponse ; 8 import javax.servlet.http.HttpSession ; 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 28 public class ShowVersionsAction extends Action { 29 30 34 private Logger logger; 35 36 37 38 public ShowVersionsAction() { 39 logger = LoggingManager.getLogger(this.getClass()); 40 } 41 42 public ActionForward execute(ActionMapping mapping, 43 ActionForm form, HttpServletRequest request, 44 HttpServletResponse response) { 45 ActionForward actionForward = new ActionForward(); 46 HttpSession session = request.getSession(); 47 if (SessionManagement.isValid(session)) { 48 String menuid = request.getParameter("menuid"); 49 DocumentDAO ddao = new DocumentDAO(); 50 try { 51 MenuDAO mdao = new MenuDAO(); 52 String username = (String )session.getAttribute("authuser"); 53 Document doc = ddao.findByMenuId(Integer.parseInt(menuid)); 54 if (mdao.isReadEnable(doc.getMenuId(), username)) { 55 Collection <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 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 |