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