1 3 package org.contineo.actions.documan.util; 4 5 import javax.servlet.http.HttpServletRequest ; 6 import javax.servlet.http.HttpServletResponse ; 7 import javax.servlet.http.HttpSession ; 8 9 import org.apache.log4j.Level; 10 import org.apache.log4j.Logger; 11 import org.apache.struts.action.Action; 12 import org.apache.struts.action.ActionError; 13 import org.apache.struts.action.ActionErrors; 14 import org.apache.struts.action.ActionForm; 15 import org.apache.struts.action.ActionForward; 16 import org.apache.struts.action.ActionMapping; 17 import org.apache.struts.action.ActionMessage; 18 import org.apache.struts.action.ActionMessages; 19 import org.apache.struts.upload.FormFile; 20 import org.contineo.admin.Menu; 21 import org.contineo.admin.dao.MenuDAO; 22 import org.contineo.core.LoggingManager; 23 import org.contineo.core.SessionManagement; 24 import org.contineo.documan.CheckinDocUtil; 25 import org.contineo.documan.Document; 26 import org.contineo.documan.Version; 27 import org.contineo.documan.dao.DocumentDAO; 28 import org.contineo.forms.CheckinForm; 29 30 36 public class SaveCheckinAction extends Action { 37 38 42 private Logger logger; 43 44 45 public SaveCheckinAction() { 46 logger = LoggingManager.getLogger(this.getClass()); 47 } 48 49 50 public ActionForward execute(ActionMapping mapping, 51 ActionForm form, HttpServletRequest request, 52 HttpServletResponse response) { 53 ActionForward actionForward = new ActionForward(); 54 ActionErrors errors = new ActionErrors(); 55 ActionMessages messages = new ActionMessages(); 56 HttpSession session = request.getSession(); 57 58 if (SessionManagement.isValid(session)) { 59 CheckinForm cform = (CheckinForm)form; 60 DocumentDAO ddao = new DocumentDAO(); 61 MenuDAO mdao = new MenuDAO(); 62 int docId = cform.getDocid().intValue(); 63 Document document = ddao.findByPrimaryKey(docId); 64 String username = (String ) session.getAttribute("authuser"); 65 String versionDesc = cform.getVersionDesc(); 66 if (document.getDocStatus() == Document.DOC_CHECKED_OUT) { 67 FormFile formFile = cform.getFile(); 69 String fileName = formFile.getFileName(); 70 if (formFile != null && !fileName.equals("")) { 71 Version.VERSION_TYPE versionType; 73 if (cform.isRelease() == true) 74 versionType = Version.VERSION_TYPE.NEW_RELEASE; 75 else if (cform.isSubversion() == true) 76 versionType = Version.VERSION_TYPE.NEW_SUBVERSION; 77 else 78 versionType = Version.VERSION_TYPE.OLD_VERSION; 79 80 try { 81 CheckinDocUtil.checkinDocument(docId, formFile.getInputStream(), 83 fileName, username, versionType, 84 versionDesc); 85 86 87 messages.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage("msg.action.savedoc")); 88 } catch (Exception e) { 89 if (logger.isEnabledFor(Level.ERROR)) 90 logger.error(e.getMessage()); 91 errors.add(ActionErrors.GLOBAL_ERROR, new ActionError("errors.action.savedoc")); 92 } 93 94 int menuId = document.getMenuId(); 97 Menu menu = mdao.findByPrimaryKey(menuId); 98 String parentId = ""; 99 parentId = String.valueOf(menu.getMenuParent()); 100 if (parentId != null && !parentId.equalsIgnoreCase("")) 101 actionForward.setPath("/ShowFolderContent.do?menuid=" + parentId); 102 else 103 actionForward.setPath("/DocFrame.do?menuid=" + String.valueOf(menuId)); 104 } else { 105 errors.add(ActionErrors.GLOBAL_ERROR, new ActionError("errors.required")); 106 actionForward.setPath("/Checkin.do?menuid=" + document.getMenuId()); 107 } 108 } else { 109 actionForward = mapping.findForward("noaccess"); 110 } 111 112 } else 113 actionForward = mapping.findForward("invalid"); 114 115 saveErrors(request, errors); 116 saveMessages(request, messages); 117 return actionForward; 118 } 119 120 121 122 123 } | Popular Tags |