/* * AddJuicioValores.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 javax.servlet.*; import javax.servlet.http.*; import org.xmldb.api.base.*; import org.xmldb.api.modules.*; import org.xmldb.api.DatabaseManager; import org.w3c.dom.*; /** * @author Irene Lavado Gomez */ /** * Definimos la clase AddJuicio, esta clase sera la * encargada de recuperar los datos del formulario "Juicio * Clinico" referentes a un nuevo juicio, crear los nodos * correspondientes y almacena los valores recogidos, en los * nodos creados, todo ello mediante Dom */ public class AddJuicioValores extends Action { public boolean addJuiVal(HttpServletRequest request, HttpServletResponse response ) throws ServletException, IOException { Collection col= null; try{ // Consigue una instancia collecion col = getCollection(request,response); // Toma el dockey del paciente que estamos rellenando String dockey = request.getParameter("DOCKEY"); // Tomo los parametros del formulario String NombreDiagn = request.getParameter("NOMBREDIAGN"); String IdDiagn = request.getParameter("IDDIAGN"); String Caracter = request.getParameter("CARACTER"); //Recuperar un documento de una coleccion XMLResource resource =(XMLResource) col.getResource(dockey); // Convierte a objeto DOM Document doc = (Document) resource.getContentAsDOM(); BuscaNodos busca = new BuscaNodos(); NodeList listaproc = doc.getElementsByTagName("Procedimiento"); int i = listaproc.getLength(); NodeList listajui = doc.getElementsByTagName("Patologia"); int j = listajui.getLength(); int x=i+j; busca.setDato1(doc,"DescripcionCodigoClinico",x,NombreDiagn); //busca.setDato1(doc,"IdEsquemaCodigoClinico",x,IdDiagn); //busca.setDato1(doc,"ImportanciaDiagnostico",j,Caracter); // Por último almacena el documento resource.setContentAsDOM(doc); col.storeResource(resource); } catch (IOException e) { System.out.println(e); } catch ( Exception e) { e.printStackTrace(); // Si la respuesta es committed no hay mucho más que se pueda hacer if (response.isCommitted()) return true; // Toma la excepción y envia al usuario a la página de error if (e.getMessage() != null ) { response.sendRedirect("/InformeAlta/error.jsp?error=" + URLEncoder.encode(e.getMessage()) ); } else { response.sendRedirect("/InformeAlta/error.jsp" ); } } return true; } }