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