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