/* * Task.java * * Proyecto Fin de Carrera 2002/2003 * GESTION DE INFORMES DE ALTA CON TECNOLOGIA JAVA * Y BASE DE DATOS XML NATIVAS */ package InformeAlta; import java.io.*; import java.net.*; import java.beans.*; import javax.servlet.*; import javax.servlet.jsp.*; import javax.servlet.http.*; /** * @author Irene Lavado Gomez */ /** * Definimos la clase Task, esta clase actua como un controlador, * enviando la respuesta HTML a la correcta clase o pagina JSP * dependiendo del valor de action */ public class Task extends HttpServlet { public void doPost(HttpServletRequest request, HttpServletResponse response ) throws ServletException, IOException { JspFactory jspFactory = null; PageContext pageContext = null; HttpSession session = null; InformeAlta.Group group = null; String ind = request.getParameter("INDEX"); String action = null; try { // Si el bean Group no ha sido añadido aun a la seseion, lo // añadimos, esto permitira al usuario ir directamente a // cualquier pagina jspFactory = JspFactory.getDefaultFactory(); pageContext = jspFactory.getPageContext(this, request, response, "/error.jsp", true, 8192, true ); session = pageContext.getSession(); group = (Group)pageContext.getAttribute("group",PageContext.SESSION_SCOPE); if (group == null) { group=(InformeAlta.Group)Beans.instantiate(this.getClass().getClassLoader(), "InformeAlta.Group" ); pageContext.setAttribute("group", group, PageContext.SESSION_SCOPE ); } // Comprobamos que action es distinto de null if ( request.getParameter("action") != null ) { action = request.getParameter("action"); } else { action = request.getParameter("ACTION"); } // Decidimos donde enviar al usuario dependiendo del valor // de action if ( action != null ) { // Añadir un paciente if ( action.equalsIgnoreCase("addinf") ) { gotoPage("/addInforme.jsp",request,response); } else if ( action.equalsIgnoreCase("addinforme") ) { AddInforme informe = new AddInforme(); informe.add(request,response); ListInformes list = new ListInformes(); list.list(request,response); gotoPage("/listInformes.jsp",request,response); // Editar datos personales } else if ( action.equalsIgnoreCase("editpersonales") ) { gotoPage("/editPersonales.jsp",request,response); // Modificar datos personales } else if ( action.equalsIgnoreCase("editinforme") ) { EditInforme informe = new EditInforme(); informe.edit(request,response); ListInformes list = new ListInformes(); list.list(request,response); gotoPage("/listInformes.jsp",request,response); // Editar los datos demograficos } else if ( action.equalsIgnoreCase("editdemo") ) { EditDemograficos dem = new EditDemograficos(); dem.editDemo(request,response); gotoPage("/addDemograficos.jsp",request,response); // Almacenar los datos demograficos y pasar al // siguiente formulario } else if ( action.equalsIgnoreCase("adddemo") ) { AddDemograficos dem = new AddDemograficos(); dem.addDemo(request,response); gotoPage("/addAntecedentes.jsp?index="+ind,request,response); // Editar antecedentes personales } else if ( action.equalsIgnoreCase("addantece") ) { EditAntecedentes ant = new EditAntecedentes(); ant.editAnt(request,response); gotoPage("/addAntecedentes.jsp",request,response); // Almacenar los antecedentes personales y pasas al // siguiente formulario } else if ( action.equalsIgnoreCase("addantecedentes") ) { AddAntecedentes ante = new AddAntecedentes(); ante.addAnt(request,response); gotoPage("/addCircunstancias.jsp?index="+ind,request,response); // Listado de patologias } else if ( action.equalsIgnoreCase("addpat") ) { ListPatologias pat = new ListPatologias(); pat.listPat(request,response); gotoPage("/addPatologias.jsp",request,response); // Añadir nueva patologia y volver al listado de // patologias } else if ( action.equalsIgnoreCase("addpatologias") ) { AddPatologia pat = new AddPatologia(); pat.addPat(request,response); ListPatologias patolog = new ListPatologias(); patolog.listPat(request,response); gotoPage("/addPatologias.jsp?index="+ind,request,response); // Editar circunstancias al ingreso } else if ( action.equalsIgnoreCase("addcircunsdom") ) { EditCircunstancias circu = new EditCircunstancias(); circu.editCircu(request,response); gotoPage("/addCircunstancias.jsp",request,response); // Almacenar circunstancias al ingreso y pasar al // siguiente formulario } else if ( action.equalsIgnoreCase("addcircunstanciasdom") ) { AddCircunstanciasDom circu = new AddCircunstanciasDom(); circu.addCircuDom(request,response); gotoPage("/examenes.jsp?index="+ind,request,response); // Examenes } else if ( action.equalsIgnoreCase("exam") ) { gotoPage("/examenes.jsp",request,response); // Editar exploracion fisica } else if ( action.equalsIgnoreCase("addexplor") ) { EditExploracion explo = new EditExploracion(); explo.editExp(request,response); gotoPage("/addExploracion.jsp",request,response); // Almacenar datos de exploración fisica y volver a // examenes } else if ( action.equalsIgnoreCase("addexploracion") ) { AddExploracion circu = new AddExploracion(); circu.addExp(request,response); gotoPage("/examenes.jsp?index="+ind,request,response); // Editar hemograma } else if ( action.equalsIgnoreCase("addhemo") ) { EditHemograma hemo = new EditHemograma(); hemo.editHem(request,response); gotoPage("/addHemograma.jsp",request,response); // Almacenar datos de hemograma y volver a examenes } else if ( action.equalsIgnoreCase("addhemograma") ) { AddHemograma hemo = new AddHemograma(); hemo.addHem(request,response); gotoPage("/examenes.jsp?index="+ind,request,response); // Editar resultados de prueba bioquimica } else if ( action.equalsIgnoreCase("addbioqui") ) { EditBioquimica bio = new EditBioquimica(); bio.editBio(request,response); gotoPage("/addBioquimica.jsp",request,response); // Almacenar prueba bioquimica y volver a examenes } else if ( action.equalsIgnoreCase("addbioquimica") ) { AddBioquimica circu = new AddBioquimica(); circu.addBio(request,response); gotoPage("/examenes.jsp?index="+ind,request,response); // Listado de juicios clinicos } else if ( action.equalsIgnoreCase("addjuic") ) { ListJuicios jui = new ListJuicios(); jui.listJui(request,response); gotoPage("/addJuicio.jsp",request,response); // Añadir nuevo juicio y volver al listado de // juicios } else if ( action.equalsIgnoreCase("addjuicio") ) { AddJuicio juicio = new AddJuicio(); juicio.addJui(request,response); AddJuicioValores juiciov = new AddJuicioValores(); juiciov.addJuiVal(request,response); ListJuicios jui = new ListJuicios(); jui.listJui(request,response); gotoPage("/addJuicio.jsp?index="+ind,request,response); // Añadir comentario del juicio clinico y pasar al // siguiente formulario } else if ( action.equalsIgnoreCase("addjuiciocom") ) { AddJuicioComentarios juicom = new AddJuicioComentarios(); juicom.addJuiCom(request,response); gotoPage("/addProcedimiento.jsp?index="+ind,request,response); // Listar procedimientos realizados } else if ( action.equalsIgnoreCase("addproce") ) { ListProcedimiento pro = new ListProcedimiento(); pro.listProc(request,response); gotoPage("/addProcedimiento.jsp",request,response); // Añadir nuevo procedimiento y volver al listado de // procedimientos } else if ( action.equalsIgnoreCase("addprocedimiento") ) { AddProcedimiento proce = new AddProcedimiento(); proce.addProc(request,response); AddProcedimientoValores procev = new AddProcedimientoValores(); procev.addProcVal(request,response); ListProcedimiento pro = new ListProcedimiento(); pro.listProc(request,response); gotoPage("/addProcedimiento.jsp?index="+ind,request,response); // Editar tratamiento } else if ( action.equalsIgnoreCase("addtrata") ) { EditTratamiento trat = new EditTratamiento(); trat.editTra(request,response); gotoPage("/addTratamiento.jsp",request,response); // Almacenar tratamiento y volver al listado de // pacientes } else if ( action.equalsIgnoreCase("addtratamiento") ) { AddTratamiento trata = new AddTratamiento(); trata.addTra(request,response); EditDemograficos dem = new EditDemograficos(); dem.editDemo(request,response); gotoPage("/addDemograficos.jsp?index="+ind,request,response); // Listado de pacientes } else if ( action.equalsIgnoreCase("listinf") ) { ListInformes informe = new ListInformes(); informe.list(request,response); gotoPage("/listInformes.jsp",request,response); // Busqueda de informes } else if ( action.equalsIgnoreCase("searchinf") ) { gotoPage("/searchInforme.jsp",request,response); } else if ( action.equalsIgnoreCase("attributesearch") ) { SearchInforme informe = new SearchInforme(); informe.attributeSearch(request,response); gotoPage("/listInformes.jsp",request,response); } else if ( action.equalsIgnoreCase("xpathsearch") ) { SearchInforme informe = new SearchInforme(); informe.xpathSearch(request,response); gotoPage("/listInformes.jsp",request,response); // Borrar un informe } else if ( action.equalsIgnoreCase("deleteinforme") ) { DeleteInforme informe = new DeleteInforme(); informe.delete(request,response); ListInformes list = new ListInformes(); list.list(request,response); gotoPage("/listInformes.jsp",request,response); } else if ( action.equalsIgnoreCase("showxml")) { ShowXML muestra = new ShowXML(); muestra.showXml(request,response); } else gotoPage("/error.jsp",request,response); } else { gotoPage("/error.jsp",request,response); } } catch( Exception e ) { e.printStackTrace(); // there's not much else we can do if the response is committed if (response.isCommitted()) return; // Catch the exception and send the user to the error page if (e.getMessage() != null ) { response.sendRedirect("/InformeAlta/error.jsp?error=" + URLEncoder.encode(e.getMessage()) ); } else { response.sendRedirect("/InformeAlta/error.jsp" ); } } } // Treat a form-get as a post, seding user to doPost public void doGet(HttpServletRequest request, HttpServletResponse response ) throws ServletException, IOException { doPost(request,response); } // Forward the user on to the pages specified in address private void gotoPage( String address, HttpServletRequest request, HttpServletResponse response ) throws ServletException, IOException { RequestDispatcher dispatcher = getServletContext().getRequestDispatcher(address); dispatcher.forward(request, response); } }