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.
     1 package cz.frantovo.nekurak.ejb;
     2 
     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;
    11 import javax.ejb.EJB;
    12 import javax.ejb.Stateless;
    13 
    14 /**
    15  *
    16  * @author fiki
    17  */
    18 @Stateless
    19 public class UzivatelEJB implements UzivatelRemote {
    20 
    21     @EJB
    22     private UzivatelDAO uzivatelDao;
    23 
    24     /** Uživatele může zakládat kdokoli – uživatel se registruje sám. */
    25     public void registrujUzivatele(PozadavekNaRegistraciUzivatele p) throws NekurakVyjimka {
    26 	try {
    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()));
    30 	    uzivatelDao.zaloz(u);
    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);
    37 	}
    38     }
    39 }