01: /**********************************************************************************
02: * $URL: https://source.sakaiproject.org/svn/jsf/tags/sakai_2-4-1/widgets/src/java/org/sakaiproject/jsf/renderer/PeerRefreshRenderer.java $
03: * $Id: PeerRefreshRenderer.java 9278 2006-05-10 23:29:21Z ray@media.berkeley.edu $
04: ***********************************************************************************
05: *
06: * Copyright (c) 2003, 2004 The Sakai Foundation.
07: *
08: * Licensed under the Educational Community License, Version 1.0 (the "License");
09: * you may not use this file except in compliance with the License.
10: * You may obtain a copy of the License at
11: *
12: * http://www.opensource.org/licenses/ecl1.php
13: *
14: * Unless required by applicable law or agreed to in writing, software
15: * distributed under the License is distributed on an "AS IS" BASIS,
16: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17: * See the License for the specific language governing permissions and
18: * limitations under the License.
19: *
20: **********************************************************************************/package org.sakaiproject.jsf.renderer;
21:
22: import java.io.IOException;
23:
24: import javax.faces.component.UIComponent;
25: import javax.faces.component.UIOutput;
26: import javax.faces.context.FacesContext;
27: import javax.faces.context.ResponseWriter;
28: import javax.faces.render.Renderer;
29:
30: import org.sakaiproject.jsf.util.RendererUtil;
31:
32: public class PeerRefreshRenderer extends Renderer {
33: public boolean supportsComponentType(UIComponent component) {
34: return (component instanceof UIOutput);
35: }
36:
37: public void encodeBegin(FacesContext context, UIComponent component)
38: throws IOException {
39: ResponseWriter writer = context.getResponseWriter();
40: writer.write("<div class =\"instruction\">");
41: }
42:
43: public void encodeEnd(FacesContext context, UIComponent component)
44: throws IOException {
45: ResponseWriter writer = context.getResponseWriter();
46: String txt = (String) RendererUtil.getAttribute(context,
47: component, "value");
48: if ((txt != null) && (txt.length() > 0)) {
49: writer
50: .write("<script type=\"text/javascript\" language=\"JavaScript\">\n");
51: writer.write("try\n");
52: writer.write("{\n");
53: writer.write(" if (parent." + txt
54: + ".location.toString().length > 1)\n");
55: writer.write(" {\n");
56: writer.write(" parent." + txt
57: + ".location.replace(parent." + txt
58: + ".location);\n");
59: writer.write(" }\n");
60: writer.write("}\n");
61: writer.write("catch (e1)\n");
62: writer.write("{\n");
63: writer.write(" try\n");
64: writer.write(" {\n");
65: writer.write(" if (parent.parent." + txt
66: + ".location.toString().length > 1)\n");
67: writer.write(" {\n");
68: writer.write(" parent.parent." + txt
69: + ".location.replace(parent.parent." + txt
70: + ".location);\n");
71: writer.write(" }\n");
72: writer.write(" }\n");
73: writer.write(" catch (e2)\n");
74: writer.write(" {\n");
75: writer.write(" }\n");
76: writer.write("}\n");
77: writer.write("</script>\n");
78: }
79: }
80: }
|