JPA: persis vs. merge.
1 package cz.frantovo.nekurak.ejb;
3 import cz.frantovo.nekurak.dao.UzivatelDAO;
4 import cz.frantovo.nekurak.dto.PozadavekNaRegistraciUzivatele;
5 import cz.frantovo.nekurak.dto.Uzivatel;
6 import cz.frantovo.nekurak.util.Hash;
7 import cz.frantovo.nekurak.vyjimky.NecekanaVyjimka;
8 import cz.frantovo.nekurak.vyjimky.NekurakVyjimka;
9 import java.io.UnsupportedEncodingException;
10 import java.security.NoSuchAlgorithmException;
12 import javax.ejb.Stateless;
19 public class UzivatelEJB implements UzivatelRemote {
22 private UzivatelDAO uzivatelDao;
24 /** Uživatele může zakládat kdokoli – uživatel se registruje sám. */
25 public void registrujUzivatele(PozadavekNaRegistraciUzivatele p) throws NekurakVyjimka {
27 Uzivatel u = p.getUzivatel();
28 /** Heslo musíme před uložení zahashovat, aby se uživatel mohl přihlásit. */
29 u.setHeslo(Hash.hashuj(u.getHeslo()));
31 } catch (NoSuchAlgorithmException e) {
32 /** Nemělo by nastat */
33 throw new NecekanaVyjimka("Neexistující hashovací algoritmus.", e);
34 } catch (UnsupportedEncodingException e) {
35 /** Nemělo by nastat */
36 throw new NecekanaVyjimka("Nepodporované kódování znaků.", e);