01: package com.ice.jcvsweb.action;
02:
03: import javax.servlet.ServletConfig;
04: import javax.servlet.ServletContext;
05: import javax.servlet.ServletException;
06: import javax.servlet.http.HttpServlet;
07: import javax.servlet.http.HttpServletRequest;
08: import javax.servlet.http.HttpServletResponse;
09:
10: import org.apache.struts.action.ActionError;
11: import org.apache.struts.action.ActionErrors;
12: import org.apache.struts.action.ActionForm;
13: import org.apache.struts.action.ActionForward;
14: import org.apache.struts.action.ActionMapping;
15:
16: import com.ice.jcvsweb.bean.JCVSUser;
17: import com.ice.jcvsweb.bean.JCVSError;
18: import com.ice.jcvsweb.bean.JCVSProjectView;
19: import com.ice.jcvsweb.form.EditViewForm;
20: import com.ice.jcvsweb.manager.JCVSUserManager;
21: import com.ice.jcvsweb.manager.JCVSProjectManager;
22: import com.ice.jcvsweb.manager.JCVSPermManager;
23:
24: public class EditView extends JCVSAction {
25: public ActionForward execute(ActionMapping mapping,
26: ActionForm form, HttpServletRequest request,
27: HttpServletResponse response) throws Exception {
28: String forwardName = "failure";
29: ServletContext ctx = request.getSession().getServletContext();
30: JCVSUser user = this .establishUser(request);
31: JCVSPermManager permMgr = this .getPermissionManager(ctx);
32:
33: EditViewForm editForm = (EditViewForm) form;
34:
35: JCVSProjectView editView = this .establishView(request);
36:
37: if (user == null) {
38: JCVSError err = new JCVSError();
39: err.setException(new Throwable("NULL USER"));
40: err.setTitle("FATAL The user is not established.");
41: this .postAndLogError(request, err);
42: } else if (editView == null) {
43: JCVSError err = new JCVSError();
44: err.setException(new Throwable("FATAL NULL VIEW"));
45: err.setTitle("FATAL View does not exist.");
46: this .postAndLogError(request, err);
47: } else if (!permMgr.getUserCanEdit(user, editView.getProject())) {
48: forwardName = "notallowed";
49: this
50: .setReasonMessage(
51: request,
52: "You are not the owner of the project,"
53: + "and you have not been granted "
54: + "administrative permission for the project.");
55: } else {
56: request.removeAttribute("jcvsEditViewFailed");
57:
58: editForm.setKey(editView.getKey());
59: editForm.setProjectKey(editView.getProject().getDef()
60: .getKey());
61: editForm.setName(editView.getName());
62: editForm.setTitle(editView.getTitle());
63: editForm.setCvsTag(editView.getCvsTag());
64: editForm.setCvsModule(editView.getCvsModule());
65: editForm.setJump(editView.getJump());
66: editForm.setDescription(editView.getDescription());
67:
68: request.setAttribute("jcvsEditView", editView);
69: this .setEditMode(request, true);
70: forwardName = "success";
71: }
72:
73: return mapping.findForward(forwardName);
74: }
75:
76: }
|