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