/******************************************************************************* * All rights reserved. This program and the accompanying materials * are made available under the terms of the GNU Lesser Public License v2.1 * which accompanies this distribution, and is available at * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html * * Contributors: * hangum - initial API and implementation ******************************************************************************/ package com.hangum.tadpole.commons.util; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.log4j.Logger; import org.eclipse.rap.rwt.RWT; import com.hangum.tadpole.commons.libs.core.define.PublicTadpoleDefine; /** * Cookie utils * * @author hangum * */ public class CookieUtils { private static final Logger logger = Logger.getLogger(CookieUtils.class); /** * initialize cookie data */ public static boolean isUpdateChecker() { HttpServletRequest request = RWT.getRequest(); Cookie[] cookies = request.getCookies(); if(cookies == null) return true; for (Cookie cookie : cookies) { if(PublicTadpoleDefine.TDB_COOKIE_UPDATE_CHECK.equals(cookie.getName())) { String val = cookie.getValue(); return Boolean.getBoolean(val); } } return true; } /** * save cookie * * @param key * @param value */ public static void saveCookie(String key, String value) { try { HttpServletResponse response = RWT.getResponse(); Cookie tdbCookie = new Cookie(key, value); tdbCookie.setMaxAge(60 * 60 * 24 * 365); tdbCookie.setPath(PublicTadpoleDefine._cookiePath); response.addCookie(tdbCookie); } catch(Exception e) { logger.error("regist user info", e); } } /** * delete login cookie */ public static void deleteLoginCookie() { try { HttpServletResponse response = RWT.getResponse(); HttpServletRequest request = RWT.getRequest(); Cookie[] cookies = request.getCookies(); for (Cookie cookie : cookies) { if(PublicTadpoleDefine.TDB_COOKIE_USER_SAVE_CKECK.equals(cookie.getName())) { cookie.setValue(""); cookie.setMaxAge(0); cookie.setPath(PublicTadpoleDefine._cookiePath); response.addCookie(cookie); } else if(PublicTadpoleDefine.TDB_COOKIE_USER_ID.equals(cookie.getName())) { cookie.setValue(""); cookie.setMaxAge(0); cookie.setPath(PublicTadpoleDefine._cookiePath); response.addCookie(cookie); } else if(PublicTadpoleDefine.TDB_COOKIE_USER_PWD.equals(cookie.getName())) { cookie.setValue(""); cookie.setMaxAge(0); cookie.setPath(PublicTadpoleDefine._cookiePath); response.addCookie(cookie); } else if(PublicTadpoleDefine.TDB_COOKIE_USER_LANGUAGE.equals(cookie.getName())) { cookie.setValue(""); cookie.setMaxAge(0); cookie.setPath(PublicTadpoleDefine._cookiePath); response.addCookie(cookie); } else if(PublicTadpoleDefine.TDB_COOKIE_USER_IP.equals(cookie.getName())) { cookie.setValue(""); cookie.setMaxAge(0); cookie.setPath(PublicTadpoleDefine._cookiePath); response.addCookie(cookie); } } } catch(Exception e) { logger.error("regist user info", e); } } }