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