/* */ package org.oddjob.webapp.struts.actions; import java.util.LinkedHashMap; import java.util.Map; import javax.servlet.ServletContext; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.Action; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import org.oddjob.webapp.WebappConstants; import org.oddjob.webapp.model.JobInfoLookup; import org.oddjob.webapp.model.WebJobActions; import org.oddjob.webapp.struts.forms.JobActionsForm; /** * The Struts Action that populates the Job Action Buttons. * * @author Rob Gordon. */ public class JobActionsPopulateAction extends Action { // private static final Logger logger = Logger.getLogger(JobActionsPopulateAction.class); /* * (non-Javadoc) * @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) */ public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { JobActionsForm jobActionsForm = (JobActionsForm) form; ServletContext context = request.getSession().getServletContext(); JobInfoLookup lookup = (JobInfoLookup) context.getAttribute(WebappConstants.DETAIL_LOOKUP); WebJobActions actions = lookup.actionsFor(jobActionsForm.getRefId()); Map<String, Boolean> commandMap = new LinkedHashMap<String, Boolean>(); for (String command : actions.commands()) { commandMap.put(command, new Boolean( actions.isEnabled(command))); } jobActionsForm.setCommandMap(commandMap); /* forward to the tab state jsp */ return (mapping.getInputForward()); } }