1
14
15 package com.liferay.taglib.util;
16
17 import com.liferay.portal.kernel.servlet.StringServletResponse;
18 import com.liferay.portal.kernel.util.HttpUtil;
19 import com.liferay.portal.kernel.util.WebKeys;
20 import com.liferay.portal.model.Layout;
21 import com.liferay.portal.model.LayoutConstants;
22 import com.liferay.portal.model.Portlet;
23 import com.liferay.portal.model.Theme;
24 import com.liferay.portal.theme.ThemeDisplay;
25 import com.liferay.taglib.portlet.ActionURLTag;
26 import com.liferay.taglib.portletext.IconBackTag;
27 import com.liferay.taglib.portletext.IconCloseTag;
28 import com.liferay.taglib.portletext.IconConfigurationTag;
29 import com.liferay.taglib.portletext.IconEditDefaultsTag;
30 import com.liferay.taglib.portletext.IconEditGuestTag;
31 import com.liferay.taglib.portletext.IconEditTag;
32 import com.liferay.taglib.portletext.IconHelpTag;
33 import com.liferay.taglib.portletext.IconMaximizeTag;
34 import com.liferay.taglib.portletext.IconMinimizeTag;
35 import com.liferay.taglib.portletext.IconOptionsTag;
36 import com.liferay.taglib.portletext.IconPortletCssTag;
37 import com.liferay.taglib.portletext.IconPortletTag;
38 import com.liferay.taglib.portletext.IconPrintTag;
39 import com.liferay.taglib.portletext.IconRefreshTag;
40 import com.liferay.taglib.portletext.RuntimeTag;
41 import com.liferay.taglib.security.DoAsURLTag;
42 import com.liferay.taglib.security.PermissionsURLTag;
43 import com.liferay.taglib.theme.LayoutIconTag;
44 import com.liferay.taglib.theme.MetaTagsTag;
45 import com.liferay.taglib.theme.WrapPortletTag;
46 import com.liferay.taglib.ui.BreadcrumbTag;
47 import com.liferay.taglib.ui.JournalContentSearchTag;
48 import com.liferay.taglib.ui.LanguageTag;
49 import com.liferay.taglib.ui.MyPlacesTag;
50 import com.liferay.taglib.ui.PngImageTag;
51 import com.liferay.taglib.ui.SearchTag;
52 import com.liferay.taglib.ui.StagingTag;
53 import com.liferay.taglib.ui.ToggleTag;
54
55 import java.util.Map;
56
57 import javax.portlet.PortletMode;
58 import javax.portlet.PortletRequest;
59 import javax.portlet.PortletURL;
60 import javax.portlet.WindowState;
61
62 import javax.servlet.RequestDispatcher;
63 import javax.servlet.ServletContext;
64 import javax.servlet.http.HttpServletRequest;
65 import javax.servlet.jsp.PageContext;
66
67
72 public class VelocityTaglib {
73
74 public VelocityTaglib() {
75 }
76
77 public VelocityTaglib(
78 ServletContext servletContext, HttpServletRequest request,
79 StringServletResponse stringResponse, PageContext pageContext) {
80
81 init(servletContext, request, stringResponse, pageContext);
82 }
83
84 public VelocityTaglib init(
85 ServletContext servletContext, HttpServletRequest request,
86 StringServletResponse stringResponse, PageContext pageContext) {
87
88 _servletContext = servletContext;
89 _request = request;
90 _stringResponse = stringResponse;
91 _pageContext = pageContext;
92
93 return this;
94 }
95
96 public String actionURL(String portletName, String queryString)
97 throws Exception {
98
99 return actionURL(
100 LayoutConstants.DEFAULT_PLID, portletName, queryString);
101 }
102
103 public String actionURL(long plid, String portletName, String queryString)
104 throws Exception {
105
106 String windowState = WindowState.NORMAL.toString();
107 String portletMode = PortletMode.VIEW.toString();
108
109 return actionURL(
110 windowState, portletMode, plid, portletName, queryString);
111 }
112
113 public String actionURL(
114 String windowState, String portletMode, String portletName,
115 String queryString)
116 throws Exception {
117
118 return actionURL(
119 windowState, portletMode, LayoutConstants.DEFAULT_PLID, portletName,
120 queryString);
121 }
122
123 public String actionURL(
124 String windowState, String portletMode, long plid,
125 String portletName, String queryString)
126 throws Exception {
127
128 Boolean secure = null;
129 Boolean copyCurrentRenderParameters = null;
130 Boolean escapeXml = null;
131 String name = null;
132 Boolean anchor = null;
133 Boolean encrypt = null;
134 long doAsUserId = 0;
135 Boolean portletConfiguration = null;
136
137 return actionURL(
138 windowState, portletMode, secure, copyCurrentRenderParameters,
139 escapeXml, name, plid, portletName, anchor, encrypt, doAsUserId,
140 portletConfiguration, queryString);
141 }
142
143 public String actionURL(
144 String windowState, String portletMode, Boolean secure,
145 Boolean copyCurrentRenderParameters, Boolean escapeXml, String name,
146 long plid, String portletName, Boolean anchor, Boolean encrypt,
147 long doAsUserId, Boolean portletConfiguration, String queryString)
148 throws Exception {
149
150 String var = null;
151 String varImpl = null;
152 String resourceID = null;
153 String cacheability = null;
154 Map<String, String[]> params = HttpUtil.parameterMapFromString(
155 queryString);
156 boolean writeOutput = false;
157
158 return ActionURLTag.doTag(
159 PortletRequest.ACTION_PHASE, windowState, portletMode, var, varImpl,
160 secure, copyCurrentRenderParameters, escapeXml, name, resourceID,
161 cacheability, plid, portletName, anchor, encrypt, doAsUserId,
162 portletConfiguration, params, writeOutput, _pageContext);
163 }
164
165 public String breadcrumb() throws Exception {
166 _stringResponse.recycle();
167
168 BreadcrumbTag.doTag(_servletContext, _request, _stringResponse);
169
170 return _stringResponse.getString();
171 }
172
173 public String breadcrumb(
174 String page, Layout selLayout, String selLayoutParam,
175 PortletURL portletURL, int displayStyle)
176 throws Exception {
177
178 _stringResponse.recycle();
179
180 BreadcrumbTag.doTag(
181 page, selLayout, selLayoutParam, portletURL, displayStyle,
182 _servletContext, _request, _stringResponse);
183
184 return _stringResponse.getString();
185 }
186
187 public String doAsURL(long doAsUserId) throws Exception {
188 return DoAsURLTag.doTag(doAsUserId, null, false, _pageContext);
189 }
190
191 public String getSetting(String name) {
192 ThemeDisplay themeDisplay = (ThemeDisplay)_request.getAttribute(
193 WebKeys.THEME_DISPLAY);
194
195 Theme theme = themeDisplay.getTheme();
196
197 return theme.getSetting(name);
198 }
199
200 public String iconBack() throws Exception {
201 _stringResponse.recycle();
202
203 IconBackTag.doTag(_servletContext, _request, _stringResponse);
204
205 return _stringResponse.getString();
206 }
207
208 public String iconBack(String page) throws Exception {
209 _stringResponse.recycle();
210
211 IconBackTag.doTag(page, _servletContext, _request, _stringResponse);
212
213 return _stringResponse.getString();
214 }
215
216 public String iconClose() throws Exception {
217 _stringResponse.recycle();
218
219 IconCloseTag.doTag(_servletContext, _request, _stringResponse);
220
221 return _stringResponse.getString();
222 }
223
224 public String iconClose(String page) throws Exception {
225 _stringResponse.recycle();
226
227 IconCloseTag.doTag(page, _servletContext, _request, _stringResponse);
228
229 return _stringResponse.getString();
230 }
231
232 public String iconConfiguration() throws Exception {
233 _stringResponse.recycle();
234
235 IconConfigurationTag.doTag(_servletContext, _request, _stringResponse);
236
237 return _stringResponse.getString();
238 }
239
240 public String iconConfiguration(String page) throws Exception {
241 _stringResponse.recycle();
242
243 IconConfigurationTag.doTag(
244 page, _servletContext, _request, _stringResponse);
245
246 return _stringResponse.getString();
247 }
248
249 public String iconEdit() throws Exception {
250 _stringResponse.recycle();
251
252 IconEditTag.doTag(_servletContext, _request, _stringResponse);
253
254 return _stringResponse.getString();
255 }
256
257 public String iconEdit(String page) throws Exception {
258 _stringResponse.recycle();
259
260 IconEditTag.doTag(page, _servletContext, _request, _stringResponse);
261
262 return _stringResponse.getString();
263 }
264
265 public String iconEditDefaults() throws Exception {
266 _stringResponse.recycle();
267
268 IconEditDefaultsTag.doTag(_servletContext, _request, _stringResponse);
269
270 return _stringResponse.getString();
271 }
272
273 public String iconEditGuest() throws Exception {
274 _stringResponse.recycle();
275
276 IconEditGuestTag.doTag(_servletContext, _request, _stringResponse);
277
278 return _stringResponse.getString();
279 }
280
281 public String iconEditGuest(String page) throws Exception {
282 _stringResponse.recycle();
283
284 IconEditGuestTag.doTag(
285 page, _servletContext, _request, _stringResponse);
286
287 return _stringResponse.getString();
288 }
289
290 public String iconHelp() throws Exception {
291 _stringResponse.recycle();
292
293 IconHelpTag.doTag(_servletContext, _request, _stringResponse);
294
295 return _stringResponse.getString();
296 }
297
298 public String iconHelp(String page) throws Exception {
299 _stringResponse.recycle();
300
301 IconHelpTag.doTag(page, _servletContext, _request, _stringResponse);
302
303 return _stringResponse.getString();
304 }
305
306 public String iconMaximize() throws Exception {
307 _stringResponse.recycle();
308
309 IconMaximizeTag.doTag(_servletContext, _request, _stringResponse);
310
311 return _stringResponse.getString();
312 }
313
314 public String iconMaximize(String page) throws Exception {
315 _stringResponse.recycle();
316
317 IconMaximizeTag.doTag(page, _servletContext, _request, _stringResponse);
318
319 return _stringResponse.getString();
320 }
321
322 public String iconMinimize() throws Exception {
323 _stringResponse.recycle();
324
325 IconMinimizeTag.doTag(_servletContext, _request, _stringResponse);
326
327 return _stringResponse.getString();
328 }
329
330 public String iconMinimize(String page) throws Exception {
331 _stringResponse.recycle();
332
333 IconMinimizeTag.doTag(page, _servletContext, _request, _stringResponse);
334
335 return _stringResponse.getString();
336 }
337
338 public String iconOptions() throws Exception {
339 _stringResponse.recycle();
340
341 IconOptionsTag.doTag(_servletContext, _request, _stringResponse);
342
343 return _stringResponse.getString();
344 }
345
346 public String iconOptions(String page) throws Exception {
347 _stringResponse.recycle();
348
349 IconOptionsTag.doTag(page, _servletContext, _request, _stringResponse);
350
351 return _stringResponse.getString();
352 }
353
354 public String iconPortlet() throws Exception {
355 _stringResponse.recycle();
356
357 IconPortletTag.doTag(_servletContext, _request, _stringResponse);
358
359 return _stringResponse.getString();
360 }
361
362 public String iconPortlet(String page, Portlet portlet) throws Exception {
363 _stringResponse.recycle();
364
365 IconPortletTag.doTag(
366 page, portlet, _servletContext, _request, _stringResponse);
367
368 return _stringResponse.getString();
369 }
370
371 public String iconPortletCss() throws Exception {
372 _stringResponse.recycle();
373
374 IconPortletCssTag.doTag(_servletContext, _request, _stringResponse);
375
376 return _stringResponse.getString();
377 }
378
379 public String iconPortletCss(String page) throws Exception {
380 _stringResponse.recycle();
381
382 IconPortletCssTag.doTag(
383 page, _servletContext, _request, _stringResponse);
384
385 return _stringResponse.getString();
386 }
387
388 public String iconPrint() throws Exception {
389 _stringResponse.recycle();
390
391 IconPrintTag.doTag(_servletContext, _request, _stringResponse);
392
393 return _stringResponse.getString();
394 }
395
396 public String iconPrint(String page) throws Exception {
397 _stringResponse.recycle();
398
399 IconPrintTag.doTag(page, _servletContext, _request, _stringResponse);
400
401 return _stringResponse.getString();
402 }
403
404 public String iconRefresh() throws Exception {
405 _stringResponse.recycle();
406
407 IconRefreshTag.doTag(_servletContext, _request, _stringResponse);
408
409 return _stringResponse.getString();
410 }
411
412 public String iconRefresh(String page) throws Exception {
413 _stringResponse.recycle();
414
415 IconRefreshTag.doTag(page, _servletContext, _request, _stringResponse);
416
417 return _stringResponse.getString();
418 }
419
420 public String include(String page) throws Exception {
421 _stringResponse.recycle();
422
423 RequestDispatcher requestDispatcher =
424 _servletContext.getRequestDispatcher(page);
425
426 requestDispatcher.include(_request, _stringResponse);
427
428 return _stringResponse.getString();
429 }
430
431 public String include(ServletContext servletContext, String page)
432 throws Exception {
433
434 _stringResponse.recycle();
435
436 RequestDispatcher requestDispatcher =
437 servletContext.getRequestDispatcher(page);
438
439 requestDispatcher.include(_request, _stringResponse);
440
441 return _stringResponse.getString();
442 }
443
444 public String journalContentSearch() throws Exception {
445 _stringResponse.recycle();
446
447 JournalContentSearchTag.doTag(
448 _servletContext, _request, _stringResponse);
449
450 return _stringResponse.getString();
451 }
452
453 public String language() throws Exception {
454 _stringResponse.recycle();
455
456 LanguageTag.doTag(_servletContext, _request, _stringResponse);
457
458 return _stringResponse.getString();
459 }
460
461 public String language(
462 String formName, String formAction, String name, int displayStyle)
463 throws Exception {
464
465 _stringResponse.recycle();
466
467 LanguageTag.doTag(
468 formName, formAction, name, null, displayStyle, _servletContext,
469 _request, _stringResponse);
470
471 return _stringResponse.getString();
472 }
473
474 public String language(
475 String formName, String formAction, String name,
476 String[] languageIds, int displayStyle)
477 throws Exception {
478
479 _stringResponse.recycle();
480
481 LanguageTag.doTag(
482 formName, formAction, name, languageIds, displayStyle,
483 _servletContext, _request, _stringResponse);
484
485 return _stringResponse.getString();
486 }
487
488 public String language(
489 String page, String formName, String formAction, String name,
490 int displayStyle)
491 throws Exception {
492
493 _stringResponse.recycle();
494
495 LanguageTag.doTag(
496 page, formName, formAction, name, null, displayStyle,
497 _servletContext, _request, _stringResponse);
498
499 return _stringResponse.getString();
500 }
501
502 public String language(
503 String page, String formName, String formAction, String name,
504 String[] languageIds, int displayStyle)
505 throws Exception {
506
507 _stringResponse.recycle();
508
509 LanguageTag.doTag(
510 page, formName, formAction, name, languageIds, displayStyle,
511 _servletContext, _request, _stringResponse);
512
513 return _stringResponse.getString();
514 }
515
516 public String layoutIcon(Layout layout) throws Exception {
517 _stringResponse.recycle();
518
519 LayoutIconTag.doTag(layout, _servletContext, _request, _stringResponse);
520
521 return _stringResponse.getString();
522 }
523
524 public String metaTags() throws Exception {
525 _stringResponse.recycle();
526
527 MetaTagsTag.doTag(_servletContext, _request, _stringResponse);
528
529 return _stringResponse.getString();
530 }
531
532 public String myPlaces() throws Exception {
533 _stringResponse.recycle();
534
535 MyPlacesTag.doTag(_servletContext, _request, _stringResponse);
536
537 return _stringResponse.getString();
538 }
539
540 public String myPlaces(int max) throws Exception {
541 _stringResponse.recycle();
542
543 MyPlacesTag.doTag(max, _servletContext, _request, _stringResponse);
544
545 return _stringResponse.getString();
546 }
547
548 public String permissionsURL(
549 String redirect, String modelResource,
550 String modelResourceDescription, String resourcePrimKey)
551 throws Exception {
552
553 return PermissionsURLTag.doTag(
554 redirect, modelResource, modelResourceDescription, resourcePrimKey,
555 null, false, _pageContext);
556 }
557
558 public String pngImage(String image, String height, String width)
559 throws Exception {
560
561 _stringResponse.recycle();
562
563 PngImageTag.doTag(image, height, width, _servletContext, _request,
564 _stringResponse);
565
566 return _stringResponse.getString();
567 }
568
569 public String renderURL(String portletName, String queryString)
570 throws Exception {
571
572 return renderURL(
573 LayoutConstants.DEFAULT_PLID, portletName, queryString);
574 }
575
576 public String renderURL(long plid, String portletName, String queryString)
577 throws Exception {
578
579 String windowState = WindowState.NORMAL.toString();
580 String portletMode = PortletMode.VIEW.toString();
581
582 return renderURL(
583 windowState, portletMode, plid, portletName, queryString);
584 }
585
586 public String renderURL(
587 String windowState, String portletMode, String portletName,
588 String queryString)
589 throws Exception {
590
591 return renderURL(
592 windowState, portletMode, LayoutConstants.DEFAULT_PLID, portletName,
593 queryString);
594 }
595
596 public String renderURL(
597 String windowState, String portletMode, long plid,
598 String portletName, String queryString)
599 throws Exception {
600
601 Boolean secure = null;
602 Boolean copyCurrentRenderParameters = null;
603 Boolean escapeXml = null;
604 Boolean anchor = null;
605 Boolean encrypt = null;
606 long doAsUserId = 0;
607 Boolean portletConfiguration = null;
608
609 return renderURL(
610 windowState, portletMode, secure, copyCurrentRenderParameters,
611 escapeXml, plid, portletName, anchor, encrypt, doAsUserId,
612 portletConfiguration, queryString);
613 }
614
615 public String renderURL(
616 String windowState, String portletMode, Boolean secure,
617 Boolean copyCurrentRenderParameters, Boolean escapeXml,
618 long plid, String portletName, Boolean anchor, Boolean encrypt,
619 long doAsUserId, Boolean portletConfiguration, String queryString)
620 throws Exception {
621
622 String var = null;
623 String varImpl = null;
624 String name = null;
625 String resourceID = null;
626 String cacheability = null;
627 Map<String, String[]> params = HttpUtil.parameterMapFromString(
628 queryString);
629 boolean writeOutput = false;
630
631 return ActionURLTag.doTag(
632 PortletRequest.RENDER_PHASE, windowState, portletMode, var, varImpl,
633 secure, copyCurrentRenderParameters, escapeXml, name, resourceID,
634 cacheability, plid, portletName, anchor, encrypt, doAsUserId,
635 portletConfiguration, params, writeOutput, _pageContext);
636 }
637
638 public String runtime(String portletName)
639 throws Exception {
640
641 return runtime(portletName, null);
642 }
643
644 public String runtime(String portletName, String queryString)
645 throws Exception {
646
647 _stringResponse.recycle();
648
649 RuntimeTag.doTag(
650 portletName, queryString, null, _servletContext, _request,
651 _stringResponse);
652
653 return _stringResponse.getString();
654 }
655
656 public String runtime(
657 String portletName, String queryString, String defaultPreferences)
658 throws Exception {
659
660 _stringResponse.recycle();
661
662 RuntimeTag.doTag(
663 portletName, queryString, defaultPreferences, null, _servletContext,
664 _request, _stringResponse);
665
666 return _stringResponse.getString();
667 }
668
669 public String search() throws Exception {
670 _stringResponse.recycle();
671
672 SearchTag.doTag(_servletContext, _request, _stringResponse);
673
674 return _stringResponse.getString();
675 }
676
677 public String staging() throws Exception {
678 _stringResponse.recycle();
679
680 StagingTag.doTag(_servletContext, _request, _stringResponse);
681
682 return _stringResponse.getString();
683 }
684
685 public String toggle(
686 String id, String showImage, String hideImage, String showMessage,
687 String hideMessage, boolean defaultShowContent)
688 throws Exception {
689
690 _stringResponse.recycle();
691
692 ToggleTag.doTag(
693 id, showImage, hideImage, showMessage, hideMessage,
694 defaultShowContent, null, _servletContext, _request,
695 _stringResponse);
696
697 return _stringResponse.getString();
698 }
699
700 public String wrapPortlet(String wrapPage, String portletPage)
701 throws Exception {
702
703 _stringResponse.recycle();
704
705 return WrapPortletTag.doTag(
706 wrapPage, portletPage, _servletContext, _request, _stringResponse,
707 _pageContext);
708 }
709
710 private ServletContext _servletContext;
711 private HttpServletRequest _request;
712 private StringServletResponse _stringResponse;
713 private PageContext _pageContext;
714
715 }