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