java/nekurak.net-ejb/src/java/cz/frantovo/nekurak/ejb/UzivatelEJB.java
author František Kučera <franta-hg@frantovo.cz>
Sat Mar 06 21:08:42 2010 +0100 (2010-03-06)
changeset 56 7021b32ce3d1
parent 55 079a3221355d
child 81 4dddecffde5c
permissions -rw-r--r--
JPA: persis vs. merge.
franta-hg@50
     1
package cz.frantovo.nekurak.ejb;
franta-hg@50
     2
franta-hg@50
     3
import cz.frantovo.nekurak.dao.UzivatelDAO;
franta-hg@55
     4
import cz.frantovo.nekurak.dto.PozadavekNaRegistraciUzivatele;
franta-hg@50
     5
import cz.frantovo.nekurak.dto.Uzivatel;
franta-hg@52
     6
import cz.frantovo.nekurak.util.Hash;
franta-hg@52
     7
import cz.frantovo.nekurak.vyjimky.NecekanaVyjimka;
franta-hg@52
     8
import cz.frantovo.nekurak.vyjimky.NekurakVyjimka;
franta-hg@52
     9
import java.io.UnsupportedEncodingException;
franta-hg@52
    10
import java.security.NoSuchAlgorithmException;
franta-hg@50
    11
import javax.ejb.EJB;
franta-hg@50
    12
import javax.ejb.Stateless;
franta-hg@50
    13
franta-hg@50
    14
/**
franta-hg@50
    15
 *
franta-hg@50
    16
 * @author fiki
franta-hg@50
    17
 */
franta-hg@50
    18
@Stateless
franta-hg@50
    19
public class UzivatelEJB implements UzivatelRemote {
franta-hg@50
    20
franta-hg@50
    21
    @EJB
franta-hg@50
    22
    private UzivatelDAO uzivatelDao;
franta-hg@50
    23
franta-hg@50
    24
    /** Uživatele může zakládat kdokoli – uživatel se registruje sám. */
franta-hg@55
    25
    public void registrujUzivatele(PozadavekNaRegistraciUzivatele p) throws NekurakVyjimka {
franta-hg@52
    26
	try {
franta-hg@55
    27
	    Uzivatel u = p.getUzivatel();
franta-hg@52
    28
	    /** Heslo musíme před uložení zahashovat, aby se uživatel mohl přihlásit. */
franta-hg@52
    29
	    u.setHeslo(Hash.hashuj(u.getHeslo()));
franta-hg@56
    30
	    uzivatelDao.zaloz(u);
franta-hg@52
    31
	} catch (NoSuchAlgorithmException e) {
franta-hg@52
    32
	    /** Nemělo by nastat */
franta-hg@52
    33
	    throw new NecekanaVyjimka("Neexistující hashovací algoritmus.", e);
franta-hg@52
    34
	} catch (UnsupportedEncodingException e) {
franta-hg@52
    35
	    /** Nemělo by nastat */
franta-hg@52
    36
	    throw new NecekanaVyjimka("Nepodporované kódování znaků.", e);
franta-hg@52
    37
	}
franta-hg@50
    38
    }
franta-hg@50
    39
}