Esempio n. 1
0
  /**
   * Kun käyttäjä menee "drinkkilista.jsp"-sivulle, käydään tässä servletissä ensin. Jos käyttäjä on
   * kirjautunut sisään, luodaan attribuutti, jolla annetaan sivulla oikeus lisätä uusia drinkkejä.
   * Jos on kirjautunut adminina sisään, luodaan lisäksi attribuutti, jolla annetaan oikeus
   * lisätä/poistaa juomalajeja & ainesosia.
   *
   * <p>Jos kyseisellä sivulla käyttäjä painoi lomaketta, jolla järjestetään listatut
   * drinkkireseptit nimen tai juomalajin mukaan, tehdään se. Joka tapauksessa asetetaan
   * attribuutti, jossa on arvona lista drinkkiresepteistä.
   *
   * <p>Lopuksi aina asetetaan attribuutit, joissa on arvoina lista juomalajeista ja ainesosista ja
   * tämän jälkeen ohjataan käyttäjä "drinkkilista.jsp"-sivulle.
   *
   * @param request HTTP-pyyntö.
   * @param response HTTP-vastaus.
   */
  @Override
  protected void doGet(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {

    if (request.getSession().getAttribute("tunnus")
        != null) { // jos ei ole kirjautunut sisälle, ei pysty lisäämään drinkkiä
      request.setAttribute("lisays", "lisaa");

      String tunnus = (String) request.getSession().getAttribute("tunnus");
      if (tunnus.equals("Admin")) request.setAttribute("AdminRights", "AdminOK");
    }

    if (request.getParameter("sortByName") == null
        && request.getParameter("sortByCategory") == null)
      request.setAttribute("juomat", rekisteri.getJuomat()); // pyynnön attribuutiksi lista juomista
    else if (request.getParameter("sortByName") != null)
      jarjestaNimenMukaan(
          request); // jos painettiin form-nappia "järjestä nimen mukaan", järjestetään juomat nimen
                    // mukaan
    else if (request.getParameter("sortByCategory") != null) jarjestaLajinMukaan(request);

    request.setAttribute(
        "lajit", rekisteri.getJuomaLajit()); // pyynnön attribuutiksi lista juomalajeista
    request.setAttribute(
        "ainesosat", rekisteri.getAinesOsat()); // pyynnön attribuutiksi lista ainesosista

    RequestDispatcher dispatcher =
        request.getRequestDispatcher(
            "drinkkilista.jsp"); // ohjataan pyyntö drinkkilista.jsp-sivulle
    dispatcher.forward(request, response);
  }
Esempio n. 2
0
  /**
   * Järjestää drinkkilistan drinkkien nimien perusteella nousevaan tai laskevaan järjestykseen.
   *
   * <p>Jos boolean-muuttuja jarjestys on true, palautetaan lista drinkeistä nimen perusteella
   * laskevassa järjestyksessä ja asetetaan jarjestys = false, jolloin seuraavalla kerralla, kun
   * tähän metodiin tullaan, niin palautetaan lista drinkeistä nimen perusteella nousevassa
   * järjestyksessä, jolloin jarjestys-muuttujan arvo taas vaihtuu.
   *
   * @param request HTTP-pyyntö.
   */
  private void jarjestaNimenMukaan(HttpServletRequest request)
      throws ServletException, IOException {

    if (request.getParameter("sortByName") != null
        && jarjestys) { // jos painettiin, sort-nappia, järjestetään
      request.setAttribute("juomat", rekisteri.getOrderedJuomat()); // juomat laskevasti
      jarjestys = false;
    } else if (request.getParameter("sortByName") != null
        && !jarjestys) { // jos juomat on jo järjestetty laskevasti ja painetaan
      request.setAttribute(
          "juomat", rekisteri.getJuomat()); // nappia sort, palautetaan nouseva järjestys
      jarjestys = true;
    }
  }