diff -r 08480e8e1199 -r e3e2a3a4c36a java/HrisniciSpameri/src/java/cz/frantovo/hrisniciSpameri/DenniSouhrn.java --- a/java/HrisniciSpameri/src/java/cz/frantovo/hrisniciSpameri/DenniSouhrn.java Wed Feb 11 17:52:08 2009 +0100 +++ b/java/HrisniciSpameri/src/java/cz/frantovo/hrisniciSpameri/DenniSouhrn.java Wed Feb 11 19:36:28 2009 +0100 @@ -1,12 +1,85 @@ package cz.frantovo.hrisniciSpameri; +import cz.frantovo.hrisniciSpameri.dto.Cil; +import cz.frantovo.hrisniciSpameri.dto.Souhrn; import java.io.Serializable; +import java.net.InetAddress; +import java.net.UnknownHostException; +import java.sql.Date; +import java.text.DateFormat; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Collection; +import java.util.logging.Level; +import java.util.logging.Logger; /** - * Beana zprostředkovávající denní souhrn hříšníků + * Beana zprostředkovávající denní souhrn hříšníků. * @author fiki */ public class DenniSouhrn implements Serializable { private static final long serialVersionUID = 7932392366943861342L; + private static final Logger log = Logger.getLogger(DenniSouhrn.class.getName()); + private static final long DEN = 1000 * 60 * 60 * 24; + private static String formatDataVzor = "yyyy-mm-dd"; + public static DateFormat formatData = new SimpleDateFormat(formatDataVzor); + private Date den; + + public Date getDen() { + return den; + } + + public void setDen(Date den) { + if (den == null) { + nastavVychoziDen(); + } else { + this.den = den; + } + log.log(Level.INFO, "Den nastaven na: " + formatData.format(den)); + } + + public void setDen(String den) { + if (den == null || den.length() != formatDataVzor.length()) { + nastavVychoziDen(); + } + + try { + this.den = new Date(formatData.parse(den).getTime()); + } catch (ParseException e) { + log.log(Level.INFO, "Chybně zadané datum: " + den, e); + nastavVychoziDen(); + } + } + + /** + * Ve výchozím stavu zobrazujeme souhrn za předešlý den. + * @return včerejšek + */ + private static Date getVychoziDen() { + return new Date(System.currentTimeMillis() - DEN); + } + + private void nastavVychoziDen() { + log.log(Level.INFO, "Nastavuji den na výchozí hodnotu."); + setDen(getVychoziDen()); + } + + public Collection getSouhrn() { + Collection souhrn = new ArrayList(); + + Cil cil = new Cil(1, "Frantovo.cz", "http://frantovo.cz/blog/", null, null); + + for (int i = 1; i < 11; i++) { + try { + Souhrn s = new Souhrn(getVychoziDen(), InetAddress.getByName("127.0.0.1"), 100 + i, cil); + souhrn.add(s); + } catch (UnknownHostException e) { + log.log(Level.SEVERE, null, e); + } + } + + return souhrn; + } }