1 package cz.frantovo.hrisniciSpameri.dao;
3 import cz.frantovo.hrisniciSpameri.dto.Cil;
4 import cz.frantovo.hrisniciSpameri.dto.SitovaAdresa;
5 import cz.frantovo.hrisniciSpameri.dto.Souhrn;
6 import java.sql.Connection;
8 import java.sql.PreparedStatement;
9 import java.sql.ResultSet;
10 import java.util.ArrayList;
11 import java.util.Collection;
12 import java.util.logging.Level;
18 public class SouhrnDAO extends HrisniciSuperDAO {
28 private static final long DEN = 1000 * 60 * 60 * 24;
31 * Získá z databáze souhrn útoků. Buď pro konkrétní den nebo pro dané období.
32 * @param zacatek začátek období nebo konkrétní den
33 * @param konec konec období nebo null (pokud nás zajímá konkrétní den)
34 * @param cil id cíle nebo nula, pokud chceme všechny cíle
35 * @return seznam útoků
37 public Collection<Souhrn> getSouhrn(Date zacatek, Date konec, int cil) {
38 Collection<Souhrn> souhrn = new ArrayList<Souhrn>();
40 Connection db = getSpojeni(null);
44 PreparedStatement ps = null;
49 ps = db.prepareStatement(getSQL(SQL.DENNI_SOUHRN));
50 ps.setDate(1, zacatek);
52 ps = db.prepareStatement(getSQL(SQL.DENNI_SOUHRN_CIL));
53 ps.setDate(1, zacatek);
58 ps = db.prepareStatement(getSQL(SQL.SOUHRN_ZA_OBDOBI));
59 ps.setDate(1, zacatek);
62 ps = db.prepareStatement(getSQL(SQL.SOUHRN_ZA_OBDOBI_CIL));
63 ps.setDate(1, zacatek);
70 rs = ps.executeQuery();
72 Souhrn s = new Souhrn();
73 s.setAdresa(new SitovaAdresa(rs.getString("ip"), rs.getString("domena")));
74 s.setDen(rs.getDate("den"));
75 s.setPocet(rs.getInt("pocet"));
78 c.setId(rs.getInt("id"));
79 c.setNazev(rs.getString("nazev"));
80 c.setUrl(rs.getString("url"));
81 c.setSelekt(rs.getString("selekt"));
82 c.setDatabaze(rs.getString("databaze"));
87 } catch (Exception e) {
88 log.log(Level.SEVERE, "Chyba při získávání souhrnu z databáze", e);
98 * Ve výchozím stavu zobrazujeme souhrn za předešlý den.
101 public static Date getVychoziDen() {
102 return new Date(System.currentTimeMillis() - DEN);