Esempio n. 1
0
  /**
   * Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
   *
   * @param request servlet request
   * @param response servlet response
   * @throws ServletException if a servlet-specific error occurs
   * @throws IOException if an I/O error occurs
   */
  protected void processRequest(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {
    Long timeIni = System.currentTimeMillis();

    HttpSession sesion = request.getSession();

    try {
      // usuario actual
      Usuario usuario = new Usuario();
      if (sesion.getAttribute("usuario") != null) {
        usuario = (Usuario) sesion.getAttribute("usuario");
      }

      // configuración de paginación
      String path = getServletContext().getRealPath("WEB-INF/config.xml");
      int docsPagina = Config.getInitPages(usuario.getId(), path, "documents");
      sesion.setAttribute("configPath", path);

      // privacidad de los documentos
      String cond = "(PRIVADO = 0 OR (PRIVADO = 1 AND ID_USUARIO = " + usuario.getId() + "))";

      // filtro de búsqueda
      String buscar = request.getParameter("buscar");
      if (buscar != null) {
        if (Convert.isValidDate(buscar)) {
          buscar = Utiles.dateToMySQLDate(Convert.parseDate(buscar), false);
        }

        cond += " AND (TITULO LIKE('%" + buscar + "%') ";
        cond += " OR CONTENIDO LIKE('%" + buscar + "%') ";
        cond += " OR ETIQUETAS LIKE('%" + buscar + "%') ";
        cond += " OR FECHA LIKE ('%" + buscar + "%') ";

        for (Usuario u : new UsuarioDAO().findAllUsuario()) {
          if (u.getNombre().toLowerCase().contains(buscar.toLowerCase())
              || u.getApe1().toLowerCase().contains(buscar.toLowerCase())
              || u.getApe2().toLowerCase().contains(buscar.toLowerCase())) {
            cond += " OR ID_USUARIO = " + u.getId();
          }
        }

        cond += ") ";
      }

      DocumentoDAO documentoDAO = new DocumentoDAO();
      sesion.setAttribute(
          "allDocuments", (ArrayList) documentoDAO.findAllDocumento(docsPagina, cond));

      if (count == 1) {
        sesion.setAttribute("dataMenu", (ArrayList) documentoDAO.findAllDocumento(cond));
        count++;
      }

    } catch (Exception ex) {
      Logger.getLogger(Login.class.getName()).log(Level.SEVERE, null, ex);
    } finally {
      Long timeEnd = System.currentTimeMillis();
      System.out.println("Duración de procesado " + getServletName() + ": " + (timeEnd - timeIni));
      ServletContext cont = getServletConfig().getServletContext();
      RequestDispatcher reqDispatcher = cont.getRequestDispatcher("/index.jsp");
      reqDispatcher.forward(request, response);
    }
  }