Uživatel může kliknout myší na SQL kód v průvodci a snadno si ho překopírovat do vstupního pole (aby nemusel opisovat příklady).
No jo, ale to budou ti uživatelé úplně líní a nic se nenaučí :-).
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.
16 private final Uzivatel uzivatel = new Uzivatel();
17 private String sqlPrikaz;
18 private long idPruvodce;
19 private String kodPruvodce;
22 * Nastaví informace o klientovi (uživateli).
23 * @param ipAdresa IP adresa, ze které přišel HTTP požadavek
24 * @param ipPresmerovano HTTP hlavička x-forwarded-for (přidává proxy).
25 * @param idSezeni javovská HTTP relace
27 public void setKlient(String ipAdresa, String ipPresmerovano, String idSezeni) {
28 if ("127.0.0.1".equals(ipAdresa) && ipPresmerovano != null) {
29 uzivatel.setIpAdresa(ipPresmerovano);
31 uzivatel.setIpAdresa(ipAdresa);
33 uzivatel.setIdSezeni(idSezeni);
36 public void setSqlPrikaz(String sqlPrikaz) {
37 this.sqlPrikaz = sqlPrikaz;
40 public void setIdPruvodce(long idPruvodce) {
41 this.idPruvodce = idPruvodce;
44 public void setKodPruvodce(String kodPruvodce) {
45 this.kodPruvodce = kodPruvodce;
49 * @return Historie SQL příkazů daného uživatele.
51 public VysledekSQL getHistorie() {
52 HistorieDAO h = new HistorieDAO();
53 return h.nactiHistorii(uzivatel);
57 * Vykoná zadaný SQL příkaz v databázi.
58 * @return Výsledek dotazu – tabulka, hláška nebo chyba.
60 public VysledekSQL getSQLVysledek() {
61 PiskovisteDAO p = new PiskovisteDAO();
62 return p.vykonejSQL(sqlPrikaz, uzivatel);
66 * Načte stránku průvodce – podle ID.
67 * @return průvodce nebo chybová hláška.
69 public Pruvodce getPruvodcePodleId() {
70 PruvodceDAO dao = new PruvodceDAO();
71 Pruvodce p = dao.getPruvodce(idPruvodce);
72 return osetriChybuPruvodce(p);
76 * Načte stránku průvodce – podle kódu.
77 * @param kod kód průvodce, kterého hledáme.
78 * @return průvodce nebo chybová hláška.
80 public Pruvodce getPruvodcePodleKodu() {
81 PruvodceDAO dao = new PruvodceDAO();
82 Pruvodce p = dao.getPruvodce(kodPruvodce);
83 return osetriChybuPruvodce(p);
87 * Načte stránku průvodce.
88 * idPruvodce = id, ke kterému hledáme předchozí stránku (záznam před).
89 * @return průvodce nebo chybová hláška.
91 public Pruvodce getPruvodcePredchozi() {
92 PruvodceDAO dao = new PruvodceDAO();
93 Pruvodce p = dao.getPruvodcePredchozi(idPruvodce);
94 return osetriChybuPruvodce(p);
98 * Načte stránku průvodce.
99 * idPruvodce = id, ke kterému hledáme následující stránku (záznam po).
100 * @return průvodce nebo chybová hláška.
102 public Pruvodce getPruvodceNasledujici() {
103 PruvodceDAO dao = new PruvodceDAO();
104 Pruvodce p = dao.getPruvodceNasledujici(idPruvodce);
105 return osetriChybuPruvodce(p);
109 * @param p Stránka průvodce načtená z databáze.
110 * @return zadaná stránka, nebo chybová hláška, pokud bylo načteno „null“
112 private static Pruvodce osetriChybuPruvodce(Pruvodce p) {
116 p.setNadpis("pruvodce.chyba.nadpis");
117 p.setObsah("pruvodce.chyba.obsah");
118 p.setLokalizovat(true);