View Javadoc

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  }