diff -r d01685a7e07d -r 4c0408690ebf java/nekurak.net-ejb/src/java/cz/frantovo/nekurak/ejb/UzivatelEJB.java --- a/java/nekurak.net-ejb/src/java/cz/frantovo/nekurak/ejb/UzivatelEJB.java Thu Mar 04 12:02:41 2010 +0100 +++ b/java/nekurak.net-ejb/src/java/cz/frantovo/nekurak/ejb/UzivatelEJB.java Thu Mar 04 14:09:21 2010 +0100 @@ -2,6 +2,11 @@ import cz.frantovo.nekurak.dao.UzivatelDAO; import cz.frantovo.nekurak.dto.Uzivatel; +import cz.frantovo.nekurak.util.Hash; +import cz.frantovo.nekurak.vyjimky.NecekanaVyjimka; +import cz.frantovo.nekurak.vyjimky.NekurakVyjimka; +import java.io.UnsupportedEncodingException; +import java.security.NoSuchAlgorithmException; import javax.ejb.EJB; import javax.ejb.Stateless; @@ -16,7 +21,17 @@ private UzivatelDAO uzivatelDao; /** Uživatele může zakládat kdokoli – uživatel se registruje sám. */ - public void zalozUzivatele(Uzivatel u) { - uzivatelDao.uloz(u); + public void zalozUzivatele(Uzivatel u) throws NekurakVyjimka { + try { + /** Heslo musíme před uložení zahashovat, aby se uživatel mohl přihlásit. */ + u.setHeslo(Hash.hashuj(u.getHeslo())); + uzivatelDao.uloz(u); + } catch (NoSuchAlgorithmException e) { + /** Nemělo by nastat */ + throw new NecekanaVyjimka("Neexistující hashovací algoritmus.", e); + } catch (UnsupportedEncodingException e) { + /** Nemělo by nastat */ + throw new NecekanaVyjimka("Nepodporované kódování znaků.", e); + } } }