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.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  }