Example usage for javax.xml.parsers SAXParser setProperty

List of usage examples for javax.xml.parsers SAXParser setProperty

Introduction

In this page you can find the example usage for javax.xml.parsers SAXParser setProperty.

Prototype

public abstract void setProperty(String name, Object value)
        throws SAXNotRecognizedException, SAXNotSupportedException;

Source Link

Document

Sets the particular property in the underlying implementation of org.xml.sax.XMLReader .

Usage

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);
    }
}