KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > methodhead > shim > BodyTag


1 /*
2  * Copyright (C) 2006 Methodhead Software LLC. All rights reserved.
3  *
4  * This file is part of TransferCM.
5  *
6  * TransferCM is free software; you can redistribute it and/or modify it under the
7  * terms of the GNU General Public License as published by the Free Software
8  * Foundation; either version 2 of the License, or (at your option) any later
9  * version.
10  *
11  * TransferCM is distributed in the hope that it will be useful, but WITHOUT ANY
12  * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
13  * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
14  * details.
15  *
16  * You should have received a copy of the GNU General Public License along with
17  * TransferCM; if not, write to the Free Software Foundation, Inc., 51 Franklin St,
18  * Fifth Floor, Boston, MA 02110-1301 USA
19  */

20
21 package com.methodhead.shim;
22
23 import javax.servlet.jsp.JspException JavaDoc;
24 import javax.servlet.jsp.tagext.TagSupport JavaDoc;
25 import java.util.Map JavaDoc;
26 import java.io.IOException JavaDoc;
27 import java.util.HashMap JavaDoc;
28 import javax.servlet.http.HttpServletRequest JavaDoc;
29 import javax.servlet.http.HttpServletResponse JavaDoc;
30 import org.apache.struts.util.MessageResources;
31 import org.apache.struts.Globals;
32 import com.methodhead.menu.MenuRenderer;
33 import com.methodhead.util.ServletUtils;
34 import com.methodhead.tree.FoldingTreeNode;
35 import com.methodhead.sitecontext.SiteContextFilter;
36
37 public class BodyTag
38 extends
39   TagSupport JavaDoc {
40
41   // constructors /////////////////////////////////////////////////////////////
42

43   // constants ////////////////////////////////////////////////////////////////
44

45   // classes //////////////////////////////////////////////////////////////////
46

47   // methods //////////////////////////////////////////////////////////////////
48

49   public int doStartTag()
50   throws
51     JspException JavaDoc {
52
53     String JavaDoc mode =
54       ( String JavaDoc )pageContext.getRequest().getAttribute( ShimGlobals.MODE_KEY );
55
56     HttpServletRequest JavaDoc request =
57       ( HttpServletRequest JavaDoc )pageContext.getRequest();
58
59     String JavaDoc editPanel =
60       ( String JavaDoc )request.getAttribute( ShimGlobals.EDITPANEL_KEY );
61
62     try {
63       String JavaDoc onload = "";
64       String JavaDoc onbeforeunload = "";
65
66       //
67
// get attributes html
68
//
69
StringBuffer JavaDoc atts = new StringBuffer JavaDoc();
70
71       if ( !"".equals( id_ ) )
72         atts.append( " id=\"" + id_ + "\"" );
73       if ( !"".equals( styleClass_ ) )
74         atts.append( " class=\"" + styleClass_ + "\"" );
75       if ( !"".equals( lang_ ) )
76         atts.append( " lang=\"" + lang_ + "\"" );
77       if ( !"".equals( dir_ ) )
78         atts.append( " dir=\"" + dir_ + "\"" );
79       if ( !"".equals( title_ ) )
80         atts.append( " title=\"" + title_ + "\"" );
81       if ( !"".equals( style_ ) )
82         atts.append( " style=\"" + style_ + "\"" );
83       if ( !"".equals( bgcolor_ ) )
84         atts.append( " bgcolor=\"" + bgcolor_ + "\"" );
85       if ( !"".equals( onunload_ ) )
86         atts.append( " onunload=\"" + onunload_ + "\"" );
87       if ( !"".equals( onclick_ ) )
88         atts.append( " onclick=\"" + onclick_ + "\"" );
89       if ( !"".equals( onmousedown_ ) )
90         atts.append( " onmousedown=\"" + onmousedown_ + "\"" );
91       if ( !"".equals( onmouseup_ ) )
92         atts.append( " onmouseup=\"" + onmouseup_ + "\"" );
93       if ( !"".equals( onmouseover_ ) )
94         atts.append( " onmouseover=\"" + onmouseover_ + "\"" );
95       if ( !"".equals( onmousemove_ ) )
96         atts.append( " onmousemove=\"" + onmousemove_ + "\"" );
97       if ( !"".equals( onmouseout_ ) )
98         atts.append( " onmouseout=\"" + onmouseout_ + "\"" );
99       if ( !"".equals( onkeypress_ ) )
100         atts.append( " onkeypress=\"" + onkeypress_ + "\"" );
101       if ( !"".equals( onkeydown_ ) )
102         atts.append( " onkeydown=\"" + onkeydown_ + "\"" );
103       if ( !"".equals( onkeyup_ ) )
104         atts.append( " onkeyup=\"" + onkeyup_ + "\"" );
105
106       //
107
// update onload and onbeforeunload if we're in the editor
108
//
109
if ( ShimGlobals.MODE_RICHEDIT.equals( mode ) ) {
110
111         //
112
// onload
113
//
114
onload = " onload=\"";
115
116         if ( onload_.length() > 0 )
117           onload += onload_ + ",";
118
119         onload += "window.parent.init()" + "\"";
120
121         //
122
// onbeforeunload
123
//
124
onbeforeunload =
125           " onbeforeunload=" +
126           "\"return window.parent.toolbarFrame.onBeforeUnload()\"";
127       }
128       else {
129         if ( onload_.length() > 0 ) {
130           onload = " onload=\"" + onload_ + "\"";
131         }
132
133         if ( onbeforeunload_.length() > 0 ) {
134           onbeforeunload = " onbeforeunload=\"" + onbeforeunload_ + "\"";
135         }
136       }
137
138       pageContext.getOut().println(
139         "<body" + onload + onbeforeunload + atts + ">" );
140
141       //
142
// edit mode but not rich text editing?
143
//
144
mode =
145         ( String JavaDoc )pageContext.getSession().getAttribute( ShimGlobals.MODE_KEY );
146
147       if (
148         ShimGlobals.MODE_EDIT.equals( mode ) &&
149         ( editPanel == null ) &&
150         ShimUtils.displayEditElements(
151           ( HttpServletRequest JavaDoc )pageContext.getRequest() ) ) {
152
153         MenuRenderer renderer = new MenuRenderer();
154
155         //
156
// get the menu
157
//
158
pageContext.getOut().println(
159           "<script type=\"text/javascript\" " +
160           "src=\"" + SiteContextFilter.APPROOT +
161           "/js/menu-config.js\"></script>\n" );
162
163         //
164
// render the menu (menu will be null when including templates for
165
// panel defs)
166
//
167
FoldingTreeNode menu =
168           ( FoldingTreeNode )request.getAttribute( ShimGlobals.MENU_KEY );
169
170         if ( menu != null ) {
171           pageContext.getOut().println( "<script type=\"text/javascript\">" );
172
173           pageContext.getOut().println(
174             renderer.renderMenu( menu ) );
175
176           pageContext.getOut().println( "</script>" );
177
178           pageContext.getOut().println(
179             "<script type=\"text/javascript\" " +
180             "src=\"" + SiteContextFilter.APPROOT +
181             "/js/menu_com.js\"></script>" );
182         }
183       }
184     }
185     catch ( IOException JavaDoc e ) {
186       throw new JspException JavaDoc(
187         "Unexpected IOException when writing body tag: " + e.toString() );
188     }
189
190     return EVAL_BODY_INCLUDE;
191   }
192
193   public int doEndTag()
194   throws
195     JspException JavaDoc {
196
197     try {
198       pageContext.getOut().println( "</body>" );
199     }
200     catch ( IOException JavaDoc e ) {
201       throw new JspException JavaDoc(
202         "Unexpected IOException when writing body end tag: " + e.toString() );
203     }
204
205     return EVAL_PAGE;
206   }
207
208   // properties ///////////////////////////////////////////////////////////////
209

210   public String JavaDoc getOnload() {
211     return onload_;
212   }
213
214   public void setOnload( String JavaDoc onload ) {
215     onload_ = onload;
216   }
217
218   public String JavaDoc getOnbeforeunload() {
219     return onbeforeunload_;
220   }
221
222   public void setOnbeforeunload( String JavaDoc onbeforeunload ) {
223     onbeforeunload_ = onbeforeunload;
224   }
225
226   public String JavaDoc getId() {
227     return id_;
228   }
229
230   public void setId( String JavaDoc id ) {
231     id_ = id;
232   }
233
234   public String JavaDoc getStyleClass() {
235     return styleClass_;
236   }
237
238   public void setStyleClass( String JavaDoc styleClass ) {
239     styleClass_ = styleClass;
240   }
241
242   public String JavaDoc getLang() {
243     return lang_;
244   }
245
246   public void setLang( String JavaDoc lang ) {
247     lang_ = lang;
248   }
249
250   public String JavaDoc getDir() {
251     return dir_;
252   }
253
254   public void setDir( String JavaDoc dir ) {
255     dir_ = dir;
256   }
257
258   public String JavaDoc getTitle() {
259     return title_;
260   }
261
262   public void setTitle( String JavaDoc title ) {
263     title_ = title;
264   }
265
266   public String JavaDoc getStyle() {
267     return style_;
268   }
269
270   public void setStyle( String JavaDoc style ) {
271     style_ = style;
272   }
273
274   public String JavaDoc getBgcolor() {
275     return bgcolor_;
276   }
277
278   public void setBgcolor( String JavaDoc bgcolor ) {
279     bgcolor_ = bgcolor;
280   }
281
282   public String JavaDoc getOnunload() {
283     return onunload_;
284   }
285
286   public void setOnunload( String JavaDoc onunload ) {
287     onunload_ = onunload;
288   }
289
290   public String JavaDoc getOnclick() {
291     return onclick_;
292   }
293
294   public void setOnclick( String JavaDoc onclick ) {
295     onclick_ = onclick;
296   }
297
298   public String JavaDoc getOnmousedown() {
299     return onmousedown_;
300   }
301
302   public void setOnmousedown( String JavaDoc onmousedown ) {
303     onmousedown_ = onmousedown;
304   }
305
306   public String JavaDoc getOnmouseup() {
307     return onmouseup_;
308   }
309
310   public void setOnmouseup( String JavaDoc onmouseup ) {
311     onmouseup_ = onmouseup;
312   }
313
314   public String JavaDoc getOnmouseover() {
315     return onmouseover_;
316   }
317
318   public void setOnmouseover( String JavaDoc onmouseover ) {
319     onmouseover_ = onmouseover;
320   }
321
322   public String JavaDoc getOnmousemove() {
323     return onmousemove_;
324   }
325
326   public void setOnmousemove( String JavaDoc onmousemove ) {
327     onmousemove_ = onmousemove;
328   }
329
330   public String JavaDoc getOnmouseout() {
331     return onmouseout_;
332   }
333
334   public void setOnmouseout( String JavaDoc onmouseout ) {
335     onmouseout_ = onmouseout;
336   }
337
338   public String JavaDoc getOnkeypress() {
339     return onkeypress_;
340   }
341
342   public void setOnkeypress( String JavaDoc onkeypress ) {
343     onkeypress_ = onkeypress;
344   }
345
346   public String JavaDoc getOnkeydown() {
347     return onkeydown_;
348   }
349
350   public void setOnkeydown( String JavaDoc onkeydown ) {
351     onkeydown_ = onkeydown;
352   }
353
354   public String JavaDoc getOnkeyup() {
355     return onkeyup_;
356   }
357
358   public void setOnkeyup( String JavaDoc onkeyup ) {
359     onkeyup_ = onkeyup;
360   }
361
362   // attributes ///////////////////////////////////////////////////////////////
363

364   private String JavaDoc onload_ = "";
365   private String JavaDoc onbeforeunload_ = "";
366   private String JavaDoc id_ = "";
367   private String JavaDoc styleClass_ = "";
368   private String JavaDoc lang_ = "";
369   private String JavaDoc dir_ = "";
370   private String JavaDoc title_ = "";
371   private String JavaDoc style_ = "";
372   private String JavaDoc bgcolor_ = "";
373   private String JavaDoc onunload_ = "";
374   private String JavaDoc onclick_ = "";
375   private String JavaDoc onmousedown_ = "";
376   private String JavaDoc onmouseup_ = "";
377   private String JavaDoc onmouseover_ = "";
378   private String JavaDoc onmousemove_ = "";
379   private String JavaDoc onmouseout_ = "";
380   private String JavaDoc onkeypress_ = "";
381   private String JavaDoc onkeydown_ = "";
382   private String JavaDoc onkeyup_ = "";
383 }
384
Popular Tags