java/nekurak.net-web/src/java/cz/frantovo/nekurak/web/RegistraceUzivatele.java
author František Kučera <franta-hg@frantovo.cz>
Thu Mar 04 14:09:21 2010 +0100 (2010-03-04)
changeset 52 4c0408690ebf
parent 51 d01685a7e07d
child 53 d76be0124c40
permissions -rw-r--r--
Hashování hesla, generování náhodného tokenu, částečný převod chyb na uživatelsky přijatelné hlášky.
     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     public void setUzivatel(UzivatelPredRegistraci uzivatel) {
    22 	uzivatele.put(uzivatel.getToken(), uzivatel);
    23     }
    24 
    25     public void setToken(String token) {
    26 	this.token = token;
    27     }
    28 
    29     /**
    30      * @return true, pokud registrace proběhla, jinak vyhazuje výjimku.
    31      * @throws NekurakVyjimka špatný token nebo chyba při zakládání uživatele
    32      */
    33     public String getDokonciRegistraci() {
    34 
    35 	UzivatelPredRegistraci u = uzivatele.get(token);
    36 
    37 	if (u == null) {
    38 	    /** Chybný token – uživatel se snaží dokončit neexistující registraci */
    39 	    return "registrace.vyjimka.token";
    40 	} else {
    41 	    try {
    42 		hledac.getUzivatelEJB().zalozUzivatele(u.getUzivatel());
    43 	    } catch (Exception e) {
    44 		log.log(Level.WARNING, "Chyba při registraci uživatele.", e);
    45 		return "registrace.vyjimka";
    46 	    }
    47 	    return null;
    48 	}
    49     }
    50 }