java/sql-vyuka/src/java/cz/frantovo/sql/vyuka/web/Ajax.java
author František Kučera <franta-hg@frantovo.cz>
Tue Jun 02 00:27:15 2009 +0200 (2009-06-02)
changeset 37 e32867db5487
parent 25 97bb16063d9e
child 74 48066e753dd6
permissions -rw-r--r--
Průvodce (nápověda): serverová část.
franta-hg@24
     1
package cz.frantovo.sql.vyuka.web;
franta-hg@24
     2
franta-hg@24
     3
import cz.frantovo.sql.vyuka.dao.HistorieDAO;
franta-hg@24
     4
import cz.frantovo.sql.vyuka.dao.PiskovisteDAO;
franta-hg@37
     5
import cz.frantovo.sql.vyuka.dao.PruvodceDAO;
franta-hg@37
     6
import cz.frantovo.sql.vyuka.dto.Pruvodce;
franta-hg@24
     7
import cz.frantovo.sql.vyuka.dto.Uzivatel;
franta-hg@24
     8
import cz.frantovo.sql.vyuka.dto.VysledekSQL;
franta-hg@24
     9
franta-hg@24
    10
/**
franta-hg@24
    11
 * Webová beana, která poskytuje data Ajaxovému JSPčku.
franta-hg@24
    12
 * @author fiki
franta-hg@24
    13
 */
franta-hg@24
    14
public class Ajax {
franta-hg@24
    15
franta-hg@24
    16
    private final Uzivatel uzivatel = new Uzivatel();
franta-hg@24
    17
    private String sqlPrikaz;
franta-hg@37
    18
    private long idPruvodce;
franta-hg@37
    19
    private String kodPruvodce;
franta-hg@24
    20
franta-hg@24
    21
    /**
franta-hg@24
    22
     * Nastaví informace o klientovi (uživateli).
franta-hg@24
    23
     * @param ipAdresa IP adresa, ze které přišel HTTP požadavek
franta-hg@25
    24
     * @param ipPresmerovano HTTP hlavička x-forwarded-for (přidává proxy).
franta-hg@24
    25
     * @param idSezeni javovská HTTP relace
franta-hg@24
    26
     */
franta-hg@24
    27
    public void setKlient(String ipAdresa, String ipPresmerovano, String idSezeni) {
franta-hg@24
    28
        if ("127.0.0.1".equals(ipAdresa) && ipPresmerovano != null) {
franta-hg@24
    29
            uzivatel.setIpAdresa(ipPresmerovano);
franta-hg@24
    30
        } else {
franta-hg@24
    31
            uzivatel.setIpAdresa(ipAdresa);
franta-hg@24
    32
        }
franta-hg@24
    33
        uzivatel.setIdSezeni(idSezeni);
franta-hg@24
    34
    }
franta-hg@24
    35
franta-hg@24
    36
    public void setSqlPrikaz(String sqlPrikaz) {
franta-hg@24
    37
        this.sqlPrikaz = sqlPrikaz;
franta-hg@24
    38
    }
franta-hg@24
    39
franta-hg@37
    40
    public void setIdPruvodce(long idPruvodce) {
franta-hg@37
    41
        this.idPruvodce = idPruvodce;
franta-hg@37
    42
    }
franta-hg@37
    43
franta-hg@37
    44
    public void setKodPruvodce(String kodPruvodce) {
franta-hg@37
    45
        this.kodPruvodce = kodPruvodce;
franta-hg@37
    46
    }
franta-hg@37
    47
franta-hg@24
    48
    /**
franta-hg@24
    49
     * @return Historie SQL příkazů daného uživatele.
franta-hg@24
    50
     */
franta-hg@24
    51
    public VysledekSQL getHistorie() {
franta-hg@24
    52
        HistorieDAO h = new HistorieDAO();
franta-hg@24
    53
        return h.nactiHistorii(uzivatel);
franta-hg@24
    54
    }
franta-hg@24
    55
franta-hg@24
    56
    /**
franta-hg@24
    57
     * Vykoná zadaný SQL příkaz v databázi.
franta-hg@24
    58
     * @return Výsledek dotazu – tabulka, hláška nebo chyba.
franta-hg@24
    59
     */
franta-hg@24
    60
    public VysledekSQL getSQLVysledek() {
franta-hg@24
    61
        PiskovisteDAO p = new PiskovisteDAO();
franta-hg@24
    62
        return p.vykonejSQL(sqlPrikaz, uzivatel);
franta-hg@24
    63
    }
franta-hg@37
    64
franta-hg@37
    65
    /**
franta-hg@37
    66
     * Načte stránku průvodce – podle ID.
franta-hg@37
    67
     * @return průvodce nebo chybová hláška.
franta-hg@37
    68
     */
franta-hg@37
    69
    public Pruvodce getPruvodcePodleId() {
franta-hg@37
    70
        PruvodceDAO dao = new PruvodceDAO();
franta-hg@37
    71
        Pruvodce p = dao.getPruvodce(idPruvodce);
franta-hg@37
    72
        return osetriChybuPruvodce(p);
franta-hg@37
    73
    }
franta-hg@37
    74
franta-hg@37
    75
    /**
franta-hg@37
    76
     * Načte stránku průvodce – podle kódu.
franta-hg@37
    77
     * @param kod kód průvodce, kterého hledáme.
franta-hg@37
    78
     * @return průvodce nebo chybová hláška.
franta-hg@37
    79
     */
franta-hg@37
    80
    public Pruvodce getPruvodcePodleKodu() {
franta-hg@37
    81
        PruvodceDAO dao = new PruvodceDAO();
franta-hg@37
    82
        Pruvodce p = dao.getPruvodce(kodPruvodce);
franta-hg@37
    83
        return osetriChybuPruvodce(p);
franta-hg@37
    84
    }
franta-hg@37
    85
franta-hg@37
    86
    /**
franta-hg@37
    87
     * Načte stránku průvodce.
franta-hg@37
    88
     * idPruvodce = id, ke kterému hledáme předchozí stránku (záznam před).
franta-hg@37
    89
     * @return průvodce nebo chybová hláška.
franta-hg@37
    90
     */
franta-hg@37
    91
    public Pruvodce getPruvodcePredchozi() {
franta-hg@37
    92
        PruvodceDAO dao = new PruvodceDAO();
franta-hg@37
    93
        Pruvodce p = dao.getPruvodcePredchozi(idPruvodce);
franta-hg@37
    94
        return osetriChybuPruvodce(p);
franta-hg@37
    95
    }
franta-hg@37
    96
franta-hg@37
    97
    /**
franta-hg@37
    98
     * Načte stránku průvodce.
franta-hg@37
    99
     * idPruvodce = id, ke kterému hledáme následující stránku (záznam po).
franta-hg@37
   100
     * @return průvodce nebo chybová hláška.
franta-hg@37
   101
     */
franta-hg@37
   102
    public Pruvodce getPruvodceNasledujici() {
franta-hg@37
   103
        PruvodceDAO dao = new PruvodceDAO();
franta-hg@37
   104
        Pruvodce p = dao.getPruvodceNasledujici(idPruvodce);
franta-hg@37
   105
        return osetriChybuPruvodce(p);
franta-hg@37
   106
    }
franta-hg@37
   107
franta-hg@37
   108
    /**
franta-hg@37
   109
     * @param p Stránka průvodce načtená z databáze.
franta-hg@37
   110
     * @return zadaná stránka, nebo chybová hláška, pokud bylo načteno „null“
franta-hg@37
   111
     */
franta-hg@37
   112
    private static Pruvodce osetriChybuPruvodce(Pruvodce p) {
franta-hg@37
   113
        if (p == null) {
franta-hg@37
   114
            p = new Pruvodce();
franta-hg@37
   115
            p.setKod("chyba");
franta-hg@37
   116
            p.setNadpis("pruvodce.chyba.nadpis");
franta-hg@37
   117
            p.setObsah("pruvodce.chyba.obsah");
franta-hg@37
   118
            p.setLokalizovat(true);
franta-hg@37
   119
        }
franta-hg@37
   120
        return p;
franta-hg@37
   121
    }
franta-hg@24
   122
}