1 package cz.frantovo.sql.vyuka.web;
3 import cz.frantovo.sql.vyuka.dao.HistorieDAO;
4 import cz.frantovo.sql.vyuka.dao.PiskovisteDAO;
5 import cz.frantovo.sql.vyuka.dao.PruvodceDAO;
6 import cz.frantovo.sql.vyuka.dto.Pruvodce;
7 import cz.frantovo.sql.vyuka.dto.Uzivatel;
8 import cz.frantovo.sql.vyuka.dto.VysledekSQL;
11 * Webová beana, která poskytuje data Ajaxovému JSPčku.
17 private final Uzivatel uzivatel = new Uzivatel();
18 private String sqlPrikaz;
19 private long idPruvodce;
20 private String kodPruvodce;
23 * Nastaví informace o klientovi (uživateli).
25 * @param ipAdresa IP adresa, ze které přišel HTTP požadavek
26 * @param ipPresmerovano HTTP hlavička x-forwarded-for (přidává proxy).
27 * @param idSezeni javovská HTTP relace
29 public void setKlient(String ipAdresa, String ipPresmerovano, String idSezeni) {
30 if (("127.0.0.1".equals(ipAdresa) || "10.0.0.31".equals(ipAdresa)) && ipPresmerovano != null) {
31 uzivatel.setIpAdresa(ipPresmerovano);
33 uzivatel.setIpAdresa(ipAdresa);
35 uzivatel.setIdSezeni(idSezeni);
38 public void setSqlPrikaz(String sqlPrikaz) {
39 this.sqlPrikaz = sqlPrikaz;
42 public void setIdPruvodce(long idPruvodce) {
43 this.idPruvodce = idPruvodce;
46 public void setKodPruvodce(String kodPruvodce) {
47 this.kodPruvodce = kodPruvodce;
51 * @return Historie SQL příkazů daného uživatele.
53 public VysledekSQL getHistorie() {
54 HistorieDAO h = new HistorieDAO();
55 return h.nactiHistorii(uzivatel);
59 * Vykoná zadaný SQL příkaz v databázi.
61 * @return Výsledek dotazu – tabulka, hláška nebo chyba.
63 public VysledekSQL getSQLVysledek() {
64 PiskovisteDAO p = new PiskovisteDAO();
65 return p.vykonejSQL(sqlPrikaz, uzivatel);
69 * Načte stránku průvodce – podle ID.
71 * @return průvodce nebo chybová hláška.
73 public Pruvodce getPruvodcePodleId() {
74 PruvodceDAO dao = new PruvodceDAO();
75 Pruvodce p = dao.getPruvodce(idPruvodce);
76 return osetriChybuPruvodce(p);
80 * Načte stránku průvodce – podle kódu.
82 * @param kod kód průvodce, kterého hledáme.
83 * @return průvodce nebo chybová hláška.
85 public Pruvodce getPruvodcePodleKodu() {
86 PruvodceDAO dao = new PruvodceDAO();
87 Pruvodce p = dao.getPruvodce(kodPruvodce);
88 return osetriChybuPruvodce(p);
92 * Načte stránku průvodce.
93 * idPruvodce = id, ke kterému hledáme předchozí stránku (záznam před).
95 * @return průvodce nebo chybová hláška.
97 public Pruvodce getPruvodcePredchozi() {
98 PruvodceDAO dao = new PruvodceDAO();
99 Pruvodce p = dao.getPruvodcePredchozi(idPruvodce);
100 return osetriChybuPruvodce(p);
104 * Načte stránku průvodce.
105 * idPruvodce = id, ke kterému hledáme následující stránku (záznam po).
107 * @return průvodce nebo chybová hláška.
109 public Pruvodce getPruvodceNasledujici() {
110 PruvodceDAO dao = new PruvodceDAO();
111 Pruvodce p = dao.getPruvodceNasledujici(idPruvodce);
112 return osetriChybuPruvodce(p);
116 * @param p Stránka průvodce načtená z databáze.
117 * @return zadaná stránka, nebo chybová hláška, pokud bylo načteno „null“
119 private static Pruvodce osetriChybuPruvodce(Pruvodce p) {
123 p.setNadpis("pruvodce.chyba.nadpis");
124 p.setObsah("pruvodce.chyba.obsah");
125 p.setLokalizovat(true);