package com.janrain.backplane2.server.dao.redis; import com.janrain.backplane.common.BackplaneServerException; import com.janrain.backplane2.server.config.User; import com.janrain.backplane2.server.dao.AdminDAO; import com.janrain.redis.Redis; import org.apache.commons.lang.NotImplementedException; import org.apache.commons.lang.SerializationUtils; import org.apache.log4j.Logger; import java.util.List; /** * @author Tom Raney */ public class RedisAdminDAO implements AdminDAO { public static byte[] getAdminUserKey(String userId) { return ("v2_admin_" + userId).getBytes(); } @Override public void persist(User user) throws BackplaneServerException { byte[] key = getAdminUserKey(user.getIdValue()); logger.info("writing key to redis: " + new String(key)); Redis.getInstance().set(getAdminUserKey(user.getIdValue()), SerializationUtils.serialize(user)); } @Override public void delete(String id) throws BackplaneServerException { byte[] key = getAdminUserKey(id); Redis.getInstance().del(key); } @Override public User get(String key) { byte[] bytes = Redis.getInstance().get(getAdminUserKey(key)); if (bytes != null) { return (User) SerializationUtils.deserialize(bytes); } else { return null; } } @Override public List<User> getAll() throws BackplaneServerException { throw new NotImplementedException(); } private static final Logger logger = Logger.getLogger(RedisAdminDAO.class); }