root/java/sql-vyuka/src/java/cz/frantovo/sql/vyuka/web/Ajax.java @ 77:fdeb54809e23

Revision 77:fdeb54809e23, 3.4 KB (checked in by František Kučera <franta-hg@…>, 12 years ago)

odsazení

Line 
1package cz.frantovo.sql.vyuka.web;
2
3import cz.frantovo.sql.vyuka.dao.HistorieDAO;
4import cz.frantovo.sql.vyuka.dao.PiskovisteDAO;
5import cz.frantovo.sql.vyuka.dao.PruvodceDAO;
6import cz.frantovo.sql.vyuka.dto.Pruvodce;
7import cz.frantovo.sql.vyuka.dto.Uzivatel;
8import cz.frantovo.sql.vyuka.dto.VysledekSQL;
9
10/**
11 * Webová beana, která poskytuje data Ajaxovému JSPčku.
12 *
13 * @author fiki
14 */
15public class Ajax {
16
17        private final Uzivatel uzivatel = new Uzivatel();
18        private String sqlPrikaz;
19        private long idPruvodce;
20        private String kodPruvodce;
21
22        /**
23         * Nastaví informace o klientovi (uživateli).
24         *
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
28         */
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);
32                } else {
33                        uzivatel.setIpAdresa(ipAdresa);
34                }
35                uzivatel.setIdSezeni(idSezeni);
36        }
37
38        public void setSqlPrikaz(String sqlPrikaz) {
39                this.sqlPrikaz = sqlPrikaz;
40        }
41
42        public void setIdPruvodce(long idPruvodce) {
43                this.idPruvodce = idPruvodce;
44        }
45
46        public void setKodPruvodce(String kodPruvodce) {
47                this.kodPruvodce = kodPruvodce;
48        }
49
50        /**
51         * @return Historie SQL příkazů daného uživatele.
52         */
53        public VysledekSQL getHistorie() {
54                HistorieDAO h = new HistorieDAO();
55                return h.nactiHistorii(uzivatel);
56        }
57
58        /**
59         * Vykoná zadaný SQL příkaz v databázi.
60         *
61         * @return Výsledek dotazu – tabulka, hláška nebo chyba.
62         */
63        public VysledekSQL getSQLVysledek() {
64                PiskovisteDAO p = new PiskovisteDAO();
65                return p.vykonejSQL(sqlPrikaz, uzivatel);
66        }
67
68        /**
69         * Načte stránku průvodce – podle ID.
70         *
71         * @return průvodce nebo chybová hláška.
72         */
73        public Pruvodce getPruvodcePodleId() {
74                PruvodceDAO dao = new PruvodceDAO();
75                Pruvodce p = dao.getPruvodce(idPruvodce);
76                return osetriChybuPruvodce(p);
77        }
78
79        /**
80         * Načte stránku průvodce – podle kódu.
81         *
82         * @param kod kód průvodce, kterého hledáme.
83         * @return průvodce nebo chybová hláška.
84         */
85        public Pruvodce getPruvodcePodleKodu() {
86                PruvodceDAO dao = new PruvodceDAO();
87                Pruvodce p = dao.getPruvodce(kodPruvodce);
88                return osetriChybuPruvodce(p);
89        }
90
91        /**
92         * Načte stránku průvodce.
93         * idPruvodce = id, ke kterému hledáme předchozí stránku (záznam před).
94         *
95         * @return průvodce nebo chybová hláška.
96         */
97        public Pruvodce getPruvodcePredchozi() {
98                PruvodceDAO dao = new PruvodceDAO();
99                Pruvodce p = dao.getPruvodcePredchozi(idPruvodce);
100                return osetriChybuPruvodce(p);
101        }
102
103        /**
104         * Načte stránku průvodce.
105         * idPruvodce = id, ke kterému hledáme následující stránku (záznam po).
106         *
107         * @return průvodce nebo chybová hláška.
108         */
109        public Pruvodce getPruvodceNasledujici() {
110                PruvodceDAO dao = new PruvodceDAO();
111                Pruvodce p = dao.getPruvodceNasledujici(idPruvodce);
112                return osetriChybuPruvodce(p);
113        }
114
115        /**
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“
118         */
119        private static Pruvodce osetriChybuPruvodce(Pruvodce p) {
120                if (p == null) {
121                        p = new Pruvodce();
122                        p.setKod("chyba");
123                        p.setNadpis("pruvodce.chyba.nadpis");
124                        p.setObsah("pruvodce.chyba.obsah");
125                        p.setLokalizovat(true);
126                }
127                return p;
128        }
129}
Note: See TracBrowser for help on using the browser.