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