Example usage for javax.servlet.http HttpServletRequest getContentType

List of usage examples for javax.servlet.http HttpServletRequest getContentType

Introduction

In this page you can find the example usage for javax.servlet.http HttpServletRequest getContentType.

Prototype

public String getContentType();

Source Link

Document

Returns the MIME type of the body of the request, or null if the type is not known.

Usage

From source file:fr.smile.liferay.EsigatePortlet.java

/**
 * Transform request to IncominqRequest//from   w ww . ja  v  a  2 s .co m
 *
 * @param request
 * @param method
 * @return an incoming request
 * @throws IOException
 */
public IncomingRequest create(PortletRequest request, String method) throws IOException {

    HttpServletRequest httpServletRequest = PortalUtil
            .getOriginalServletRequest(PortalUtil.getHttpServletRequest(request));

    StringBuilder uri = new StringBuilder(HTTP_BASE_INCOMING_URL);

    StringBuilder query = new StringBuilder();
    Enumeration<String> parameters = request.getParameterNames();
    String sep = "";
    while (parameters.hasMoreElements()) {
        String name = parameters.nextElement();
        String[] values = request.getParameterValues(name);
        if (!name.equals(ACTION_PARAMETER)) {
            for (String value : values) {
                query.append(sep);
                query.append(name).append("=").append(URLEncoder.encode(value, "UTF-8"));
                sep = "&";
            }
        }
    }

    ProtocolVersion protocolVersion = HttpVersion.HTTP_1_1.forVersion(1, 0);

    if (method.equals("GET")) {
        if (!query.toString().isEmpty()) {
            if (!uri.toString().contains("?")) {
                uri.append("?");
            } else {
                uri.append("&");
            }
            uri.append(query);
        }
    }
    if (LOG.isDebugEnabled()) {
        LOG.debug("Creating Incoming request with method " + method + ", URI " + uri + ", protocoleVersion "
                + protocolVersion);
    }
    IncomingRequest.Builder builder = IncomingRequest
            .builder(new BasicRequestLine(method, uri.toString(), protocolVersion));

    if (method.equals("POST")) {
        // create entity
        InputStream inputStream = IOUtils.toInputStream(query.toString());

        if (inputStream != null) {
            // Copy entity-related headers
            InputStreamEntity entity = new InputStreamEntity(inputStream, query.length());
            String contentTypeHeader = httpServletRequest.getContentType();
            if (contentTypeHeader != null) {
                entity.setContentType(contentTypeHeader);
            }
            String contentEncodingHeader = httpServletRequest.getCharacterEncoding();
            if (contentEncodingHeader != null) {
                entity.setContentEncoding(contentEncodingHeader);
            }
            builder.setEntity(entity);
        }
    }

    HttpServletRequestContext context = new HttpServletRequestContext(httpServletRequest, null, null);
    builder.setContext(context);
    builder.setRemoteAddr(httpServletRequest.getRemoteAddr());
    builder.setRemoteUser(request.getRemoteUser());
    HttpSession session = httpServletRequest.getSession(false);
    if (session != null) {
        builder.setSessionId(session.getId());
    }
    builder.setUserPrincipal(request.getUserPrincipal());
    // Copy cookies
    javax.servlet.http.Cookie[] src = request.getCookies();

    if (src != null) {
        LOG.debug("Copying " + src.length + " cookie(s) to response.");
        for (int i = 0; i < src.length; i++) {
            javax.servlet.http.Cookie c = src[i];
            BasicClientCookie dest = new BasicClientCookie(c.getName(), c.getValue());
            dest.setSecure(c.getSecure());
            dest.setDomain(c.getDomain());
            dest.setPath(c.getPath());
            dest.setComment(c.getComment());
            dest.setVersion(c.getVersion());
            builder.addCookie(dest);
        }
    }

    builder.setSession(new HttpServletSession(httpServletRequest));

    IncomingRequest incomingRequest = builder.build();
    return incomingRequest;

}

From source file:it.classhidra.core.controller.bean.java

public void init(HttpServletRequest request) throws bsControllerException {
    if (request == null)
        return;//from   w  w  w  . jav  a2s  .  c  o  m
    if (current_auth == null) {
        try {
            current_auth = bsController.checkAuth_init(request);
        } catch (Exception ex) {
        }
    }

    if (get_infoaction() != null && get_infoaction().getReloadAfterNextNavigated() != null
            && get_infoaction().getReloadAfterNextNavigated().equalsIgnoreCase("false")) {
        String id_prev = request.getParameter(bsConstants.CONST_BEAN_$NAVIGATION);
        if (id_prev != null && id_prev.indexOf(":") > -1) {
            id_prev = id_prev.substring(0, id_prev.indexOf(":"));
            info_navigation nav = (info_navigation) request.getSession()
                    .getAttribute(bsConstants.CONST_BEAN_$NAVIGATION);
            if (nav != null) {
                int level_prev = nav.findLevel(id_prev, 0);
                int level_curr = nav.findLevel(get_infoaction().getPath(), 0);
                if (level_curr < level_prev && level_curr != -1)
                    return;
            }

        }

    }

    if (request.getContentType() != null && request.getContentType().indexOf("multipart") > -1) {
        initMultiPart(request);
        return;
    }

    if (request.getContentType() != null
            && request.getContentType().toLowerCase().indexOf("application/json") > -1) {
        if (initJsonPart(request))
            return;
    }

    initNormal(request);

}

From source file:eu.impact_project.iif.t2.client.WorkflowRunnerTest.java

/**
 * Test of doPost method, of class WorkflowRunner.
 *//* w  w w . j  a  va  2 s . c om*/
@Test
public void testDoPostURLFail() throws Exception {
    HttpServletRequest request = mock(HttpServletRequest.class);
    HttpServletResponse response = mock(HttpServletResponse.class);
    ServletConfig config = mock(ServletConfig.class);
    ServletContext context = mock(ServletContext.class);
    RequestDispatcher dispatcher = mock(RequestDispatcher.class);
    ServletOutputStream stream = mock(ServletOutputStream.class);
    HttpSession session = mock(HttpSession.class);

    when(request.getSession(true)).thenReturn(session);

    ArrayList<Workflow> flowList = new ArrayList<>();
    Workflow flow = new Workflow();
    flow.setStringVersion("Esto es una prueba");
    flow.setWsdls("<wsdl>http://www.ua.es</wsdl>");
    flow.setUrls("http://falsa.es");

    ArrayList<WorkflowInput> flowInputs = new ArrayList<>();
    WorkflowInput input = new WorkflowInput("pru0Input");
    input.setDepth(1);
    flowInputs.add(input);

    input = new WorkflowInput("pru1Input");
    input.setDepth(0);
    flowInputs.add(input);

    flow.setInputs(flowInputs);

    flowList.add(flow);
    when(session.getAttribute("workflows")).thenReturn(flowList);

    when(config.getServletContext()).thenReturn(context);
    URL url = this.getClass().getResource("/config.properties");
    File testFile = new File(url.getFile());
    when(context.getRealPath("/")).thenReturn(testFile.getParent() + "/");

    Part[] parts = new Part[] { new StringPart("user", "user"), new StringPart("pass", "pass"),
            new StringPart("workflow0pru0Input", "prueba0"), new StringPart("workflow0pru0Input0", "prueba0.0"),
            new StringPart("workflow0pru1Input", "prueba1")

    };

    MultipartRequestEntity multipartRequestEntity = new MultipartRequestEntity(parts,
            new PostMethod().getParams());

    ByteArrayOutputStream requestContent = new ByteArrayOutputStream();

    multipartRequestEntity.writeRequest(requestContent);

    final ByteArrayInputStream inputContent = new ByteArrayInputStream(requestContent.toByteArray());

    when(request.getInputStream()).thenReturn(new ServletInputStream() {
        @Override
        public int read() throws IOException {
            return inputContent.read();
        }
    });

    when(request.getContentType()).thenReturn(multipartRequestEntity.getContentType());

    WorkflowRunner runer = new WorkflowRunner();
    try {
        runer.init(config);
        runer.doPost(request, response);

    } catch (ServletException ex) {
        fail("Should not raise exception " + ex.toString());
    } catch (IOException ex) {
        fail("Should not raise exception " + ex.toString());
    } catch (NullPointerException ex) {
        //ok no funciona el server de taverna
    }
}

From source file:eu.impact_project.iif.t2.client.WorkflowRunnerTest.java

/**
 * Test of doPost method, of class WorkflowRunner.
 *///from  w  ww .  ja v a  2 s. com
@Test
public void testDoPost() throws Exception {
    HttpServletRequest request = mock(HttpServletRequest.class);
    HttpServletResponse response = mock(HttpServletResponse.class);
    ServletConfig config = mock(ServletConfig.class);
    ServletContext context = mock(ServletContext.class);
    RequestDispatcher dispatcher = mock(RequestDispatcher.class);
    ServletOutputStream stream = mock(ServletOutputStream.class);
    HttpSession session = mock(HttpSession.class);

    when(request.getSession(true)).thenReturn(session);

    ArrayList<Workflow> flowList = new ArrayList<>();
    Workflow flow = new Workflow();
    flow.setStringVersion("Esto es una prueba");
    flow.setWsdls("<wsdl>http://www.ua.es</wsdl>");
    flow.setUrls("http://www.ua.es");

    ArrayList<WorkflowInput> flowInputs = new ArrayList<>();
    WorkflowInput input = new WorkflowInput("pru0Input");
    input.setDepth(1);
    flowInputs.add(input);

    input = new WorkflowInput("pru1Input");
    input.setDepth(0);
    flowInputs.add(input);

    flow.setInputs(flowInputs);

    flowList.add(flow);
    when(session.getAttribute("workflows")).thenReturn(flowList);

    when(config.getServletContext()).thenReturn(context);
    URL url = this.getClass().getResource("/config.properties");
    File testFile = new File(url.getFile());
    when(context.getRealPath("/")).thenReturn(testFile.getParent() + "/");

    Part[] parts = new Part[] { new StringPart("user", "user"), new StringPart("pass", "pass"),
            new StringPart("workflow0pru0Input", "prueba0"), new StringPart("workflow0pru0Input0", "prueba0.0"),
            new StringPart("workflow0pru1Input", "prueba1")

    };

    MultipartRequestEntity multipartRequestEntity = new MultipartRequestEntity(parts,
            new PostMethod().getParams());

    ByteArrayOutputStream requestContent = new ByteArrayOutputStream();

    multipartRequestEntity.writeRequest(requestContent);

    final ByteArrayInputStream inputContent = new ByteArrayInputStream(requestContent.toByteArray());

    when(request.getInputStream()).thenReturn(new ServletInputStream() {
        @Override
        public int read() throws IOException {
            return inputContent.read();
        }
    });

    when(request.getContentType()).thenReturn(multipartRequestEntity.getContentType());

    WorkflowRunner runer = new WorkflowRunner();
    try {
        runer.init(config);
        runer.doPost(request, response);

    } catch (ServletException ex) {
        fail("Should not raise exception " + ex.toString());
    } catch (IOException ex) {
        fail("Should not raise exception " + ex.toString());
    } catch (NullPointerException ex) {
        //ok no funciona el server de taverna
    }
}

From source file:com.globalsight.everest.webapp.pagehandler.administration.createJobs.CreateJobsMainHandler.java

private List<String> uploadFile(HttpServletRequest p_request, File parentFile)
        throws GlossaryException, IOException {
    byte[] inBuf = new byte[MAX_LINE_LENGTH];
    int bytesRead;
    ServletInputStream in;// w w w. j  a  v  a  2s  . com
    String contentType;
    String boundary;
    String filePath = "";
    String path = parentFile.getPath() + File.separator;
    List<String> filePaths = new ArrayList<String>();
    File file = new File(path);
    Set<String> uploadedFileNames = new HashSet<String>();
    for (File f : file.listFiles()) {
        uploadedFileNames.add(f.getName());
    }

    // Let's make sure that we have the right type of content
    //
    contentType = p_request.getContentType();
    if (contentType == null || !contentType.toLowerCase().startsWith("multipart/form-data")) {
        String[] arg = { "form did not use ENCTYPE=multipart/form-data but `" + contentType + "'" };

        throw new GlossaryException(GlossaryException.MSG_FAILED_TO_UPLOAD_FILE, arg, null);
    }

    // Extract the boundary string in this request. The
    // boundary string is part of the content type string
    //
    int bi = contentType.indexOf("boundary=");
    if (bi == -1) {
        String[] arg = { "no boundary string found in request" };

        throw new GlossaryException(GlossaryException.MSG_FAILED_TO_UPLOAD_FILE, arg, null);
    } else {
        // 9 := len("boundary=")
        boundary = contentType.substring(bi + 9);

        // The real boundary has additional two dashes in
        // front
        //
        boundary = "--" + boundary;
    }

    in = p_request.getInputStream();
    bytesRead = in.readLine(inBuf, 0, inBuf.length);

    if (bytesRead < 3) {
        String[] arg = { "incomplete request (not enough data)" };

        // Not enough content was send as part of the post
        throw new GlossaryException(GlossaryException.MSG_FAILED_TO_UPLOAD_FILE, arg, null);
    }

    while (bytesRead != -1) {
        String lineRead = new String(inBuf, 0, bytesRead, "utf-8");
        if (lineRead.startsWith("Content-Disposition: form-data; name=\"")) {
            if (lineRead.indexOf("filename=\"") != -1) {
                // Get file name
                String fileName = getFilename(lineRead.substring(0, lineRead.length() - 2));

                // Get content type line
                bytesRead = in.readLine(inBuf, 0, inBuf.length);
                lineRead = new String(inBuf, 0, bytesRead - 2, "utf-8");

                // Read and ignore the blank line
                bytesRead = in.readLine(inBuf, 0, inBuf.length);

                // Create a temporary file to store the
                // contents in it for now. We might not have
                // additional information, such as TUV id for
                // building the complete file path. We will
                // save the contents in this file for now and
                // finally rename it to correct file name.
                //

                // if a file with same name has been uploaded, ignore this
                if (uploadedFileNames.contains(fileName)) {
                    continue;
                }

                filePath = path + fileName;
                filePaths.add(filePath);
                File m_tempFile = new File(filePath);
                FileOutputStream fos = new FileOutputStream(m_tempFile);
                BufferedOutputStream bos = new BufferedOutputStream(fos, MAX_LINE_LENGTH * 4);

                // Read through the file contents and write
                // it out to a local temp file.
                boolean writeRN = false;
                while ((bytesRead = in.readLine(inBuf, 0, inBuf.length)) != -1) {
                    // Let's first check if we are already on
                    // boundary line
                    if (bytesRead > 2 && inBuf[0] == '-' && inBuf[1] == '-') {
                        lineRead = new String(inBuf, 0, bytesRead, "utf-8");
                        if (lineRead.startsWith(boundary)) {
                            break;
                        }
                    }

                    // Write out carriage-return, new-line
                    // pair which might have been left over
                    // from last write.
                    //
                    if (writeRN) {
                        bos.write(new byte[] { (byte) '\r', (byte) '\n' });
                        writeRN = false;
                    }

                    // The ServletInputStream.readline() adds
                    // "\r\n" bytes for the last line of the
                    // file contents. If we find these pair
                    // as the last bytes we need to delay
                    // writing it until the next go, since it
                    // could very well be the last line of
                    // file content.
                    //
                    if (bytesRead > 2 && inBuf[bytesRead - 2] == '\r' && inBuf[bytesRead - 1] == '\n') {
                        bos.write(inBuf, 0, bytesRead - 2);
                        writeRN = true;
                    } else {
                        bos.write(inBuf, 0, bytesRead);
                    }
                }

                bos.flush();
                bos.close();
                fos.close();
            } else {
                // This is the field part

                // First get the field name

                //               int start = lineRead.indexOf("name=\"");
                //               int end = lineRead.indexOf("\"", start + 7);
                //               String fieldName = lineRead.substring(start + 6, end);

                // Read and ignore the blank line
                bytesRead = in.readLine(inBuf, 0, inBuf.length);

                // String Buffer to keep the field value
                //
                StringBuffer fieldValue = new StringBuffer();

                boolean writeRN = false;
                while ((bytesRead = in.readLine(inBuf, 0, inBuf.length)) != -1) {
                    lineRead = new String(inBuf, 0, bytesRead, "utf-8");

                    // Let's first check if we are already on
                    // boundary line
                    //
                    if (bytesRead > 2 && inBuf[0] == '-' && inBuf[1] == '-') {
                        if (lineRead.startsWith(boundary)) {
                            break;
                        }
                    }

                    // Write out carriage-return, new-line
                    // pair which might have been left over
                    // from last write.
                    //
                    if (writeRN) {
                        fieldValue.append("\r\n");
                        writeRN = false;
                    }

                    // The ServletInputStream.readline() adds
                    // "\r\n" bytes for the last line of the
                    // field value. If we find these pair as
                    // the last bytes we need to delay
                    // writing it until the next go, since it
                    // could very well be the last line of
                    // field value.
                    //
                    if (bytesRead > 2 && inBuf[bytesRead - 2] == '\r' && inBuf[bytesRead - 1] == '\n') {
                        fieldValue.append(lineRead.substring(0, lineRead.length() - 2));
                        writeRN = true;
                    } else {
                        fieldValue.append(lineRead);
                    }
                }
            }
        }

        bytesRead = in.readLine(inBuf, 0, inBuf.length);
    }
    return filePaths;
}

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 {/*from   w  w  w.j  a va  2 s  . c  om*/
            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:com.atolcd.alfresco.ProxyAuditFilter.java

@Override
public void doFilter(ServletRequest sReq, ServletResponse sRes, FilterChain chain)
        throws IOException, ServletException {
    // Get the HTTP request/response/session
    HttpServletRequest request = (HttpServletRequest) sReq;
    // HttpServletResponse response = (HttpServletResponse) sRes;
    RequestWrapper requestWrapper = new RequestWrapper(request);
    // Initialize a new request context
    RequestContext context = ThreadLocalRequestContext.getRequestContext();

    String referer = request.getHeader("referer");

    if (context == null) {
        try {//from www .j  a v a 2  s. c o m
            // Perform a "silent" init - i.e. no user creation or remote
            // connections
            context = RequestContextUtil.initRequestContext(getApplicationContext(), request, true);
            try {
                RequestContextUtil.populateRequestContext(context, request);
            } catch (ResourceLoaderException e) {
                // e.printStackTrace();
            } catch (UserFactoryException e) {
                // e.printStackTrace();
            }
        } catch (RequestContextException ex) {
            throw new ServletException(ex);
        }
    }
    User user = context.getUser();
    String requestURI = request.getRequestURI();
    String method = request.getMethod().toUpperCase();

    if (user != null) {
        try {
            JSONObject auditSample = new JSONObject();
            auditSample.put(AUDIT_ID, "0");
            auditSample.put(AUDIT_USER_ID, user.getId());
            auditSample.put(AUDIT_SITE, "");
            auditSample.put(AUDIT_APP_NAME, "");
            auditSample.put(AUDIT_ACTION_NAME, "");
            auditSample.put(AUDIT_OBJECT, "");
            auditSample.put(AUDIT_TIME, Long.toString(System.currentTimeMillis()));

            // For documents only (only in sites!)
            if (requestURI.endsWith("/doclib/activity") && request.getMethod().equals(POST)) {
                String type = request.getContentType().split(";")[0];
                if (type.equals("application/json")) {
                    // Get JSON Object
                    JSONObject activityFeed = new JSONObject(requestWrapper.getStringContent());

                    String activityType = activityFeed.getString("type");
                    if (activityType != null) {
                        if ("file-added".equals(activityType)
                                || ("file-updated".equals(activityType)
                                        && (referer != null && !referer.contains("document-details"))) // Done in JavaScript on "document-details" page
                                || "file-deleted".equals(activityType)) {
                            if (activityFeed.has("nodeRef")) {
                                auditSample.put(AUDIT_APP_NAME, MOD_DOCUMENT);
                                auditSample.put(AUDIT_SITE, activityFeed.getString("site"));
                                auditSample.put(AUDIT_ACTION_NAME, activityType);
                                auditSample.put(AUDIT_OBJECT, activityFeed.getString("nodeRef"));
                                auditSample.put(AUDIT_APP_NAME, MOD_DOCUMENT);

                                remoteCall(request, auditSample);
                            }
                        } else if ("files-added".equals(activityType) || "files-deleted".equals(activityType)) {
                            // multiple file uploads/deletions (5 or more)
                            Integer fileCount = activityFeed.getInt("fileCount");
                            if (fileCount != null && fileCount > 0) {
                                auditSample.put(AUDIT_APP_NAME, MOD_DOCUMENT);
                                auditSample.put(AUDIT_SITE, activityFeed.getString("site"));
                                auditSample.put(AUDIT_ACTION_NAME, "file-" + activityType.split("-")[1]);
                                auditSample.put(AUDIT_APP_NAME, MOD_DOCUMENT);
                                // auditSample.put(AUDIT_OBJECT, "");

                                for (int i = 0; i < fileCount; i++) {
                                    remoteCall(request, auditSample);
                                }
                            }
                        }
                    }
                }
            } else if (requestURI.startsWith(URI_NODE_UPDATE) && requestURI.endsWith(FORMPROCESSOR)) {
                JSONObject updatedData = new JSONObject(requestWrapper.getStringContent());
                // Online edit used the same form (plus the cm_content
                // metadata)
                if (!updatedData.has("prop_cm_content")) {
                    auditSample.put(AUDIT_APP_NAME, MOD_DOCUMENT);
                    auditSample.put(AUDIT_OBJECT, getNodeRefFromUrl(requestURI, 1));

                    auditSample.put(AUDIT_ACTION_NAME, "update");
                    auditSample.put(AUDIT_SITE, TEMP_SITE);
                    remoteCall(request, auditSample);
                }
            } else if (requestURI.endsWith("/activity/create")) {
                String jsonPost = requestWrapper.getStringContent();
                if (jsonPost != null && !jsonPost.isEmpty()) {
                    JSONObject json = new JSONObject(jsonPost);
                    String mod = AuditHelper.extractModFromActivity(json);
                    if (mod != null) {
                        auditSample.put(AUDIT_APP_NAME, mod);
                        auditSample.put(AUDIT_SITE, json.getString("site"));
                        auditSample.put(AUDIT_ACTION_NAME, AuditHelper.extractActionFromActivity(json));
                        auditSample.put(AUDIT_OBJECT, json.getString("nodeRef"));
                        remoteCall(request, auditSample);
                    }
                }
            } else if (requestURI.equals(URI_UPLOAD)) {
                // XXX: issue with big files
                // Nothing to do - Insert request is done in JavaScript
            } else if (requestURI.endsWith("/comments") || requestURI.endsWith("/replies")) {
                // Comments & replies
                String[] urlTokens = request.getHeader("referer").toString().split("/");
                HashMap<String, String> auditData = this.getUrlData(urlTokens);

                auditSample.put(AUDIT_SITE, auditData.get(KEY_SITE));
                auditSample.put(AUDIT_APP_NAME, auditData.get(KEY_MODULE));
                auditSample.put(AUDIT_ACTION_NAME, "comments");
                auditSample.put(AUDIT_OBJECT, getNodeRefFromUrl(requestURI, 1));

                // Remote call for DB
                remoteCall(request, auditSample);
            } else if (requestURI.startsWith(URI_WIKI)) {
                String[] urlTokens = requestURI.split("/");
                String wikiPageId = urlTokens[urlTokens.length - 1];
                String siteId = urlTokens[urlTokens.length - 2];
                if (method.equals(Method.PUT.toString().toString())) {
                    JSONObject params = new JSONObject(requestWrapper.getStringContent());
                    auditSample.put(AUDIT_SITE, siteId);
                    auditSample.put(AUDIT_APP_NAME, MOD_WIKI);
                    if (params.has("currentVersion")) {
                        auditSample.put(AUDIT_ACTION_NAME, "update-post");
                    } else {
                        auditSample.put(AUDIT_ACTION_NAME, "create-post");
                    }

                    String auditObject = getNodeRefRemoteCall(request, user.getId(), siteId, MOD_WIKI,
                            wikiPageId);
                    auditSample.put(AUDIT_OBJECT, auditObject);

                    // Remote call
                    remoteCall(request, auditSample);
                } else if (method.equals(DELETE)) {
                    auditSample.put(AUDIT_SITE, siteId);
                    auditSample.put(AUDIT_APP_NAME, MOD_WIKI);
                    auditSample.put(AUDIT_ACTION_NAME, "delete-post");
                    auditSample.put(AUDIT_OBJECT, wikiPageId);
                    // Remote call
                    remoteCall(request, auditSample);
                }
            } else if (requestURI.startsWith(URI_BLOG)) {
                auditSample.put(AUDIT_APP_NAME, MOD_BLOG);
                if (method.equals(POST)) {
                    JSONObject params = new JSONObject(requestWrapper.getStringContent());
                    auditSample.put(AUDIT_SITE, params.get("site"));
                    auditSample.put(AUDIT_ACTION_NAME, "blog-create");
                    auditSample.put(AUDIT_OBJECT, params.get("title"));

                    remoteCall(request, auditSample);
                } else if (method.equals(PUT)) {
                    JSONObject params = new JSONObject(requestWrapper.getStringContent());
                    auditSample.put(AUDIT_SITE, params.get("site"));
                    auditSample.put(AUDIT_ACTION_NAME, "blog-update");
                    auditSample.put(AUDIT_OBJECT, getNodeRefFromUrl(requestURI, 0));

                    remoteCall(request, auditSample);
                } else if (method.equals(DELETE)) {
                    String[] urlTokens = requestURI.split("/");
                    auditSample.put(AUDIT_OBJECT, urlTokens[urlTokens.length - 1]);
                    auditSample.put(AUDIT_SITE, urlTokens[urlTokens.length - 3]);
                    auditSample.put(AUDIT_ACTION_NAME, "blog-delete");

                    remoteCall(request, auditSample);
                }
            } else if (requestURI.startsWith(URI_DISCUSSIONS)) {
                auditSample.put(AUDIT_APP_NAME, "discussions");
                if (method.equals(POST)) {
                    JSONObject params = new JSONObject(requestWrapper.getStringContent());
                    auditSample.put(AUDIT_SITE, params.get("site"));
                    auditSample.put(AUDIT_ACTION_NAME, "discussions-create");
                    auditSample.put(AUDIT_OBJECT, params.get("title"));

                    remoteCall(request, auditSample);
                } else if (method.equals(PUT)) {
                    JSONObject params = new JSONObject(requestWrapper.getStringContent());
                    String siteId = (String) params.get("site");
                    auditSample.put(AUDIT_SITE, siteId);
                    auditSample.put(AUDIT_ACTION_NAME, "discussions-update");

                    String[] urlTokens = requestURI.split("/");
                    String discussionId = urlTokens[urlTokens.length - 1];
                    String auditObject = getNodeRefRemoteCall(request, user.getId(), siteId, "discussions",
                            discussionId);
                    auditSample.put(AUDIT_OBJECT, auditObject);

                    remoteCall(request, auditSample);
                } else if (method.equals(DELETE)) {
                    String[] urlTokens = requestURI.split("/");
                    auditSample.put(AUDIT_ACTION_NAME, "discussions-deleted");
                    auditSample.put(AUDIT_OBJECT, urlTokens[urlTokens.length - 1]);
                    auditSample.put(AUDIT_SITE, urlTokens[urlTokens.length - 3]);

                    remoteCall(request, auditSample);
                }
            } else if (requestURI.startsWith(URI_LINKS) && !method.equals(GET)) {
                String[] urlTokens = requestURI.split("/");
                JSONObject params = new JSONObject(requestWrapper.getStringContent());
                auditSample.put(AUDIT_APP_NAME, MOD_LINKS);

                if (method.equals(POST)) {
                    if (requestURI.startsWith(URI_LINKS + "delete/")) {
                        auditSample.put(AUDIT_SITE, urlTokens[urlTokens.length - 2]);
                        auditSample.put(AUDIT_OBJECT, params.getJSONArray("items").get(0));
                        auditSample.put(AUDIT_ACTION_NAME, "links-delete");
                    } else {
                        auditSample.put(AUDIT_OBJECT, params.get("title"));
                        auditSample.put(AUDIT_SITE, urlTokens[urlTokens.length - 3]);
                        auditSample.put(AUDIT_ACTION_NAME, "links-create");
                    }
                    remoteCall(request, auditSample);
                } else if (method.equals(PUT)) {
                    String siteId = urlTokens[urlTokens.length - 3];
                    auditSample.put(AUDIT_SITE, siteId);
                    auditSample.put(AUDIT_ACTION_NAME, "links-update");

                    String auditObject = getNodeRefRemoteCall(request, user.getId(), siteId, MOD_LINKS,
                            urlTokens[urlTokens.length - 1]);
                    auditSample.put(AUDIT_OBJECT, auditObject);

                    remoteCall(request, auditSample);
                }
            } else if (requestURI.startsWith(URI_DOWNLOAD)) {
                String a = request.getParameter("a");
                if (a != null && !a.isEmpty()) {
                    auditSample.put(AUDIT_APP_NAME, MOD_DOCUMENT);
                    auditSample.put(AUDIT_OBJECT, getNodeRefFromUrl(requestURI, 1));

                    auditSample.put(AUDIT_ACTION_NAME, "true".equalsIgnoreCase(a) ? "download" : "stream");
                    auditSample.put(AUDIT_SITE, TEMP_SITE);
                    remoteCall(request, auditSample);
                }
            } else if (requestURI.startsWith(URI_ACTION)) {
                // XXX: done in JavaScript
            } else if (requestURI.endsWith("memberships") && method.equals(GET)) {

                String type = request.getParameter("authorityType");
                String nf = request.getParameter("nf");
                String[] urlTokens = requestURI.split("/");

                auditSample.put(AUDIT_SITE, urlTokens[urlTokens.length - 2]);
                auditSample.put(AUDIT_APP_NAME, MOD_MEMBERS);
                auditSample.put(AUDIT_ACTION_NAME, type.toLowerCase());
                auditSample.put(AUDIT_OBJECT, nf);
                remoteCall(request, auditSample);
            } else if (requestURI.endsWith(URI_CALENDAR)) {
                JSONObject params = new JSONObject(requestWrapper.getStringContent());
                auditSample.put(AUDIT_APP_NAME, MOD_CALENDAR);
                auditSample.put(AUDIT_ACTION_NAME, "create");
                auditSample.put(AUDIT_SITE, params.get("site"));
                auditSample.put(AUDIT_OBJECT, params.get("what"));

                remoteCall(request, auditSample);
            } else if ((requestURI.startsWith(URI_DATALIST) || requestURI.startsWith(URI_DATALIST_DELETE))
                    && method.equals(POST)) {
                boolean isDeleteRequest = request.getParameter("alf_method") != null;
                auditSample.put(AUDIT_APP_NAME, MOD_DATA);
                auditSample.put(AUDIT_SITE, TEMP_SITE);
                if (isDeleteRequest) {
                    auditSample.put(AUDIT_ACTION_NAME, "datalist-delete");
                    JSONObject params = new JSONObject(requestWrapper.getStringContent());
                    JSONArray items = params.getJSONArray("nodeRefs");
                    for (int i = 0; i < items.length(); i++) {
                        auditSample.put(AUDIT_OBJECT, items.getString(i));

                        remoteCall(request, auditSample);
                    }
                } else {
                    auditSample.put(AUDIT_ACTION_NAME, "datalist-post");
                    auditSample.put(AUDIT_OBJECT, getNodeRefFromUrl(requestURI, 0));

                    remoteCall(request, auditSample);
                }
            } else if (requestURI.startsWith(URI_SOCIAL_PUBLISHING) && method.equals(POST)) {
                auditSample.put(AUDIT_APP_NAME, MOD_DOCUMENT);
                auditSample.put(AUDIT_SITE, TEMP_SITE);

                auditSample.put(AUDIT_ACTION_NAME, "publish");
                JSONObject params = new JSONObject(requestWrapper.getStringContent());
                JSONArray items = params.getJSONArray("publishNodes");
                for (int i = 0; i < items.length(); i++) {
                    auditSample.put(AUDIT_OBJECT, items.getString(i));
                    remoteCall(request, auditSample);
                }
            } else if (requestURI.indexOf("/ratings") != -1) {
                auditSample.put(AUDIT_APP_NAME, MOD_DOCUMENT);
                auditSample.put(AUDIT_SITE, TEMP_SITE);
                int offset = 1;
                if (POST.equals(method)) {
                    auditSample.put(AUDIT_ACTION_NAME, "rate");
                } else if (DELETE.equals(method)) {
                    auditSample.put(AUDIT_ACTION_NAME, "unrate");
                    offset = 2;
                }
                auditSample.put(AUDIT_OBJECT, getNodeRefFromUrl(requestURI, offset));
                remoteCall(request, auditSample);
            }

        } catch (JSONException e) {
            logger.error("JSON Error during a remote call ...");
            if (logger.isDebugEnabled()) {
                logger.debug(e.getMessage(), e);
            }
        }
    }
    chain.doFilter(requestWrapper, sRes);
}

From source file:forseti.contabilidad.JContaPolizasDlg.java

@SuppressWarnings({ "rawtypes", "unchecked" })
public void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    //request.setAttribute("fsi_modulo",request.getRequestURI());
    super.doPost(request, response);

    String conta_polizas_dlg = "";
    request.setAttribute("conta_polizas_dlg", conta_polizas_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 {/*from  w  w  w.j  a va 2  s . co  m*/
            try {
                HttpSession ses = request.getSession(true);
                JFacturasXML factxml = (JFacturasXML) ses.getAttribute("fact_xml");
                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())
                        factxml.getParametros().put(item.getFieldName(), item.getString());
                    else
                        archivos.addElement(item);
                }

                if (!getSesion(request).getPermiso("CONT_POLIZAS_CE")) {
                    idmensaje = 3;
                    mensaje += MsjPermisoDenegado(request, "CEF", "CONT_POLIZAS_CE");
                    getSesion(request).setID_Mensaje(idmensaje, mensaje);
                    RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(),
                            "CONT_POLIZAS_CE", "POLZ||||", mensaje);
                    irApag("/forsetiweb/caja_mensajes.jsp", request, response);
                    return;
                }

                String identidad = factxml.getParametros().getProperty("identidad");

                if (identidad.substring(0, 4).equals("NADA")) {
                    idmensaje = 1;
                    mensaje += "PRECAUCION: Se debe especificar la entidad de compra o venta de los archivos a cargar";
                    getSesion(request).setID_Mensaje(idmensaje, mensaje);
                    irApag("/forsetiweb/caja_mensajes.jsp", request, response);
                    return;
                }

                SubirArchivosCFD(request, response, factxml, archivos);
                return;
            } catch (FileUploadException e) {
                e.printStackTrace();
                return;
            } catch (Exception e) {
                e.printStackTrace();
                return;
            }
        }
    }

    if (request.getParameter("proceso") != null && !request.getParameter("proceso").equals("")) {
        if (request.getParameter("proceso").equals("AGREGAR_POLIZA")) {
            // Revisa si tiene permisos
            if (!getSesion(request).getPermiso("CONT_POLIZAS_CREAR")) {
                idmensaje = 3;
                mensaje += MsjPermisoDenegado(request, "CEF", "CONT_POLIZAS_CREAR");
                getSesion(request).setID_Mensaje(idmensaje, mensaje);
                RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(),
                        "CONT_POLIZAS_CREAR", "POLZ||||", mensaje);
                irApag("/forsetiweb/caja_mensajes.jsp", request, response);
                return;
            }

            // Solicitud de envio a procesar
            if (request.getParameter("subproceso") != null
                    && request.getParameter("subproceso").equals("ENVIAR")) {
                // Verificacion
                if (VerificarParametros(request, response)) {
                    AgregarCambiar(request, response, JForsetiApl.AGREGAR);
                    return;
                }
                irApag("/forsetiweb/contabilidad/conta_polizas_dlg.jsp", request, response);
                return;
            } else if (request.getParameter("subproceso") != null
                    && request.getParameter("subproceso").equals("AGR_PART")) {
                if (VerificarParametrosPartida(request, response))
                    AgregarPartida(request, response);

                irApag("/forsetiweb/contabilidad/conta_polizas_dlg.jsp", request, response);
                return;
            } else if (request.getParameter("subproceso") != null
                    && request.getParameter("subproceso").equals("EDIT_PART")) {
                if (VerificarParametrosPartida(request, response))
                    EditarPartida(request, response);

                irApag("/forsetiweb/contabilidad/conta_polizas_dlg.jsp", request, response);
                return;
            } else if (request.getParameter("subproceso") != null
                    && request.getParameter("subproceso").equals("BORR_PART")) {
                BorrarPartida(request, response);

                irApag("/forsetiweb/contabilidad/conta_polizas_dlg.jsp", request, response);
                return;
            } else // Como el subproceso no es ENVIAR ni AGR_PART ni EDIT_PART ni BORR_PART, abre la ventana del proceso de AGREGADO para agregar `por primera vez
            {
                HttpSession ses = request.getSession(true);
                JContaPolizasSes pol = (JContaPolizasSes) ses.getAttribute("conta_polizas_dlg");
                if (pol == null) {
                    pol = new JContaPolizasSes();
                    ses.setAttribute("conta_polizas_dlg", pol);
                } else
                    pol.resetear();

                getSesion(request).setID_Mensaje(idmensaje, mensaje);
                irApag("/forsetiweb/contabilidad/conta_polizas_dlg.jsp", request, response);
                return;
            }
        } else if (request.getParameter("proceso").equals("CONSULTAR_POLIZA")) {

            // Revisa si tiene permisos
            if (!getSesion(request).getPermiso("CONT_POLIZAS")) {
                idmensaje = 3;
                mensaje += MsjPermisoDenegado(request, "CEF", "CONT_POLIZAS");
                getSesion(request).setID_Mensaje(idmensaje, mensaje);
                RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(),
                        "CONT_POLIZAS", "POLZ||||", mensaje);
                irApag("/forsetiweb/caja_mensajes.jsp", request, response);
                return;
            }

            // Solicitud de envio a procesar
            if (request.getParameter("ID") != null) {
                String[] valoresParam = request.getParameterValues("ID");
                if (valoresParam.length == 1) {

                    HttpSession ses = request.getSession(true);
                    JContaPolizasSes pol = (JContaPolizasSes) ses.getAttribute("conta_polizas_dlg");
                    if (pol == null) {
                        pol = new JContaPolizasSes();
                        ses.setAttribute("conta_polizas_dlg", pol);
                    } else
                        pol.resetear();

                    // Llena la poliza
                    JContaPoliazasSetDetalleV2 set = new JContaPoliazasSetDetalleV2(request);
                    set.m_Where = "ID = '" + p(request.getParameter("ID")) + "'";
                    set.m_OrderBy = "Part ASC";
                    set.Open();
                    for (int i = 0; i < set.getNumRows(); i++) {
                        pol.agregaPartida(set.getAbsRow(i).getNumero(), set.getAbsRow(i).getNombre(),
                                set.getAbsRow(i).getConcepto(), set.getAbsRow(i).getParcial(),
                                set.getAbsRow(i).getMoneda(), set.getAbsRow(i).getTC(),
                                set.getAbsRow(i).getDebe(), set.getAbsRow(i).getHaber());
                    }
                    String numero = Integer.toString(set.getNumRows());
                    request.setAttribute("numero", numero);

                    getSesion(request).setID_Mensaje(idmensaje, mensaje);
                    RDP("CEF", getSesion(request).getConBD(), "OK", getSesion(request).getID_Usuario(),
                            "CONT_POLIZAS", "POLZ|" + request.getParameter("ID") + "|"
                                    + getSesion(request).getSesion("CONT_POLIZAS").getEspecial() + "||",
                            "");
                    irApag("/forsetiweb/contabilidad/conta_polizas_dlg.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("CARGAR_XML")) {
            // Revisa si tiene permisos
            if (!getSesion(request).getPermiso("CONT_POLIZAS_CE")) {
                idmensaje = 3;
                mensaje += MsjPermisoDenegado(request, "CEF", "CONT_POLIZAS_CE");
                getSesion(request).setID_Mensaje(idmensaje, mensaje);
                RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(),
                        "CONT_POLIZAS_CE", "POLZ||||", mensaje);
                irApag("/forsetiweb/caja_mensajes.jsp", request, response);
                return;
            }

            Integer subir_archivos = new Integer(2);
            request.setAttribute("subir_archivos", subir_archivos);

            HttpSession ses = request.getSession(true);
            JFacturasXML rec = (JFacturasXML) ses.getAttribute("fact_xml");

            if (rec == null) {
                rec = new JFacturasXML();
                ses.setAttribute("fact_xml", rec);
            } else {
                rec = null;
                rec = new JFacturasXML();
                ses.setAttribute("fact_xml", rec);
            }

            getSesion(request).setID_Mensaje(idmensaje, mensaje);
            irApag("/forsetiweb/subir_archivos.jsp?verif=/servlet/CEFContaPolizasDlg&archivo_1=xml&archivo_2=pdf&proceso=CARGAR_XML&subproceso=ENVIAR&CE="
                    + p(getSesion(request).getSesion("CONT_POLIZAS").getEspecial()), request, response);
            return;

        } else if (request.getParameter("proceso").equals("CONTABILIDAD_ELECTRONICA")) {
            // Revisa si tiene permisos
            if (!getSesion(request).getPermiso("CONT_POLIZAS_CE")) {
                idmensaje = 3;
                mensaje += MsjPermisoDenegado(request, "CEF", "CONT_POLIZAS_CE");
                getSesion(request).setID_Mensaje(idmensaje, mensaje);
                RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(),
                        "CONT_POLIZAS_CE", "POLZ||||", mensaje);
                irApag("/forsetiweb/caja_mensajes.jsp", request, response);
                return;
            }

            // Solicitud de envio a procesar
            if (request.getParameter("ID") != null) {
                String[] valoresParam = request.getParameterValues("ID");
                if (valoresParam.length == 1) {
                    //Se ha cancelado el proceso de tercer nivel
                    //if(request.getParameter("cancelado") != null || request.getParameter("actualizar") != null)
                    getSesion(request).setID_Mensaje(idmensaje, mensaje);

                    // Hace revisiones iniciales
                    JContaPolizasSetV2 setp = new JContaPolizasSetV2(request);
                    setp.m_Where = "ID = '" + p(request.getParameter("ID")) + "'";
                    setp.Open();

                    if (setp.getAbsRow(0).getEstatus().equals("C")) {
                        idmensaje = 1;
                        mensaje += JUtil.Msj("CEF", "CONT_POLIZAS", "DLG", "MSJ-PROCERR2", 2);// No se puede gestionar contabilidad electrnica en una pliza cancelada.
                        getSesion(request).setID_Mensaje(idmensaje, mensaje);
                        irApag("/forsetiweb/caja_mensajes.jsp", request, response);
                        return;
                    }

                    irApag("/forsetiweb/contabilidad/conta_polizas_dlg_ce.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("CHEQUE_CE")) {
            // Revisa si tiene permisos
            if (!getSesion(request).getPermiso("CONT_POLIZAS_CE")) {
                idmensaje = 3;
                mensaje += MsjPermisoDenegado(request, "CEF", "CONT_POLIZAS_CE");
                getSesion(request).setID_Mensaje(idmensaje, mensaje);
                RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(),
                        "CONT_POLIZAS_CE", "POLZ||||", mensaje);
                irApag("/forsetiweb/caja_mensajes.jsp", request, response);
                return;
            }

            // Solicitud de envio a procesar
            if (request.getParameter("idpart") != null) {
                String[] valoresParam = request.getParameterValues("idpart");
                if (valoresParam.length == 1) {
                    if (request.getParameter("subproceso") != null
                            && request.getParameter("subproceso").equals("ENVIAR")) {

                        if (VerificarParametrosCECheque(request, response)) {
                            GestionarCheque(request, response);
                            return;
                        }
                        irApag("/forsetiweb/contabilidad/conta_polizas_dlg_ce_cheque.jsp", request, response);
                        return;
                    } else {
                        getSesion(request).setID_Mensaje(idmensaje, mensaje);
                        irApag("/forsetiweb/contabilidad/conta_polizas_dlg_ce_cheque.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("TRANSFERENCIA_CE")) {
            // Revisa si tiene permisos
            if (!getSesion(request).getPermiso("CONT_POLIZAS_CE")) {
                idmensaje = 3;
                mensaje += MsjPermisoDenegado(request, "CEF", "CONT_POLIZAS_CE");
                getSesion(request).setID_Mensaje(idmensaje, mensaje);
                RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(),
                        "CONT_POLIZAS_CE", "POLZ||||", mensaje);
                irApag("/forsetiweb/caja_mensajes.jsp", request, response);
                return;
            }

            // Solicitud de envio a procesar
            if (request.getParameter("idpart") != null) {
                String[] valoresParam = request.getParameterValues("idpart");
                if (valoresParam.length == 1) {
                    if (request.getParameter("subproceso") != null
                            && request.getParameter("subproceso").equals("ENVIAR")) {

                        if (VerificarParametrosCETransferencia(request, response)) {
                            GestionarTransferencia(request, response);
                            return;
                        }
                        irApag("/forsetiweb/contabilidad/conta_polizas_dlg_ce_transferencia.jsp", request,
                                response);
                        return;
                    } else {
                        getSesion(request).setID_Mensaje(idmensaje, mensaje);
                        irApag("/forsetiweb/contabilidad/conta_polizas_dlg_ce_transferencia.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("OTRMETPAGO_CE")) {
            // Revisa si tiene permisos
            if (!getSesion(request).getPermiso("CONT_POLIZAS_CE")) {
                idmensaje = 3;
                mensaje += MsjPermisoDenegado(request, "CEF", "CONT_POLIZAS_CE");
                getSesion(request).setID_Mensaje(idmensaje, mensaje);
                RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(),
                        "CONT_POLIZAS_CE", "POLZ||||", mensaje);
                irApag("/forsetiweb/caja_mensajes.jsp", request, response);
                return;
            }

            // Solicitud de envio a procesar
            if (request.getParameter("idpart") != null) {
                String[] valoresParam = request.getParameterValues("idpart");
                if (valoresParam.length == 1) {
                    if (request.getParameter("subproceso") != null
                            && request.getParameter("subproceso").equals("ENVIAR")) {

                        if (VerificarParametrosCEOtrMetodoPago(request, response)) {
                            GestionarOtrMetodoPago(request, response);
                            return;
                        }
                        irApag("/forsetiweb/contabilidad/conta_polizas_dlg_ce_otrmetodopago.jsp", request,
                                response);
                        return;
                    } else {
                        getSesion(request).setID_Mensaje(idmensaje, mensaje);
                        irApag("/forsetiweb/contabilidad/conta_polizas_dlg_ce_otrmetodopago.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("COMPROBANTE_CE")) {
            // Revisa si tiene permisos
            if (!getSesion(request).getPermiso("CONT_POLIZAS_CE")) {
                idmensaje = 3;
                mensaje += MsjPermisoDenegado(request, "CEF", "CONT_POLIZAS_CE");
                getSesion(request).setID_Mensaje(idmensaje, mensaje);
                RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(),
                        "CONT_POLIZAS_CE", "POLZ||||", mensaje);
                irApag("/forsetiweb/caja_mensajes.jsp", request, response);
                return;
            }

            // Solicitud de envio a procesar
            if (request.getParameter("idpart") != null) {
                String[] valoresParam = request.getParameterValues("idpart");
                if (valoresParam.length == 1) {
                    if (request.getParameter("subproceso") != null
                            && request.getParameter("subproceso").equals("ENVIAR")) {

                        if (VerificarParametrosCEComprobante(request, response)) {
                            GestionarComprobante(request, response);
                            return;
                        }
                        irApag("/forsetiweb/contabilidad/conta_polizas_dlg_ce_comprobante.jsp", request,
                                response);
                        return;
                    } else {
                        getSesion(request).setID_Mensaje(idmensaje, mensaje);
                        irApag("/forsetiweb/contabilidad/conta_polizas_dlg_ce_comprobante.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("CAMBIAR_CE")) {
            // Revisa si tiene permisos
            if (!getSesion(request).getPermiso("CONT_POLIZAS_CE")) {
                idmensaje = 3;
                mensaje += MsjPermisoDenegado(request, "CEF", "CONT_POLIZAS_CE");
                getSesion(request).setID_Mensaje(idmensaje, mensaje);
                RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(),
                        "CONT_POLIZAS_CE", "POLZ||||", mensaje);
                irApag("/forsetiweb/caja_mensajes.jsp", request, response);
                return;
            }

            // Solicitud de envio a procesar
            if (request.getParameter("idce") != null) {
                String[] valoresParam = request.getParameterValues("idce");
                if (valoresParam.length == 1) {
                    if (request.getParameter("subproceso") != null
                            && request.getParameter("subproceso").equals("ENVIAR")) {
                        if (request.getParameter("idce").substring(0, 3).equals("CHQ")) {
                            if (VerificarParametrosCECheque(request, response)) {
                                GestionarCheque(request, response);
                                return;
                            }
                            irApag("/forsetiweb/contabilidad/conta_polizas_dlg_ce_cheque.jsp", request,
                                    response);
                        } else if (request.getParameter("idce").substring(0, 3).equals("TRN")) {
                            if (VerificarParametrosCETransferencia(request, response)) {
                                GestionarTransferencia(request, response);
                                return;
                            }
                            irApag("/forsetiweb/contabilidad/conta_polizas_dlg_ce_transferencia.jsp", request,
                                    response);
                        } else if (request.getParameter("idce").substring(0, 3).equals("OMP")) {
                            if (VerificarParametrosCEOtrMetodoPago(request, response)) {
                                GestionarOtrMetodoPago(request, response);
                                return;
                            }
                            irApag("/forsetiweb/contabilidad/conta_polizas_dlg_ce_otrmetodopago.jsp", request,
                                    response);
                        } else //(request.getParameter("idce").substring(0,3).equals("XML"))
                        {
                            if (VerificarParametrosCEComprobante(request, response)) {
                                GestionarComprobante(request, response);
                                return;
                            }
                            irApag("/forsetiweb/contabilidad/conta_polizas_dlg_ce_comprobante.jsp", request,
                                    response);
                        }

                        return;
                    } else {
                        getSesion(request).setID_Mensaje(idmensaje, mensaje);
                        if (request.getParameter("idce").substring(0, 3).equals("CHQ"))
                            irApag("/forsetiweb/contabilidad/conta_polizas_dlg_ce_cheque.jsp", request,
                                    response);
                        else if (request.getParameter("idce").substring(0, 3).equals("TRN"))
                            irApag("/forsetiweb/contabilidad/conta_polizas_dlg_ce_transferencia.jsp", request,
                                    response);
                        else if (request.getParameter("idce").substring(0, 3).equals("OMP"))
                            irApag("/forsetiweb/contabilidad/conta_polizas_dlg_ce_otrmetodopago.jsp", request,
                                    response);
                        else
                            irApag("/forsetiweb/contabilidad/conta_polizas_dlg_ce_comprobante.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("ELIMINAR_CE")) {
            // Revisa si tiene permisos
            if (!getSesion(request).getPermiso("CONT_POLIZAS_CE")) {
                idmensaje = 3;
                mensaje += MsjPermisoDenegado(request, "CEF", "CONT_POLIZAS_CE");
                getSesion(request).setID_Mensaje(idmensaje, mensaje);
                RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(),
                        "CONT_POLIZAS_CE", "POLZ||||", mensaje);
                irApag("/forsetiweb/caja_mensajes.jsp", request, response);
                return;
            }

            // Solicitud de envio a procesar
            if (request.getParameter("idce") != null) {
                String[] valoresParam = request.getParameterValues("idce");
                if (valoresParam.length == 1) {
                    EliminarCE(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("CAMBIAR_POLIZA")) {
            // Revisa si tiene permisos
            if (!getSesion(request).getPermiso("CONT_POLIZAS_CAMBIAR")) {
                idmensaje = 3;
                mensaje += MsjPermisoDenegado(request, "CEF", "CONT_POLIZAS_CAMBIAR");
                getSesion(request).setID_Mensaje(idmensaje, mensaje);
                RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(),
                        "CONT_POLIZAS_CAMBIAR", "POLZ||||", mensaje);
                irApag("/forsetiweb/caja_mensajes.jsp", request, response);
                return;
            }

            // Solicitud de envio a procesar
            if (request.getParameter("subproceso") != null
                    && request.getParameter("subproceso").equals("ENVIAR")) {
                HttpSession ses = request.getSession(true);
                JContaPolizasSes pol = (JContaPolizasSes) ses.getAttribute("conta_polizas_dlg");
                // Verificacion de los especiales de cambio
                if (pol.getPeriodo() != JUtil.obtMes(request.getParameter("fecha"))) {
                    idmensaje = 1;
                    mensaje += JUtil.Msj("CEF", "CONT_POLIZAS", "DLG", "MSJ-PROCERR", 4);//"PRECAUCION: No se puede cambiar la pliza porque debe de ser del mismo periodo contable <br>";
                    getSesion(request).setID_Mensaje(idmensaje, mensaje);
                    irApag("/forsetiweb/contabilidad/conta_polizas_dlg.jsp", request, response);
                    return;
                } else {
                    if (VerificarParametros(request, response)) {
                        AgregarCambiar(request, response, JForsetiApl.CAMBIAR);
                        return;
                    }
                    irApag("/forsetiweb/contabilidad/conta_polizas_dlg.jsp", request, response);
                    return;
                }
            } else if (request.getParameter("subproceso") != null
                    && request.getParameter("subproceso").equals("AGR_PART")) {
                if (VerificarParametrosPartida(request, response))
                    AgregarPartida(request, response);

                irApag("/forsetiweb/contabilidad/conta_polizas_dlg.jsp", request, response);
                return;
            } else if (request.getParameter("subproceso") != null
                    && request.getParameter("subproceso").equals("EDIT_PART")) {
                if (VerificarParametrosPartida(request, response))
                    EditarPartida(request, response);

                irApag("/forsetiweb/contabilidad/conta_polizas_dlg.jsp", request, response);
                return;
            } else if (request.getParameter("subproceso") != null
                    && request.getParameter("subproceso").equals("BORR_PART")) {
                BorrarPartida(request, response);

                irApag("/forsetiweb/contabilidad/conta_polizas_dlg.jsp", request, response);
                return;
            } else // Como el subproceso no es ENVIAR ni AGR_PART ni EDIT_PART ni BORR_PART, abre la ventana del proceso de CAMBIADO `por primera vez
            {
                if (request.getParameter("ID") != null) {
                    String[] valoresParam = request.getParameterValues("ID");
                    if (valoresParam.length == 1) {
                        // Hace revisiones iniciales
                        JContaPolizasSetV2 setp = new JContaPolizasSetV2(request);
                        setp.m_Where = "ID = '" + p(request.getParameter("ID")) + "'";
                        setp.Open();

                        if (setp.getAbsRow(0).getEstatus().equals("C")
                                || !setp.getAbsRow(0).getRef().equals("")) {
                            idmensaje = 1;
                            mensaje += JUtil.Msj("CEF", "CONT_POLIZAS", "DLG", "MSJ-PROCERR", 5);// "PRECAUCION: No se puede cambiar una pliza cancelada o externa <br>";
                            getSesion(request).setID_Mensaje(idmensaje, mensaje);
                            irApag("/forsetiweb/caja_mensajes.jsp", request, response);
                            return;
                        } else {
                            HttpSession ses = request.getSession(true);
                            JContaPolizasSes pol = (JContaPolizasSes) ses.getAttribute("conta_polizas_dlg");
                            if (pol == null) {
                                pol = new JContaPolizasSes();
                                ses.setAttribute("conta_polizas_dlg", pol);
                            } else
                                pol.resetear();

                            // Llena la poliza
                            Calendar fecha = new GregorianCalendar();
                            fecha.setTime(setp.getAbsRow(0).getFecha());
                            pol.setParametros(setp.getAbsRow(0).getEstatus(), setp.getAbsRow(0).getRef(),
                                    (byte) JUtil.obtMes(fecha));

                            JContaPoliazasSetDetalleV2 set = new JContaPoliazasSetDetalleV2(request);
                            set.m_Where = "ID = '" + p(request.getParameter("ID")) + "'";
                            set.m_OrderBy = "Part ASC";
                            set.Open();
                            for (int i = 0; i < set.getNumRows(); i++) {
                                pol.agregaPartida(set.getAbsRow(i).getNumero(), set.getAbsRow(i).getNombre(),
                                        set.getAbsRow(i).getConcepto(), set.getAbsRow(i).getParcial(),
                                        set.getAbsRow(i).getMoneda(), set.getAbsRow(i).getTC(),
                                        set.getAbsRow(i).getDebe(), set.getAbsRow(i).getHaber());
                            }

                            getSesion(request).setID_Mensaje(idmensaje, mensaje);
                            irApag("/forsetiweb/contabilidad/conta_polizas_dlg.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("CANCELAR_POLIZA")) {
            // Revisa si tiene permisos
            if (!getSesion(request).getPermiso("CONT_POLIZAS_CANCELAR")) {
                idmensaje = 3;
                mensaje += MsjPermisoDenegado(request, "CEF", "CONT_POLIZAS_CANCELAR");
                getSesion(request).setID_Mensaje(idmensaje, mensaje);
                RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(),
                        "CONT_POLIZAS_CANCELAR", "POLZ||||", mensaje);
                irApag("/forsetiweb/caja_mensajes.jsp", request, response);
                return;
            }

            if (request.getParameter("ID") != null) {
                String[] valoresParam = request.getParameterValues("ID");
                if (valoresParam.length == 1) {
                    //Hace revisiones iniciales
                    JContaPolizasSetV2 setp = new JContaPolizasSetV2(request);
                    setp.m_Where = "ID = '" + p(request.getParameter("ID")) + "'";
                    setp.Open();

                    if (setp.getAbsRow(0).getEstatus().equals("C") || !setp.getAbsRow(0).getRef().equals("")) {
                        idmensaje = 1;
                        mensaje += JUtil.Msj("CEF", "CONT_POLIZAS", "DLG", "MSJ-PROCERR2", 1); //"PRECAUCION: No se puede cancelar una pliza ya cancelada o externa <br>";
                        getSesion(request).setID_Mensaje(idmensaje, mensaje);
                        irApag("/forsetiweb/caja_mensajes.jsp", request, response);
                        return;
                    }

                    Cancelar(request, response, setp.getAbsRow(0).getFecha());
                    return;

                } else {
                    idmensaje = 1;
                    mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 2); //"PRECAUCION: Solo se permite cancelar una pliza a la vez <br>";
                    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); //" ERROR: Se debe enviar el identificador de la pliza que se quiere cancelar<br>";
                getSesion(request).setID_Mensaje(idmensaje, mensaje);
                irApag("/forsetiweb/caja_mensajes.jsp", request, response);
                return;
            }
        } else if (request.getParameter("proceso").equals("RASTREAR_POLIZA")) {
            if (!getSesion(request).getPermiso("CONT_POLIZAS_CONSULTAR")) {
                idmensaje = 3;
                mensaje += MsjPermisoDenegado(request, "CEF", "CONT_POLIZAS_CONSULTAR");
                getSesion(request).setID_Mensaje(idmensaje, mensaje);
                RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(),
                        "CONT_POLIZAS_CONSULTAR", "POLZ||||", mensaje);
                irApag("/forsetiweb/caja_mensajes.jsp", request, response);
                return;
            }

            if (request.getParameter("ID") != null) {
                String[] valoresParam = request.getParameterValues("ID");
                if (valoresParam.length == 1) {

                    JRastreo rastreo = new JRastreo(request,
                            getSesion(request).getSesion("CONT_POLIZAS").generarTitulo(
                                    JUtil.Msj("CEF", "CONT_POLIZAS", "VISTA", "CONSULTAR_POLIZA", 3)),
                            "POLZ", request.getParameter("ID"));
                    String rastreo_imp = "true";
                    request.setAttribute("rastreo_imp", rastreo_imp);
                    // Ahora pone los atributos para el jsp
                    request.setAttribute("rastreo", rastreo);
                    RDP("CEF", getSesion(request).getConBD(), "OK", getSesion(request).getID_Usuario(),
                            "CONT_POLIZAS_CONSULTAR", "POLZ|" + request.getParameter("ID") + "|"
                                    + getSesion(request).getSesion("CONT_POLIZAS").getEspecial() + "||",
                            "");
                    irApag("/forsetiweb/rastreo_imp.jsp", request, response);
                    return;

                } else {
                    idmensaje = 1;
                    mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 2); //"PRECAUCION: Solo se permite consultar una pliza a la vez <br>";
                    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); //" ERROR: Se debe enviar el identificador de la pliza que se quiere consultar<br>";
                getSesion(request).setID_Mensaje(idmensaje, mensaje);
                irApag("/forsetiweb/caja_mensajes.jsp", request, response);
                return;
            }

        } else if (request.getParameter("proceso").equals("IMPRIMIR")) {
            // Revisa si tiene permisos
            if (!getSesion(request).getPermiso("CONT_POLIZAS")) {
                idmensaje = 3;
                mensaje += MsjPermisoDenegado(request, "CEF", "CONT_POLIZAS");
                getSesion(request).setID_Mensaje(idmensaje, mensaje);
                RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(),
                        "CONT_POLIZAS", "POLZ" + "||||", 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("IMPRESION")) {
                        StringBuffer bsmensaje = new StringBuffer(254);
                        String SQLCab = "select * from view_cont_polizas_impcab where ID = "
                                + request.getParameter("ID");
                        String SQLDet = "select * from view_cont_polizas_impdet where ID = "
                                + request.getParameter("ID") + " order by Part asc";
                        idmensaje = Imprimir(SQLCab, SQLDet, request.getParameter("idformato"), bsmensaje,
                                request, response);

                        if (idmensaje != -1) {
                            getSesion(request).setID_Mensaje(idmensaje, bsmensaje.toString());
                            irApag("/forsetiweb/caja_mensajes.jsp", request, response);
                            return;
                        }
                    } else // significa que debe llamar a la ventana de formatos de impresion
                    {
                        request.setAttribute("impresion", "CEFContaPolizasDlg");
                        request.setAttribute("tipo_imp", "CONT_POLIZAS");
                        request.setAttribute("formato_default", null);

                        getSesion(request).setID_Mensaje(idmensaje, mensaje);
                        irApag("/forsetiweb/impresion_dlg.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 {
            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 // 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;
    }

}

From source file:org.adventure.CustomCorsFilter.java

/**
 * Determines the request type./*from www .j a  va  2 s . c  o m*/
 *
 * @param request
 */
protected CORSRequestType checkRequestType(final HttpServletRequest request) {
    CORSRequestType requestType = CORSRequestType.INVALID_CORS;
    if (request == null) {
        throw new IllegalArgumentException("CustomCorsFilter.nullRequest");
    }
    String originHeader = request.getHeader(REQUEST_HEADER_ORIGIN);
    // Section 6.1.1 and Section 6.2.1
    if (originHeader != null) {
        if (originHeader.isEmpty()) {
            requestType = CORSRequestType.INVALID_CORS;
        } else if (!isValidOrigin(originHeader)) {
            requestType = CORSRequestType.INVALID_CORS;
        } else {
            String method = request.getMethod();
            if (method != null && HTTP_METHODS.contains(method)) {
                if ("OPTIONS".equals(method)) {
                    String accessControlRequestMethodHeader = request
                            .getHeader(REQUEST_HEADER_ACCESS_CONTROL_REQUEST_METHOD);
                    if (accessControlRequestMethodHeader != null
                            && !accessControlRequestMethodHeader.isEmpty()) {
                        requestType = CORSRequestType.PRE_FLIGHT;
                    } else if (accessControlRequestMethodHeader != null
                            && accessControlRequestMethodHeader.isEmpty()) {
                        requestType = CORSRequestType.INVALID_CORS;
                    } else {
                        requestType = CORSRequestType.ACTUAL;
                    }
                } else if ("GET".equals(method) || "HEAD".equals(method)) {
                    requestType = CORSRequestType.SIMPLE;
                } else if ("POST".equals(method)) {
                    String contentType = request.getContentType();
                    if (contentType != null) {
                        contentType = contentType.toLowerCase().trim();
                        if (SIMPLE_HTTP_REQUEST_CONTENT_TYPE_VALUES.contains(contentType)) {
                            requestType = CORSRequestType.SIMPLE;
                        } else {
                            requestType = CORSRequestType.ACTUAL;
                        }
                    }
                } else if (COMPLEX_HTTP_METHODS.contains(method)) {
                    requestType = CORSRequestType.ACTUAL;
                }
            }
        }
    } else {
        requestType = CORSRequestType.NOT_CORS;
    }

    return requestType;
}