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