View Javadoc

1   package com.panogenesis.webapp.action;
2   
3   import java.io.PrintWriter;
4   import java.util.ArrayList;
5   import java.util.List;
6   
7   import javax.servlet.http.HttpServletRequest;
8   import javax.servlet.http.HttpServletResponse;
9   
10  import org.apache.commons.logging.Log;
11  import org.apache.commons.logging.LogFactory;
12  import com.panogenesis.webapp.listener.StartupListener;
13  import org.springframework.web.servlet.ModelAndView;
14  import org.springframework.web.servlet.mvc.Controller;
15  
16  
17  /***
18   * This class is used to reload the drop-downs initialized in the
19   * StartupListener.
20   *
21   * <p>
22   * <a href="ReloadController.java.html"><i>View Source</i></a>
23   * </p>
24   *
25   * @author <a href="mailto:matt@raibledesigns.com">Matt Raible</a>
26   */
27  public class ReloadController implements Controller {
28      private transient final Log log = LogFactory.getLog(UserController.class);
29  
30      public ModelAndView handleRequest(HttpServletRequest request,
31                                        HttpServletResponse response)
32      throws Exception {
33          if (log.isDebugEnabled()) {
34              log.debug("Entering 'execute' method");
35          }
36  
37          StartupListener.setupContext(request.getSession().getServletContext());
38  
39          String referer = request.getHeader("Referer");
40  
41          if (referer != null) {
42              log.info("reload complete, reloading user back to: " + referer);
43              List messages = new ArrayList();
44              messages.add("Reloading options completed successfully.");
45              request.getSession().setAttribute("messages", messages);
46              response.sendRedirect(response.encodeRedirectURL(referer));
47              return null;
48          } else {
49              response.setContentType("text/html");
50  
51              PrintWriter out = response.getWriter();
52  
53              out.println("<html>");
54              out.println("<head>");
55              out.println("<title>Context Reloaded</title>");
56              out.println("</head>");
57              out.println("<body bgcolor=\"white\">");
58              out.println("<script type=\"text/javascript\">");
59              out.println("alert('Context Reload Succeeded! Click OK to continue.');");
60              out.println("history.back();");
61              out.println("</script>");
62              out.println("</body>");
63              out.println("</html>");
64          }
65  
66          return null;
67      }
68      
69  }