# HG changeset patch # User František Kučera # Date 1267781314 -3600 # Node ID 079a3221355d6f0614fb35be0822afa0b0609c76 # Parent 793a89cba0f8cf1aaa73855f0c00c9a21322e18c Oddělení požadavku na registraci od samotného uživatele. Robustnější návrh. diff -r 793a89cba0f8 -r 079a3221355d 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 22:42:34 2010 +0100 +++ b/java/nekurak.net-ejb/src/java/cz/frantovo/nekurak/ejb/UzivatelEJB.java Fri Mar 05 10:28:34 2010 +0100 @@ -1,6 +1,7 @@ package cz.frantovo.nekurak.ejb; import cz.frantovo.nekurak.dao.UzivatelDAO; +import cz.frantovo.nekurak.dto.PozadavekNaRegistraciUzivatele; import cz.frantovo.nekurak.dto.Uzivatel; import cz.frantovo.nekurak.util.Hash; import cz.frantovo.nekurak.vyjimky.NecekanaVyjimka; @@ -21,8 +22,9 @@ private UzivatelDAO uzivatelDao; /** Uživatele může zakládat kdokoli – uživatel se registruje sám. */ - public void zalozUzivatele(Uzivatel u) throws NekurakVyjimka { + 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.uloz(u); diff -r 793a89cba0f8 -r 079a3221355d java/nekurak.net-lib/src/cz/frantovo/nekurak/dto/PozadavekNaRegistraciUzivatele.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/java/nekurak.net-lib/src/cz/frantovo/nekurak/dto/PozadavekNaRegistraciUzivatele.java Fri Mar 05 10:28:34 2010 +0100 @@ -0,0 +1,74 @@ +package cz.frantovo.nekurak.dto; + +import java.io.Serializable; + +/** + * Uživatel se registruje na webu. + * Tato třída obsahuje jen ty údaje, které se vyplňují do registračního formuláře. + * Nakonec se převede na instanci třídy Uzivatel a uloží do databáze. + * @author fiki + */ +public class PozadavekNaRegistraciUzivatele implements Serializable { + + /** Uživatelské jméno */ + private String prezdivka; + /** Heslo ve tvaru, v jakém má být uloženo do databáze */ + private String heslo; + /** Křestní jméno */ + private String jmeno; + private String prijmeni; + private String email; + + public String getPrezdivka() { + return prezdivka; + } + + public void setPrezdivka(String prezdivka) { + this.prezdivka = prezdivka; + } + + public String getHeslo() { + return heslo; + } + + public void setHeslo(String heslo) { + this.heslo = heslo; + } + + public String getJmeno() { + return jmeno; + } + + public void setJmeno(String jmeno) { + this.jmeno = jmeno; + } + + public String getPrijmeni() { + return prijmeni; + } + + public void setPrijmeni(String prijmeni) { + this.prijmeni = prijmeni; + } + + public String getEmail() { + return email; + } + + public void setEmail(String email) { + this.email = email; + } + + /** Převede údaje z registrace do instance třídy Uzivatel */ + public Uzivatel getUzivatel() { + Uzivatel u = new Uzivatel(); + + u.setPrezdivka(prezdivka); + u.setHeslo(heslo); + u.setJmeno(jmeno); + u.setPrijmeni(prijmeni); + u.setEmail(email); + + return u; + } +} diff -r 793a89cba0f8 -r 079a3221355d java/nekurak.net-lib/src/cz/frantovo/nekurak/ejb/UzivatelRemote.java --- a/java/nekurak.net-lib/src/cz/frantovo/nekurak/ejb/UzivatelRemote.java Thu Mar 04 22:42:34 2010 +0100 +++ b/java/nekurak.net-lib/src/cz/frantovo/nekurak/ejb/UzivatelRemote.java Fri Mar 05 10:28:34 2010 +0100 @@ -1,6 +1,6 @@ package cz.frantovo.nekurak.ejb; -import cz.frantovo.nekurak.dto.Uzivatel; +import cz.frantovo.nekurak.dto.PozadavekNaRegistraciUzivatele; import cz.frantovo.nekurak.vyjimky.NekurakVyjimka; import javax.ejb.Remote; @@ -11,5 +11,6 @@ @Remote public interface UzivatelRemote { - public void zalozUzivatele(Uzivatel u) throws NekurakVyjimka; + /** Registrace nového uživatele */ + public void registrujUzivatele(PozadavekNaRegistraciUzivatele p) throws NekurakVyjimka; } diff -r 793a89cba0f8 -r 079a3221355d java/nekurak.net-web/src/java/cz/frantovo/nekurak/web/RegistraceUzivatele.java --- a/java/nekurak.net-web/src/java/cz/frantovo/nekurak/web/RegistraceUzivatele.java Thu Mar 04 22:42:34 2010 +0100 +++ b/java/nekurak.net-web/src/java/cz/frantovo/nekurak/web/RegistraceUzivatele.java Fri Mar 05 10:28:34 2010 +0100 @@ -45,7 +45,7 @@ return "registrace.vyjimka.token"; } else { try { - hledac.getUzivatelEJB().zalozUzivatele(u.getUzivatel()); + hledac.getUzivatelEJB().registrujUzivatele(u.getUzivatel()); } catch (Exception e) { log.log(Level.WARNING, "Chyba při registraci uživatele.", e); return "registrace.vyjimka"; diff -r 793a89cba0f8 -r 079a3221355d java/nekurak.net-web/src/java/cz/frantovo/nekurak/web/UzivatelPredRegistraci.java --- a/java/nekurak.net-web/src/java/cz/frantovo/nekurak/web/UzivatelPredRegistraci.java Thu Mar 04 22:42:34 2010 +0100 +++ b/java/nekurak.net-web/src/java/cz/frantovo/nekurak/web/UzivatelPredRegistraci.java Fri Mar 05 10:28:34 2010 +0100 @@ -1,6 +1,6 @@ package cz.frantovo.nekurak.web; -import cz.frantovo.nekurak.dto.Uzivatel; +import cz.frantovo.nekurak.dto.PozadavekNaRegistraciUzivatele; import cz.frantovo.nekurak.util.Hash; import java.util.logging.Level; import java.util.logging.Logger; @@ -12,14 +12,14 @@ public class UzivatelPredRegistraci { private static final Logger log = Logger.getLogger(UzivatelPredRegistraci.class.getSimpleName()); - private Uzivatel uzivatel; + private PozadavekNaRegistraciUzivatele uzivatel; private final String token = generujToken(); - public Uzivatel getUzivatel() { + public PozadavekNaRegistraciUzivatele getUzivatel() { return uzivatel; } - public void setUzivatel(Uzivatel uzivatel) { + public void setUzivatel(PozadavekNaRegistraciUzivatele uzivatel) { this.uzivatel = uzivatel; } diff -r 793a89cba0f8 -r 079a3221355d java/nekurak.net-web/web/WEB-INF/casti/registrovatUzivatele.jsp --- a/java/nekurak.net-web/web/WEB-INF/casti/registrovatUzivatele.jsp Thu Mar 04 22:42:34 2010 +0100 +++ b/java/nekurak.net-web/web/WEB-INF/casti/registrovatUzivatele.jsp Fri Mar 05 10:28:34 2010 +0100 @@ -5,7 +5,7 @@ xmlns:fn="http://java.sun.com/jsp/jstl/functions" version="2.0"> - + diff -r 793a89cba0f8 -r 079a3221355d java/nekurak.net-web/web/styl.css --- a/java/nekurak.net-web/web/styl.css Thu Mar 04 22:42:34 2010 +0100 +++ b/java/nekurak.net-web/web/styl.css Fri Mar 05 10:28:34 2010 +0100 @@ -144,4 +144,4 @@ .registraceKontrolaUdaju { color: gray; -} \ No newline at end of file +}