List of usage examples for javax.xml.parsers SAXParser setProperty
public abstract void setProperty(String name, Object value) throws SAXNotRecognizedException, SAXNotSupportedException;
Sets the particular property in the underlying implementation of org.xml.sax.XMLReader .
From source file:forseti.admon.JAdmCFDDlg.java
@SuppressWarnings({ "rawtypes", "unchecked" }) public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { super.doPost(request, response); String adm_cfdi_dlg = ""; request.setAttribute("adm_cfdi_dlg", adm_cfdi_dlg); String mensaje = ""; short idmensaje = -1; if (request.getContentType() != null && request.getContentType().toLowerCase().indexOf("multipart/form-data") > -1) { if (!getSesion(request).getRegistrado()) { irApag("/forsetiweb/errorAtributos.jsp", request, response); return; } else {// w w w . j a va 2 s . co m if (!getSesion(request).getPermiso("ADM_CFDI_AGREGAR")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", "ADM_CFDI_AGREGAR"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), "ADM_CFDI_AGREGAR", "ACFD||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } try { Vector archivos = new Vector(); DiskFileUpload fu = new DiskFileUpload(); List items = fu.parseRequest(request); Iterator iter = items.iterator(); while (iter.hasNext()) { FileItem item = (FileItem) iter.next(); if (!item.isFormField()) archivos.addElement(item); } SubirArchivosCFD(request, response, archivos); return; } catch (FileUploadException e) { e.printStackTrace(); return; } } } if (request.getParameter("proceso") != null && !request.getParameter("proceso").equals("")) { if (request.getParameter("proceso").equals("VERIFICAR_CFD")) { // Verificacion if (!getSesion(request).getPermiso("ADM_CFDI_AGREGAR")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", "ADM_CFDI_AGREGAR"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), "ADM_CFDI_AGREGAR", "ACFD||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (VerificarCertificados(request, response)) AgregarCertificado(request, response); return; } else if (request.getParameter("proceso").equals("CAMBIAR_EMISOR")) { System.out.println(request.getParameter("cfd_regimenfiscal")); // Revisa si tiene permisos if (!getSesion(request).getPermiso("ADM_CFDI_AGREGAR")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", "ADM_CFDI_AGREGAR"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), "ADM_CFDI_AGREGAR", "ACFD||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (request.getParameter("subproceso") != null && request.getParameter("subproceso").equals("ENVIAR")) { // Verificacion if (VerificarParametros(request, response)) { Cambiar(request, response); return; } irApag("/forsetiweb/administracion/adm_cfd_dlg.jsp", request, response); return; } else if (request.getParameter("subproceso") != null && request.getParameter("subproceso").equals("ACTUALIZAR")) { irApag("/forsetiweb/administracion/adm_cfd_dlg.jsp", request, response); return; } else // Como el subproceso no es ENVIAR, abre la ventana del proceso de CAMBIADO para cargar el cambio { getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/administracion/adm_cfd_dlg.jsp", request, response); return; } } else if (request.getParameter("proceso").equals("AGREGAR_CERTIFICADO")) { // Revisa si tiene permisos if (!getSesion(request).getPermiso("ADM_CFDI_AGREGAR")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", "ADM_CFDI_AGREGAR"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), "ADM_CFDI_AGREGAR", "ACFD||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } Integer subir_archivos = new Integer(2); request.setAttribute("subir_archivos", subir_archivos); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/subir_archivos.jsp?verif=/servlet/CEFAdmCFDDlg&archivo_1=cer&archivo_2=key&proceso=AGREGAR_CERTIFICADO&subproceso=ENVIAR", request, response); return; } else if (request.getParameter("proceso").equals("AGREGAR_EXPEDITOR")) { // Revisa si tiene permisos if (!getSesion(request).getPermiso("ADM_CFDI_AGREGAR")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", "ADM_CFDI_AGREGAR"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), "ADM_CFDI_AGREGAR", "ACFD||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (request.getParameter("subproceso") != null && request.getParameter("subproceso").equals("ENVIAR")) { // Verificacion if (VerificarParametrosExpRec(request, response)) { AgregarCambiarExpRec(request, response, JForsetiApl.AGREGAR, "EXP"); return; } irApag("/forsetiweb/administracion/adm_cfd_dlg_exprec.jsp", request, response); return; } else if (request.getParameter("subproceso") != null && request.getParameter("subproceso").equals("ACTUALIZAR")) { irApag("/forsetiweb/administracion/adm_cfd_dlg_exprec.jsp", request, response); return; } else // Como el subproceso no es ENVIAR, abre la ventana del proceso de CAMBIADO para cargar el cambio { getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/administracion/adm_cfd_dlg_exprec.jsp", request, response); return; } } else if (request.getParameter("proceso").equals("CAMBIAR_EXPEDITOR")) { // Revisa si tiene permisos if (!getSesion(request).getPermiso("ADM_CFDI_AGREGAR")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", "ADM_CFDI_AGREGAR"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), "ADM_CFDI_AGREGAR", "ACFD||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (request.getParameter("id") != null) { String[] valoresParam = request.getParameterValues("id"); if (valoresParam.length == 1) { if (request.getParameter("subproceso") != null && request.getParameter("subproceso").equals("ENVIAR")) { // Verificacion if (VerificarParametrosExpRec(request, response)) { AgregarCambiarExpRec(request, response, JForsetiApl.CAMBIAR, "EXP"); return; } irApag("/forsetiweb/administracion/adm_cfd_dlg_exprec.jsp", request, response); return; } else if (request.getParameter("subproceso") != null && request.getParameter("subproceso").equals("ACTUALIZAR")) { irApag("/forsetiweb/administracion/adm_cfd_dlg_exprec.jsp", request, response); return; } else // Como el subproceso no es ENVIAR, abre la ventana del proceso de CAMBIADO para cargar el cambio { getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/administracion/adm_cfd_dlg_exprec.jsp", request, response); return; } } else { idmensaje = 1; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 2); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { idmensaje = 3; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 1); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else if (request.getParameter("proceso").equals("AGREGAR_RECEPTOR")) { // Revisa si tiene permisos if (!getSesion(request).getPermiso("ADM_CFDI_AGREGAR")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", "ADM_CFDI_AGREGAR"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), "ADM_CFDI_AGREGAR", "ACFD||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (request.getParameter("subproceso") != null && request.getParameter("subproceso").equals("ENVIAR")) { // Verificacion if (VerificarParametrosExpRec(request, response)) { AgregarCambiarExpRec(request, response, JForsetiApl.AGREGAR, "REC"); return; } irApag("/forsetiweb/administracion/adm_cfd_dlg_exprec.jsp", request, response); return; } else // Como el subproceso no es ENVIAR, abre la ventana del proceso de CAMBIADO para cargar el cambio { getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/administracion/adm_cfd_dlg_exprec.jsp", request, response); return; } } else if (request.getParameter("proceso").equals("CAMBIAR_RECEPTOR")) { // Revisa si tiene permisos if (!getSesion(request).getPermiso("ADM_CFDI_AGREGAR")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", "ADM_CFDI_AGREGAR"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), "ADM_CFDI_AGREGAR", "ACFD||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (request.getParameter("id") != null) { String[] valoresParam = request.getParameterValues("id"); if (valoresParam.length == 1) { if (request.getParameter("subproceso") != null && request.getParameter("subproceso").equals("ENVIAR")) { // Verificacion if (VerificarParametrosExpRec(request, response)) { AgregarCambiarExpRec(request, response, JForsetiApl.CAMBIAR, "REC"); return; } irApag("/forsetiweb/administracion/adm_cfd_dlg_exprec.jsp", request, response); return; } else // Como el subproceso no es ENVIAR, abre la ventana del proceso de CAMBIADO para cargar el cambio { getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/administracion/adm_cfd_dlg_exprec.jsp", request, response); return; } } else { idmensaje = 1; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 2); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { idmensaje = 3; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 1); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else if (request.getParameter("proceso").equals("GENERAR_CE")) { // Revisa si tiene permisos if (!getSesion(request).getPermiso("ADM_CFDI_GCEXML")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", "ADM_CFDI_GCEXML"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), "ADM_CFDI_GCEXML", "ACFD||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (request.getParameter("id") != null) { String[] valoresParam = request.getParameterValues("id"); if (valoresParam.length == 1) { if (request.getParameter("subproceso") != null && request.getParameter("subproceso").equals("ENVIAR")) { int ano = Integer.parseInt(JUtil.Elm(request.getParameter("id"), 1)); int mes = Integer.parseInt(JUtil.Elm(request.getParameter("id"), 2)); JAdmPeriodosSet set = new JAdmPeriodosSet(request); set.m_Where = "Ano = '" + ano + "' and Mes = '" + mes + "'"; set.Open(); if (!set.getAbsRow(0).getCerrado()) { idmensaje = 1; mensaje = "PRECAUCION: No se pueden generar los archivos XML de la Contabilidada Electrnica, porque el mes seleccionado no esta cerrado aun."; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } GenerarXMLCE(request, response, ano, mes); return; } else { getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/administracion/adm_cfd_dlg_cegen.jsp", request, response); return; } } else { idmensaje = 1; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 2); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { idmensaje = 3; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 1); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else if (request.getParameter("proceso").equals("CONSULTAR_ST")) { // Revisa si tiene permisos if (!getSesion(request).getPermiso("ADM_CFDI_GCEXML")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", "ADM_CFDI_GCEXML"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), "ADM_CFDI_GCEXML", "ACFD||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (request.getParameter("id") != null) { String[] valoresParam = request.getParameterValues("id"); if (valoresParam.length == 1) { int ano = Integer.parseInt(JUtil.Elm(request.getParameter("id"), 1)); int mes = Integer.parseInt(JUtil.Elm(request.getParameter("id"), 2)); JContCEModuloSet set = new JContCEModuloSet(request, getSesion(request).getSesion("ADM_CFDI").getEspecial()); set.m_Where = "Ano = '" + ano + "' and Mes = '" + mes + "'"; set.Open(); if (set.getAbsRow(0).getGenerado().equals("N")) { idmensaje = 1; mensaje = "PRECAUCION: No se puede consultar el registro de estatus porque no existe el archivo generado en este mes."; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } irApag("/forsetiweb/administracion/adm_cfd_dlg_cons.jsp", request, response); return; } else { idmensaje = 1; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 2); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { idmensaje = 3; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 1); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else if (request.getParameter("proceso").equals("CONSULTAR_ARCHIVOS")) { // Revisa si tiene permisos if (!getSesion(request).getPermiso("ADM_CFDI_GCEXML")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", "ADM_CFDI_GCEXML"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), "ADM_CFDI_GCEXML", "ACFD||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (request.getParameter("id") != null) { String[] valoresParam = request.getParameterValues("id"); if (valoresParam.length == 1) { int ano = Integer.parseInt(JUtil.Elm(request.getParameter("id"), 1)); int mes = Integer.parseInt(JUtil.Elm(request.getParameter("id"), 2)); JContCEModuloSet set = new JContCEModuloSet(request, getSesion(request).getSesion("ADM_CFDI").getEspecial()); set.m_Where = "Ano = '" + ano + "' and Mes = '" + mes + "'"; set.Open(); if (set.getAbsRow(0).getGenerado().equals("N")) { idmensaje = 1; mensaje = "PRECAUCION: No se puede consultar el archivo porque este mes no esta generado aun."; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } String nomArchFech; if (mes < 10) nomArchFech = "-" + ano + "-0" + mes; else nomArchFech = "-" + ano + "-" + mes; String nomArch = "/usr/local/forseti/emp/" + getSesion(request).getBDCompania() + "/CE/" + JUtil.getSesion(request).getSesion("ADM_CFDI").getEspecial() + nomArchFech + ".xml"; String salida = ""; File f = new File(nomArch); FileReader fr = null; BufferedReader br = null; try { fr = new FileReader(f); br = new BufferedReader(fr); String s; while ((s = br.readLine()) != null) { salida += s + "\n"; } br.close(); } catch (IOException e1) { salida += e1; } response.setContentType("application/xml"); PrintWriter out = response.getWriter(); out.print(salida); /* String nombres[] = { nomArch + "catalogo" + nomArchFech + ".xml", nomArch + "balanza" + nomArchFech + ".xml", nomArch + "polizas" + nomArchFech + ".xml", nomArch + "CE" + nomArchFech + ".log"}; String destinos[] = { "catalogo" + nomArchFech + ".xml", "balanza" + nomArchFech + ".xml", "polizas" + nomArchFech + ".xml", "CE" + nomArchFech + ".log" }; JBajarArchivo fd = new JBajarArchivo(); fd.doDownloadMultipleFilesInZip(response, getServletConfig().getServletContext(), ("CE" + nomArchFech + ".zip"), nombres, destinos); */ return; } else { idmensaje = 1; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 2); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { idmensaje = 3; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 1); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else if (request.getParameter("proceso").equals("VALIDAR_ARCHIVOS")) { // Revisa si tiene permisos if (!getSesion(request).getPermiso("ADM_CFDI_GCEXML")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", "ADM_CFDI_GCEXML"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), "ADM_CFDI_GCEXML", "ACFD||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (request.getParameter("id") != null) { String[] valoresParam = request.getParameterValues("id"); if (valoresParam.length == 1) { int ano = Integer.parseInt(JUtil.Elm(request.getParameter("id"), 1)); int mes = Integer.parseInt(JUtil.Elm(request.getParameter("id"), 2)); JContCEModuloSet set = new JContCEModuloSet(request, getSesion(request).getSesion("ADM_CFDI").getEspecial()); set.m_Where = "Ano = '" + ano + "' and Mes = '" + mes + "'"; set.Open(); if (set.getAbsRow(0).getGenerado().equals("N")) { idmensaje = 1; mensaje = "PRECAUCION: No se puede validar el archivo porque este mes no esta generado aun."; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } String nomArchFech; if (mes < 10) nomArchFech = "-" + ano + "-0" + mes; else nomArchFech = "-" + ano + "-" + mes; String nomArch = "/usr/local/forseti/emp/" + getSesion(request).getBDCompania() + "/CE/" + JUtil.getSesion(request).getSesion("ADM_CFDI").getEspecial() + nomArchFech + ".xml"; //Validacin String ERROR = "", archivoXML = ""; boolean NAME_SPACE_AWARE = true; boolean VALIDATING = true; String SCHEMA_LANGUAGE = "http://java.sun.com/xml/jaxp/properties/schemaLanguage"; String SCHEMA_LANGUAGE_VAL = "http://www.w3.org/2001/XMLSchema"; String SCHEMA_SOURCE = "http://java.sun.com/xml/jaxp/properties/schemaSource"; String sFichXsd = "/usr/local/forseti/rec/"; if (JUtil.getSesion(request).getSesion("ADM_CFDI").getEspecial().equals("CECAT")) sFichXsd += "CatalogoCuentas_1_1.xsd"; else if (JUtil.getSesion(request).getSesion("ADM_CFDI").getEspecial().equals("CEBAL")) sFichXsd += "BalanzaComprobacion_1_1.xsd"; else sFichXsd += "PolizasPeriodo_1_1.xsd"; try { FileReader file = new FileReader(nomArch); BufferedReader buff = new BufferedReader(file); boolean eof = false; while (!eof) { String line = buff.readLine(); if (line == null) eof = true; else archivoXML += line + "\n"; } InputStream is = new ByteArrayInputStream(archivoXML.getBytes()); Reader xsdReader = new FileReader(sFichXsd); //System.out.println("xmlReader:" + pathxml + "\n" + "xsdReader:" + sFichXsd + "\n" + "xsdReader2:" + sFichXsd2); SAXParserFactory factory = SAXParserFactory.newInstance(); factory.setNamespaceAware(NAME_SPACE_AWARE); factory.setValidating(VALIDATING); SAXParser parser = factory.newSAXParser(); parser.setProperty(SCHEMA_LANGUAGE, SCHEMA_LANGUAGE_VAL); parser.setProperty(SCHEMA_SOURCE, new InputSource(xsdReader)); DefaultHandler handler = new XmlDefaultHandler(); //parser.parse(new InputSource(xmlReader), handler); parser.parse(is, handler); } catch (FactoryConfigurationError e) { e.printStackTrace(); ERROR += "FactoryConfiguration: " + e.getMessage() + "<br>"; } catch (ParserConfigurationException e) { e.printStackTrace(); ERROR += "ParserConfiguration: " + e.getMessage() + "<br>"; } catch (SAXException e) { e.printStackTrace(); ERROR += "SAX: " + e.getMessage() + "<br>"; } catch (IOException e) { e.printStackTrace(); ERROR += "IO: " + e.getMessage() + "<br>"; } if (!ERROR.equals("")) { idmensaje = 3; mensaje = "ERROR: Al verificar sintaxis del XML:" + "<br>" + ERROR; getSesion(request).setID_Mensaje(idmensaje, mensaje); } else { idmensaje = 0; mensaje = "El XML se verific y paso las pruebas de sintaxis"; getSesion(request).setID_Mensaje(idmensaje, mensaje); } irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } else { idmensaje = 1; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 2); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { idmensaje = 3; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 1); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else if (request.getParameter("proceso").equals("DESCARGAR_ARCHIVOS")) { // Revisa si tiene permisos if (!getSesion(request).getPermiso("ADM_CFDI_GCEXML")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", "ADM_CFDI_GCEXML"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), "ADM_CFDI_GCEXML", "ACFD||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (request.getParameter("id") != null) { String[] valoresParam = request.getParameterValues("id"); if (valoresParam.length == 1) { int ano = Integer.parseInt(JUtil.Elm(request.getParameter("id"), 1)); int mes = Integer.parseInt(JUtil.Elm(request.getParameter("id"), 2)); JContCEModuloSet set = new JContCEModuloSet(request, getSesion(request).getSesion("ADM_CFDI").getEspecial()); set.m_Where = "Ano = '" + ano + "' and Mes = '" + mes + "'"; set.Open(); if (set.getAbsRow(0).getGenerado().equals("N")) { idmensaje = 1; mensaje = "PRECAUCION: No se puede descargar el archivo porque este mes no esta generado aun."; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } String nomArchFech; if (mes < 10) nomArchFech = "-" + ano + "-0" + mes; else nomArchFech = "-" + ano + "-" + mes; SAXBuilder builder = new SAXBuilder(); File xmlFile = new File("/usr/local/forseti/emp/" + getSesion(request).getBDCompania() + "/CE/" + JUtil.getSesion(request).getSesion("ADM_CFDI").getEspecial() + nomArchFech + ".xml"); try { Document document = (Document) builder.build(xmlFile); Element CEGeneral = document.getRootElement(); String nomArchZIP = CEGeneral.getAttributeValue("RFC") + CEGeneral.getAttributeValue("Anio") + CEGeneral.getAttributeValue("Mes"); String destino = CEGeneral.getAttributeValue("RFC") + CEGeneral.getAttributeValue("Anio") + CEGeneral.getAttributeValue("Mes"); if (JUtil.getSesion(request).getSesion("ADM_CFDI").getEspecial().equals("CECAT")) // es de egresos (Compras. Gastos) { nomArchZIP += "CT.zip"; destino += "CT.xml"; } else if (JUtil.getSesion(request).getSesion("ADM_CFDI").getEspecial() .equals("CEBAL")) { nomArchZIP += "B" + CEGeneral.getAttributeValue("TipoEnvio") + ".zip"; destino += "B" + CEGeneral.getAttributeValue("TipoEnvio") + ".xml"; } else { nomArchZIP += "PL.zip"; destino += "PL.xml"; } String nombres[] = { "/usr/local/forseti/emp/" + getSesion(request).getBDCompania() + "/CE/" + JUtil.getSesion(request).getSesion("ADM_CFDI").getEspecial() + nomArchFech + ".xml" }; String destinos[] = { destino }; JBajarArchivo fd = new JBajarArchivo(); fd.doDownloadMultipleFilesInZip(response, getServletConfig().getServletContext(), nomArchZIP, nombres, destinos); return; } catch (JDOMException e) { idmensaje = 1; mensaje = "PRECAUCION: No se puede descargar el archivo porque este mes no esta generado aun."; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { idmensaje = 1; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 2); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { idmensaje = 3; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 1); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else if (request.getParameter("proceso").equals("DESENLAZAR_DOCUMENTO")) { // Revisa si tiene permisos if (!getSesion(request).getPermiso("ADM_CFDI_DESENLAZAR")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", "ADM_CFDI_DESENLAZAR"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), "ADM_CFDI_DESENLAZAR", "ACFD||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (request.getParameter("id") != null) { String[] valoresParam = request.getParameterValues("id"); if (valoresParam.length == 1) { String status = JUtil.getSesion(request).getSesion("ADM_CFDI").getStatus(); if (!status.equals("OTROS")) { JCFDCompViewSet set = new JCFDCompViewSet(request, status); set.m_Where = "ID_CFD = '" + p(request.getParameter("id")) + "'"; set.Open(); if (set.getNumRows() < 1) { idmensaje = 3; mensaje = "ERROR: No se puede desenlazar el registro porque no existe"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (set.getAbsRow(0).getFSI_Tipo().equals("ENT")) { idmensaje = 1; mensaje = "PRECAUCION: No se puede desenlazar el documento porque aun no se encuentra enlazado a ningn registro."; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { JCFDCompOtrSet set = new JCFDCompOtrSet(request); set.m_Where = "ID_CFD = '" + p(request.getParameter("id")) + "'"; set.Open(); if (set.getAbsRow(0).getFSI_Tipo().equals("ENT")) { idmensaje = 1; mensaje = "PRECAUCION: No se puede desenlazar el documento porque aun no se encuentra enlazado a ningn registro."; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } DesenlazarDocumento(request, response); return; } else { idmensaje = 1; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 2); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { idmensaje = 3; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 1); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else if (request.getParameter("proceso").equals("ELIMINAR_DOCUMENTO")) { // Revisa si tiene permisos if (!getSesion(request).getPermiso("ADM_CFDI_CARGAR")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", "ADM_CFDI_CARGAR"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), "ADM_CFDI_CARGAR", "ACFD||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (request.getParameter("id") != null) { String[] valoresParam = request.getParameterValues("id"); if (valoresParam.length == 1) { String status = JUtil.getSesion(request).getSesion("ADM_CFDI").getStatus(); if (!status.equals("OTROS")) { JCFDCompViewSet set = new JCFDCompViewSet(request, status); set.m_Where = "ID_CFD = '" + p(request.getParameter("id")) + "'"; set.Open(); if (set.getNumRows() < 1) { idmensaje = 3; mensaje = "ERROR: No se puede eliminar el registro porque no existe"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (!set.getAbsRow(0).getFSI_Tipo().equals("ENT")) { idmensaje = 1; mensaje = "PRECAUCION: No se puede eliminar el documento porque ya se encuentra enlazado a un registro."; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { JCFDCompOtrSet set = new JCFDCompOtrSet(request); set.m_Where = "ID_CFD = '" + p(request.getParameter("id")) + "'"; set.Open(); if (!set.getAbsRow(0).getFSI_Tipo().equals("ENT")) { idmensaje = 1; mensaje = "PRECAUCION: No se puede eliminar el documento porque ya se encuentra enlazado a un registro."; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } EliminarDocumento(request, response); return; } else { idmensaje = 1; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 2); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { idmensaje = 3; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 1); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else // si no se mandan parametros, manda a error { idmensaje = 3; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 3); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { idmensaje = 3; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 3); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } }
From source file:org.apache.axis.encoding.DeserializationContext.java
/** * Create a parser and parse the inputSource *//*from w w w.j a v a 2s . co m*/ public void parse() throws SAXException { if (inputSource != null) { SAXParser parser = XMLUtils.getSAXParser(); try { parser.setProperty("http://xml.org/sax/properties/lexical-handler", this); parser.parse(inputSource, this); try { // cleanup - so that the parser can be reused. parser.setProperty("http://xml.org/sax/properties/lexical-handler", nullLexicalHandler); } catch (Exception e) { // Ignore. } // only release the parser for reuse if there wasn't an // error. While parsers should be reusable, don't trust // parsers that died to clean up appropriately. XMLUtils.releaseSAXParser(parser); } catch (IOException e) { throw new SAXException(e); } inputSource = null; } }
From source file:org.apache.geode.internal.cache.xmlcache.CacheXmlParser.java
/** * Parses XML data and from it creates an instance of <code>CacheXmlParser</code> that can be used * to {@link #create}the {@link Cache}, etc. * * @param is the <code>InputStream</code> of XML to be parsed * * @return a <code>CacheXmlParser</code>, typically used to create a cache from the parsed XML * * @throws CacheXmlException Something went wrong while parsing the XML * * @since GemFire 4.0//from www.ja v a2s . co m * */ public static CacheXmlParser parse(InputStream is) { /** * The API doc http://java.sun.com/javase/6/docs/api/org/xml/sax/InputSource.html for the SAX * InputSource says: "... standard processing of both byte and character streams is to close * them on as part of end-of-parse cleanup, so applications should not attempt to re-use such * streams after they have been handed to a parser." * * In order to block the parser from closing the stream, we wrap the InputStream in a filter, * i.e., UnclosableInputStream, whose close() function does nothing. * */ class UnclosableInputStream extends BufferedInputStream { public UnclosableInputStream(InputStream stream) { super(stream); } @Override public void close() { } } CacheXmlParser handler = new CacheXmlParser(); try { SAXParserFactory factory = SAXParserFactory.newInstance(); factory.setFeature(DISALLOW_DOCTYPE_DECL_FEATURE, true); factory.setValidating(true); factory.setNamespaceAware(true); UnclosableInputStream bis = new UnclosableInputStream(is); try { SAXParser parser = factory.newSAXParser(); // Parser always reads one buffer plus a little extra worth before // determining that the DTD is there. Setting mark twice the parser // buffer size. bis.mark((Integer) parser.getProperty(BUFFER_SIZE) * 2); parser.setProperty(JAXP_SCHEMA_LANGUAGE, XMLConstants.W3C_XML_SCHEMA_NS_URI); parser.parse(bis, new DefaultHandlerDelegate(handler)); } catch (CacheXmlException e) { if (null != e.getCause() && e.getCause().getMessage().contains(DISALLOW_DOCTYPE_DECL_FEATURE)) { // Not schema based document, try dtd. bis.reset(); factory.setFeature(DISALLOW_DOCTYPE_DECL_FEATURE, false); SAXParser parser = factory.newSAXParser(); parser.parse(bis, new DefaultHandlerDelegate(handler)); } else { throw e; } } return handler; } catch (Exception ex) { if (ex instanceof CacheXmlException) { while (true /* ex instanceof CacheXmlException */) { Throwable cause = ex.getCause(); if (!(cause instanceof CacheXmlException)) { break; } else { ex = (CacheXmlException) cause; } } throw (CacheXmlException) ex; } else if (ex instanceof SAXException) { // Silly JDK 1.4.2 XML parser wraps RunTime exceptions in a // SAXException. Pshaw! SAXException sax = (SAXException) ex; Exception cause = sax.getException(); if (cause instanceof CacheXmlException) { while (true /* cause instanceof CacheXmlException */) { Throwable cause2 = cause.getCause(); if (!(cause2 instanceof CacheXmlException)) { break; } else { cause = (CacheXmlException) cause2; } } throw (CacheXmlException) cause; } } throw new CacheXmlException(LocalizedStrings.CacheXmlParser_WHILE_PARSING_XML.toLocalizedString(), ex); } }
From source file:org.apache.synapse.mediators.builtin.ValidateMediator.java
public boolean mediate(SynapseContext synCtx) { ByteArrayInputStream baisFromSource = null; StringBuffer nsLocations = new StringBuffer(); try {/*from w ww . jav a 2 s.c o m*/ // create a byte array output stream and serialize the source node into it ByteArrayOutputStream baosForSource = new ByteArrayOutputStream(); XMLStreamWriter xsWriterForSource = XMLOutputFactory.newInstance().createXMLStreamWriter(baosForSource); // save the list of defined namespaces for validation against the schema OMNode sourceNode = getValidateSource(synCtx.getSynapseMessage()); if (sourceNode instanceof OMElement) { Iterator iter = ((OMElement) sourceNode).getAllDeclaredNamespaces(); while (iter.hasNext()) { OMNamespace omNS = (OMNamespace) iter.next(); nsLocations.append(omNS.getName() + " " + getSchemaUrl()); } } sourceNode.serialize(xsWriterForSource); baisFromSource = new ByteArrayInputStream(baosForSource.toByteArray()); } catch (Exception e) { String msg = "Error accessing source element for validation : " + source; log.error(msg); throw new SynapseException(msg, e); } try { SAXParserFactory spFactory = SAXParserFactory.newInstance(); spFactory.setNamespaceAware(true); spFactory.setValidating(true); SAXParser parser = spFactory.newSAXParser(); parser.setProperty(VALIDATION, Boolean.TRUE); parser.setProperty(SCHEMA_VALIDATION, Boolean.TRUE); parser.setProperty(FULL_CHECKING, Boolean.TRUE); parser.setProperty(SCHEMA_LOCATION_NS, nsLocations.toString()); parser.setProperty(SCHEMA_LOCATION_NO_NS, getSchemaUrl()); Validator handler = new Validator(); parser.parse(baisFromSource, handler); if (handler.isValidationError()) { log.debug("Validation failed :" + handler.getSaxParseException().getMessage()); // super.mediate() invokes the "on-fail" sequence of mediators return super.mediate(synCtx); } } catch (Exception e) { String msg = "Error validating " + source + " against schema : " + schemaUrl + " : " + e.getMessage(); log.error(msg); throw new SynapseException(msg, e); } return true; }
From source file:org.apache.tomcat.util.digester.GenericParser.java
/** * Create a <code>SAXParser</code> configured to support XML Scheman and DTD * @param properties parser specific properties/features * @return an XML Schema/DTD enabled <code>SAXParser</code> *//* w w w . ja v a2 s .c om*/ public static SAXParser newSAXParser(Properties properties) throws ParserConfigurationException, SAXException, SAXNotRecognizedException { SAXParserFactory factory = (SAXParserFactory) properties.get("SAXParserFactory"); SAXParser parser = factory.newSAXParser(); String schemaLocation = (String) properties.get("schemaLocation"); String schemaLanguage = (String) properties.get("schemaLanguage"); try { if (schemaLocation != null) { parser.setProperty(JAXP_SCHEMA_LANGUAGE, schemaLanguage); parser.setProperty(JAXP_SCHEMA_SOURCE, schemaLocation); } } catch (SAXNotRecognizedException e) { log.info(parser.getClass().getName() + ": " + e.getMessage() + " not supported."); } return parser; }
From source file:org.apache.tomcat.util.digester.XercesParser.java
/** * Configure schema validation as recommended by the JAXP 1.2 spec. * The <code>properties</code> object may contains information about * the schema local and language. //from www.j a v a 2s . com * @param properties parser optional info */ private static void configureOldXerces(SAXParser parser, Properties properties) throws ParserConfigurationException, SAXNotSupportedException { String schemaLocation = (String) properties.get("schemaLocation"); String schemaLanguage = (String) properties.get("schemaLanguage"); try { if (schemaLocation != null) { parser.setProperty(JAXP_SCHEMA_LANGUAGE, schemaLanguage); parser.setProperty(JAXP_SCHEMA_SOURCE, schemaLocation); } } catch (SAXNotRecognizedException e) { log.info(parser.getClass().getName() + ": " + e.getMessage() + " not supported."); } }
From source file:org.attoparser.benchmark.AttoParserVSStandardSAXBenchmark.java
public static String standardSaxBenchmark(final String fileName, final int iterations) throws Exception { final SAXParserFactory parserFactory = SAXParserFactory.newInstance(); final SAXParser parser = parserFactory.newSAXParser(); /*// w w w .j a v a 2 s .c om * WARMUP BEGIN */ System.out.println("Warming up phase for SAX STARTED"); for (int i = 0; i < 10000; i++) { InputStream is = null; Reader reader = null; try { is = Thread.currentThread().getContextClassLoader().getResourceAsStream(fileName); reader = new BufferedReader(new InputStreamReader(is, "ISO-8859-1")); final InputSource inputSource = new InputSource(reader); final BenchmarkStandardSaxContentHandler handler = new BenchmarkStandardSaxContentHandler(); parser.setProperty("http://xml.org/sax/properties/lexical-handler", handler); parser.setProperty("http://xml.org/sax/properties/declaration-handler", handler); parser.parse(inputSource, handler); parser.reset(); handler.getEventCounter(); } finally { try { if (reader != null) reader.close(); } catch (final Exception ignored) { /* ignored */} try { if (is != null) is.close(); } catch (final Exception ignored) { /* ignored */} } } /* * WARMUP END */ System.out.println("Warming up phase for SAX FINISHED"); final StopWatch sw = new StopWatch(); boolean started = false; int eventCounter = 0; for (int i = 0; i < iterations; i++) { InputStream is = null; Reader reader = null; try { is = Thread.currentThread().getContextClassLoader().getResourceAsStream(fileName); reader = new BufferedReader(new InputStreamReader(is, "ISO-8859-1")); final InputSource inputSource = new InputSource(reader); final BenchmarkStandardSaxContentHandler handler = new BenchmarkStandardSaxContentHandler(); parser.setProperty("http://xml.org/sax/properties/lexical-handler", handler); parser.setProperty("http://xml.org/sax/properties/declaration-handler", handler); if (started) { sw.resume(); } else { started = true; sw.start(); } parser.parse(inputSource, handler); parser.reset(); sw.suspend(); eventCounter = handler.getEventCounter(); } finally { try { if (reader != null) reader.close(); } catch (final Exception ignored) { /* ignored */} try { if (is != null) is.close(); } catch (final Exception ignored) { /* ignored */} } } sw.stop(); return "[" + eventCounter + "] " + sw.toString(); }
From source file:org.eclim.plugin.core.util.XmlUtils.java
/** * Validate the supplied xml file against the specified xsd. * * @param project The project name./*from ww w .j av a 2 s . c o m*/ * @param filename The file path to the xml file. * @param schema The file path to the xsd. * @return A possibly empty array of errors. */ public static List<Error> validateXml(String project, String filename, String schema) throws Exception { SAXParserFactory factory = SAXParserFactory.newInstance(); factory.setNamespaceAware(true); factory.setValidating(true); factory.setFeature("http://apache.org/xml/features/validation/schema", true); factory.setFeature("http://apache.org/xml/features/validation/schema-full-checking", true); SAXParser parser = factory.newSAXParser(); parser.setProperty("http://java.sun.com/xml/jaxp/properties/schemaLanguage", "http://www.w3.org/2001/XMLSchema"); if (!schema.startsWith("file:")) { schema = "file://" + schema; } parser.setProperty("http://java.sun.com/xml/jaxp/properties/schemaSource", schema); parser.setProperty("http://apache.org/xml/properties/schema/external-noNamespaceSchemaLocation", schema.replace('\\', '/')); filename = ProjectUtils.getFilePath(project, filename); filename = filename.replace('\\', '/'); ErrorAggregator errorHandler = new ErrorAggregator(filename); EntityResolver entityResolver = new EntityResolver(FileUtils.getFullPath(filename)); try { parser.parse(new File(filename), getHandler(null, errorHandler, entityResolver)); } catch (SAXParseException spe) { ArrayList<Error> errors = new ArrayList<Error>(); errors.add(new Error(spe.getMessage(), filename, spe.getLineNumber(), spe.getColumnNumber(), false)); return errors; } return errorHandler.getErrors(); }
From source file:org.eclipse.emf.teneo.annotations.xml.XmlPersistenceMapper.java
/** * Applies the XML persistence mapping to a PAnnotatedModel. * /* w ww. j a v a2 s . co m*/ * @throws IllegalStateException * if the XML mapping was not configured. * @throws RuntimeException * If there was an error reading or parsing the XML file. */ public void applyPersistenceMapping(PAnnotatedModel pAnnotatedModel) { if (xmlMapping == null) { throw new IllegalStateException("XML mapping not configured."); } SAXParser saxParser; try { final SAXParserFactory saxParserFactory = SAXParserFactory.newInstance(); saxParserFactory.setNamespaceAware(true); saxParserFactory.setValidating(true); saxParser = saxParserFactory.newSAXParser(); } catch (ParserConfigurationException e) { throw new ParseXMLAnnotationsException(e); } catch (SAXException e) { throw new ParseXMLAnnotationsException(e); } try { try { saxParser.setProperty("http://java.sun.com/xml/jaxp/properties/schemaLanguage", "http://www.w3.org/2001/XMLSchema"); saxParser.setProperty("http://java.sun.com/xml/jaxp/properties/schemaSource", this.getClass().getResourceAsStream("persistence-mapping.xsd")); } catch (SAXNotRecognizedException s) { log.warn("Properties schemaSource and/or schemaLanguage are not supported, setvalidating=false. " + "Probably running 1.4 with an old crimson sax parser. Ignoring this and continuing with " + "a non-validating and name-space-aware sax parser"); final SAXParserFactory saxParserFactory = SAXParserFactory.newInstance(); saxParserFactory.setNamespaceAware(true); saxParserFactory.setValidating(false); saxParser = saxParserFactory.newSAXParser(); } final XmlPersistenceContentHandler xmlContentHandler = extensionManager .getExtension(XmlPersistenceContentHandler.class); xmlContentHandler.setPAnnotatedModel(pAnnotatedModel); xmlContentHandler.setPrefix(getPrefix()); xmlContentHandler.setSchema(this.getClass().getResourceAsStream("persistence-mapping.xsd")); saxParser.parse(xmlMapping, xmlContentHandler); } catch (SAXException e) { throw new ParseXMLAnnotationsException(e); } catch (IOException e) { throw new ParseXMLAnnotationsException(e); } catch (ParserConfigurationException e) { throw new ParseXMLAnnotationsException(e); } finally { try { xmlMapping.close(); } catch (IOException e) { // ignoring io exception } } }
From source file:org.formix.dsx.XmlElement.java
/** * Read XML from the given reader and fire events from the provided * listener.//from w w w. ja v a 2 s .c o m * * @param reader * The reader containing the XML data. * * @param listener * The XmlContentListener containing code to be notified each * time an Xml content object is created. * * @return The XmsElement created by parsing the given reader data. * * @throws XmlException * Thrown if a problem occur while reading the provided XML * data. */ public static XmlElement readXML(Reader reader, XmlContentListener listener) throws XmlException { XmlHandler handler = new XmlHandler(listener); try { SAXParser parser = createSaxParser(); parser.setProperty("http://xml.org/sax/properties/lexical-handler", handler); parser.parse(new InputSource(reader), handler); return handler.getRootElement(); } catch (SAXException e) { String message = "A parser problem occured"; if (handler.peekTopElement() != null) { message += ", node = " + handler.peekTopElement().toString(); } throw new XmlException(message, e); } catch (IOException e) { throw new XmlException("A reader problem occured.", e); } catch (ParserConfigurationException e) { throw new XmlException("A parser configuration has been detected.", e); } }