Advertisement
Guest User

Untitled

a guest
Nov 21st, 2019
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.01 KB | None | 0 0
  1. public class PosetilacManager {
  2.  
  3. public Posetilac savePosetilac(String ime, String prezime) {
  4. try {
  5. EntityManager em =JPAUtil.getEntityManager();
  6. Posetilac p = new Posetilac ();
  7. p.setIme(ime);
  8. p.setPrezime(prezime);
  9. em.getTransaction().begin();
  10. em.persist(p);
  11. em.getTransaction().commit();
  12. return p;
  13. }
  14. catch(Exception e) {
  15. e.printStackTrace();
  16. return null;
  17. }
  18. }
  19.  
  20. public Karta rezervacija(int idPosetioca, int idIzvodjenja, int idMesto) {
  21. try {
  22. EntityManager em =JPAUtil.getEntityManager();
  23. //da li je mesto vec zauzeto
  24.  
  25. List<Karta> karta = em.createQuery("select k from Karta k where k.mesto.idMesto=:idM and k.izvodjenje.idIzvodjenje=:idI", Karta.class)
  26. .setParameter("idM", idMesto).setParameter("idI", idIzvodjenja).getResultList();
  27. if(!karta.isEmpty())
  28. return null;
  29.  
  30. Karta k = new Karta();
  31. Posetilac p = em.find(Posetilac.class, idPosetioca);
  32. Izvodjenje i = em.find(Izvodjenje.class, idIzvodjenja);
  33. Mesto m = em.find(Mesto.class, idMesto);
  34.  
  35. k.setPosetilac(p);
  36. k.setIzvodjenje(i);
  37. k.setMesto(m);
  38. k.setDatumRezervacije(new Date());
  39.  
  40. em.getTransaction().begin();
  41. em.persist(k);
  42. em.getTransaction().commit();
  43. return k;
  44. }
  45. catch(Exception e) {
  46. e.printStackTrace();
  47. return null;
  48. }
  49. }
  50. public class PredstavaManager {
  51.  
  52. public List<Izvodjenje> vratiIzvodjenja(String naslov){
  53. EntityManager em = JPAUtil.getEntityManager();
  54. List<Izvodjenje> izvodjenja = em.createQuery("select i from Izvodjenje i where i.predstava.naziv like :naslovP", Izvodjenje.class).
  55. setParameter("naslovP", naslov).getResultList();
  56. return izvodjenja;
  57. }
  58.  
  59. public List<Predstava> vratiPredstaveGlumca(String ime, String prezime){
  60. EntityManager em = JPAUtil.getEntityManager();
  61. List<Predstava> predstave = em.createQuery("select p from Predstava p inner join p.ulogas g where "
  62. + "g.glumac.ime like :ime and g.glumac.prezime like :prezime", Predstava.class).
  63. setParameter("ime", ime).setParameter("prezime", prezime).getResultList();
  64. return predstave;
  65. }
  66.  
  67. public List<Date> prikaziDatumeIzvodjenjaPredstave(String naziv){
  68. EntityManager em = JPAUtil.getEntityManager();
  69. List<Date> datumi = em.createQuery("select i.datum from Izvodjenje i where i.predstava.naziv like :naziv",
  70. Date.class).setParameter("naziv", naziv).getResultList();
  71. return datumi;
  72. }
  73.  
  74. public List<Mesto> prikaziSlobodnaMesta(String nazivPredstave, Date datumIzvodjenja){
  75. EntityManager em = JPAUtil.getEntityManager();
  76. List<Mesto> mesta = em.createQuery("select m from Mesto m inner join m.scena.izvodjenjes i where i.predstava.naziv "
  77. + "like :naziv and i.datum = :datumIzv and "
  78. + "not exists (select k.mesto from Karta k where k.mesto=m and "
  79. + "k.izvodjenje=i)", Mesto.class)
  80. .setParameter("naziv", nazivPredstave)
  81. .setParameter("datumIzv", datumIzvodjenja)
  82. .getResultList();
  83. return mesta;
  84. }
  85.  
  86. public Glumac dodajGlumca(String ime, String prezime, String jmbg) {
  87. try {
  88. EntityManager em =JPAUtil.getEntityManager();
  89. Glumac g = new Glumac();
  90. g.setIme(ime);
  91. g.setPrezime(prezime);
  92. g.setJmbg(jmbg);
  93. em.getTransaction().begin();
  94. em.persist(g);
  95. em.getTransaction().commit();
  96. return g;
  97. }
  98. catch(Exception e) {
  99. e.printStackTrace();
  100. return null;
  101. }
  102. }
  103.  
  104. public Uloga sacuvajUlogu(String naziv, Integer idPredstave, Integer idGlumca) {
  105. try {
  106. EntityManager em =JPAUtil.getEntityManager();
  107. Uloga u = new Uloga();
  108. Predstava p = em.find(Predstava.class, idPredstave);
  109. Glumac gl = em.find(Glumac.class, idGlumca);
  110. u.setNaziv(naziv);
  111. u.setGlumac(gl);
  112. u.setPredstava(p);
  113. em.getTransaction().begin();
  114. em.persist(u);
  115. em.getTransaction().commit();
  116. return u;
  117. }
  118. catch(Exception e) {
  119. e.printStackTrace();
  120. return null;
  121. }
  122. }
  123.  
  124. public List<Predstava> getSvePredstave() {
  125. EntityManager em = JPAUtil.getEntityManager();
  126. List<Predstava> predstave = em.createQuery("from Predstava p", Predstava.class).getResultList();
  127. return predstave;
  128. }
  129.  
  130. public List<Izvodjenje> prikazipredstojecaIzvodjenjaPredstave(String naziv){
  131. EntityManager em = JPAUtil.getEntityManager();
  132. Date danas = new Date();
  133. List<Izvodjenje> izvodjenja = em.createQuery("select i from Izvodjenje i where i.predstava.naziv like :naziv"
  134. + " and i.datum > :d",
  135. Izvodjenje.class).setParameter("naziv", naziv)
  136. .setParameter("d", danas).getResultList();
  137. return izvodjenja;
  138. }
  139.  
  140. public static void main(String[] args) {
  141. PredstavaManager pm = new PredstavaManager();
  142. //2.
  143. List<Izvodjenje> izvodjenja = pm.vratiIzvodjenja("Laza i paralaza");
  144. System.out.println("Izvodjenja za predstavu sa naslovom Laza i paralaza:");
  145. for(Izvodjenje i:izvodjenja) {
  146. System.out.println("datum: "+i.getDatum()+", scena: "+i.getScena().getNaziv());
  147. }
  148.  
  149. //3.
  150. List<Predstava> predstave = pm.vratiPredstaveGlumca("Mirjana", "Miric");
  151. System.out.println("Predstave Mirjane Miric: ");
  152. for(Predstava p:predstave) {
  153. System.out.println("Naziv:"+p.getNaziv()+", trajanje: "+p.getTrajanje()+", "
  154. + "zanr: "+p.getZanr().getNaziv()+", reziser: "+p.getReziser().getIme()+" "+p.getReziser().getPrezime());
  155. }
  156. try {
  157. List<Date> datumi = pm.prikaziDatumeIzvodjenjaPredstave("Laza i paralaza");
  158. System.out.println("Datumi izvodjenja predstave Laza i paralaza su: ");
  159. for(Date d:datumi)
  160. System.out.println(d);
  161.  
  162. //SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
  163. //Date datum = sdf.parse("2019-03-10");
  164. if(datumi.size()>0) {
  165. List<Mesto> slobodnaMesta = pm.prikaziSlobodnaMesta("Laza i paralaza", datumi.get(0));
  166. System.out.println("Prikaz slobodnih mesta za predstavu Laza i paralaza, dana "+datumi.get(0)+":");
  167. for(Mesto m:slobodnaMesta)
  168. System.out.println(m.getBroj()+", red "+m.getRed()+",sekcija "+m.getSekcija());
  169. }
  170. }
  171. catch (Exception e) {
  172. e.printStackTrace();
  173. }
  174. Glumac g = pm.dodajGlumca("Misa", "Misic", "1111222211111");
  175. if(g!=null) {
  176. System.out.println("Glumac je uspesno sacuvan, id je "+g.getIdGlumac());
  177. Uloga u =pm.sacuvajUlogu("abc", 2, g.getIdGlumac());
  178. if(u!=null)
  179. System.out.println("Uloga je uspesno sacuvana. Id je "+u.getIdUloga());
  180. }
  181.  
  182. }
  183.  
  184. public List<Mesto> getSlobodnaMesta(Integer idIzvodjenje) {
  185. EntityManager em = JPAUtil.getEntityManager();
  186. String upit = "select m from Mesto m inner join m.scena.izvodjenjes i "
  187. + "where i.idIzvodjenje=:idI and not exists"
  188. + "(select k from Karta k where k.izvodjenje.idIzvodjenje = :idI and "
  189. + "k.mesto=m)";
  190. List<Mesto> mesta = em.createQuery(upit, Mesto.class).setParameter("idI", idIzvodjenje).getResultList();
  191. return mesta;
  192. }
  193.  
  194. public List<Mesto> getSlobodnaMesta1(Integer idIzvodjenje) {
  195. EntityManager em = JPAUtil.getEntityManager();
  196. Izvodjenje i = em.find(Izvodjenje.class, idIzvodjenje);
  197. String upit = "select m from Mesto m "
  198. + "where m.scena.idScena = :idSc and m not in "
  199. + "(select k.mesto from Karta k where "
  200. + "k.izvodjenje=:i)";
  201. List<Mesto> mesta = em.createQuery(upit, Mesto.class).setParameter("idSc", i.getScena().getIdScena()).setParameter("i", i).getResultList();
  202. return mesta;
  203. }
  204.  
  205. public List<Zanr> getSviZanrovi(){
  206. EntityManager em = JPAUtil.getEntityManager();
  207. List<Zanr> sviZanrovi = em.createQuery("select z from Zanr z", Zanr.class).getResultList();
  208. return sviZanrovi;
  209. }
  210.  
  211. public List<Predstava> getPredstaveZanra(Integer idZanr){
  212. EntityManager em = JPAUtil.getEntityManager();
  213. List<Predstava> svePredstave = em.createQuery("select p from Predstava p"
  214. + " where p.zanr.idZanr=:id", Predstava.class)
  215. .setParameter("id", idZanr).getResultList();
  216. return svePredstave;
  217. }
  218.  
  219. public List<Uloga> getUlogePredstave(Integer idPredstava){
  220. EntityManager em = JPAUtil.getEntityManager();
  221. List<Uloga> uloge = em.createQuery("select u from Uloga u"
  222. + " where u.predstava.idPredstava=:id", Uloga.class)
  223. .setParameter("id", idPredstava).getResultList();
  224. return uloge;
  225. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement