KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > info > magnolia > module > admininterface > pages > LinkBrowserDialogPage


1 package info.magnolia.module.admininterface.pages;
2
3 import info.magnolia.cms.beans.config.ContentRepository;
4 import info.magnolia.cms.gui.control.Button;
5 import info.magnolia.cms.gui.misc.CssConstants;
6 import info.magnolia.cms.gui.misc.Sources;
7 import info.magnolia.cms.i18n.MessagesManager;
8 import info.magnolia.module.admininterface.SimplePageMVCHandler;
9
10 import java.io.IOException JavaDoc;
11 import java.io.PrintWriter JavaDoc;
12 import java.util.Date JavaDoc;
13
14 import javax.servlet.http.HttpServletRequest JavaDoc;
15 import javax.servlet.http.HttpServletResponse JavaDoc;
16
17 import org.apache.commons.lang.StringUtils;
18
19
20 /**
21  * @author Fabrizio Giustina
22  * @version $Id: LinkBrowserDialogPage.java 6341 2006-09-12 09:18:27Z philipp $
23  */

24 public class LinkBrowserDialogPage extends SimplePageMVCHandler {
25
26     public LinkBrowserDialogPage(String JavaDoc name, HttpServletRequest JavaDoc request, HttpServletResponse JavaDoc response) {
27         super(name, request, response);
28     }
29
30     /**
31      * Stable serialVersionUID.
32      */

33     private static final long serialVersionUID = 222L;
34
35     protected void render(HttpServletRequest JavaDoc request, HttpServletResponse JavaDoc response) throws IOException JavaDoc {
36         PrintWriter JavaDoc out = response.getWriter();
37         String JavaDoc repository = request.getParameter("repository"); //$NON-NLS-1$
38
if (StringUtils.isEmpty(repository)) {
39             repository = ContentRepository.WEBSITE;
40         }
41
42         String JavaDoc path = request.getParameter("path"); //$NON-NLS-1$
43
String JavaDoc pathOpen = request.getParameter("pathOpen"); //$NON-NLS-1$
44
String JavaDoc pathSelected = request.getParameter("pathSelected"); //$NON-NLS-1$
45

46         StringBuffer JavaDoc html = new StringBuffer JavaDoc();
47         html.append("<html><head>"); //$NON-NLS-1$
48
html.append("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\"/>"); //$NON-NLS-1$
49
html.append(new Sources(request.getContextPath()).getHtmlJs());
50         html.append(new Sources(request.getContextPath()).getHtmlCss());
51         html.append("</head>"); //$NON-NLS-1$
52
html.append("<body class=\"mgnlBgDark\" onload=\"mgnlDialogLinkBrowserResize();window.focus();\">"); //$NON-NLS-1$
53

54         StringBuffer JavaDoc src = getIFrameSrc(request, repository, path, pathOpen, pathSelected);
55
56         html.append("<div id=\"mgnlTreeDiv\" class=\"mgnlDialogLinkBrowserTreeDiv\">"); //$NON-NLS-1$
57
html.append("<iframe id=\"mgnlDialogLinkBrowserIFrame\" name=\"mgnlDialogLinkBrowserIFrame\" SRC=\"" //$NON-NLS-1$
58
+ src
59             + "\" scrolling=\"no\" frameborder=\"0\" width=\"100%\" height=\"100\"></iframe>"); //$NON-NLS-1$
60
html.append("</div>"); //$NON-NLS-1$
61

62         Button bOk = new Button();
63         bOk.setLabel(MessagesManager.get("buttons.ok")); //$NON-NLS-1$
64
// this will call the callback command
65
bOk.setOnclick("mgnlDialogLinkBrowserWriteBack()"); //$NON-NLS-1$
66

67         Button bCancel = new Button();
68         bCancel.setLabel(MessagesManager.get("buttons.cancel")); //$NON-NLS-1$
69
bCancel.setOnclick("window.top.close();"); //$NON-NLS-1$
70

71         html.append("<div class=\"" + CssConstants.CSSCLASS_TABSETSAVEBAR + "\">"); //$NON-NLS-1$ //$NON-NLS-2$
72
html.append(bOk.getHtml());
73         html.append(" "); //$NON-NLS-1$
74
html.append(bCancel.getHtml());
75         html.append("</div>"); //$NON-NLS-1$
76

77         html.append("</body></html>"); //$NON-NLS-1$
78

79         out.println(html);
80     }
81
82     private StringBuffer JavaDoc getIFrameSrc(HttpServletRequest JavaDoc request, String JavaDoc repository, String JavaDoc path, String JavaDoc pathOpen,
83         String JavaDoc pathSelected) {
84         StringBuffer JavaDoc src = new StringBuffer JavaDoc();
85         src.append(request.getContextPath());
86         src.append("/.magnolia/trees/" + repository + ".html"); //$NON-NLS-1$
87
src.append("?&amp;mgnlCK=" + new Date JavaDoc().getTime()); //$NON-NLS-1$
88
src.append("&amp;browseMode=true"); //$NON-NLS-1$
89
if (path != null) {
90             src.append("&amp;path=" + path); //$NON-NLS-1$
91
}
92         if (pathOpen != null) {
93             src.append("&amp;pathOpen=" + pathOpen); //$NON-NLS-1$
94
}
95         if (pathSelected != null) {
96             src.append("&amp;pathSelected=" + pathSelected); //$NON-NLS-1$
97
}
98         return src;
99     }
100 }
101
Popular Tags