Example usage for javax.servlet.http HttpServletRequest getContentLengthLong

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

Introduction

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

Prototype

public long getContentLengthLong();

Source Link

Document

Returns the length, in bytes, of the request body and made available by the input stream, or -1 if the length is not known.

Usage

From source file:com.juicioenlinea.application.servlets.particular.DemandaServlet.java

private void create(HttpServletRequest request, HttpServletResponse response) throws IOException {
    HttpSession session = request.getSession(false);
    Particular demandante = (Particular) session.getAttribute("usuario");

    StringBuilder sb = new StringBuilder();
    sb.append("<response>");

    if (request.getContentLengthLong() > 104857600) {
        response.setStatus(HttpServletResponse.SC_REQUEST_ENTITY_TOO_LARGE);
        sb.append("<message>");
        sb.append(new Messages().getClientMessage("error", 7));
        sb.append("</message>");
    } else {/*w w  w .j ava 2s. com*/
        // Campos formulario
        UploadFile uf = new UploadFile(request);

        String numeroDemanda = ToolBox.createNumeroDemanda();
        String nombre = uf.getFormField("nombre");
        String descripcion = uf.getFormField("descripcion");
        int estado = 1;
        System.out.println("Archivos: " + uf.getFiles().size());
        // Validamos datos
        if (numeroDemanda == null || numeroDemanda.equals("") || nombre == null || nombre.equals("")
                || descripcion == null || descripcion.equals("") || uf.getFiles().size() < 1) {

            response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
            sb.append("<message>");
            sb.append(new Messages().getClientMessage("error", 1));
            sb.append("</message>");
        } else {
            // Tiempo
            Date fechaCreacion = ToolBox.dateFormat(new Date());

            // Obtenemos 3 magistrados con menos demandas asignadas
            MagistradoDAO madao = new MagistradoDAO();
            Set<Magistrado> magistrados = madao.get3Magistrado();

            if (magistrados == null || magistrados.size() < 3) {
                magistrados = madao.readAll3();
            }

            // Objetos de TIEMPO
            Tiempo tiempo = new Tiempo();
            tiempo.setFechaCreacion(fechaCreacion);
            TiempoDAO tidao = new TiempoDAO();

            // Objeto de DEMANDA
            Demanda demanda = new Demanda();
            demanda.setParticularByIdParticularDemandante(demandante);
            demanda.setTiempo(tiempo);
            demanda.setNumeroDemanda(numeroDemanda);
            demanda.setNombreDemanda(nombre);
            demanda.setDescripcion(descripcion);
            demanda.setEstado(estado);
            demanda.setMagistrados(magistrados);

            DemandaDAO dedao = new DemandaDAO();
            if (!tidao.create(tiempo) || !dedao.create(demanda)) {
                response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
                sb.append("<message>");
                sb.append(new Messages().getClientMessage("error", 4));
                sb.append("</message>");
            } else {
                // Guardamos los documentos
                String sala = "s1";
                String uri = request.getScheme() + "://" + request.getServerName() + ":"
                        + request.getServerPort() + "/" + this.getServletContext().getContextPath();

                for (FileItem fi : uf.getFiles()) {
                    // Documentos
                    Documento documento = new Documento();
                    documento.setDemanda(demanda);
                    documento.setParticular(demandante);
                    documento.setFechaCarga(ToolBox.dateFormat(new Date()));
                    documento.setRuta(
                            uf.saveFile(fi, this.getServletContext().getRealPath(""), sala, numeroDemanda));
                    documento.setEstado(1);
                    documento.setNombre(fi.getName());

                    DocumentoDAO dodao = new DocumentoDAO();

                    if (!dodao.create(documento)) {
                        response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
                        sb.append("<message>");
                        sb.append(new Messages().getClientMessage("error", 7));
                        sb.append("</message>");
                        break;
                    }
                }

                //Mail mail = new Mail(demandante.getCatalogousuarios().getCorreo(), "Demanda creada", "Nmero de demanda: " + numeroDemanda);
                Mail mail = new Mail("eddy_wallace@hotmail.com", "Demanda creada",
                        "Nmero de demanda: " + numeroDemanda);

                if (!mail.sendMail()) {
                    response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
                    sb.append("<message>");
                    sb.append(new Messages().getClientMessage("error", 8));
                    sb.append("</message>");

                    sb.append("<redirect>");
                    sb.append(uri).append("/aplicacion/particular/Demanda?action=demandasHechas");
                    sb.append("</redirect>");
                } else {
                    sb.append("<message>");
                    sb.append(new Messages().getClientMessage("ok", 5));
                    sb.append("</message>");

                    sb.append("<redirect>");
                    sb.append(uri).append("/aplicacion/particular/Demanda?action=demandasHechas");
                    sb.append("</redirect>");
                }
            }
        }
    }

    sb.append("</response>");
    PrintWriter pw = response.getWriter();
    pw.write(sb.toString());
}