1 package cz.frantovo.hrisniciSpameri;
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;
9 import java.text.DateFormat;
10 import java.text.ParseException;
11 import java.text.SimpleDateFormat;
12 import java.util.Calendar;
13 import java.util.Collection;
14 import java.util.logging.Level;
15 import java.util.logging.Logger;
18 * Beana zprostředkovávající denní souhrn hříšníků.
21 public class DenniSouhrn implements Serializable {
23 private static final long serialVersionUID = 7932392366943861342L;
24 private static final Logger log = Logger.getLogger(DenniSouhrn.class.getName());
25 private static String formatDataVzor = "yyyy-MM-dd";
26 public static DateFormat formatData = new SimpleDateFormat(formatDataVzor);
31 public String getZacatekString() {
32 return formatData.format(getZacatek());
35 public Date getZacatek() {
36 if (zacatek == null) {
37 nastavVychoziZacatek();
42 public void setZacatek(Date zacatek) {
43 if (zacatek == null) {
44 nastavVychoziZacatek();
46 this.zacatek = zacatek;
48 log.log(Level.FINE, "Začátek nastaven na: " + formatData.format(zacatek));
51 public void setZacatekString(String zacatek) {
52 if (zacatek == null) {
53 nastavVychoziZacatek();
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();
64 public Date getKonec() {
71 public void setKonec(Date konec) {
77 log.log(Level.FINE, "Konec nastaven na: " + formatData.format(zacatek));
80 public void setKonecString(String konec) {
85 this.konec = new Date(formatData.parse(konec).getTime());
86 } catch (Exception e) {
92 public void setCilString(String cil) {
94 this.cil = Integer.parseInt(cil);
95 } catch (Exception e) {
100 public void setCil(int cil) {
104 public String getCilString() {
105 return String.valueOf(cil);
108 public int getCil() {
112 private void nastavVychoziZacatek() {
113 log.log(Level.FINE, "Nastavuji začátek na výchozí hodnotu.");
114 setZacatek(getVychoziZacatek());
117 private void nastavVychoziKonec() {
118 log.log(Level.FINE, "Nastavuji konec na výchozí hodnotu.");
119 setKonec(getVychoziKonec());
122 public Collection<Souhrn> getSouhrn() {
123 Collection<Souhrn> souhrn = new SouhrnDAO().getSouhrn(zacatek, konec, cil);
125 /** ne všechno musíme posílat do JSP vrstvy */
126 for (Souhrn s : souhrn) {
127 s.getCil().setDatabaze(null);
128 s.getCil().setSelekt(null);
135 * @return Seznam všech cílů. Ale bez těchto hodnot: databáze a selekt.
137 public Collection<Cil> getSeznamCilu() {
138 Collection<Cil> cile = new CilDAO().getCile();
140 /** ne všechno musíme posílat do JSP vrstvy */
150 * @return Výchozí začátek je před měsícem
152 private static Date getVychoziZacatek() {
153 Calendar c = Calendar.getInstance();
154 c.add(Calendar.MONTH, -1);
155 return new Date(c.getTimeInMillis());
159 * @return Výchozí konec je současnost
161 private static Date getVychoziKonec() {
162 return new Date(System.currentTimeMillis());