package gcom.gui; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; /** * Respons�vel por executar a a��o de altera�ao * * @author thiago toscano * @date 21/12/2005 */ public abstract class ControladorInclusaoGcomAction extends ControladorGcomAction { /** * M�todo que responde pela a��o de exibi��o * * @param actionMapping * @param actionForm * @param request * @param response * @return * @throws Exception */ public final ActionForward exibir(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest request, HttpServletResponse response) throws Exception { ControladorInclusaoGcomActionForm form = (ControladorInclusaoGcomActionForm) actionForm; this.carregarColecao(form); form.setAcao(ControladorGcomAction.PARAMETRO_ACAO_PROCESSAR); ActionForward forward = this.exibirAuxiliar(actionMapping, actionForm, request, response); if (forward != null) { return forward; } else { return actionMapping.findForward(ControladorGcomAction.FORWARD_EXIBIR); } } /** * M�todo que responde pela a��o de processamento * * @param actionMapping * @param actionForm * @param request * @param response * @return * @throws Exception */ public final ActionForward processar(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest request, HttpServletResponse response) throws Exception{ ControladorInclusaoGcomActionForm form = (ControladorInclusaoGcomActionForm) actionForm; Object obj = gerarObject(form, request); this.inserirObjeto(obj, request, form); ActionForward forward = this.processarAuxiliar(actionMapping, actionForm, request, response); if (forward != null) { return forward; } else { return actionMapping.findForward(ControladorGcomAction.FORWARD_PROCESSAR); } } /** * M�todo que auxiliar ao m�todo exibir * * @param actionMapping * @param actionForm * @param request * @param response * @return * @throws Exception */ public ActionForward exibirAuxiliar(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest request, HttpServletResponse response) throws Exception { return null; } /** * M�todo que auxiliar ao m�todo processar * * @param actionMapping * @param actionForm * @param request * @param response * @return * @throws Exception */ public ActionForward processarAuxiliar(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest request, HttpServletResponse response) throws Exception { return null; } /** * M�todo que inseri o objeto * * @param obj * @throws Exception */ public abstract void inserirObjeto(Object obj, HttpServletRequest request, ControladorGcomActionForm actionForm) throws Exception; /** * M�todo que gera o objeto para a manipulacao no sistema * * @param actionForm * @return */ public abstract Object gerarObject(ControladorGcomActionForm actionForm, HttpServletRequest request); /** * M�todo que carrega a colecao para a apresenta��o dos dados. * * @param actionForm */ public abstract void carregarColecao(ControladorGcomActionForm actionForm); }