franta-hg@24: package cz.frantovo.sql.vyuka.web; franta-hg@24: franta-hg@24: import cz.frantovo.sql.vyuka.dao.HistorieDAO; franta-hg@24: import cz.frantovo.sql.vyuka.dao.PiskovisteDAO; franta-hg@37: import cz.frantovo.sql.vyuka.dao.PruvodceDAO; franta-hg@37: import cz.frantovo.sql.vyuka.dto.Pruvodce; franta-hg@24: import cz.frantovo.sql.vyuka.dto.Uzivatel; franta-hg@24: import cz.frantovo.sql.vyuka.dto.VysledekSQL; franta-hg@24: franta-hg@24: /** franta-hg@24: * Webová beana, která poskytuje data Ajaxovému JSPčku. franta-hg@24: * @author fiki franta-hg@24: */ franta-hg@24: public class Ajax { franta-hg@24: franta-hg@24: private final Uzivatel uzivatel = new Uzivatel(); franta-hg@24: private String sqlPrikaz; franta-hg@37: private long idPruvodce; franta-hg@37: private String kodPruvodce; franta-hg@24: franta-hg@24: /** franta-hg@24: * Nastaví informace o klientovi (uživateli). franta-hg@24: * @param ipAdresa IP adresa, ze které přišel HTTP požadavek franta-hg@25: * @param ipPresmerovano HTTP hlavička x-forwarded-for (přidává proxy). franta-hg@24: * @param idSezeni javovská HTTP relace franta-hg@24: */ franta-hg@24: public void setKlient(String ipAdresa, String ipPresmerovano, String idSezeni) { franta-hg@74: if (("127.0.0.1".equals(ipAdresa) || "10.0.0.31".equals(ipAdresa)) && ipPresmerovano != null) { franta-hg@74: uzivatel.setIpAdresa(ipPresmerovano); franta-hg@74: } else { franta-hg@74: uzivatel.setIpAdresa(ipAdresa); franta-hg@74: } franta-hg@74: uzivatel.setIdSezeni(idSezeni); franta-hg@24: } franta-hg@24: franta-hg@24: public void setSqlPrikaz(String sqlPrikaz) { franta-hg@74: this.sqlPrikaz = sqlPrikaz; franta-hg@24: } franta-hg@24: franta-hg@37: public void setIdPruvodce(long idPruvodce) { franta-hg@74: this.idPruvodce = idPruvodce; franta-hg@37: } franta-hg@37: franta-hg@37: public void setKodPruvodce(String kodPruvodce) { franta-hg@74: this.kodPruvodce = kodPruvodce; franta-hg@37: } franta-hg@37: franta-hg@24: /** franta-hg@24: * @return Historie SQL příkazů daného uživatele. franta-hg@24: */ franta-hg@24: public VysledekSQL getHistorie() { franta-hg@74: HistorieDAO h = new HistorieDAO(); franta-hg@74: return h.nactiHistorii(uzivatel); franta-hg@24: } franta-hg@24: franta-hg@24: /** franta-hg@24: * Vykoná zadaný SQL příkaz v databázi. franta-hg@24: * @return Výsledek dotazu – tabulka, hláška nebo chyba. franta-hg@24: */ franta-hg@24: public VysledekSQL getSQLVysledek() { franta-hg@74: PiskovisteDAO p = new PiskovisteDAO(); franta-hg@74: return p.vykonejSQL(sqlPrikaz, uzivatel); franta-hg@24: } franta-hg@37: franta-hg@37: /** franta-hg@37: * Načte stránku průvodce – podle ID. franta-hg@37: * @return průvodce nebo chybová hláška. franta-hg@37: */ franta-hg@37: public Pruvodce getPruvodcePodleId() { franta-hg@74: PruvodceDAO dao = new PruvodceDAO(); franta-hg@74: Pruvodce p = dao.getPruvodce(idPruvodce); franta-hg@74: return osetriChybuPruvodce(p); franta-hg@37: } franta-hg@37: franta-hg@37: /** franta-hg@37: * Načte stránku průvodce – podle kódu. franta-hg@37: * @param kod kód průvodce, kterého hledáme. franta-hg@37: * @return průvodce nebo chybová hláška. franta-hg@37: */ franta-hg@37: public Pruvodce getPruvodcePodleKodu() { franta-hg@74: PruvodceDAO dao = new PruvodceDAO(); franta-hg@74: Pruvodce p = dao.getPruvodce(kodPruvodce); franta-hg@74: return osetriChybuPruvodce(p); franta-hg@37: } franta-hg@37: franta-hg@37: /** franta-hg@37: * Načte stránku průvodce. franta-hg@37: * idPruvodce = id, ke kterému hledáme předchozí stránku (záznam před). franta-hg@37: * @return průvodce nebo chybová hláška. franta-hg@37: */ franta-hg@37: public Pruvodce getPruvodcePredchozi() { franta-hg@74: PruvodceDAO dao = new PruvodceDAO(); franta-hg@74: Pruvodce p = dao.getPruvodcePredchozi(idPruvodce); franta-hg@74: return osetriChybuPruvodce(p); franta-hg@37: } franta-hg@37: franta-hg@37: /** franta-hg@37: * Načte stránku průvodce. franta-hg@37: * idPruvodce = id, ke kterému hledáme následující stránku (záznam po). franta-hg@37: * @return průvodce nebo chybová hláška. franta-hg@37: */ franta-hg@37: public Pruvodce getPruvodceNasledujici() { franta-hg@74: PruvodceDAO dao = new PruvodceDAO(); franta-hg@74: Pruvodce p = dao.getPruvodceNasledujici(idPruvodce); franta-hg@74: return osetriChybuPruvodce(p); franta-hg@37: } franta-hg@37: franta-hg@37: /** franta-hg@37: * @param p Stránka průvodce načtená z databáze. franta-hg@37: * @return zadaná stránka, nebo chybová hláška, pokud bylo načteno „null“ franta-hg@37: */ franta-hg@37: private static Pruvodce osetriChybuPruvodce(Pruvodce p) { franta-hg@74: if (p == null) { franta-hg@74: p = new Pruvodce(); franta-hg@74: p.setKod("chyba"); franta-hg@74: p.setNadpis("pruvodce.chyba.nadpis"); franta-hg@74: p.setObsah("pruvodce.chyba.obsah"); franta-hg@74: p.setLokalizovat(true); franta-hg@74: } franta-hg@74: return p; franta-hg@37: } franta-hg@24: }