java/nekurak.net-web/src/java/cz/frantovo/nekurak/web/RegistraceUzivatele.java
author František Kučera <franta-hg@frantovo.cz>
Thu Mar 04 22:42:23 2010 +0100 (2010-03-04)
changeset 53 d76be0124c40
parent 52 4c0408690ebf
child 55 079a3221355d
permissions -rw-r--r--
Kontrola hesla, překlady, grafika, drobnosti.
franta-hg@51
     1
package cz.frantovo.nekurak.web;
franta-hg@51
     2
franta-hg@52
     3
import cz.frantovo.nekurak.vyjimky.NekurakVyjimka;
franta-hg@51
     4
import java.util.Collections;
franta-hg@51
     5
import java.util.HashMap;
franta-hg@51
     6
import java.util.Map;
franta-hg@52
     7
import java.util.logging.Level;
franta-hg@52
     8
import java.util.logging.Logger;
franta-hg@51
     9
franta-hg@51
    10
/**
franta-hg@51
    11
 *
franta-hg@51
    12
 * @author fiki
franta-hg@51
    13
 */
franta-hg@51
    14
public class RegistraceUzivatele {
franta-hg@51
    15
franta-hg@51
    16
    private HledacSluzby hledac = new HledacSluzby();
franta-hg@52
    17
    private static final Logger log = Logger.getLogger(RegistraceUzivatele.class.getSimpleName());
franta-hg@51
    18
    private Map<String, UzivatelPredRegistraci> uzivatele = Collections.synchronizedMap(new HashMap<String, UzivatelPredRegistraci>());
franta-hg@51
    19
    private String token;
franta-hg@51
    20
franta-hg@53
    21
    /**
franta-hg@53
    22
     * Přidáme uživatelský účet do mapy místo abychom použili prostou proměnnou.
franta-hg@53
    23
     * Uživatel si totiž může otevřít víc registračních formulářů,
franta-hg@53
    24
     * postupně je vyplnit a pak potvrdit jeden z nich.
franta-hg@53
    25
     * Takto nedojde k přepsání údajů z předchozích vyplněných formulářů.
franta-hg@53
    26
     */
franta-hg@51
    27
    public void setUzivatel(UzivatelPredRegistraci uzivatel) {
franta-hg@51
    28
	uzivatele.put(uzivatel.getToken(), uzivatel);
franta-hg@51
    29
    }
franta-hg@51
    30
franta-hg@51
    31
    public void setToken(String token) {
franta-hg@51
    32
	this.token = token;
franta-hg@51
    33
    }
franta-hg@51
    34
franta-hg@52
    35
    /**
franta-hg@52
    36
     * @return true, pokud registrace proběhla, jinak vyhazuje výjimku.
franta-hg@52
    37
     * @throws NekurakVyjimka špatný token nebo chyba při zakládání uživatele
franta-hg@52
    38
     */
franta-hg@52
    39
    public String getDokonciRegistraci() {
franta-hg@51
    40
franta-hg@51
    41
	UzivatelPredRegistraci u = uzivatele.get(token);
franta-hg@51
    42
franta-hg@51
    43
	if (u == null) {
franta-hg@51
    44
	    /** Chybný token – uživatel se snaží dokončit neexistující registraci */
franta-hg@52
    45
	    return "registrace.vyjimka.token";
franta-hg@51
    46
	} else {
franta-hg@52
    47
	    try {
franta-hg@52
    48
		hledac.getUzivatelEJB().zalozUzivatele(u.getUzivatel());
franta-hg@52
    49
	    } catch (Exception e) {
franta-hg@52
    50
		log.log(Level.WARNING, "Chyba při registraci uživatele.", e);
franta-hg@52
    51
		return "registrace.vyjimka";
franta-hg@52
    52
	    }
franta-hg@52
    53
	    return null;
franta-hg@51
    54
	}
franta-hg@51
    55
    }
franta-hg@51
    56
}