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