1.1 --- a/java/HrisniciSpameri/src/java/cz/frantovo/hrisniciSpameri/DenniSouhrn.java Wed Feb 11 17:52:08 2009 +0100
1.2 +++ b/java/HrisniciSpameri/src/java/cz/frantovo/hrisniciSpameri/DenniSouhrn.java Wed Feb 11 19:36:28 2009 +0100
1.3 @@ -1,12 +1,85 @@
1.4 package cz.frantovo.hrisniciSpameri;
1.5
1.6 +import cz.frantovo.hrisniciSpameri.dto.Cil;
1.7 +import cz.frantovo.hrisniciSpameri.dto.Souhrn;
1.8 import java.io.Serializable;
1.9 +import java.net.InetAddress;
1.10 +import java.net.UnknownHostException;
1.11 +import java.sql.Date;
1.12 +import java.text.DateFormat;
1.13 +import java.text.ParseException;
1.14 +import java.text.SimpleDateFormat;
1.15 +import java.util.ArrayList;
1.16 +import java.util.Collection;
1.17 +import java.util.logging.Level;
1.18 +import java.util.logging.Logger;
1.19
1.20 /**
1.21 - * Beana zprostředkovávající denní souhrn hříšníků
1.22 + * Beana zprostředkovávající denní souhrn hříšníků.
1.23 * @author fiki
1.24 */
1.25 public class DenniSouhrn implements Serializable {
1.26
1.27 private static final long serialVersionUID = 7932392366943861342L;
1.28 + private static final Logger log = Logger.getLogger(DenniSouhrn.class.getName());
1.29 + private static final long DEN = 1000 * 60 * 60 * 24;
1.30 + private static String formatDataVzor = "yyyy-mm-dd";
1.31 + public static DateFormat formatData = new SimpleDateFormat(formatDataVzor);
1.32 + private Date den;
1.33 +
1.34 + public Date getDen() {
1.35 + return den;
1.36 + }
1.37 +
1.38 + public void setDen(Date den) {
1.39 + if (den == null) {
1.40 + nastavVychoziDen();
1.41 + } else {
1.42 + this.den = den;
1.43 + }
1.44 + log.log(Level.INFO, "Den nastaven na: " + formatData.format(den));
1.45 + }
1.46 +
1.47 + public void setDen(String den) {
1.48 + if (den == null || den.length() != formatDataVzor.length()) {
1.49 + nastavVychoziDen();
1.50 + }
1.51 +
1.52 + try {
1.53 + this.den = new Date(formatData.parse(den).getTime());
1.54 + } catch (ParseException e) {
1.55 + log.log(Level.INFO, "Chybně zadané datum: " + den, e);
1.56 + nastavVychoziDen();
1.57 + }
1.58 + }
1.59 +
1.60 + /**
1.61 + * Ve výchozím stavu zobrazujeme souhrn za předešlý den.
1.62 + * @return včerejšek
1.63 + */
1.64 + private static Date getVychoziDen() {
1.65 + return new Date(System.currentTimeMillis() - DEN);
1.66 + }
1.67 +
1.68 + private void nastavVychoziDen() {
1.69 + log.log(Level.INFO, "Nastavuji den na výchozí hodnotu.");
1.70 + setDen(getVychoziDen());
1.71 + }
1.72 +
1.73 + public Collection<Souhrn> getSouhrn() {
1.74 + Collection<Souhrn> souhrn = new ArrayList<Souhrn>();
1.75 +
1.76 + Cil cil = new Cil(1, "Frantovo.cz", "http://frantovo.cz/blog/", null, null);
1.77 +
1.78 + for (int i = 1; i < 11; i++) {
1.79 + try {
1.80 + Souhrn s = new Souhrn(getVychoziDen(), InetAddress.getByName("127.0.0.1"), 100 + i, cil);
1.81 + souhrn.add(s);
1.82 + } catch (UnknownHostException e) {
1.83 + log.log(Level.SEVERE, null, e);
1.84 + }
1.85 + }
1.86 +
1.87 + return souhrn;
1.88 + }
1.89 }