示例#1
0
  @Override
  protected void service(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {
    Utilisateur user = null;

    if (request.getSession(false) != null
        && request.getSession(false).getAttribute("user") != null
        && request.getSession(false).getAttribute("user") instanceof Utilisateur) {
      user = (Utilisateur) request.getSession(false).getAttribute("user");

    } else {

      request.getRequestDispatcher("/login.jsp").forward(request, response);
      return;
    }

    if (!user.getType().equals(TypeUtilisateur.FORMATEUR)) {
      request.getRequestDispatcher("/login.jsp").forward(request, response);
      return;
    }
    // TODO Load logiciel
    int idLogiciel = Integer.parseInt(request.getParameter("idLogiciel"));
    int noOrdreLogiciel = Integer.parseInt(request.getParameter("noOrdreLogiciel"));
    String nomLogiciel = request.getParameter("nomLogiciel");
    String descriptionLogiciel = request.getParameter("descriptionLogiciel");
    String versionLogiciel = request.getParameter("versionLogiciel");
    String editeurLogiciel = request.getParameter("editeurLogiciel");
    int categorieLogiciel = Integer.parseInt(request.getParameter("categorieLogiciel"));
    Profil p = new Profil();

    Profil.Logiciels l = p.new Logiciels();
    l.setIdLogiciel(idLogiciel);
    l.setNoOrdreLogiciel(noOrdreLogiciel);
    l.setNomLogiciel(nomLogiciel);
    l.setDescriptionLogiciel(descriptionLogiciel);
    l.setEditeurLogiciel(editeurLogiciel);
    l.setCategorieLogiciel(categorieLogiciel);
    l.setVersion(versionLogiciel);
    TableLogiciels tl = new TableLogiciels();
    try {
      tl.save(l);
    } catch (SQLException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
      request.getRequestDispatcher("/error.jsp").forward(request, response);
    }
    request.getRequestDispatcher("/success.jsp").forward(request, response);
  }
  @Override
  public ActionForward execute(
      ActionMapping mapping,
      ActionForm form,
      HttpServletRequest request,
      HttpServletResponse response)
      throws Exception {
    Utilisateur user = null;

    if (request.getSession(false) != null
        && request.getSession(false).getAttribute("user") != null
        && request.getSession(false).getAttribute("user") instanceof Utilisateur) {
      user = (Utilisateur) request.getSession(false).getAttribute("user");

    } else {

      request.getRequestDispatcher("/login.jsp").forward(request, response);
      return mapping.findForward("error");
    }

    if (!user.getType().equals(TypeUtilisateur.ETUDIANT)) {
      request.getRequestDispatcher("/login.jsp").forward(request, response);
      return mapping.findForward("error");
    }

    if (form == null) return mapping.findForward("error");

    HttpSession s = request.getSession();

    Profil profil = (Profil) form;

    profil.setEtudiantId(user.getEtudiant().getId());

    Map<String, String[]> parameters = request.getParameterMap();

    Set<String> keys = parameters.keySet();

    Iterator<String> it = keys.iterator();

    TableProfils tp = new TableProfils();
    tp.setEtudiantId(user.getEtudiant().getId());

    while (it.hasNext()) {
      String str = it.next();

      if (str.startsWith("logiciel_")) {
        int idLog = Integer.parseInt(str.substring("logiciel_".length()));
        int level = Integer.parseInt(request.getParameter(str));
        Set<String> versionsKeys = parameters.keySet();
        Iterator<String> versions = versionsKeys.iterator();
        ArrayList<String> versionsSaved = new ArrayList<String>();
        while (versions.hasNext()) {
          String version = versions.next();
          if (version.startsWith("langageversion_" + idLog + "_")) {
            String versionName = version.substring(("langageversion_" + idLog + "_").length());
            if (request.getParameter("langageversion_" + idLog + "_" + versionName) != null)
              versionsSaved.add(versionName);
          }
        }
        tp.saveLogiciels(profil, idLog, level, versionsSaved);
        profil.setNiveauConnaissanceLogiciel(idLog, level);
      }
    }

    s.setAttribute("etudforma", profil);
    return mapping.findForward("success");
  }