java/nekurak.net-ejb/src/java/cz/frantovo/nekurak/ejb/UzivatelEJB.java
author František Kučera <franta-hg@frantovo.cz>
Thu Mar 04 14:09:21 2010 +0100 (2010-03-04)
changeset 52 4c0408690ebf
parent 50 d259a2dfea67
child 55 079a3221355d
permissions -rw-r--r--
Hashování hesla, generování náhodného tokenu, částečný převod chyb na uživatelsky přijatelné hlášky.
     1 package cz.frantovo.nekurak.ejb;
     2 
     3 import cz.frantovo.nekurak.dao.UzivatelDAO;
     4 import cz.frantovo.nekurak.dto.Uzivatel;
     5 import cz.frantovo.nekurak.util.Hash;
     6 import cz.frantovo.nekurak.vyjimky.NecekanaVyjimka;
     7 import cz.frantovo.nekurak.vyjimky.NekurakVyjimka;
     8 import java.io.UnsupportedEncodingException;
     9 import java.security.NoSuchAlgorithmException;
    10 import javax.ejb.EJB;
    11 import javax.ejb.Stateless;
    12 
    13 /**
    14  *
    15  * @author fiki
    16  */
    17 @Stateless
    18 public class UzivatelEJB implements UzivatelRemote {
    19 
    20     @EJB
    21     private UzivatelDAO uzivatelDao;
    22 
    23     /** Uživatele může zakládat kdokoli – uživatel se registruje sám. */
    24     public void zalozUzivatele(Uzivatel u) throws NekurakVyjimka {
    25 	try {
    26 	    /** Heslo musíme před uložení zahashovat, aby se uživatel mohl přihlásit. */
    27 	    u.setHeslo(Hash.hashuj(u.getHeslo()));
    28 	    uzivatelDao.uloz(u);
    29 	} catch (NoSuchAlgorithmException e) {
    30 	    /** Nemělo by nastat */
    31 	    throw new NecekanaVyjimka("Neexistující hashovací algoritmus.", e);
    32 	} catch (UnsupportedEncodingException e) {
    33 	    /** Nemělo by nastat */
    34 	    throw new NecekanaVyjimka("Nepodporované kódování znaků.", e);
    35 	}
    36     }
    37 }