package q02bEjecucionValidacionesSesionEJB;





import java.rmi.RemoteException;


import java.util.ArrayList;


import java.util.HashMap;





import javax.ejb.CreateException;


import javax.ejb.EJBException;


import javax.ejb.SessionBean;





import q02b.exe.comun.Q02bAplicException;


import q02b.exe.comun.Q02bAutenticador;
import q02b.exe.ejecucionValidaciones.beans.Q02bEjecucionValidacionesBean;
import q02b.exe.ejecucionValidaciones.valueobjects.Q02bEjecucionValidaciones;





import q02b.exe.oficinasMunicipales.beans.Q02bOficinasMunicipalesBean;


import q02b.exe.oficinasMunicipales.valueobjects.Q02bOficinasMunicipales;


import q02b.exe.plazos.beans.Q02bPlazosBean;


import q02b.exe.plazos.valueobjects.Q02bPlazos;


import q02b.exe.utils.Q02bFormatData;


import q02b.exe.utils.Q02bVoUtils;


import es.ejie.frmk.infraestructura.traza.Q70TraceLevel;


import es.ejie.frmk.infraestructura.traza.Q70Traza;


import org.w3c.dom.Document;


 


/**


 * XDoclet-based session bean.  The class must be declared


 * public according to the EJB specification.


 *


 * To generate the EJB related files to this EJB:


 *		- Add Standard EJB module to XDoclet project properties


 *		- Customize XDoclet configuration for your appserver


 *		- Run XDoclet


 *


 * Below are the xdoclet-related tags needed for this EJB.


 * 


 * @ejb.bean name="Q02bCuestionariosSMAnuSesion"


 *           display-name="Name for Q02bCuestionariosSMAnuSesion"


 *           description="Description for Q02bCuestionariosSMAnuSesion"


 *           jndi-name="ejb/Q02bCuestionariosSMAnuSesion"


 *           type="Stateless"


 *           view-type="remote"


 */


  





public class Q02bEjecucionValidacionesSesionBean implements SessionBean {





	


	private static final long serialVersionUID = 4131248384461301469L;


	private static Q70Traza tr = Q70Traza.getSingleton();


	private static final String COMPONENTE = "EJB_SESION_DATOS";


	


	//Se indica el bean de negocio que se va a utilizar


    protected Q02bEjecucionValidacionesBean bean = null;


	


	private static final String Aitziber = "Aitziber";


	


	/** The session context */


	private javax.ejb.SessionContext mySessionCtx;





	


	


	public Q02bEjecucionValidacionesSesionBean() {


		super();


		// TODO Auto-generated constructor stub


	}


	/**


	 * Set the associated session context. The container calls this method 


	 * after the instance creation.


	 * 


	 * The enterprise bean instance should store the reference to the context 


	 * object in an instance variable.


	 * 


	 * This method is called with no transaction context. 


	 * 


	 * @throws EJBException Thrown if method fails due to system-level error.


	 */


	/**


	 * getSessionContext


	 */


	public javax.ejb.SessionContext getSessionContext() {


		return mySessionCtx;


	}


	/**


	 * setSessionContext


	 */


	public void setSessionContext(javax.ejb.SessionContext ctx) {


		mySessionCtx = ctx;


	}





	public void ejbRemove() throws EJBException, RemoteException {


		// TODO Auto-generated method stub





	}





	public void ejbActivate() throws EJBException, RemoteException {


		// TODO Auto-generated method stub





	}





	public void ejbPassivate() throws EJBException, RemoteException {


		// TODO Auto-generated method stub





	}





	/**


	 * An ejbCreate method as required by the EJB specification.


	 * 


	 * The container calls the instance?s <code>ejbCreate</code> method whose


	 * signature matches the signature of the <code>create</code> method invoked


	 * by the client. The input parameters sent from the client are passed to


	 * the <code>ejbCreate</code> method. Each session bean class must have at


	 * least one <code>ejbCreate</code> method. The number and signatures


	 * of a session bean?s <code>create</code> methods are specific to each 


	 * session bean class.


	 * 


	 * @throws CreateException Thrown if method fails due to system-level error.


	 * 


	 * @ejb.create-method


	 * 


	 */


	public void ejbCreate() throws CreateException {


		// TODO Add ejbCreate method implementation


	}  


	// -------------------------------------------------------------------------------------------------


	// ---------- CUESTIONARIOS VAPM  ----------


	// -------------------------------------------------------------------------------------------------



	 // -------------------- INI - COMPROBAR LISTA -------------------

    /**

     * Metodo del EJB para obtener un ArrayList

     * @param 

     * @return  ArrayList

     * @throws Exception

      * @generated

     */

    public ArrayList comprobarListaEjecucionValidaciones(HashMap filtroMapa, Q02bAutenticador autenticador) throws Exception {

        //Definici?n de constantes

        final String TRACE_METODO = "Q02bEjecucionValidacionesSesionBean:comprobarListaEjecucionValidaciones";

        final String RUTA_CLASE = "q02b.exe.ejecucionValidaciones.valueobjects.Q02bEjecucionValidaciones";

        Q02bEjecucionValidaciones filtroVO = new Q02bEjecucionValidaciones();
        
        ArrayList lista = new ArrayList();

        if (tr.isTraceActive()) {

            tr.trace(COMPONENTE, Q70TraceLevel.INFO, TRACE_METODO +

                ": entrando en comprobarListaEjecucionValidaciones de Q02bEjecucionValidacionesSesionBean");

            tr.trace(COMPONENTE, Q70TraceLevel.DEBUG,

                TRACE_METODO + ": filtroMapa: " + filtroMapa.toString());
        }


        try {
            //Se instancia el bean de negocio
            bean = new Q02bEjecucionValidacionesBean();

            //Se pasa el autenticador
            bean.setAutenticador(autenticador);

            //Se obtiene el objeto a partir del hashmap
            filtroVO = (Q02bEjecucionValidaciones) Q02bVoUtils.getValueObject(filtroMapa,RUTA_CLASE);
            
            if (tr.isTraceActive()) {

                tr.trace(COMPONENTE, Q70TraceLevel.INFO, TRACE_METODO +

                    ": probando");

                tr.trace(COMPONENTE, Q70TraceLevel.DEBUG,

                    TRACE_METODO + ": filtroVO.getTipoEncuesta(): " + filtroVO.getTipoEncuesta()+
                    ": filtroVO.getAnyo(): " + filtroVO.getAnyo()+
                    ": filtroVO.getMesSolicitud(): " + filtroVO.getMesSolicitud()+
                    ": filtroVO.getIdMunicipio(): " + filtroVO.getIdMunicipio());

            }

            lista = bean.comprobarListaEjecucionValidaciones(filtroVO);


            return lista;

        } catch (Exception ex) {

            java.io.StringWriter sw = new java.io.StringWriter();

            java.io.PrintWriter pw = new java.io.PrintWriter(sw);

            ex.printStackTrace(pw);

            tr.trace(COMPONENTE, Q70TraceLevel.ERROR,

                TRACE_METODO + sw.getBuffer().toString());

            throw ex;

        } finally {

            if (tr.isTraceActive()) {

                tr.trace(COMPONENTE, Q70TraceLevel.INFO,

                    RUTA_CLASE + " saliendo con lista.size() = "+lista.size());

            }

        }

    }



    // -------------------- FIN - COMPROBAR LISTA -------------------	
	
	

	 // -------------------- INI - PROCESO LISTA -------------------


    /**


     * Metodo del EJB para obtener un ArrayList


     * @return  ArrayList


     * @throws Exception


      * @generated


     */


    public ArrayList procesoEjecucionValidaciones(HashMap filtroMapa, Q02bAutenticador autenticador) throws Exception {


        //Definici?n de constantes


        final String TRACE_METODO = "Q02bEjecucionValidacionesSesionBean:procesoEjecucionValidaciones";


        final String RUTA_CLASE = "q02b.exe.ejecucionValidaciones.valueobjects.Q02bEjecucionValidaciones";


        Q02bEjecucionValidaciones filtroVO = new Q02bEjecucionValidaciones();
        
        ArrayList lista = new ArrayList();



        if (tr.isTraceActive()) {


            tr.trace(COMPONENTE, Q70TraceLevel.INFO, TRACE_METODO +


                ": entrando en procesoEjecucionValidaciones de Q02bEjecucionValidacionesSesionBean");


            tr.trace(COMPONENTE, Q70TraceLevel.DEBUG,


                TRACE_METODO + ": filtroMapa: " + filtroMapa.toString());


        }



        try {


            //Se instancia el bean de negocio


            bean = new Q02bEjecucionValidacionesBean();


            //Se pasa el autenticador


            bean.setAutenticador(autenticador);


            //Se obtiene el objeto a partir del hashmap


            filtroVO = (Q02bEjecucionValidaciones) Q02bVoUtils.getValueObject(filtroMapa,RUTA_CLASE);
            
            if (tr.isTraceActive()) {

                tr.trace(COMPONENTE, Q70TraceLevel.DEBUG,

                    TRACE_METODO + ": filtroVO.getTipoEncuesta(): " + filtroVO.getTipoEncuesta()+
                    ": filtroVO.getAnyo(): " + filtroVO.getAnyo()+
                    ": filtroVO.getMesSolicitud(): " + filtroVO.getMesSolicitud()+
                    ": filtroVO.getIdMunicipio(): " + filtroVO.getIdMunicipio());

            }


            lista = bean.procesoEjecucionValidaciones(filtroVO);




            return lista;


        } catch (Exception ex) {


            java.io.StringWriter sw = new java.io.StringWriter();


            java.io.PrintWriter pw = new java.io.PrintWriter(sw);


            ex.printStackTrace(pw);


            tr.trace(COMPONENTE, Q70TraceLevel.ERROR,


                TRACE_METODO + sw.getBuffer().toString());


            throw ex;


        } finally {


            if (tr.isTraceActive()) {


                tr.trace(COMPONENTE, Q70TraceLevel.INFO,


                    RUTA_CLASE + " saliendo con lista.size()= "+lista.size());


            }


        }


    }


   // -------------------- FIN - PROCESO LISTA -------------------


} // fin clase


