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