java/nekurak.net-ejb/src/java/cz/frantovo/nekurak/dao/PodnikDAO.java
changeset 145 0efefbf5f8b6
parent 134 4bd1e353c527
child 164 e146e2e3b80b
     1.1 --- a/java/nekurak.net-ejb/src/java/cz/frantovo/nekurak/dao/PodnikDAO.java	Tue Jun 08 14:42:00 2010 +0200
     1.2 +++ b/java/nekurak.net-ejb/src/java/cz/frantovo/nekurak/dao/PodnikDAO.java	Sun Jun 20 14:46:47 2010 +0200
     1.3 @@ -21,85 +21,85 @@
     1.4  @LocalBean
     1.5  public class PodnikDAO extends SuperDAO {
     1.6  
     1.7 -    @PersistenceContext(unitName = DAO.PU)
     1.8 -    private EntityManager em;
     1.9 +	@PersistenceContext(unitName = DAO.PU)
    1.10 +	private EntityManager em;
    1.11  
    1.12 -    private enum SQL {
    1.13 +	private enum SQL {
    1.14  
    1.15 -	HLASOVANI_INSERT,
    1.16 -	HLASOVANI_SELECT
    1.17 -    }
    1.18 -
    1.19 -    public Collection<Podnik> getPodniky() {
    1.20 -	Query dotaz = em.createQuery("FROM " + DAO.t(Podnik.class) + " o ORDER BY datum DESC");
    1.21 -	return dotaz.getResultList();
    1.22 -    }
    1.23 -
    1.24 -    /**
    1.25 -     * @return podniky, které nemají souřadnice (null, null)
    1.26 -     */
    1.27 -    public Collection<Podnik> getPodnikyBezSouradnic() {
    1.28 -	Query dotaz = em.createQuery("FROM " + DAO.t(Podnik.class) + " o WHERE sirka IS NULL AND delka IS NULL");
    1.29 -	return dotaz.getResultList();
    1.30 -    }
    1.31 -
    1.32 -    public Podnik getPodnik(int id) {
    1.33 -	return em.find(Podnik.class, id);
    1.34 -    }
    1.35 -
    1.36 -    public void zaloz(Podnik p) {
    1.37 -	if (p.getDatum() == null) {
    1.38 -	    p.setDatum(new Date());
    1.39 +		HLASOVANI_INSERT,
    1.40 +		HLASOVANI_SELECT
    1.41  	}
    1.42  
    1.43 -	em.persist(p);
    1.44 -    }
    1.45 -
    1.46 -    public void uloz(Podnik p) {
    1.47 -	if (p.getDatum() == null) {
    1.48 -	    p.setDatum(new Date());
    1.49 +	public Collection<Podnik> getPodniky() {
    1.50 +		Query dotaz = em.createQuery("FROM " + DAO.t(Podnik.class) + " o ORDER BY datum DESC");
    1.51 +		return dotaz.getResultList();
    1.52  	}
    1.53  
    1.54 -	em.merge(p);
    1.55 -    }
    1.56 -
    1.57 -    public void zaloz(Komentar k) {
    1.58 -	if (k.getDatum() == null) {
    1.59 -	    k.setDatum(new Date());
    1.60 -	}
    1.61 -	
    1.62 -	em.persist(k);
    1.63 -    }
    1.64 -
    1.65 -    /**
    1.66 -     * Zaznamená hlas uživatele, zda se v podniku má nebo nemá kouřit
    1.67 -     * @param podnik podnik o kterém se hlasuje
    1.68 -     * @param hlas true = kouřit | false = nekouřit
    1.69 -     * @param ipAdresa identifikujeme pomocí ní uživatele
    1.70 -     */
    1.71 -    public void hlasuj(int podnik, boolean hlas, String ipAdresa) {
    1.72 -	Query insert = em.createNativeQuery(getSQL(SQL.HLASOVANI_INSERT));
    1.73 -	insert.setParameter("podnik", podnik);
    1.74 -	insert.setParameter("hlas", hlas);
    1.75 -	insert.setParameter("ip_adresa", ipAdresa);
    1.76 -	insert.executeUpdate();
    1.77 -    }
    1.78 -
    1.79 -    public VysledekHlasovani getVysledekHlasovani(int podnik) {
    1.80 -	VysledekHlasovani vysledek = new VysledekHlasovani();
    1.81 -	Query select = em.createNativeQuery(getSQL(SQL.HLASOVANI_SELECT));
    1.82 -	select.setParameter("podnik", podnik);
    1.83 -	List<Object[]> vysledekDotazu = select.getResultList();
    1.84 -
    1.85 -	for (Object[] radek : vysledekDotazu) {
    1.86 -	    /** Transponujeme výsledek dotazu */
    1.87 -	    if ((Boolean) radek[0]) {
    1.88 -		vysledek.setHlasuAno((Integer) radek[1]);
    1.89 -	    } else {
    1.90 -		vysledek.setHlasuNe((Integer) radek[1]);
    1.91 -	    }
    1.92 +	/**
    1.93 +	 * @return podniky, které nemají souřadnice (null, null)
    1.94 +	 */
    1.95 +	public Collection<Podnik> getPodnikyBezSouradnic() {
    1.96 +		Query dotaz = em.createQuery("FROM " + DAO.t(Podnik.class) + " o WHERE sirka IS NULL AND delka IS NULL");
    1.97 +		return dotaz.getResultList();
    1.98  	}
    1.99  
   1.100 -	return vysledek;
   1.101 -    }
   1.102 +	public Podnik getPodnik(int id) {
   1.103 +		return em.find(Podnik.class, id);
   1.104 +	}
   1.105 +
   1.106 +	public void zaloz(Podnik p) {
   1.107 +		if (p.getDatum() == null) {
   1.108 +			p.setDatum(new Date());
   1.109 +		}
   1.110 +
   1.111 +		em.persist(p);
   1.112 +	}
   1.113 +
   1.114 +	public void uloz(Podnik p) {
   1.115 +		if (p.getDatum() == null) {
   1.116 +			p.setDatum(new Date());
   1.117 +		}
   1.118 +
   1.119 +		em.merge(p);
   1.120 +	}
   1.121 +
   1.122 +	public void zaloz(Komentar k) {
   1.123 +		if (k.getDatum() == null) {
   1.124 +			k.setDatum(new Date());
   1.125 +		}
   1.126 +
   1.127 +		em.persist(k);
   1.128 +	}
   1.129 +
   1.130 +	/**
   1.131 +	 * Zaznamená hlas uživatele, zda se v podniku má nebo nemá kouřit
   1.132 +	 * @param podnik podnik o kterém se hlasuje
   1.133 +	 * @param hlas true = kouřit | false = nekouřit
   1.134 +	 * @param ipAdresa identifikujeme pomocí ní uživatele
   1.135 +	 */
   1.136 +	public void hlasuj(int podnik, boolean hlas, String ipAdresa) {
   1.137 +		Query insert = em.createNativeQuery(getSQL(SQL.HLASOVANI_INSERT));
   1.138 +		insert.setParameter("podnik", podnik);
   1.139 +		insert.setParameter("hlas", hlas);
   1.140 +		insert.setParameter("ip_adresa", ipAdresa);
   1.141 +		insert.executeUpdate();
   1.142 +	}
   1.143 +
   1.144 +	public VysledekHlasovani getVysledekHlasovani(int podnik) {
   1.145 +		VysledekHlasovani vysledek = new VysledekHlasovani();
   1.146 +		Query select = em.createNativeQuery(getSQL(SQL.HLASOVANI_SELECT));
   1.147 +		select.setParameter("podnik", podnik);
   1.148 +		List<Object[]> vysledekDotazu = select.getResultList();
   1.149 +
   1.150 +		for (Object[] radek : vysledekDotazu) {
   1.151 +			/** Transponujeme výsledek dotazu */
   1.152 +			if ((Boolean) radek[0]) {
   1.153 +				vysledek.setHlasuAno((Integer) radek[1]);
   1.154 +			} else {
   1.155 +				vysledek.setHlasuNe((Integer) radek[1]);
   1.156 +			}
   1.157 +		}
   1.158 +
   1.159 +		return vysledek;
   1.160 +	}
   1.161  }