java/HrisniciSpameri/src/java/cz/frantovo/hrisniciSpameri/DenniSouhrn.java
author František Kučera <franta-hg@frantovo.cz>
Wed Feb 11 19:36:28 2009 +0100 (2009-02-11)
changeset 4 e3e2a3a4c36a
parent 3 08480e8e1199
child 5 62bddd9b51fb
permissions -rw-r--r--
Zobrazování, zatím vycpávkového, denního souhrnu.
franta-hg@3
     1
package cz.frantovo.hrisniciSpameri;
franta-hg@3
     2
franta-hg@4
     3
import cz.frantovo.hrisniciSpameri.dto.Cil;
franta-hg@4
     4
import cz.frantovo.hrisniciSpameri.dto.Souhrn;
franta-hg@3
     5
import java.io.Serializable;
franta-hg@4
     6
import java.net.InetAddress;
franta-hg@4
     7
import java.net.UnknownHostException;
franta-hg@4
     8
import java.sql.Date;
franta-hg@4
     9
import java.text.DateFormat;
franta-hg@4
    10
import java.text.ParseException;
franta-hg@4
    11
import java.text.SimpleDateFormat;
franta-hg@4
    12
import java.util.ArrayList;
franta-hg@4
    13
import java.util.Collection;
franta-hg@4
    14
import java.util.logging.Level;
franta-hg@4
    15
import java.util.logging.Logger;
franta-hg@3
    16
franta-hg@3
    17
/**
franta-hg@4
    18
 * Beana zprostředkovávající denní souhrn hříšníků.
franta-hg@3
    19
 * @author fiki
franta-hg@3
    20
 */
franta-hg@3
    21
public class DenniSouhrn implements Serializable {
franta-hg@3
    22
franta-hg@3
    23
    private static final long serialVersionUID = 7932392366943861342L;
franta-hg@4
    24
    private static final Logger log = Logger.getLogger(DenniSouhrn.class.getName());
franta-hg@4
    25
    private static final long DEN = 1000 * 60 * 60 * 24;
franta-hg@4
    26
    private static String formatDataVzor = "yyyy-mm-dd";
franta-hg@4
    27
    public static DateFormat formatData = new SimpleDateFormat(formatDataVzor);
franta-hg@4
    28
    private Date den;
franta-hg@4
    29
franta-hg@4
    30
    public Date getDen() {
franta-hg@4
    31
        return den;
franta-hg@4
    32
    }
franta-hg@4
    33
franta-hg@4
    34
    public void setDen(Date den) {
franta-hg@4
    35
        if (den == null) {
franta-hg@4
    36
            nastavVychoziDen();
franta-hg@4
    37
        } else {
franta-hg@4
    38
            this.den = den;
franta-hg@4
    39
        }
franta-hg@4
    40
        log.log(Level.INFO, "Den nastaven na: " + formatData.format(den));
franta-hg@4
    41
    }
franta-hg@4
    42
franta-hg@4
    43
    public void setDen(String den) {
franta-hg@4
    44
        if (den == null || den.length() != formatDataVzor.length()) {
franta-hg@4
    45
            nastavVychoziDen();
franta-hg@4
    46
        }
franta-hg@4
    47
franta-hg@4
    48
        try {
franta-hg@4
    49
            this.den = new Date(formatData.parse(den).getTime());
franta-hg@4
    50
        } catch (ParseException e) {
franta-hg@4
    51
            log.log(Level.INFO, "Chybně zadané datum: " + den, e);
franta-hg@4
    52
            nastavVychoziDen();
franta-hg@4
    53
        }
franta-hg@4
    54
    }
franta-hg@4
    55
franta-hg@4
    56
    /**
franta-hg@4
    57
     * Ve výchozím stavu zobrazujeme souhrn za předešlý den.
franta-hg@4
    58
     * @return včerejšek
franta-hg@4
    59
     */
franta-hg@4
    60
    private static Date getVychoziDen() {
franta-hg@4
    61
        return new Date(System.currentTimeMillis() - DEN);
franta-hg@4
    62
    }
franta-hg@4
    63
franta-hg@4
    64
    private void nastavVychoziDen() {
franta-hg@4
    65
        log.log(Level.INFO, "Nastavuji den na výchozí hodnotu.");
franta-hg@4
    66
        setDen(getVychoziDen());
franta-hg@4
    67
    }
franta-hg@4
    68
franta-hg@4
    69
    public Collection<Souhrn> getSouhrn() {
franta-hg@4
    70
        Collection<Souhrn> souhrn = new ArrayList<Souhrn>();
franta-hg@4
    71
franta-hg@4
    72
        Cil cil = new Cil(1, "Frantovo.cz", "http://frantovo.cz/blog/", null, null);
franta-hg@4
    73
franta-hg@4
    74
        for (int i = 1; i < 11; i++) {
franta-hg@4
    75
            try {
franta-hg@4
    76
                Souhrn s = new Souhrn(getVychoziDen(), InetAddress.getByName("127.0.0.1"), 100 + i, cil);
franta-hg@4
    77
                souhrn.add(s);
franta-hg@4
    78
            } catch (UnknownHostException e) {
franta-hg@4
    79
                log.log(Level.SEVERE, null, e);
franta-hg@4
    80
            }
franta-hg@4
    81
        }
franta-hg@4
    82
franta-hg@4
    83
        return souhrn;
franta-hg@4
    84
    }
franta-hg@3
    85
}