package cz.frantovo.sql.vyuka.ajax;
import cz.frantovo.sql.vyuka.dto.Hlaska;
import cz.frantovo.sql.vyuka.dto.Hlaska.Typ;
import cz.frantovo.sql.vyuka.dto.Tabulka;
import cz.frantovo.sql.vyuka.dto.Uzivatel;
import cz.frantovo.sql.vyuka.dto.VysledekSQL;
/**
* Pomocník servletu. Vrací HTML části stránek.
* @author fiki
*/
public class Ajax {
/**
* @return Historie SQL příkazů daného uživatele.
*/
public String getHistorie(Uzivatel uzivatel) {
VysledekSQL v = new VysledekSQL();
v.getHlasky().add(new Hlaska("Bude vypsána vaše historie", Typ.OK));
v.getHlasky().add(new Hlaska("idSezení: " + uzivatel.getIdSezeni(), Typ.OK));
v.getHlasky().add(new Hlaska("Ale ještě to není hotové.", Typ.Varovani));
v.getHlasky().add(new Hlaska("Což je asi chyba.", Typ.Chyba));
v.getHlasky().add(new Hlaska("Stejně vám něco doporučíme.", Typ.Tip, false));
Tabulka t = new Tabulka();
String[] zahlavi = {"Kdy", "SQL příkaz"};
t.setZahlavi(zahlavi);
for (int i = 1; i < 4; i++) {
String[] hodnoty = {"Někdy " + i, "SELECT * FROM tabulka WHERE id = " + i};
t.getHodnoty().add(hodnoty);
}
v.getTabulky().add(t);
return v.getHtml();
}
/**
* Vykoná zadaný SQL příkaz v databázi.
* @return Výsledek dotazu – tabulka, hláška nebo chyba.
*/
public String geSQLVysledek(String sql, Uzivatel uzivatel) {
VysledekSQL v = new VysledekSQL();
v.getHlasky().add(new Hlaska("Bude vykonán SQL dotaz.", Typ.OK));
v.getHlasky().add(new Hlaska("idSezení: " + uzivatel.getIdSezeni(), Typ.OK));
v.getHlasky().add(new Hlaska("SQL: " + sql, Typ.OK));
v.getHlasky().add(new Hlaska("IP adresa: " + uzivatel.getIpAdresa(), Typ.OK));
v.getHlasky().add(new Hlaska("IP adresa a SQL dotaz budou uloženy", Typ.Varovani));
v.getHlasky().add(new Hlaska("Ale ještě to není hotové.", Typ.Varovani));
v.getHlasky().add(new Hlaska("Což je asi chyba.", Typ.Chyba));
v.getHlasky().add(new Hlaska("Stejně vám něco doporučíme.", Typ.Tip, false));
for (int n = 1; n < 3; n++) {
Tabulka t = new Tabulka();
String[] zahlavi = {"Sloupeček 1", "Nějaké číslo"};
t.setZahlavi(zahlavi);
for (int i = 1; i < 4; i++) {
Object[] hodnoty = {"počet " + i, new Integer(i * n)};
t.getHodnoty().add(hodnoty);
}
v.getTabulky().add(t);
}
return v.getHtml();
}
}