KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > contineo > actions > documan > util > MoveDocumentAction


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

6
7 package org.contineo.actions.documan.util;
8
9 import javax.servlet.http.HttpServletRequest JavaDoc;
10 import javax.servlet.http.HttpServletResponse JavaDoc;
11 import javax.servlet.http.HttpSession JavaDoc;
12 import org.apache.log4j.Level;
13 import org.apache.log4j.Logger;
14 import org.apache.struts.action.Action;
15 import org.apache.struts.action.ActionError;
16 import org.apache.struts.action.ActionErrors;
17 import org.apache.struts.action.ActionForm;
18 import org.apache.struts.action.ActionForward;
19 import org.apache.struts.action.ActionMapping;
20 import org.apache.struts.action.ActionMessage;
21 import org.apache.struts.action.ActionMessages;
22 import org.contineo.admin.Menu;
23 import org.contineo.admin.dao.MenuDAO;
24 import org.contineo.core.FileBean;
25 import org.contineo.core.LoggingManager;
26 import org.contineo.core.SessionManagement;
27 import org.contineo.core.config.SettingConfigurator;
28
29 /**
30  *
31  * @author Michael Scholz
32  * @version 1.0
33  */

34 public class MoveDocumentAction extends Action {
35
36     /**
37      * @uml.property name="logger"
38      * @uml.associationEnd
39      */

40     private Logger logger;
41
42     
43     /** Creates a new instance of ChangePasswordAction */
44     public MoveDocumentAction() {
45         logger = LoggingManager.getLogger(this.getClass());
46     }
47     
48     public ActionForward execute(ActionMapping mapping,
49         ActionForm form, HttpServletRequest JavaDoc request,
50         HttpServletResponse JavaDoc response) {
51         ActionForward actionForward = new ActionForward();
52         ActionErrors errors = new ActionErrors();
53         ActionMessages messages = new ActionMessages();
54         HttpSession JavaDoc session = request.getSession();
55         if (SessionManagement.isValid(session)) {
56             Menu parent = new Menu();
57             try {
58                 String JavaDoc username = (String JavaDoc)session.getAttribute("authuser");
59                 String JavaDoc newid = request.getParameter("menuid");
60                 int newId = Integer.parseInt(newid);
61                 Integer JavaDoc menuid = (Integer JavaDoc)session.getAttribute("moveid");
62                 MenuDAO menuDao = new MenuDAO();
63                 Menu menu = menuDao.findByPrimaryKey(menuid.intValue());
64                 if (menuDao.isReadEnable(menu.getMenuId(), username)) {
65                     Menu newmenu = menu.copy();
66                     parent = menuDao.findByPrimaryKey(newId);
67                     newmenu.setMenuParent(parent.getMenuId());
68                     newmenu.setMenuPath(parent.getMenuPath() + "/" + parent.getMenuId());
69                     newmenu.setMenuHier(parent.getMenuHier() + 1);
70                     boolean stored = menuDao.store(newmenu);
71                     if (stored) {
72                         SettingConfigurator conf = new SettingConfigurator();
73                         String JavaDoc dir = conf.getValue("docdir") + "/" + menu.getMenuPath() + "/" + menu.getMenuId();
74                         String JavaDoc newdir = conf.getValue("docdir") + "/" + newmenu.getMenuPath() + "/" + newmenu.getMenuId();
75                         FileBean.copyDir(dir, newdir);
76                         FileBean.deleteDir(dir);
77                         session.removeAttribute("moveid");
78                         session.setAttribute("move", Boolean.valueOf(false));
79                         messages.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage("msg.action.movedocument"));
80                     } else {
81                         errors.add(ActionErrors.GLOBAL_ERROR, new ActionError("errors.action.movedocument"));
82                     }
83                     actionForward.setPath("/ShowFolderContent.do?menuid=" + parent.getMenuParent());
84                 } else
85                     actionForward = mapping.findForward("noaccess");
86             } catch (Exception JavaDoc e) {
87                 if (logger.isEnabledFor(Level.ERROR))
88                     logger.error(e.getMessage());
89                 errors.add(ActionErrors.GLOBAL_ERROR, new ActionError("errors.action.movedocument"));
90                 actionForward.setPath("/ShowFolderContent.do?menuid=" + parent.getMenuParent());
91             }
92         } else
93             actionForward = mapping.findForward("invalid");
94         return actionForward;
95     }
96 }
97
Popular Tags