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