KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > riotfamily > components > editor > EditModeUtils


1 /* ***** BEGIN LICENSE BLOCK *****
2  * Version: MPL 1.1
3  * The contents of this file are subject to the Mozilla Public License Version
4  * 1.1 (the "License"); you may not use this file except in compliance with
5  * the License. You may obtain a copy of the License at
6  * http://www.mozilla.org/MPL/
7  *
8  * Software distributed under the License is distributed on an "AS IS" basis,
9  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
10  * for the specific language governing rights and limitations under the
11  * License.
12  *
13  * The Original Code is Riot.
14  *
15  * The Initial Developer of the Original Code is
16  * Neteye GmbH.
17  * Portions created by the Initial Developer are Copyright (C) 2007
18  * the Initial Developer. All Rights Reserved.
19  *
20  * Contributor(s):
21  * Felix Gnass [fgnass at neteye dot de]
22  *
23  * ***** END LICENSE BLOCK ***** */

24 package org.riotfamily.components.editor;
25
26 import java.io.IOException JavaDoc;
27
28 import javax.servlet.ServletException JavaDoc;
29 import javax.servlet.http.HttpServletRequest JavaDoc;
30 import javax.servlet.http.HttpServletResponse JavaDoc;
31
32 import org.riotfamily.riot.security.AccessController;
33
34 /**
35  * @author Felix Gnass [fgnass at neteye dot de]
36  * @since 6.5
37  */

38 public final class EditModeUtils {
39
40     private static final String JavaDoc LIVE_MODE_ATTRIBUTE =
41             EditModeUtils.class.getName() + ".liveMode";
42     
43     private EditModeUtils() {
44     }
45     
46     public static boolean isEditMode(HttpServletRequest JavaDoc request) {
47         return AccessController.isAuthenticatedUser() && !isLiveMode(request);
48     }
49     
50     public static boolean isLiveMode(HttpServletRequest JavaDoc request) {
51         return request.getAttribute(LIVE_MODE_ATTRIBUTE) == Boolean.TRUE;
52     }
53     
54     public static void setLiveMode(HttpServletRequest JavaDoc 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 JavaDoc request,
64             HttpServletResponse JavaDoc response, String JavaDoc url, boolean liveMode)
65             throws ServletException JavaDoc, IOException JavaDoc {
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