package q02b.ejecucionValidaciones.router;



//Import de Geremua


import es.ejie.frmk.infraestructura.traza.Q70TraceLevel;
import es.ejie.frmk.infraestructura.traza.Q70Traza;
import es.ejie.frmk.presentacion.operacion.Q70DefaultRouterClass;


import es.ejie.frmk.presentacion.sesiondatos.Q70ContextoEJIE;





// import de Struts


import org.apache.struts.action.ActionErrors;


import org.apache.struts.action.ActionForward;


import org.apache.struts.action.ActionMapping;





// import del mantenimiento


//import q02b.exe.ejecucionValidaciones.valueobjects.Q02bEjecucionValidaciones;





//import q02b.exe.utils.Q02bVoUtils;





// Import de Java


import java.util.ArrayList;


import java.util.HashMap;








public class Q02bRouterFiltrarEjecucionValidaciones extends Q70DefaultRouterClass {


    //Declaraci?n de los mappings


    final static String MAPPING_MSGFILTRO = "irEjecValMsgFiltro";
	

    final static String MAPPING_PROCEDURE = "irProcedureEjecucionValidaciones";
    

    final static String MAPPING_ERROR = "error";





    //Declaraci?n de las variables que no se modificar?n


    final static String VARIABLE_LISTA = "listaEjecucionValidaciones";


    final static String VARIABLE_HASHMAP = "ejecucionValidaciones";


    final static String VARIABLE_PK = "columnaPK";

    private static Q70Traza tr = Q70Traza.getSingleton();
    private static final String COMPONENTE = "ROUTER EJECUCION VALIDACIONES";
    
    

    /**


     * @see es.ejie.frmk.presentacion.operacion.paso.ActionPasoOP#processForward(es.ejie.frmk.presentacion.sesiondatos.ContextoEJIE, org.apache.struts.action.ActionErrors, org.apache.struts.action.ActionMapping, org.apache.struts.action.ActionForm, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)


    */


    public ActionForward processForward(Q70ContextoEJIE contexto,


        ActionErrors errores, ActionMapping mapping) throws Exception {


        //Variable del mapping de salida


        ActionForward salida = new ActionForward();


        //Mapa con los valores del VO


        //HashMap mapa = new HashMap();
        
        //Variable donde se almacena el listado recuperado del contexto


        ArrayList lista = (ArrayList) contexto.get(VARIABLE_LISTA);
        
        if (tr.isTraceActive()){
			tr.trace(COMPONENTE, Q70TraceLevel.INFO, this.getClass().getName() + ":ROUTER con lista.size() = "+lista.size());
		}
        
        

        //Si la lista tiene algo tenemos que ir a la jsp con el windowLoad
        if(lista.size()>0)
        {
        	salida = mapping.findForward(MAPPING_MSGFILTRO);
        }
        //Sino, directamente a mostrar la lista
        else {
            salida = mapping.findForward(MAPPING_PROCEDURE);
        }
        
        
        return salida;


    }


}


