java/nekurak.net-web/src/java/cz/frantovo/nekurak/web/RegistraceUzivatele.java
author František Kučera <franta-hg@frantovo.cz>
Tue, 27 Apr 2010 16:13:36 +0200
changeset 107 e8371105fcc8
parent 86 eb6fce71e85c
child 145 0efefbf5f8b6
permissions -rw-r--r--
Hlasování: DAO a EJB vrstva pro ukládání hlasů, kostra pro načítání výsledků hlasování.
     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 }