1 package org.contineo.actions.documan.transfer; 2 3 import java.io.File ; 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.FileBean; 23 import org.contineo.core.LoggingManager; 24 import org.contineo.core.SessionManagement; 25 import org.contineo.core.config.SettingConfigurator; 26 import org.contineo.core.transfer.ZipImport; 27 import org.contineo.forms.UploadForm; 28 29 32 public class ZipImportAction extends Action { 33 34 private Logger logger; 35 36 39 public ZipImportAction() { 40 logger = LoggingManager.getLogger(this.getClass()); 41 } 42 43 public ActionForward execute(ActionMapping mapping, 44 ActionForm form, HttpServletRequest request, 45 HttpServletResponse response) { 46 ActionForward actionForward = new ActionForward(); 47 ActionMessages messages = new ActionMessages(); 48 ActionErrors errors = new ActionErrors(); 49 HttpSession session = request.getSession(); 50 if (SessionManagement.isValid(session)) { 51 session.setAttribute("helppage", "folderimport"); 52 try { 53 String username = (String )session.getAttribute("authuser"); 54 UploadForm uploadForm = (UploadForm)form; 55 FormFile file = uploadForm.getFile(); 56 MenuDAO menuDao = new MenuDAO(); 57 String menuParent = uploadForm.getMenuParent(); 58 Menu parent = menuDao.findByPrimaryKey(Integer.parseInt(menuParent)); 59 if (file != null && !file.getFileName().equals("")) { 60 SettingConfigurator conf = new SettingConfigurator(); 61 String path = conf.getValue("userdir"); 62 if (!path.endsWith(File.pathSeparator)) 63 path += "/"; 64 path += username + "/"; 65 FileBean.createDir(path); 66 FileBean.writeFile(file.getInputStream(), path + file.getFileName()); 67 ZipImport importer = new ZipImport(); 68 importer.process(path + file.getFileName(), parent, username); 69 FileBean.deleteFile(path + file.getFileName()); 70 messages.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage("msg.action.importfolder")); 71 } else { 72 errors.add(ActionErrors.GLOBAL_ERROR, new ActionError("errors.required")); 73 } 74 request.setAttribute("parentname", parent.getMenuText()); 75 request.setAttribute("parenttype", String.valueOf(parent.getMenuType())); 76 UploadForm uploadform = new UploadForm(); 77 uploadform.setMenuParent(menuParent); 78 request.setAttribute("uploadform", uploadform); 79 saveMessages(request, messages); 80 saveErrors(request, errors); 81 actionForward = mapping.findForward("uploadfolder"); 82 } catch (Exception e) { 83 if (logger.isEnabledFor(Level.ERROR)) 84 logger.error(e.getMessage()); 85 actionForward = mapping.findForward("error"); 86 } 87 } else 88 actionForward = mapping.findForward("invalid"); 89 return actionForward; 90 } 91 } 92 | Popular Tags |