java/nekurak.net-ejb/src/java/cz/frantovo/nekurak/ejb/PodnikEJB.java
author František Kučera <franta-hg@frantovo.cz>
Tue Apr 27 16:13:36 2010 +0200 (2010-04-27)
changeset 107 e8371105fcc8
parent 102 7a7c06ea01db
child 110 c2590a59a02a
permissions -rw-r--r--
Hlasování: DAO a EJB vrstva pro ukládání hlasů, kostra pro načítání výsledků hlasování.
franta-hg@28
     1
package cz.frantovo.nekurak.ejb;
franta-hg@28
     2
franta-hg@39
     3
import cz.frantovo.nekurak.dao.PodnikDAO;
franta-hg@28
     4
import cz.frantovo.nekurak.dto.Podnik;
franta-hg@107
     5
import cz.frantovo.nekurak.dto.VysledekHlasovani;
franta-hg@100
     6
import cz.frantovo.nekurak.ejb.Geo.Souradnice;
franta-hg@28
     7
import java.util.Collection;
franta-hg@107
     8
import java.util.logging.Logger;
franta-hg@63
     9
import javax.annotation.Resource;
franta-hg@40
    10
import javax.annotation.security.RolesAllowed;
franta-hg@39
    11
import javax.ejb.EJB;
franta-hg@63
    12
import javax.ejb.SessionContext;
franta-hg@28
    13
import javax.ejb.Stateless;
franta-hg@28
    14
franta-hg@28
    15
/**
franta-hg@28
    16
 *
franta-hg@28
    17
 * @author fiki
franta-hg@28
    18
 */
franta-hg@28
    19
@Stateless
franta-hg@39
    20
public class PodnikEJB implements PodnikRemote {
franta-hg@28
    21
franta-hg@107
    22
    private static final Logger log = Logger.getLogger(PodnikEJB.class.getSimpleName());
franta-hg@39
    23
    @EJB
franta-hg@50
    24
    private PodnikDAO podnikDAO;
franta-hg@63
    25
    @Resource
franta-hg@63
    26
    private SessionContext ctx;
franta-hg@28
    27
franta-hg@28
    28
    public Collection<Podnik> getPodniky() {
franta-hg@39
    29
	Collection<Podnik> vysledek = podnikDAO.getPodniky();
franta-hg@39
    30
	return vysledek;
franta-hg@28
    31
    }
franta-hg@40
    32
franta-hg@100
    33
    public Podnik getPodnik(int id) {
franta-hg@100
    34
	return podnikDAO.getPodnik(id);
franta-hg@100
    35
    }
franta-hg@100
    36
franta-hg@40
    37
    @RolesAllowed("opravneny")
franta-hg@40
    38
    public void zalozPodnik(Podnik p) {
franta-hg@63
    39
	p.setSpravce(ctx.getCallerPrincipal().getName());
franta-hg@56
    40
	podnikDAO.zaloz(p);
franta-hg@40
    41
    }
franta-hg@40
    42
franta-hg@40
    43
    @RolesAllowed("opravneny")
franta-hg@40
    44
    public void upravPodnik(Podnik p) {
franta-hg@40
    45
	podnikDAO.uloz(p);
franta-hg@40
    46
    }
franta-hg@100
    47
franta-hg@100
    48
    public int dopocitejSouradnice() {
franta-hg@100
    49
	/**
franta-hg@100
    50
	 * TODO:    refaktorovat, změnit datové typy, souřadnice…
franta-hg@100
    51
	 */
franta-hg@100
    52
	Geo g = new Geo();
franta-hg@100
    53
	int pocetAktualizovanych = 0;
franta-hg@100
    54
franta-hg@102
    55
	for (Podnik p : podnikDAO.getPodnikyBezSouradnic()) {
franta-hg@100
    56
	    Souradnice s = g.getSouradnice(p.getUlice() + " " + p.getCisloPopisne() + ", " + p.getMesto());
franta-hg@100
    57
	    if (s != null) {
franta-hg@100
    58
		pocetAktualizovanych++;
franta-hg@100
    59
		p.setSirka(s.getSirka());
franta-hg@100
    60
		p.setDelka(s.getDelka());
franta-hg@100
    61
		podnikDAO.uloz(p);
franta-hg@100
    62
	    }
franta-hg@100
    63
	}
franta-hg@100
    64
franta-hg@100
    65
	return pocetAktualizovanych;
franta-hg@100
    66
    }
franta-hg@107
    67
franta-hg@107
    68
    public void hlasuj(int podnik, boolean hlas, String ipAdresa) {
franta-hg@107
    69
	podnikDAO.hlasuj(podnik, hlas, ipAdresa);
franta-hg@107
    70
    }
franta-hg@107
    71
franta-hg@107
    72
    public VysledekHlasovani getVysledekHlasovani(int podnik) {
franta-hg@107
    73
	return podnikDAO.getVysledekHlasovani(podnik);
franta-hg@107
    74
    }
franta-hg@28
    75
}