package com.iambookmaster.server.tags;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.tagext.TagSupport;
import com.google.appengine.api.users.UserService;
import com.google.appengine.api.users.UserServiceFactory;
public class UserIsNotAdminTag extends TagSupport {
private static final long serialVersionUID = 1L;
private static final String STATUS = "com.iambookmaster.server.tags.UserIsNotAdminTag";
public int doStartTag() throws JspException {
if (admin()) {
return SKIP_BODY;
} else {
return EVAL_BODY_INCLUDE;
}
}
public int doEndTag() throws JspException {
return EVAL_PAGE;
}
protected boolean admin() {
Boolean status = (Boolean)pageContext.getAttribute(STATUS);
if (status == null) {
//no status - define it
UserService userService = UserServiceFactory.getUserService();
status = userService.isUserLoggedIn() && userService.isUserAdmin();
pageContext.setAttribute(STATUS, status);
}
return status.booleanValue();
}
}