示例#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, ClassNotFoundException, SQLException,
          TemplateException {
    response.setContentType("text/html;charset=UTF-8");
    PrintWriter out = response.getWriter();
    Configuration c = new Configuration();
    c.setDefaultEncoding("ISO-8859-1"); // setta il decoding della pagina in ingresso
    c.setOutputEncoding("ISO-8859-1"); // in output
    c.setNumberFormat(""); // per i numeri in virgola mobile e non

    c.setObjectWrapper(
        ObjectWrapper.BEANS_WRAPPER); // fa si che se voi passate al template un oggetto
    // viene visto come un associazione chiave valore da usare nel template

    c.setServletContextForTemplateLoading(
        getServletContext(), "templates"); // vatti a caricare questo template in base al contesto c
    c.setTemplateExceptionHandler(
        TemplateExceptionHandler
            .IGNORE_HANDLER); // handler di errori (default:statti zitto) cambia se vuoi debuggare

    // carica il template(il template non si reinderizza senza modellodati!)
    Template t = c.getTemplate("add_invitato.ftl.html");

    Map<String, Object> data = new HashMap<String, Object>();

    if (request.getSession(false) == null) {
      response.sendRedirect("index");
    }
    if (request.getSession(false) != null) {
      data.put("login", 1);
      HttpSession s = request.getSession(false);
      int idtipo = (Integer) s.getAttribute("idtipo");
      String username = (String) s.getAttribute("usersession");
      int idutente = (Integer) s.getAttribute("idutente");
      data.put("username", username);
      DataLayer dl = new DataLayerImpl();
      UtenteDataLayer udl = dl.getUtenteDataLayer(dl.getC());
      Utente utente = udl.readUtente(idutente);
      if (idtipo == 1) {
        data.put("tipo", "1"); // setta pannello admin
      }
      if (idtipo == 2) {
        data.put("tipo", "2"); // setta pannello organizzatore
      }
      String tmp = request.getParameter("id");
      int idevento = Integer.parseInt(tmp);
      InvitatoDataLayer idl = dl.getInvitatoDataLayer(dl.getC());
      List<Invitato> lista = idl.getRubricaAndInvitati(idutente, idevento);
      data.put("invitati", lista);
      data.put("idevento", idevento);
    }
    try {
      t.process(data, response.getWriter());
    } finally {
      out.close();
    }
  }
  /**
   * 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, ClassNotFoundException, SQLException {
    response.setContentType("text/html;charset=UTF-8");
    PrintWriter out = response.getWriter();
    try {
      /* TODO output your page here. You may use following sample code. */
      if (request.getSession(false) == null) {
        response.sendRedirect("index");
      } else {
        HttpSession s = request.getSession(false);
        int idutente = (Integer) s.getAttribute("idutente");
        String msg;
        int idopzione = Integer.parseInt(request.getParameter("idopzione"));
        int idevento = Integer.parseInt(request.getParameter("idevento"));

        DataLayer dl = new DataLayerImpl();
        EventoDataLayer edl = dl.getEventoDataLayer(dl.getC());
        Opzione_eventoDataLayer oedl = dl.getOpzione_eventoDataLayer(dl.getC());

        Opzione_evento oe = oedl.readOpzione(idopzione); // opzione da ufficializzare
        if (oedl.checkOpzioneDisponibile(oe)) {
          Evento etmp = edl.readEvento(idevento);
          etmp.setIdopzioneufficiale(idopzione);
          etmp.setEventodefinito(true);
          edl.updateEvento(etmp);

          List<Opzione_evento> tmp = oedl.getAllopz(oe.getIdluogo());
          for (int i = 0; i < tmp.size(); i++) {
            // rimuovi le opzioni conflittuanti
            if (!oedl.checkConflitti(oe, tmp.get(i))) {
              oedl.deleteOpzione(tmp.get(i).getIdopzione());
            }
          }
          oedl.createOpzione(oe);
          out.println(oe.getIdopzione());
          etmp.setIdopzioneufficiale(oe.getIdopzione());
          etmp.setEventodefinito(true);
          edl.updateEvento(etmp);
          msg = "Opzione ufficializzata con successo!";
          response.sendRedirect("view_event?idevento=" + idevento + "&msg=" + msg);
        } else {
          msg = "l'opzione non puo' essere ufficializzata!";
          response.sendRedirect("view_event?idevento=" + idevento + "&msg=" + msg);
        }
      }
    } finally {
      out.close();
    }
  }