java/HrisniciSpameri/src/java/cz/frantovo/hrisniciSpameri/DenniSouhrn.java
author František Kučera <franta-hg@frantovo.cz>
Sat, 14 Feb 2009 22:30:29 +0100
changeset 26 feb4c3774c42
parent 23 b22c06c8a55c
child 30 0ffc8c1b2b9c
permissions -rw-r--r--
Místo jednoho dne můžeme zadat období od-do. Pokud nezadáme konec, zobrazí se souhrn jen za jeden den – začátek
     1 package cz.frantovo.hrisniciSpameri;
     2 
     3 import cz.frantovo.hrisniciSpameri.dao.CilDAO;
     4 import cz.frantovo.hrisniciSpameri.dao.SouhrnDAO;
     5 import cz.frantovo.hrisniciSpameri.dto.Cil;
     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.Collection;
    13 import java.util.logging.Level;
    14 import java.util.logging.Logger;
    15 
    16 /**
    17  * Beana zprostředkovávající denní souhrn hříšníků.
    18  * @author fiki
    19  */
    20 public class DenniSouhrn implements Serializable {
    21 
    22     private static final long serialVersionUID = 7932392366943861342L;
    23     private static final Logger log = Logger.getLogger(DenniSouhrn.class.getName());
    24     private static String formatDataVzor = "yyyy-MM-dd";
    25     public static DateFormat formatData = new SimpleDateFormat(formatDataVzor);
    26     private Date zacatek;
    27     private Date konec;
    28     private int cil;
    29 
    30     public String getZacatekString() {
    31         return formatData.format(getZacatek());
    32     }
    33 
    34     public Date getZacatek() {
    35         if (zacatek == null) {
    36             nastavVychoziZacatek();
    37         }
    38         return zacatek;
    39     }
    40 
    41     public void setZacatek(Date zacatek) {
    42         if (zacatek == null) {
    43             nastavVychoziZacatek();
    44         } else {
    45             this.zacatek = zacatek;
    46         }
    47         log.log(Level.FINE, "Začátek nastaven na: " + formatData.format(zacatek));
    48     }
    49 
    50     public void setZacatekString(String zacatek) {
    51         if (zacatek == null) {
    52             nastavVychoziZacatek();
    53         }
    54 
    55         try {
    56             this.zacatek = new Date(formatData.parse(zacatek).getTime());
    57         } catch (ParseException e) {
    58             log.log(Level.FINE, "Chybně zadané datum – začátek: " + zacatek, e);
    59             nastavVychoziZacatek();
    60         }
    61     }
    62 
    63     public Date getKonec() {
    64         return konec;
    65     }
    66 
    67     public void setKonec(Date konec) {
    68         this.konec = konec;
    69     }
    70 
    71     public void setKonecString(String konec) {
    72         try {
    73             this.konec = new Date(formatData.parse(konec).getTime());
    74         } catch (Exception e) {
    75             /** konec může být null */
    76         }
    77     }
    78 
    79     public void setCilString(String cil) {
    80         try {
    81             this.cil = Integer.parseInt(cil);
    82         } catch (Exception e) {
    83             this.cil = 0;
    84         }
    85     }
    86 
    87     public void setCil(int cil) {
    88         this.cil = cil;
    89     }
    90 
    91     public String getCilString() {
    92         return String.valueOf(cil);
    93     }
    94 
    95     public int getCil() {
    96         return cil;
    97     }
    98 
    99     private void nastavVychoziZacatek() {
   100         log.log(Level.FINE, "Nastavuji začátek na výchozí hodnotu.");
   101         setZacatek(SouhrnDAO.getVychoziDen());
   102     }
   103 
   104     public Collection<Souhrn> getSouhrn() {
   105         Collection<Souhrn> souhrn = new SouhrnDAO().getSouhrn(zacatek, konec, cil);
   106 
   107         /** ne všechno musíme posílat do JSP vrstvy */
   108         for (Souhrn s : souhrn) {
   109             s.getCil().setDatabaze(null);
   110             s.getCil().setSelekt(null);
   111         }
   112 
   113         return souhrn;
   114     }
   115 
   116     /**
   117      * @return Seznam všech cílů. Ale bez těchto hodnot: databáze a selekt.
   118      */
   119     public Collection<Cil> getSeznamCilu() {
   120         Collection<Cil> cile = new CilDAO().getCile();
   121 
   122         /** ne všechno musíme posílat do JSP vrstvy */
   123         for (Cil c : cile) {
   124             c.setDatabaze(null);
   125             c.setSelekt(null);
   126         }
   127 
   128         return cile;
   129     }
   130 }