# HG changeset patch # User František Kučera # Date 1234614758 -3600 # Node ID 2bc6c427894d44e707a179e7aa935e2de2e11cb6 # Parent 90dc76051e5675484978989ad3c42b01478afa2c Denní souhr načítáme z databáze. diff -r 90dc76051e56 -r 2bc6c427894d java/HrisniciSpameri/src/java/cz/frantovo/hrisniciSpameri/DenniSouhrn.java --- a/java/HrisniciSpameri/src/java/cz/frantovo/hrisniciSpameri/DenniSouhrn.java Fri Feb 13 00:26:59 2009 +0100 +++ b/java/HrisniciSpameri/src/java/cz/frantovo/hrisniciSpameri/DenniSouhrn.java Sat Feb 14 13:32:38 2009 +0100 @@ -1,6 +1,7 @@ package cz.frantovo.hrisniciSpameri; import cz.frantovo.hrisniciSpameri.dao.CilDAO; +import cz.frantovo.hrisniciSpameri.dao.SouhrnDAO; import cz.frantovo.hrisniciSpameri.dto.Cil; import cz.frantovo.hrisniciSpameri.dto.SitovaAdresa; import cz.frantovo.hrisniciSpameri.dto.Souhrn; @@ -95,13 +96,12 @@ } public Collection getSouhrn() { - Collection souhrn = new ArrayList(); + Collection souhrn = new SouhrnDAO().getSouhrn(den, null, cil); - Cil c = new Cil(1, "Frantovo.cz", "http://frantovo.cz/blog/", null, null); - - for (int i = 1; i < 11; i++) { - Souhrn s = new Souhrn(getVychoziDen(), new SitovaAdresa("10.0.0.8", i + ".frantovo.cz"), 100 + i, c); - souhrn.add(s); + /** ne všechno musíme posílat do JSP vrstvy */ + for (Souhrn s : souhrn) { + s.getCil().setDatabaze(null); + s.getCil().setSelekt(null); } return souhrn; diff -r 90dc76051e56 -r 2bc6c427894d java/HrisniciSpameri/src/java/cz/frantovo/hrisniciSpameri/dao/SouhrnDAO.java --- a/java/HrisniciSpameri/src/java/cz/frantovo/hrisniciSpameri/dao/SouhrnDAO.java Fri Feb 13 00:26:59 2009 +0100 +++ b/java/HrisniciSpameri/src/java/cz/frantovo/hrisniciSpameri/dao/SouhrnDAO.java Sat Feb 14 13:32:38 2009 +0100 @@ -1,9 +1,94 @@ package cz.frantovo.hrisniciSpameri.dao; +import cz.frantovo.hrisniciSpameri.dto.Cil; +import cz.frantovo.hrisniciSpameri.dto.SitovaAdresa; +import cz.frantovo.hrisniciSpameri.dto.Souhrn; +import java.sql.Connection; +import java.sql.Date; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.util.ArrayList; +import java.util.Collection; +import java.util.logging.Level; + /** * * @author fiki */ public class SouhrnDAO extends HrisniciSuperDAO { - + + private enum SQL { + + DENNI_SOUHRN, + DENNI_SOUHRN_CIL, + SOUHRN_ZA_OBDOBI, + SOUHRN_ZA_OBDOBI_CIL + } + + /** + * Získá z databáze souhrn útoků. Buď pro konkrétní den nebo pro dané období. + * @param zacatek začátek období nebo konkrétní den + * @param konec konec období nebo null (pokud nás zajímá konkrétní den) + * @param cil id cíle nebo nula, pokud chceme všechny cíle + * @return seznam útoků + */ + public Collection getSouhrn(Date zacatek, Date konec, int cil) { + Collection souhrn = new ArrayList(); + + Connection db = getSpojeni(null); + if (db == null) { + return null; + } else { + PreparedStatement ps = null; + ResultSet rs = null; + try { + if (konec == null) { + if (cil == 0) { + ps = db.prepareStatement(getSQL(SQL.DENNI_SOUHRN)); + ps.setDate(1, zacatek); + } else { + ps = db.prepareStatement(getSQL(SQL.DENNI_SOUHRN_CIL)); + ps.setDate(1, zacatek); + ps.setInt(2, cil); + } + } else { + if (cil == 0) { + ps = db.prepareStatement(getSQL(SQL.SOUHRN_ZA_OBDOBI)); + ps.setDate(1, zacatek); + ps.setDate(2, konec); + } else { + ps = db.prepareStatement(getSQL(SQL.SOUHRN_ZA_OBDOBI_CIL)); + ps.setDate(1, zacatek); + ps.setDate(2, konec); + ps.setInt(3, cil); + } + } + + + rs = ps.executeQuery(); + while (rs.next()) { + Souhrn s = new Souhrn(); + s.setAdresa(new SitovaAdresa(rs.getString("ip"), rs.getString("domena"))); + s.setDen(rs.getDate("den")); + s.setPocet(rs.getInt("pocet")); + + Cil c = new Cil(); + c.setId(rs.getInt("id")); + c.setNazev(rs.getString("nazev")); + c.setUrl(rs.getString("url")); + c.setSelekt(rs.getString("selekt")); + c.setDatabaze(rs.getString("databaze")); + s.setCil(c); + + souhrn.add(s); + } + } catch (Exception e) { + log.log(Level.SEVERE, "Chyba při získávání souhrnu z databáze", e); + } finally { + zavri(db, ps, rs); + } + } + + return souhrn; + } } diff -r 90dc76051e56 -r 2bc6c427894d java/HrisniciSpameri/src/java/cz/frantovo/hrisniciSpameri/dao/SouhrnDAO.sql.xml --- a/java/HrisniciSpameri/src/java/cz/frantovo/hrisniciSpameri/dao/SouhrnDAO.sql.xml Fri Feb 13 00:26:59 2009 +0100 +++ b/java/HrisniciSpameri/src/java/cz/frantovo/hrisniciSpameri/dao/SouhrnDAO.sql.xml Sat Feb 14 13:32:38 2009 +0100 @@ -1,9 +1,43 @@ - + + + + + + + + + + \ No newline at end of file