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.IssueHistory;
10 import com.panogenesis.service.IssueHistoryManager;
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 IssueHistoryFormController extends BaseFormController {
16 private IssueHistoryManager issueHistoryManager = null;
17
18 public void setIssueHistoryManager(IssueHistoryManager issueHistoryManager) {
19 this.issueHistoryManager = issueHistoryManager;
20 }
21
22 protected Object formBackingObject(HttpServletRequest request)
23 throws Exception {
24 String id = request.getParameter("id");
25 IssueHistory issueHistory = null;
26
27 if (!StringUtils.isEmpty(id)) {
28 issueHistory = issueHistoryManager.getIssueHistory(id);
29 } else {
30 issueHistory = new IssueHistory();
31 }
32
33 return issueHistory;
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 IssueHistory issueHistory = (IssueHistory) command;
45 boolean isNew = (issueHistory.getId() == null);
46 String success = getSuccessView();
47 Locale locale = request.getLocale();
48
49 if (request.getParameter("delete") != null) {
50 issueHistoryManager.removeIssueHistory(issueHistory.getId().toString());
51
52 saveMessage(request, getText("issueHistory.deleted", locale));
53 } else {
54 issueHistoryManager.saveIssueHistory(issueHistory);
55
56 String key = (isNew) ? "issueHistory.added" : "issueHistory.updated";
57 saveMessage(request, getText(key, locale));
58
59 if (!isNew) {
60 success = "editIssueHistory.html?id=" + issueHistory.getId();
61 }
62 }
63
64 return new ModelAndView(new RedirectView(success));
65 }
66 }