1 3 package org.oddjob.webapp.struts.actions; 4 5 import javax.servlet.ServletContext ; 6 import javax.servlet.http.HttpServletRequest ; 7 import javax.servlet.http.HttpServletResponse ; 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 24 public class StateTabAction extends Action { 25 private static final Logger logger = Logger.getLogger(StateTabAction.class); 26 27 31 public ActionForward execute(ActionMapping mapping, ActionForm form, 32 HttpServletRequest request, HttpServletResponse response) 33 throws Exception { 34 35 DetailForm detailForm = (DetailForm) form; 36 logger.debug("Retrieving state for [" + detailForm.getRefId() + "]" ); 37 38 ServletContext 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 t = jobStateEvent.getException(); 46 if (t == null) { 47 detailForm.setException(""); 48 } 49 else { 50 detailForm.setException(t.getMessage()); 52 } 53 54 55 return (mapping.getInputForward()); 56 } 57 } | Popular Tags |