1 package com.panogenesis.webapp.action;
2
3 import java.util.Locale;
4
5 import javax.servlet.http.HttpServletRequest;
6 import javax.servlet.http.HttpServletResponse;
7
8 import org.apache.commons.lang.StringUtils;
9 import com.panogenesis.model.IssueResolution;
10 import com.panogenesis.service.IssueResolutionManager;
11 import org.springframework.validation.BindException;
12 import org.springframework.web.servlet.ModelAndView;
13 import org.springframework.web.servlet.view.RedirectView;
14
15 public class IssueResolutionFormController extends BaseFormController {
16 private IssueResolutionManager issueResolutionManager = null;
17
18 public void setIssueResolutionManager(IssueResolutionManager issueResolutionManager) {
19 this.issueResolutionManager = issueResolutionManager;
20 }
21
22 protected Object formBackingObject(HttpServletRequest request)
23 throws Exception {
24 String id = request.getParameter("id");
25 IssueResolution issueResolution = null;
26
27 if (!StringUtils.isEmpty(id)) {
28 issueResolution = issueResolutionManager.getIssueResolution(id);
29 } else {
30 issueResolution = new IssueResolution();
31 }
32
33 return issueResolution;
34 }
35
36 public ModelAndView onSubmit(HttpServletRequest request,
37 HttpServletResponse response, Object command,
38 BindException errors)
39 throws Exception {
40 if (log.isDebugEnabled()) {
41 log.debug("entering 'onSubmit' method...");
42 }
43
44 IssueResolution issueResolution = (IssueResolution) command;
45 boolean isNew = (issueResolution.getId() == null);
46 String success = getSuccessView();
47 Locale locale = request.getLocale();
48
49 if (request.getParameter("delete") != null) {
50 issueResolutionManager.removeIssueResolution(issueResolution.getId().toString());
51
52 saveMessage(request, getText("issueResolution.deleted", locale));
53 } else {
54 issueResolutionManager.saveIssueResolution(issueResolution);
55
56 String key = (isNew) ? "issueResolution.added" : "issueResolution.updated";
57 saveMessage(request, getText(key, locale));
58
59 if (!isNew) {
60 success = "editIssueResolution.html?id=" + issueResolution.getId();
61 }
62 }
63
64 return new ModelAndView(new RedirectView(success));
65 }
66 }