Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class PosetilacManager {
- public Posetilac savePosetilac(String ime, String prezime) {
- try {
- EntityManager em =JPAUtil.getEntityManager();
- Posetilac p = new Posetilac ();
- p.setIme(ime);
- p.setPrezime(prezime);
- em.getTransaction().begin();
- em.persist(p);
- em.getTransaction().commit();
- return p;
- }
- catch(Exception e) {
- e.printStackTrace();
- return null;
- }
- }
- public Karta rezervacija(int idPosetioca, int idIzvodjenja, int idMesto) {
- try {
- EntityManager em =JPAUtil.getEntityManager();
- //da li je mesto vec zauzeto
- List<Karta> karta = em.createQuery("select k from Karta k where k.mesto.idMesto=:idM and k.izvodjenje.idIzvodjenje=:idI", Karta.class)
- .setParameter("idM", idMesto).setParameter("idI", idIzvodjenja).getResultList();
- if(!karta.isEmpty())
- return null;
- Karta k = new Karta();
- Posetilac p = em.find(Posetilac.class, idPosetioca);
- Izvodjenje i = em.find(Izvodjenje.class, idIzvodjenja);
- Mesto m = em.find(Mesto.class, idMesto);
- k.setPosetilac(p);
- k.setIzvodjenje(i);
- k.setMesto(m);
- k.setDatumRezervacije(new Date());
- em.getTransaction().begin();
- em.persist(k);
- em.getTransaction().commit();
- return k;
- }
- catch(Exception e) {
- e.printStackTrace();
- return null;
- }
- }
- public class PredstavaManager {
- public List<Izvodjenje> vratiIzvodjenja(String naslov){
- EntityManager em = JPAUtil.getEntityManager();
- List<Izvodjenje> izvodjenja = em.createQuery("select i from Izvodjenje i where i.predstava.naziv like :naslovP", Izvodjenje.class).
- setParameter("naslovP", naslov).getResultList();
- return izvodjenja;
- }
- public List<Predstava> vratiPredstaveGlumca(String ime, String prezime){
- EntityManager em = JPAUtil.getEntityManager();
- List<Predstava> predstave = em.createQuery("select p from Predstava p inner join p.ulogas g where "
- + "g.glumac.ime like :ime and g.glumac.prezime like :prezime", Predstava.class).
- setParameter("ime", ime).setParameter("prezime", prezime).getResultList();
- return predstave;
- }
- public List<Date> prikaziDatumeIzvodjenjaPredstave(String naziv){
- EntityManager em = JPAUtil.getEntityManager();
- List<Date> datumi = em.createQuery("select i.datum from Izvodjenje i where i.predstava.naziv like :naziv",
- Date.class).setParameter("naziv", naziv).getResultList();
- return datumi;
- }
- public List<Mesto> prikaziSlobodnaMesta(String nazivPredstave, Date datumIzvodjenja){
- EntityManager em = JPAUtil.getEntityManager();
- List<Mesto> mesta = em.createQuery("select m from Mesto m inner join m.scena.izvodjenjes i where i.predstava.naziv "
- + "like :naziv and i.datum = :datumIzv and "
- + "not exists (select k.mesto from Karta k where k.mesto=m and "
- + "k.izvodjenje=i)", Mesto.class)
- .setParameter("naziv", nazivPredstave)
- .setParameter("datumIzv", datumIzvodjenja)
- .getResultList();
- return mesta;
- }
- public Glumac dodajGlumca(String ime, String prezime, String jmbg) {
- try {
- EntityManager em =JPAUtil.getEntityManager();
- Glumac g = new Glumac();
- g.setIme(ime);
- g.setPrezime(prezime);
- g.setJmbg(jmbg);
- em.getTransaction().begin();
- em.persist(g);
- em.getTransaction().commit();
- return g;
- }
- catch(Exception e) {
- e.printStackTrace();
- return null;
- }
- }
- public Uloga sacuvajUlogu(String naziv, Integer idPredstave, Integer idGlumca) {
- try {
- EntityManager em =JPAUtil.getEntityManager();
- Uloga u = new Uloga();
- Predstava p = em.find(Predstava.class, idPredstave);
- Glumac gl = em.find(Glumac.class, idGlumca);
- u.setNaziv(naziv);
- u.setGlumac(gl);
- u.setPredstava(p);
- em.getTransaction().begin();
- em.persist(u);
- em.getTransaction().commit();
- return u;
- }
- catch(Exception e) {
- e.printStackTrace();
- return null;
- }
- }
- public List<Predstava> getSvePredstave() {
- EntityManager em = JPAUtil.getEntityManager();
- List<Predstava> predstave = em.createQuery("from Predstava p", Predstava.class).getResultList();
- return predstave;
- }
- public List<Izvodjenje> prikazipredstojecaIzvodjenjaPredstave(String naziv){
- EntityManager em = JPAUtil.getEntityManager();
- Date danas = new Date();
- List<Izvodjenje> izvodjenja = em.createQuery("select i from Izvodjenje i where i.predstava.naziv like :naziv"
- + " and i.datum > :d",
- Izvodjenje.class).setParameter("naziv", naziv)
- .setParameter("d", danas).getResultList();
- return izvodjenja;
- }
- public static void main(String[] args) {
- PredstavaManager pm = new PredstavaManager();
- //2.
- List<Izvodjenje> izvodjenja = pm.vratiIzvodjenja("Laza i paralaza");
- System.out.println("Izvodjenja za predstavu sa naslovom Laza i paralaza:");
- for(Izvodjenje i:izvodjenja) {
- System.out.println("datum: "+i.getDatum()+", scena: "+i.getScena().getNaziv());
- }
- //3.
- List<Predstava> predstave = pm.vratiPredstaveGlumca("Mirjana", "Miric");
- System.out.println("Predstave Mirjane Miric: ");
- for(Predstava p:predstave) {
- System.out.println("Naziv:"+p.getNaziv()+", trajanje: "+p.getTrajanje()+", "
- + "zanr: "+p.getZanr().getNaziv()+", reziser: "+p.getReziser().getIme()+" "+p.getReziser().getPrezime());
- }
- try {
- List<Date> datumi = pm.prikaziDatumeIzvodjenjaPredstave("Laza i paralaza");
- System.out.println("Datumi izvodjenja predstave Laza i paralaza su: ");
- for(Date d:datumi)
- System.out.println(d);
- //SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
- //Date datum = sdf.parse("2019-03-10");
- if(datumi.size()>0) {
- List<Mesto> slobodnaMesta = pm.prikaziSlobodnaMesta("Laza i paralaza", datumi.get(0));
- System.out.println("Prikaz slobodnih mesta za predstavu Laza i paralaza, dana "+datumi.get(0)+":");
- for(Mesto m:slobodnaMesta)
- System.out.println(m.getBroj()+", red "+m.getRed()+",sekcija "+m.getSekcija());
- }
- }
- catch (Exception e) {
- e.printStackTrace();
- }
- Glumac g = pm.dodajGlumca("Misa", "Misic", "1111222211111");
- if(g!=null) {
- System.out.println("Glumac je uspesno sacuvan, id je "+g.getIdGlumac());
- Uloga u =pm.sacuvajUlogu("abc", 2, g.getIdGlumac());
- if(u!=null)
- System.out.println("Uloga je uspesno sacuvana. Id je "+u.getIdUloga());
- }
- }
- public List<Mesto> getSlobodnaMesta(Integer idIzvodjenje) {
- EntityManager em = JPAUtil.getEntityManager();
- String upit = "select m from Mesto m inner join m.scena.izvodjenjes i "
- + "where i.idIzvodjenje=:idI and not exists"
- + "(select k from Karta k where k.izvodjenje.idIzvodjenje = :idI and "
- + "k.mesto=m)";
- List<Mesto> mesta = em.createQuery(upit, Mesto.class).setParameter("idI", idIzvodjenje).getResultList();
- return mesta;
- }
- public List<Mesto> getSlobodnaMesta1(Integer idIzvodjenje) {
- EntityManager em = JPAUtil.getEntityManager();
- Izvodjenje i = em.find(Izvodjenje.class, idIzvodjenje);
- String upit = "select m from Mesto m "
- + "where m.scena.idScena = :idSc and m not in "
- + "(select k.mesto from Karta k where "
- + "k.izvodjenje=:i)";
- List<Mesto> mesta = em.createQuery(upit, Mesto.class).setParameter("idSc", i.getScena().getIdScena()).setParameter("i", i).getResultList();
- return mesta;
- }
- public List<Zanr> getSviZanrovi(){
- EntityManager em = JPAUtil.getEntityManager();
- List<Zanr> sviZanrovi = em.createQuery("select z from Zanr z", Zanr.class).getResultList();
- return sviZanrovi;
- }
- public List<Predstava> getPredstaveZanra(Integer idZanr){
- EntityManager em = JPAUtil.getEntityManager();
- List<Predstava> svePredstave = em.createQuery("select p from Predstava p"
- + " where p.zanr.idZanr=:id", Predstava.class)
- .setParameter("id", idZanr).getResultList();
- return svePredstave;
- }
- public List<Uloga> getUlogePredstave(Integer idPredstava){
- EntityManager em = JPAUtil.getEntityManager();
- List<Uloga> uloge = em.createQuery("select u from Uloga u"
- + " where u.predstava.idPredstava=:id", Uloga.class)
- .setParameter("id", idPredstava).getResultList();
- return uloge;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement