franta-hg@50: package cz.frantovo.nekurak.ejb; franta-hg@50: franta-hg@50: import cz.frantovo.nekurak.dao.UzivatelDAO; franta-hg@55: import cz.frantovo.nekurak.dto.PozadavekNaRegistraciUzivatele; franta-hg@50: import cz.frantovo.nekurak.dto.Uzivatel; franta-hg@52: import cz.frantovo.nekurak.util.Hash; franta-hg@52: import cz.frantovo.nekurak.vyjimky.NecekanaVyjimka; franta-hg@52: import cz.frantovo.nekurak.vyjimky.NekurakVyjimka; franta-hg@52: import java.io.UnsupportedEncodingException; franta-hg@52: import java.security.NoSuchAlgorithmException; franta-hg@50: import javax.ejb.EJB; franta-hg@50: import javax.ejb.Stateless; franta-hg@50: franta-hg@50: /** franta-hg@50: * franta-hg@50: * @author fiki franta-hg@50: */ franta-hg@50: @Stateless franta-hg@50: public class UzivatelEJB implements UzivatelRemote { franta-hg@50: franta-hg@50: @EJB franta-hg@50: private UzivatelDAO uzivatelDao; franta-hg@50: franta-hg@50: /** Uživatele může zakládat kdokoli – uživatel se registruje sám. */ franta-hg@55: public void registrujUzivatele(PozadavekNaRegistraciUzivatele p) throws NekurakVyjimka { franta-hg@52: try { franta-hg@55: Uzivatel u = p.getUzivatel(); franta-hg@52: /** Heslo musíme před uložení zahashovat, aby se uživatel mohl přihlásit. */ franta-hg@52: u.setHeslo(Hash.hashuj(u.getHeslo())); franta-hg@52: uzivatelDao.uloz(u); franta-hg@52: } catch (NoSuchAlgorithmException e) { franta-hg@52: /** Nemělo by nastat */ franta-hg@52: throw new NecekanaVyjimka("Neexistující hashovací algoritmus.", e); franta-hg@52: } catch (UnsupportedEncodingException e) { franta-hg@52: /** Nemělo by nastat */ franta-hg@52: throw new NecekanaVyjimka("Nepodporované kódování znaků.", e); franta-hg@52: } franta-hg@50: } franta-hg@50: }