java/nekurak.net-ejb/src/java/cz/frantovo/nekurak/ejb/PodnikEJB.java
author František Kučera <franta-hg@frantovo.cz>
Wed Apr 14 00:12:32 2010 +0200 (2010-04-14)
changeset 100 01be78803f73
parent 69 4964cf581166
child 102 7a7c06ea01db
permissions -rw-r--r--
Webové služby, zjišťování souřadnic podniků.
     1 package cz.frantovo.nekurak.ejb;
     2 
     3 import cz.frantovo.nekurak.dao.PodnikDAO;
     4 import cz.frantovo.nekurak.dto.Podnik;
     5 import cz.frantovo.nekurak.ejb.Geo.Souradnice;
     6 import java.util.Collection;
     7 import javax.annotation.Resource;
     8 import javax.annotation.security.RolesAllowed;
     9 import javax.ejb.EJB;
    10 import javax.ejb.SessionContext;
    11 import javax.ejb.Stateless;
    12 
    13 /**
    14  *
    15  * @author fiki
    16  */
    17 @Stateless
    18 public class PodnikEJB implements PodnikRemote {
    19 
    20     @EJB
    21     private PodnikDAO podnikDAO;
    22     @Resource
    23     private SessionContext ctx;
    24 
    25     public Collection<Podnik> getPodniky() {
    26 	Collection<Podnik> vysledek = podnikDAO.getPodniky();
    27 	return vysledek;
    28     }
    29 
    30     public Podnik getPodnik(int id) {
    31 	return podnikDAO.getPodnik(id);
    32     }
    33 
    34     @RolesAllowed("opravneny")
    35     public void zalozPodnik(Podnik p) {
    36 	p.setSpravce(ctx.getCallerPrincipal().getName());
    37 	podnikDAO.zaloz(p);
    38     }
    39 
    40     @RolesAllowed("opravneny")
    41     public void upravPodnik(Podnik p) {
    42 	podnikDAO.uloz(p);
    43     }
    44 
    45     public int dopocitejSouradnice() {
    46 	/**
    47 	 * TODO:    refaktorovat, změnit datové typy, souřadnice…
    48 	 *	    dopočítávat jen ty, které ještě nemají souřadnice
    49 	 */
    50 	Geo g = new Geo();
    51 	int pocetAktualizovanych = 0;
    52 
    53 	for (Podnik p : podnikDAO.getPodniky()) {
    54 	    Souradnice s = g.getSouradnice(p.getUlice() + " " + p.getCisloPopisne() + ", " + p.getMesto());
    55 	    if (s != null) {
    56 		pocetAktualizovanych++;
    57 		p.setSirka(s.getSirka());
    58 		p.setDelka(s.getDelka());
    59 		podnikDAO.uloz(p);
    60 	    }
    61 	}
    62 
    63 	return pocetAktualizovanych;
    64     }
    65 }