Java tutorial
/* * All Sigmah code is released under the GNU General Public License v3 * See COPYRIGHT.txt and LICENSE.txt. */ package org.sigmah.client.inject; import com.allen_sauer.gwt.log.client.Log; import com.google.gwt.i18n.client.Dictionary; import com.google.gwt.user.client.Cookies; import com.google.inject.Provider; import org.sigmah.client.dispatch.remote.Authentication; /** * Supplies user <code>Authentication</code> information from * the <code>authToken</code> and <code>email</code> cookies, or * failing that, from the <code>UserInfo</code> dictionary. * * @author Alex Bertram */ public class AuthProvider implements Provider<Authentication> { public Authentication get() { if (Cookies.getCookie("authToken") != null && Cookies.getCookie("userId") != null && Cookies.getCookie("email") != null) { return new Authentication(Integer.parseInt(Cookies.getCookie("userId")), Cookies.getCookie("authToken"), Cookies.getCookie("email")); } Dictionary userInfo; try { userInfo = Dictionary.getDictionary("UserInfo"); return new Authentication(Integer.parseInt(userInfo.get("userId")), userInfo.get("authToken"), userInfo.get("email")); } catch (Exception e) { Log.fatal("DictionaryAuthenticationProvider: exception retrieving dictionary from page", e); throw new Error(); } } }