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