java/HrisniciSpameri/src/java/cz/frantovo/hrisniciSpameri/DenniSouhrn.java
author František Kučera <franta-hg@frantovo.cz>
Wed Feb 11 22:25:09 2009 +0100 (2009-02-11)
changeset 6 38625daa449b
parent 5 62bddd9b51fb
child 20 90dc76051e56
permissions -rw-r--r--
Začali jsme používat SuperDAO
Umíme načítat data z databáze – zobrazujeme seznam cílů.
     1 package cz.frantovo.hrisniciSpameri;
     2 
     3 import cz.frantovo.hrisniciSpameri.dao.CilDAO;
     4 import cz.frantovo.hrisniciSpameri.dto.Cil;
     5 import cz.frantovo.hrisniciSpameri.dto.SitovaAdresa;
     6 import cz.frantovo.hrisniciSpameri.dto.Souhrn;
     7 import java.io.Serializable;
     8 import java.sql.Date;
     9 import java.text.DateFormat;
    10 import java.text.ParseException;
    11 import java.text.SimpleDateFormat;
    12 import java.util.ArrayList;
    13 import java.util.Collection;
    14 import java.util.logging.Level;
    15 import java.util.logging.Logger;
    16 
    17 /**
    18  * Beana zprostředkovávající denní souhrn hříšníků.
    19  * @author fiki
    20  */
    21 public class DenniSouhrn implements Serializable {
    22 
    23     private static final long serialVersionUID = 7932392366943861342L;
    24     private static final Logger log = Logger.getLogger(DenniSouhrn.class.getName());
    25     private static final long DEN = 1000 * 60 * 60 * 24;
    26     private static String formatDataVzor = "yyyy-mm-dd";
    27     public static DateFormat formatData = new SimpleDateFormat(formatDataVzor);
    28     private Date den;
    29 
    30     public Date getDen() {
    31         return den;
    32     }
    33 
    34     public void setDen(Date den) {
    35         if (den == null) {
    36             nastavVychoziDen();
    37         } else {
    38             this.den = den;
    39         }
    40         log.log(Level.INFO, "Den nastaven na: " + formatData.format(den));
    41     }
    42 
    43     public void setDen(String den) {
    44         if (den == null || den.length() != formatDataVzor.length()) {
    45             nastavVychoziDen();
    46         }
    47 
    48         try {
    49             this.den = new Date(formatData.parse(den).getTime());
    50         } catch (ParseException e) {
    51             log.log(Level.INFO, "Chybně zadané datum: " + den, e);
    52             nastavVychoziDen();
    53         }
    54     }
    55 
    56     /**
    57      * Ve výchozím stavu zobrazujeme souhrn za předešlý den.
    58      * @return včerejšek
    59      */
    60     private static Date getVychoziDen() {
    61         return new Date(System.currentTimeMillis() - DEN);
    62     }
    63 
    64     private void nastavVychoziDen() {
    65         log.log(Level.INFO, "Nastavuji den na výchozí hodnotu.");
    66         setDen(getVychoziDen());
    67     }
    68 
    69     public Collection<Souhrn> getSouhrn() {
    70         Collection<Souhrn> souhrn = new ArrayList<Souhrn>();
    71 
    72         Cil cil = new Cil(1, "Frantovo.cz", "http://frantovo.cz/blog/", null, null);
    73 
    74         for (int i = 1; i < 11; i++) {
    75             Souhrn s = new Souhrn(getVychoziDen(), new SitovaAdresa("10.0.0.8", i + ".frantovo.cz"), 100 + i, cil);
    76             souhrn.add(s);
    77         }
    78 
    79         return souhrn;
    80     }
    81 
    82     /**
    83      * @return Seznam všech cílů. Ale bez těchto hodnot: databáze a selekt.
    84      */
    85     public Collection<Cil> getSeznamCilu() {
    86         Collection<Cil> cile = new CilDAO().getCile();
    87 
    88         /** ne všechno musíme posílat do JSP vrstvy */
    89         for (Cil c : cile) {
    90             c.setDatabaze(null);
    91             c.setSelekt(null);
    92         }
    93 
    94         return cile;
    95     }
    96 }