1 24 package org.riotfamily.components.editor; 25 26 import java.io.IOException ; 27 28 import javax.servlet.ServletException ; 29 import javax.servlet.http.HttpServletRequest ; 30 import javax.servlet.http.HttpServletResponse ; 31 32 import org.riotfamily.riot.security.AccessController; 33 34 38 public final class EditModeUtils { 39 40 private static final String LIVE_MODE_ATTRIBUTE = 41 EditModeUtils.class.getName() + ".liveMode"; 42 43 private EditModeUtils() { 44 } 45 46 public static boolean isEditMode(HttpServletRequest request) { 47 return AccessController.isAuthenticatedUser() && !isLiveMode(request); 48 } 49 50 public static boolean isLiveMode(HttpServletRequest request) { 51 return request.getAttribute(LIVE_MODE_ATTRIBUTE) == Boolean.TRUE; 52 } 53 54 public static void setLiveMode(HttpServletRequest request, boolean liveMode) { 55 if (liveMode) { 56 request.setAttribute(LIVE_MODE_ATTRIBUTE, Boolean.TRUE); 57 } 58 else { 59 request.removeAttribute(LIVE_MODE_ATTRIBUTE); 60 } 61 } 62 63 public static void include(HttpServletRequest request, 64 HttpServletResponse response, String url, boolean liveMode) 65 throws ServletException , IOException { 66 67 boolean previouslyLive = isLiveMode(request); 68 setLiveMode(request, liveMode); 69 request.getRequestDispatcher(url).include(request, response); 70 setLiveMode(request, previouslyLive); 71 } 72 73 } 74 | Popular Tags |