java/nekurak.net-ejb/src/java/cz/frantovo/nekurak/ejb/PodnikEJB.java
author František Kučera <franta-hg@frantovo.cz>
Tue May 25 13:54:21 2010 +0200 (2010-05-25)
changeset 123 9135d52e8b0a
parent 119 d91f600c4645
child 130 1bbff3f5181f
permissions -rw-r--r--
Test hashovací funkce + test češtiny v identifikátorech
Java Language Specification – 3.8 Identifiers:
http://java.sun.com/docs/books/jls/third_edition/html/lexical.html#40625
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@119
     6
import cz.frantovo.nekurak.ext.Geo;
franta-hg@119
     7
import cz.frantovo.nekurak.ext.Geo.Souradnice;
franta-hg@28
     8
import java.util.Collection;
franta-hg@107
     9
import java.util.logging.Logger;
franta-hg@63
    10
import javax.annotation.Resource;
franta-hg@40
    11
import javax.annotation.security.RolesAllowed;
franta-hg@39
    12
import javax.ejb.EJB;
franta-hg@63
    13
import javax.ejb.SessionContext;
franta-hg@28
    14
import javax.ejb.Stateless;
franta-hg@28
    15
franta-hg@28
    16
/**
franta-hg@28
    17
 *
franta-hg@28
    18
 * @author fiki
franta-hg@28
    19
 */
franta-hg@28
    20
@Stateless
franta-hg@39
    21
public class PodnikEJB implements PodnikRemote {
franta-hg@28
    22
franta-hg@107
    23
    private static final Logger log = Logger.getLogger(PodnikEJB.class.getSimpleName());
franta-hg@39
    24
    @EJB
franta-hg@50
    25
    private PodnikDAO podnikDAO;
franta-hg@63
    26
    @Resource
franta-hg@63
    27
    private SessionContext ctx;
franta-hg@28
    28
franta-hg@28
    29
    public Collection<Podnik> getPodniky() {
franta-hg@39
    30
	Collection<Podnik> vysledek = podnikDAO.getPodniky();
franta-hg@39
    31
	return vysledek;
franta-hg@28
    32
    }
franta-hg@40
    33
franta-hg@100
    34
    public Podnik getPodnik(int id) {
franta-hg@100
    35
	return podnikDAO.getPodnik(id);
franta-hg@100
    36
    }
franta-hg@100
    37
franta-hg@40
    38
    @RolesAllowed("opravneny")
franta-hg@40
    39
    public void zalozPodnik(Podnik p) {
franta-hg@63
    40
	p.setSpravce(ctx.getCallerPrincipal().getName());
franta-hg@56
    41
	podnikDAO.zaloz(p);
franta-hg@40
    42
    }
franta-hg@40
    43
franta-hg@40
    44
    @RolesAllowed("opravneny")
franta-hg@40
    45
    public void upravPodnik(Podnik p) {
franta-hg@40
    46
	podnikDAO.uloz(p);
franta-hg@40
    47
    }
franta-hg@100
    48
franta-hg@100
    49
    public int dopocitejSouradnice() {
franta-hg@100
    50
	/**
franta-hg@123
    51
	 * TODO: refaktorovat, změnit datové typy, souřadnice…
franta-hg@100
    52
	 */
franta-hg@100
    53
	Geo g = new Geo();
franta-hg@100
    54
	int pocetAktualizovanych = 0;
franta-hg@100
    55
franta-hg@102
    56
	for (Podnik p : podnikDAO.getPodnikyBezSouradnic()) {
franta-hg@100
    57
	    Souradnice s = g.getSouradnice(p.getUlice() + " " + p.getCisloPopisne() + ", " + p.getMesto());
franta-hg@100
    58
	    if (s != null) {
franta-hg@100
    59
		pocetAktualizovanych++;
franta-hg@100
    60
		p.setSirka(s.getSirka());
franta-hg@100
    61
		p.setDelka(s.getDelka());
franta-hg@100
    62
		podnikDAO.uloz(p);
franta-hg@100
    63
	    }
franta-hg@100
    64
	}
franta-hg@100
    65
franta-hg@100
    66
	return pocetAktualizovanych;
franta-hg@100
    67
    }
franta-hg@107
    68
franta-hg@107
    69
    public void hlasuj(int podnik, boolean hlas, String ipAdresa) {
franta-hg@110
    70
franta-hg@107
    71
	podnikDAO.hlasuj(podnik, hlas, ipAdresa);
franta-hg@107
    72
    }
franta-hg@107
    73
franta-hg@107
    74
    public VysledekHlasovani getVysledekHlasovani(int podnik) {
franta-hg@107
    75
	return podnikDAO.getVysledekHlasovani(podnik);
franta-hg@107
    76
    }
franta-hg@28
    77
}