001
014
015 package com.liferay.taglib.util;
016
017 import com.liferay.portal.kernel.servlet.PipingPageContext;
018 import com.liferay.portal.kernel.util.HttpUtil;
019 import com.liferay.portal.kernel.util.WebKeys;
020 import com.liferay.portal.model.Layout;
021 import com.liferay.portal.model.LayoutConstants;
022 import com.liferay.portal.model.Portlet;
023 import com.liferay.portal.model.Theme;
024 import com.liferay.portal.theme.ThemeDisplay;
025 import com.liferay.taglib.portlet.ActionURLTag;
026 import com.liferay.taglib.portletext.IconBackTag;
027 import com.liferay.taglib.portletext.IconCloseTag;
028 import com.liferay.taglib.portletext.IconConfigurationTag;
029 import com.liferay.taglib.portletext.IconEditDefaultsTag;
030 import com.liferay.taglib.portletext.IconEditGuestTag;
031 import com.liferay.taglib.portletext.IconEditTag;
032 import com.liferay.taglib.portletext.IconHelpTag;
033 import com.liferay.taglib.portletext.IconMaximizeTag;
034 import com.liferay.taglib.portletext.IconMinimizeTag;
035 import com.liferay.taglib.portletext.IconOptionsTag;
036 import com.liferay.taglib.portletext.IconPortletCssTag;
037 import com.liferay.taglib.portletext.IconPortletTag;
038 import com.liferay.taglib.portletext.IconPrintTag;
039 import com.liferay.taglib.portletext.IconRefreshTag;
040 import com.liferay.taglib.portletext.RuntimeTag;
041 import com.liferay.taglib.security.DoAsURLTag;
042 import com.liferay.taglib.security.PermissionsURLTag;
043 import com.liferay.taglib.theme.LayoutIconTag;
044 import com.liferay.taglib.theme.MetaTagsTag;
045 import com.liferay.taglib.theme.WrapPortletTag;
046 import com.liferay.taglib.ui.BreadcrumbTag;
047 import com.liferay.taglib.ui.JournalContentSearchTag;
048 import com.liferay.taglib.ui.LanguageTag;
049 import com.liferay.taglib.ui.MyPlacesTag;
050 import com.liferay.taglib.ui.PngImageTag;
051 import com.liferay.taglib.ui.SearchTag;
052 import com.liferay.taglib.ui.StagingTag;
053 import com.liferay.taglib.ui.ToggleTag;
054
055 import java.util.Map;
056
057 import javax.portlet.PortletMode;
058 import javax.portlet.PortletRequest;
059 import javax.portlet.WindowState;
060
061 import javax.servlet.RequestDispatcher;
062 import javax.servlet.ServletContext;
063 import javax.servlet.http.HttpServletRequest;
064 import javax.servlet.http.HttpServletResponse;
065 import javax.servlet.jsp.PageContext;
066 import javax.servlet.jsp.tagext.TagSupport;
067
068
072 public class VelocityTaglib {
073
074 public VelocityTaglib() {
075 }
076
077 public VelocityTaglib(
078 ServletContext servletContext, HttpServletRequest request,
079 HttpServletResponse response, PageContext pageContext) {
080
081 init(servletContext, request, response, pageContext);
082 }
083
084 public void actionURL(long plid, String portletName, String queryString)
085 throws Exception {
086
087 String windowState = WindowState.NORMAL.toString();
088 String portletMode = PortletMode.VIEW.toString();
089
090 actionURL(windowState, portletMode, plid, portletName, queryString);
091 }
092
093 public void actionURL(String portletName, String queryString)
094 throws Exception {
095
096 actionURL(LayoutConstants.DEFAULT_PLID, portletName, queryString);
097 }
098
099 public void actionURL(
100 String windowState, String portletMode, Boolean secure,
101 Boolean copyCurrentRenderParameters, Boolean escapeXml, String name,
102 long plid, String portletName, Boolean anchor, Boolean encrypt,
103 long doAsUserId, Boolean portletConfiguration, String queryString)
104 throws Exception {
105
106 String var = null;
107 String varImpl = null;
108 String resourceID = null;
109 String cacheability = null;
110 Map<String, String[]> params = HttpUtil.parameterMapFromString(
111 queryString);
112
113 ActionURLTag.doTag(
114 PortletRequest.ACTION_PHASE, windowState, portletMode, var, varImpl,
115 secure, copyCurrentRenderParameters, escapeXml, name, resourceID,
116 cacheability, plid, portletName, anchor, encrypt, doAsUserId,
117 portletConfiguration, params, _pageContext);
118 }
119
120 public void actionURL(
121 String windowState, String portletMode, long plid,
122 String portletName, String queryString)
123 throws Exception {
124
125 Boolean secure = null;
126 Boolean copyCurrentRenderParameters = null;
127 Boolean escapeXml = null;
128 String name = null;
129 Boolean anchor = null;
130 Boolean encrypt = null;
131 long doAsUserId = 0;
132 Boolean portletConfiguration = null;
133
134 actionURL(
135 windowState, portletMode, secure, copyCurrentRenderParameters,
136 escapeXml, name, plid, portletName, anchor, encrypt, doAsUserId,
137 portletConfiguration, queryString);
138 }
139
140 public void actionURL(
141 String windowState, String portletMode, String portletName,
142 String queryString)
143 throws Exception {
144
145 actionURL(
146 windowState, portletMode, LayoutConstants.DEFAULT_PLID, portletName,
147 queryString);
148 }
149
150 public void breadcrumb() throws Exception {
151 BreadcrumbTag breadcrumbTag = new BreadcrumbTag();
152
153 setUp(breadcrumbTag);
154
155 breadcrumbTag.runTag();
156 }
157
158 public void breadcrumb(
159 int displayStyle, boolean showGuestGroup, boolean showParentGroups,
160 boolean showLayout, boolean showPortletBreadcrumb)
161 throws Exception {
162
163 BreadcrumbTag breadcrumbTag = new BreadcrumbTag();
164
165 setUp(breadcrumbTag);
166
167 breadcrumbTag.setDisplayStyle(displayStyle);
168 breadcrumbTag.setShowGuestGroup(showGuestGroup);
169 breadcrumbTag.setShowLayout(showLayout);
170 breadcrumbTag.setShowParentGroups(showParentGroups);
171 breadcrumbTag.setShowPortletBreadcrumb(showPortletBreadcrumb);
172
173 breadcrumbTag.runTag();
174 }
175
176 public void doAsURL(long doAsUserId) throws Exception {
177 DoAsURLTag.doTag(doAsUserId, null, _pageContext);
178 }
179
180 public BreadcrumbTag getBreadcrumbTag() throws Exception {
181 BreadcrumbTag breadcrumbTag = new BreadcrumbTag();
182
183 setUp(breadcrumbTag);
184
185 return breadcrumbTag;
186 }
187
188 public MyPlacesTag getMyPlacesTag() throws Exception {
189 MyPlacesTag myPlacesTag = new MyPlacesTag();
190
191 setUp(myPlacesTag);
192
193 return myPlacesTag;
194 }
195
196 public PngImageTag getPngImageTag() throws Exception {
197 PngImageTag pngImageTag = new PngImageTag();
198
199 setUp(pngImageTag);
200
201 return pngImageTag;
202 }
203
204 public String getSetting(String name) {
205 ThemeDisplay themeDisplay = (ThemeDisplay)_request.getAttribute(
206 WebKeys.THEME_DISPLAY);
207
208 Theme theme = themeDisplay.getTheme();
209
210 return theme.getSetting(name);
211 }
212
213 public void iconBack() throws Exception {
214 IconBackTag iconBackTag = new IconBackTag();
215
216 setUp(iconBackTag);
217
218 iconBackTag.runTag();
219 }
220
221 public void iconClose() throws Exception {
222 IconCloseTag iconCloseTag = new IconCloseTag();
223
224 setUp(iconCloseTag);
225
226 iconCloseTag.runTag();
227 }
228
229 public void iconConfiguration() throws Exception {
230 IconConfigurationTag iconConfigurationTag = new IconConfigurationTag();
231
232 setUp(iconConfigurationTag);
233
234 iconConfigurationTag.runTag();
235 }
236
237 public void iconEdit() throws Exception {
238 IconEditTag iconEditTag = new IconEditTag();
239
240 setUp(iconEditTag);
241
242 iconEditTag.runTag();
243 }
244
245 public void iconEditDefaults() throws Exception {
246 IconEditDefaultsTag iconEditDefaultsTag = new IconEditDefaultsTag();
247
248 setUp(iconEditDefaultsTag);
249
250 iconEditDefaultsTag.runTag();
251 }
252
253 public void iconEditGuest() throws Exception {
254 IconEditGuestTag iconEditGuestTag = new IconEditGuestTag();
255
256 setUp(iconEditGuestTag);
257
258 iconEditGuestTag.runTag();
259 }
260
261 public void iconHelp() throws Exception {
262 IconHelpTag iconHelpTag = new IconHelpTag();
263
264 setUp(iconHelpTag);
265
266 iconHelpTag.runTag();
267 }
268
269 public void iconMaximize() throws Exception {
270 IconMaximizeTag iconMaximizeTag = new IconMaximizeTag();
271
272 setUp(iconMaximizeTag);
273
274 iconMaximizeTag.runTag();
275 }
276
277 public void iconMinimize() throws Exception {
278 IconMinimizeTag iconMinimizeTag = new IconMinimizeTag();
279
280 setUp(iconMinimizeTag);
281
282 iconMinimizeTag.runTag();
283 }
284
285 public void iconOptions() throws Exception {
286 IconOptionsTag iconOptionsTag = new IconOptionsTag();
287
288 setUp(iconOptionsTag);
289
290 iconOptionsTag.runTag();
291 }
292
293 public void iconPortlet() throws Exception {
294 IconPortletTag iconPortletTag = new IconPortletTag();
295
296 setUp(iconPortletTag);
297
298 iconPortletTag.runTag();
299 }
300
301 public void iconPortlet(Portlet portlet) throws Exception {
302 IconPortletTag iconPortletTag = new IconPortletTag();
303
304 setUp(iconPortletTag);
305
306 iconPortletTag.setPortlet(portlet);
307
308 iconPortletTag.runTag();
309 }
310
311 public void iconPortletCss() throws Exception {
312 IconPortletCssTag iconPortletCssTag = new IconPortletCssTag();
313
314 setUp(iconPortletCssTag);
315
316 iconPortletCssTag.runTag();
317 }
318
319 public void iconPrint() throws Exception {
320 IconPrintTag iconPrintTag = new IconPrintTag();
321
322 setUp(iconPrintTag);
323
324 iconPrintTag.runTag();
325 }
326
327 public void iconRefresh() throws Exception {
328 IconRefreshTag iconRefreshTag = new IconRefreshTag();
329
330 setUp(iconRefreshTag);
331
332 iconRefreshTag.runTag();
333 }
334
335 public void include(ServletContext servletContext, String page)
336 throws Exception {
337
338 RequestDispatcher requestDispatcher =
339 servletContext.getRequestDispatcher(page);
340
341 requestDispatcher.include(_request, _response);
342 }
343
344 public void include(String page) throws Exception {
345 RequestDispatcher requestDispatcher =
346 _servletContext.getRequestDispatcher(page);
347
348 requestDispatcher.include(_request, _response);
349 }
350
351 public VelocityTaglib init(
352 ServletContext servletContext, HttpServletRequest request,
353 HttpServletResponse response, PageContext pageContext) {
354
355 _servletContext = servletContext;
356 _request = request;
357 _response = response;
358 _pageContext = pageContext;
359
360 return this;
361 }
362
363 public void journalContentSearch() throws Exception {
364 JournalContentSearchTag journalContentSearchTag =
365 new JournalContentSearchTag();
366
367 setUp(journalContentSearchTag);
368
369 journalContentSearchTag.runTag();
370 }
371
372 public void language() throws Exception {
373 LanguageTag languageTag = new LanguageTag();
374
375 setUp(languageTag);
376
377 languageTag.runTag();
378 }
379
380 public void language(
381 String formName, String formAction, String name, int displayStyle)
382 throws Exception {
383
384 LanguageTag languageTag = new LanguageTag();
385
386 setUp(languageTag);
387
388 languageTag.setDisplayStyle(displayStyle);
389 languageTag.setFormAction(formAction);
390 languageTag.setFormName(formName);
391 languageTag.setName(name);
392
393 languageTag.runTag();
394 }
395
396 public void language(
397 String formName, String formAction, String name,
398 String[] languageIds, int displayStyle)
399 throws Exception {
400
401 LanguageTag languageTag = new LanguageTag();
402
403 setUp(languageTag);
404
405 languageTag.setDisplayStyle(displayStyle);
406 languageTag.setFormAction(formAction);
407 languageTag.setFormName(formName);
408 languageTag.setLanguageIds(languageIds);
409 languageTag.setName(name);
410
411 languageTag.runTag();
412 }
413
414 public void layoutIcon(Layout layout) throws Exception {
415 LayoutIconTag.doTag(layout, _servletContext, _request, _response);
416 }
417
418 public void metaTags() throws Exception {
419 MetaTagsTag.doTag(_servletContext, _request, _response);
420 }
421
422 public void myPlaces() throws Exception {
423 MyPlacesTag myPlacesTag = new MyPlacesTag();
424
425 setUp(myPlacesTag);
426
427 myPlacesTag.runTag();
428 }
429
430 public void myPlaces(int max) throws Exception {
431 MyPlacesTag myPlacesTag = new MyPlacesTag();
432
433 setUp(myPlacesTag);
434
435 myPlacesTag.setMax(max);
436
437 myPlacesTag.runTag();
438 }
439
440 public void permissionsURL(
441 String redirect, String modelResource,
442 String modelResourceDescription, String resourcePrimKey)
443 throws Exception {
444
445 PermissionsURLTag.doTag(
446 redirect, modelResource, modelResourceDescription, resourcePrimKey,
447 null, _pageContext);
448 }
449
450 public void renderURL(long plid, String portletName, String queryString)
451 throws Exception {
452
453 String windowState = WindowState.NORMAL.toString();
454 String portletMode = PortletMode.VIEW.toString();
455
456 renderURL(windowState, portletMode, plid, portletName, queryString);
457 }
458
459 public void renderURL(String portletName, String queryString)
460 throws Exception {
461
462 renderURL(LayoutConstants.DEFAULT_PLID, portletName, queryString);
463 }
464
465 public void renderURL(
466 String windowState, String portletMode, Boolean secure,
467 Boolean copyCurrentRenderParameters, Boolean escapeXml,
468 long plid, String portletName, Boolean anchor, Boolean encrypt,
469 long doAsUserId, Boolean portletConfiguration, String queryString)
470 throws Exception {
471
472 String var = null;
473 String varImpl = null;
474 String name = null;
475 String resourceID = null;
476 String cacheability = null;
477 Map<String, String[]> params = HttpUtil.parameterMapFromString(
478 queryString);
479
480 ActionURLTag.doTag(
481 PortletRequest.RENDER_PHASE, windowState, portletMode, var, varImpl,
482 secure, copyCurrentRenderParameters, escapeXml, name, resourceID,
483 cacheability, plid, portletName, anchor, encrypt, doAsUserId,
484 portletConfiguration, params, _pageContext);
485 }
486
487 public void renderURL(
488 String windowState, String portletMode, long plid,
489 String portletName, String queryString)
490 throws Exception {
491
492 Boolean secure = null;
493 Boolean copyCurrentRenderParameters = null;
494 Boolean escapeXml = null;
495 Boolean anchor = null;
496 Boolean encrypt = null;
497 long doAsUserId = 0;
498 Boolean portletConfiguration = null;
499
500 renderURL(
501 windowState, portletMode, secure, copyCurrentRenderParameters,
502 escapeXml, plid, portletName, anchor, encrypt, doAsUserId,
503 portletConfiguration, queryString);
504 }
505
506 public void renderURL(
507 String windowState, String portletMode, String portletName,
508 String queryString)
509 throws Exception {
510
511 renderURL(
512 windowState, portletMode, LayoutConstants.DEFAULT_PLID, portletName,
513 queryString);
514 }
515
516 public void runtime(String portletName)
517 throws Exception {
518
519 runtime(portletName, null);
520 }
521
522 public void runtime(String portletName, String queryString)
523 throws Exception {
524
525 RuntimeTag.doTag(
526 portletName, queryString, null, _servletContext, _request,
527 _response);
528 }
529
530 public void runtime(
531 String portletName, String queryString, String defaultPreferences)
532 throws Exception {
533
534 RuntimeTag.doTag(
535 portletName, queryString, defaultPreferences, null, _servletContext,
536 _request, _response);
537 }
538
539 public void search() throws Exception {
540 SearchTag searchTag = new SearchTag();
541
542 setUp(searchTag);
543
544 searchTag.runTag();
545 }
546
547 public void staging() throws Exception {
548 StagingTag stagingTag = new StagingTag();
549
550 setUp(stagingTag);
551
552 stagingTag.runTag();
553 }
554
555 public void toggle(
556 String id, String showImage, String hideImage, String showMessage,
557 String hideMessage, boolean defaultShowContent)
558 throws Exception {
559
560 ToggleTag.doTag(
561 id, showImage, hideImage, showMessage, hideMessage,
562 defaultShowContent, null, _servletContext, _request, _response);
563 }
564
565 public String wrapPortlet(String wrapPage, String portletPage)
566 throws Exception {
567
568 return WrapPortletTag.doTag(
569 wrapPage, portletPage, _servletContext, _request, _response,
570 _pageContext);
571 }
572
573 protected void setUp(TagSupport tagSupport) throws Exception {
574 tagSupport.setPageContext(
575 new PipingPageContext(_pageContext, _response.getWriter()));
576 }
577
578 private PageContext _pageContext;
579 private HttpServletRequest _request;
580 private HttpServletResponse _response;
581 private ServletContext _servletContext;
582
583 }