diff -r 063871cec626 -r 0efefbf5f8b6 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 Tue Mar 23 16:11:07 2010 +0100 +++ b/java/nekurak.net-ejb/src/java/cz/frantovo/nekurak/ejb/UzivatelEJB.java Sun Jun 20 14:46:47 2010 +0200 @@ -27,58 +27,58 @@ @Stateless public class UzivatelEJB implements UzivatelRemote { - @EJB - private UzivatelDAO uzivatelDao; - @EJB - private Postak postak; - private static final Logger log = Logger.getLogger(UzivatelEJB.class.getSimpleName()); - private Map lokalizace = new HashMap(); + @EJB + private UzivatelDAO uzivatelDao; + @EJB + private Postak postak; + private static final Logger log = Logger.getLogger(UzivatelEJB.class.getSimpleName()); + private Map lokalizace = new HashMap(); - /** Uživatele může zakládat kdokoli – uživatel se registruje sám. */ - public void registrujUzivatele(PozadavekNaRegistraciUzivatele p) throws NekurakVyjimka { - try { - Uzivatel u = p.getUzivatel(); - /** Heslo musíme před uložení zahashovat, aby se uživatel mohl přihlásit. */ - u.setHeslo(Hash.hashuj(u.getHeslo())); - uzivatelDao.zaloz(u); - posliRegistracniEmail(p); - } 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); - } - } - - private ResourceBundle getLokalizace(Locale jazyk) { - if (jazyk == null) { - jazyk = Locale.getDefault(); + /** Uživatele může zakládat kdokoli – uživatel se registruje sám. */ + public void registrujUzivatele(PozadavekNaRegistraciUzivatele p) throws NekurakVyjimka { + try { + Uzivatel u = p.getUzivatel(); + /** Heslo musíme před uložení zahashovat, aby se uživatel mohl přihlásit. */ + u.setHeslo(Hash.hashuj(u.getHeslo())); + uzivatelDao.zaloz(u); + posliRegistracniEmail(p); + } 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); + } } - if (lokalizace.get(jazyk) == null) { - lokalizace.put(jazyk, ResourceBundle.getBundle("cz.frantovo.nekurak.preklady", jazyk)); + private ResourceBundle getLokalizace(Locale jazyk) { + if (jazyk == null) { + jazyk = Locale.getDefault(); + } + + if (lokalizace.get(jazyk) == null) { + lokalizace.put(jazyk, ResourceBundle.getBundle("cz.frantovo.nekurak.preklady", jazyk)); + } + + return lokalizace.get(jazyk); } - return lokalizace.get(jazyk); - } - - private void posliRegistracniEmail(PozadavekNaRegistraciUzivatele p) { - try { - String email = p.getEmail(); - if (Postak.isAdresaOk(email)) { - ResourceBundle rb = getLokalizace(p.getJazyk()); - String jmeno = p.getJmeno() + " " + p.getPrijmeni(); - String predmet = rb.getString("registrace.email.predmet"); - Object[] hodnotyTextu = {jmeno, p.getPrezdivka()}; - String text = new MessageFormat(rb.getString("registrace.email.text"), p.getJazyk()).format(hodnotyTextu); - postak.odesliZpravu(new Adresa(email, jmeno), null, predmet, text); - } else { - log.log(Level.WARNING, "E-mailová adresa buď chybí nebo je chybná → neodesíláme registrační e-mail. Uživatel: " + p.getPrezdivka()); - } - } catch (NekurakVyjimka e) { - /** e-mail je jen informační → pokud se ho nepodaří odeslat, nemusíme stornovat registraci. */ - log.log(Level.WARNING, "Chyba při posílání registračního e-mailu. Uživatel: " + p.getPrezdivka(), e); + private void posliRegistracniEmail(PozadavekNaRegistraciUzivatele p) { + try { + String email = p.getEmail(); + if (Postak.isAdresaOk(email)) { + ResourceBundle rb = getLokalizace(p.getJazyk()); + String jmeno = p.getJmeno() + " " + p.getPrijmeni(); + String predmet = rb.getString("registrace.email.predmet"); + Object[] hodnotyTextu = {jmeno, p.getPrezdivka()}; + String text = new MessageFormat(rb.getString("registrace.email.text"), p.getJazyk()).format(hodnotyTextu); + postak.odesliZpravu(new Adresa(email, jmeno), null, predmet, text); + } else { + log.log(Level.WARNING, "E-mailová adresa buď chybí nebo je chybná → neodesíláme registrační e-mail. Uživatel: {0}", p.getPrezdivka()); + } + } catch (NekurakVyjimka e) { + /** e-mail je jen informační → pokud se ho nepodaří odeslat, nemusíme stornovat registraci. */ + log.log(Level.WARNING, "Chyba při posílání registračního e-mailu. Uživatel: " + p.getPrezdivka(), e); + } } - } }