# HG changeset patch # User František Kučera # Date 1243550204 -7200 # Node ID 96e711f3ef48f135f706f2ac7b512701a971ad48 # Parent 1b10a6565e8c1ded866414099ea5c5254daa5030 Už to „něco“ dělá – zobrazujeme ukázková data. diff -r 1b10a6565e8c -r 96e711f3ef48 java/sql-vyuka/src/java/cz/frantovo/sql/vyuka/ajax/Ajax.java --- a/java/sql-vyuka/src/java/cz/frantovo/sql/vyuka/ajax/Ajax.java Fri May 29 00:13:11 2009 +0200 +++ b/java/sql-vyuka/src/java/cz/frantovo/sql/vyuka/ajax/Ajax.java Fri May 29 00:36:44 2009 +0200 @@ -2,6 +2,8 @@ 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; /** @@ -13,13 +15,25 @@ /** * @return Historie SQL příkazů daného uživatele. */ - public String getHistorie(String idSezeni) { + 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í: " + idSezeni, 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)); + 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(); } @@ -27,14 +41,28 @@ * Vykoná zadaný SQL příkaz v databázi. * @return Výsledek dotazu – tabulka, hláška nebo chyba. */ - public String geSQLVysledek(String sql, String idSezeni) { + 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í: " + idSezeni, 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)); + 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(); } } diff -r 1b10a6565e8c -r 96e711f3ef48 java/sql-vyuka/src/java/cz/frantovo/sql/vyuka/ajax/Servlet.java --- a/java/sql-vyuka/src/java/cz/frantovo/sql/vyuka/ajax/Servlet.java Fri May 29 00:13:11 2009 +0200 +++ b/java/sql-vyuka/src/java/cz/frantovo/sql/vyuka/ajax/Servlet.java Fri May 29 00:36:44 2009 +0200 @@ -1,5 +1,6 @@ package cz.frantovo.sql.vyuka.ajax; +import cz.frantovo.sql.vyuka.dto.Uzivatel; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; @@ -53,15 +54,15 @@ Ajax a = new Ajax(); - String idSezeni = request.getRequestedSessionId(); + Uzivatel uzivatel = new Uzivatel(request.getRequestedSessionId(), request.getRemoteHost()); switch (parametrAkce) { case vykonat: - out.println(a.geSQLVysledek(request.getParameter("sql"), idSezeni)); + out.println(a.geSQLVysledek(request.getParameter("sql"), uzivatel)); break; case historie: - out.println(a.getHistorie(idSezeni)); + out.println(a.getHistorie(uzivatel)); break; case test: out.println("

AJAX jede!

"); diff -r 1b10a6565e8c -r 96e711f3ef48 java/sql-vyuka/src/java/cz/frantovo/sql/vyuka/dto/Tabulka.java --- a/java/sql-vyuka/src/java/cz/frantovo/sql/vyuka/dto/Tabulka.java Fri May 29 00:13:11 2009 +0200 +++ b/java/sql-vyuka/src/java/cz/frantovo/sql/vyuka/dto/Tabulka.java Fri May 29 00:36:44 2009 +0200 @@ -35,9 +35,11 @@ html.append(""); for (Object[] hh : getHodnoty()) { + html.append(""); for (Object h : hh) { - html.append(formatujRadek(h)); + html.append(formatujBunku(h)); } + html.append(""); } html.append(""); @@ -48,7 +50,8 @@ } } - private String formatujRadek(Object o) { + private String formatujBunku(Object o) { + /** TODO: podporovat i jiné typy */ if (o instanceof Integer) { return "" + Html.escapuj(String.valueOf(o)) + ""; } else { diff -r 1b10a6565e8c -r 96e711f3ef48 java/sql-vyuka/src/java/cz/frantovo/sql/vyuka/dto/Uzivatel.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/java/sql-vyuka/src/java/cz/frantovo/sql/vyuka/dto/Uzivatel.java Fri May 29 00:36:44 2009 +0200 @@ -0,0 +1,32 @@ +package cz.frantovo.sql.vyuka.dto; + +/** + * Uživatel u webu. + * @author fiki + */ +public class Uzivatel { + + private String idSezeni; + private String ipAdresa; + + public Uzivatel(String idSezeni, String ipAdresa) { + this.idSezeni = idSezeni; + this.ipAdresa = ipAdresa; + } + + public String getIdSezeni() { + return idSezeni; + } + + public void setIdSezeni(String idSezeni) { + this.idSezeni = idSezeni; + } + + public String getIpAdresa() { + return ipAdresa; + } + + public void setIpAdresa(String ipAdresa) { + this.ipAdresa = ipAdresa; + } +} diff -r 1b10a6565e8c -r 96e711f3ef48 java/sql-vyuka/web/historie.html --- a/java/sql-vyuka/web/historie.html Fri May 29 00:13:11 2009 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,26 +0,0 @@ -
- - - - - - - - - - - - - - - - - - - - - -
KdySQL příkaz
2008-05-24 16:00:08SELECT * FROM tabulka WHERE id = 123;
2008-05-24 15:55:10SELECT * FROM tabulka WHERE id = 123 ORDER BY datum DESC;
2008-05-24 15:51:28SELECT *
FROM tabulka
JOIN druha_tabulka USING (email)
WHERE id = 8;
-

Toto je historie provedených SQL příkazů.

-

„Nějaký pěkný tip, citát, nebo odkaz na stránku.“

-
\ No newline at end of file diff -r 1b10a6565e8c -r 96e711f3ef48 java/sql-vyuka/web/vysledek.html --- a/java/sql-vyuka/web/vysledek.html Fri May 29 00:13:11 2009 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,90 +0,0 @@ -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Sloupeček 1Sloupeček 2Sloupeček 3Sloupeček 4
Hodnota 1Hodnota 2Hodnota 31234,56
Hodnota 1Hodnota 2Hodnota 31234,56
Hodnota 1Hodnota 2Hodnota 31234,56
Hodnota 1Hodnota 2Hodnota 31234,56
Hodnota 1Hodnota 2Hodnota 31234,56
Hodnota 1Hodnota 2Hodnota 31234,56
Hodnota 1Hodnota 2Hodnota 31234,56
Hodnota 1Hodnota 2Hodnota 31234,56
Hodnota 1Hodnota 2Hodnota 31234,56
Hodnota 1Hodnota 2Hodnota 31234,56
Hodnota 1Hodnota 2Hodnota 31234,56
Hodnota 1Hodnota 2Hodnota 31234,56
-

Ahoj. Právě jsi zmáčknul tlačítko „Vykonat SQL“ :-)

-

Tohle se zobrazí při varování.

-

A tohle, když se něco nepovede.

-

„Nějaký pěkný tip, citát, nebo odkaz na stránku.“

-
\ No newline at end of file