KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > oddjob > webapp > struts > actions > StateTabAction


1 /*
2  */

3 package org.oddjob.webapp.struts.actions;
4
5 import javax.servlet.ServletContext JavaDoc;
6 import javax.servlet.http.HttpServletRequest JavaDoc;
7 import javax.servlet.http.HttpServletResponse JavaDoc;
8
9 import org.apache.log4j.Logger;
10 import org.apache.struts.action.Action;
11 import org.apache.struts.action.ActionForm;
12 import org.apache.struts.action.ActionForward;
13 import org.apache.struts.action.ActionMapping;
14 import org.oddjob.state.JobStateEvent;
15 import org.oddjob.webapp.WebappConstants;
16 import org.oddjob.webapp.model.JobInfoLookup;
17 import org.oddjob.webapp.struts.forms.DetailForm;
18
19 /**
20  * The Struts Action which handles the state tab.
21  *
22  * @author Rob Gordon.
23  */

24 public class StateTabAction extends Action {
25     private static final Logger logger = Logger.getLogger(StateTabAction.class);
26     
27     /*
28      * (non-Javadoc)
29      * @see org.apache.struts.action.Action#execute(org.apache.struts.action.ActionMapping, org.apache.struts.action.ActionForm, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
30      */

31     public ActionForward execute(ActionMapping mapping, ActionForm form,
32             HttpServletRequest JavaDoc request, HttpServletResponse JavaDoc response)
33     throws Exception JavaDoc {
34
35         DetailForm detailForm = (DetailForm) form;
36         logger.debug("Retrieving state for [" + detailForm.getRefId() + "]" );
37         
38         ServletContext JavaDoc context = request.getSession().getServletContext();
39         JobInfoLookup lookup = (JobInfoLookup) context.getAttribute(WebappConstants.DETAIL_LOOKUP);
40         
41         JobStateEvent jobStateEvent = lookup.stateFor(detailForm.getRefId());
42         
43         detailForm.setJobState(jobStateEvent.getJobState().toString());
44         detailForm.setTime(jobStateEvent.getTime().toString());
45         Throwable JavaDoc t = jobStateEvent.getException();
46         if (t == null) {
47             detailForm.setException("");
48         }
49         else {
50             // TODO: full stack trace.
51
detailForm.setException(t.getMessage());
52         }
53         
54         /* forward to the tab state jsp */
55         return (mapping.getInputForward());
56     }
57 }
Popular Tags