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 }