List of usage examples for com.liferay.portal.kernel.template TemplateManagerUtil getTemplate
public static Template getTemplate(String templateManagerName, TemplateResource templateResource, boolean restricted) throws TemplateException
From source file:com.liferay.content.targeting.portlet.FreeMarkerPortlet.java
License:Open Source License
@Override protected void include(String path, PortletRequest portletRequest, PortletResponse portletResponse, String lifecycle) throws IOException, PortletException { PortletContext portletContext = getPortletContext(); String servletContextName = portletContext.getPortletContextName(); String resourcePath = servletContextName.concat(TemplateConstants.SERVLET_SEPARATOR).concat(path); boolean resourceExists = false; try {//from w ww. j a va2 s. c om resourceExists = TemplateResourceLoaderUtil.hasTemplateResource(TemplateConstants.LANG_TYPE_FTL, resourcePath); } catch (TemplateException te) { throw new IOException(te.getMessage()); } if (!resourceExists) { _log.error(path + " is not a valid include"); } else { try { TemplateResource templateResource = TemplateResourceLoaderUtil .getTemplateResource(TemplateConstants.LANG_TYPE_FTL, resourcePath); Template template = TemplateManagerUtil.getTemplate(TemplateConstants.LANG_TYPE_FTL, templateResource, false); TemplateTaglibSupportProvider templateTaglibSupportProvider = getTaglibSupportProvider(); if (templateTaglibSupportProvider != null) { templateTaglibSupportProvider.addTaglibSupport(template, servletContextName, portletRequest, portletResponse); } // LPS-43725 HttpServletRequestWrapper httpServletRequestWrapper = new HttpServletRequestWrapper( PortalUtil.getHttpServletRequest(portletRequest)); HttpServletResponseWrapper httpServletResponseWrapper = new HttpServletResponseWrapper( PortalUtil.getHttpServletResponse(portletResponse)); HttpRequestHashModel httpRequestHashModel = new HttpRequestHashModel(httpServletRequestWrapper, httpServletResponseWrapper, ObjectWrapper.DEFAULT_WRAPPER); template.put("Request", httpRequestHashModel); populateContext(path, portletRequest, portletResponse, template); Writer writer = null; if (portletResponse instanceof MimeResponse) { MimeResponse mimeResponse = (MimeResponse) portletResponse; writer = UnsyncPrintWriterPool.borrow(mimeResponse.getWriter()); } else { writer = new UnsyncStringWriter(); } template.processTemplate(writer); } catch (Exception e) { throw new PortletException(e); } } if (clearRequestParameters) { if (lifecycle.equals(PortletRequest.RENDER_PHASE)) { portletResponse.setProperty("clear-request-parameters", "true"); } } }
From source file:com.liferay.document.library.web.internal.display.context.logic.UIItemsBuilder.java
License:Open Source License
public void addCheckinToolbarItem(List<ToolbarItem> toolbarItems) throws PortalException { if (!_fileEntryDisplayContextHelper.isCheckinActionAvailable()) { return;/*from www . j a v a 2s .com*/ } PortletURL portletURL = _getActionURL("/document_library/edit_file_entry", Constants.CHECKIN); portletURL.setParameter("fileEntryId", String.valueOf(_fileEntry.getFileEntryId())); JavaScriptToolbarItem javaScriptToolbarItem = _addJavaScriptUIItem(new JavaScriptToolbarItem(), toolbarItems, DLUIItemKeys.CHECKIN, LanguageUtil.get(_resourceBundle, "checkin"), getNamespace() + "showVersionDetailsDialog('" + portletURL + "');"); String javaScript = "/com/liferay/document/library/web/display/context/dependencies" + "/checkin_js.ftl"; Class<?> clazz = getClass(); URLTemplateResource urlTemplateResource = new URLTemplateResource(javaScript, clazz.getResource(javaScript)); Template template = TemplateManagerUtil.getTemplate(TemplateConstants.LANG_TYPE_FTL, urlTemplateResource, false); template.put("dialogCancelButtonLabel", LanguageUtil.get(_resourceBundle, "cancel")); template.put("dialogSaveButtonLabel", LanguageUtil.get(_resourceBundle, "save")); template.put("dialogTitle", UnicodeLanguageUtil.get(_resourceBundle, "describe-your-changes")); template.put("namespace", getNamespace()); UnsyncStringWriter unsyncStringWriter = new UnsyncStringWriter(); template.processTemplate(unsyncStringWriter); javaScriptToolbarItem.setJavaScript(unsyncStringWriter.toString()); }
From source file:com.liferay.document.library.web.internal.display.context.logic.UIItemsBuilder.java
License:Open Source License
public void addOpenInMsOfficeMenuItem(List<MenuItem> menuItems) throws PortalException { if (!isOpenInMsOfficeActionAvailable()) { return;/*from www.j a v a 2s . com*/ } String webDavURL = DLUtil.getWebDavURL(_themeDisplay, _fileEntry.getFolder(), _fileEntry, PropsValues.DL_FILE_ENTRY_OPEN_IN_MS_OFFICE_MANUAL_CHECK_IN_REQUIRED, true); String onClick = getNamespace() + "openDocument('" + webDavURL + "');"; JavaScriptMenuItem javascriptMenuItem = _addJavaScriptUIItem(new JavaScriptMenuItem(), menuItems, DLUIItemKeys.OPEN_IN_MS_OFFICE, "open-in-ms-office", onClick); String javaScript = "/com/liferay/document/library/web/display/context/dependencies" + "/open_in_ms_office_js.ftl"; Class<?> clazz = getClass(); URLTemplateResource urlTemplateResource = new URLTemplateResource(javaScript, clazz.getResource(javaScript)); Template template = TemplateManagerUtil.getTemplate(TemplateConstants.LANG_TYPE_FTL, urlTemplateResource, false); template.put("errorMessage", UnicodeLanguageUtil.get(_resourceBundle, "cannot-open-the-requested-document-due-to-the-following-" + "reason")); template.put("namespace", getNamespace()); UnsyncStringWriter unsyncStringWriter = new UnsyncStringWriter(); template.processTemplate(unsyncStringWriter); javascriptMenuItem.setJavaScript(unsyncStringWriter.toString()); }
From source file:com.liferay.document.library.web.internal.display.context.logic.UIItemsBuilder.java
License:Open Source License
public JavaScriptMenuItem getJavacriptCheckinMenuItem() throws PortalException { PortletURL portletURL = _getActionURL("/document_library/edit_file_entry", Constants.CHECKIN); portletURL.setParameter("fileEntryId", String.valueOf(_fileEntry.getFileEntryId())); JavaScriptMenuItem javascriptMenuItem = new JavaScriptMenuItem(); javascriptMenuItem.setKey(DLUIItemKeys.CHECKIN); javascriptMenuItem.setLabel("checkin"); javascriptMenuItem.setOnClick(getNamespace() + "showVersionDetailsDialog('" + portletURL + "');"); String javaScript = "/com/liferay/document/library/web/display/context/dependencies" + "/checkin_js.ftl"; Class<?> clazz = getClass(); URLTemplateResource urlTemplateResource = new URLTemplateResource(javaScript, clazz.getResource(javaScript)); Template template = TemplateManagerUtil.getTemplate(TemplateConstants.LANG_TYPE_FTL, urlTemplateResource, false);/* w w w . j ava 2s. c o m*/ template.put("dialogCancelButtonLabel", LanguageUtil.get(_resourceBundle, "cancel")); template.put("dialogSaveButtonLabel", LanguageUtil.get(_resourceBundle, "save")); template.put("dialogTitle", UnicodeLanguageUtil.get(_resourceBundle, "describe-your-changes")); template.put("namespace", getNamespace()); template.put("randomNamespace", _request.getAttribute("randomNamespace")); UnsyncStringWriter unsyncStringWriter = new UnsyncStringWriter(); template.processTemplate(unsyncStringWriter); javascriptMenuItem.setJavaScript(unsyncStringWriter.toString()); return javascriptMenuItem; }
From source file:com.liferay.dynamic.data.lists.form.web.internal.notification.DDLFormEmailNotificationSender.java
License:Open Source License
protected Template createTemplate(PortletRequest portletRequest, DDLRecordSet recordSet, DDLRecord record) throws PortalException { Template template = TemplateManagerUtil.getTemplate(TemplateConstants.LANG_TYPE_SOY, getTemplateResource(_TEMPLATE_PATH), false); populateParameters(template, portletRequest, recordSet, record); return template; }
From source file:com.liferay.dynamic.data.mapping.form.field.type.BaseDDMFormFieldRenderer.java
License:Open Source License
@Override public String render(DDMFormField ddmFormField, DDMFormFieldRenderingContext ddmFormFieldRenderingContext) throws PortalException { Template template = TemplateManagerUtil.getTemplate(getTemplateLanguage(), getTemplateResource(), false); template.put(TemplateConstants.NAMESPACE, getTemplateNamespace()); template.put(TemplateConstants.RENDER_STRICT, Boolean.FALSE); populateRequiredContext(template, ddmFormField, ddmFormFieldRenderingContext); populateOptionalContext(template, ddmFormField, ddmFormFieldRenderingContext); return render(template); }
From source file:com.liferay.dynamic.data.mapping.form.renderer.internal.DDMFormRendererImpl.java
License:Open Source License
protected String doRender(DDMForm ddmForm, DDMFormLayout ddmFormLayout, DDMFormRenderingContext ddmFormRenderingContext) throws PortalException { Template template = TemplateManagerUtil.getTemplate(TemplateConstants.LANG_TYPE_SOY, _templateResources, false);/*from w w w. j a va 2s . c om*/ populateCommonContext(template, ddmForm, ddmFormLayout, ddmFormRenderingContext); SoyRawData soyRawData = (SoyRawData) template.get("templateNamespace"); String templateNamespace = (String) soyRawData.getValue(); String html = render(template, templateNamespace); String javaScript = render(template, "ddm.form_renderer_js"); return html.concat(javaScript); }
From source file:com.liferay.dynamic.data.mapping.form.web.internal.notification.DDMFormEmailNotificationSender.java
License:Open Source License
protected Template createTemplate(PortletRequest portletRequest, DDMFormInstance ddmFormInstance, DDMFormInstanceRecord ddmFormInstanceRecord) throws PortalException { Template template = TemplateManagerUtil.getTemplate(TemplateConstants.LANG_TYPE_SOY, getTemplateResource(_TEMPLATE_PATH), false); populateParameters(template, portletRequest, ddmFormInstance, ddmFormInstanceRecord); return template; }
From source file:com.liferay.dynamic.data.mapping.internal.render.DDMFormFieldFreeMarkerRenderer.java
License:Open Source License
protected String processFTL(HttpServletRequest request, HttpServletResponse response, String fieldNamespace, String type, String mode, boolean readOnly, Map<String, Object> freeMarkerContext) throws Exception { if (Validator.isNull(fieldNamespace)) { fieldNamespace = _DEFAULT_NAMESPACE; }//from www . j a v a 2s . c o m TemplateResource templateResource = _defaultTemplateResource; Map<String, Object> fieldStructure = (Map<String, Object>) freeMarkerContext.get("fieldStructure"); boolean fieldReadOnly = GetterUtil.getBoolean(fieldStructure.get("readOnly")); if ((fieldReadOnly && Validator.isNotNull(mode) && StringUtil.equalsIgnoreCase(mode, DDMTemplateConstants.TEMPLATE_MODE_EDIT)) || readOnly) { fieldNamespace = _DEFAULT_READ_ONLY_NAMESPACE; templateResource = _defaultReadOnlyTemplateResource; } String templateName = StringUtil.replaceFirst(type, fieldNamespace.concat(StringPool.DASH), StringPool.BLANK); StringBundler sb = new StringBundler(5); sb.append(_TPL_PATH); sb.append(StringUtil.toLowerCase(fieldNamespace)); sb.append(CharPool.SLASH); sb.append(templateName); sb.append(_TPL_EXT); String resource = sb.toString(); URL url = getResource(resource); if (url != null) { templateResource = getTemplateResource(resource); } if (templateResource == null) { throw new Exception("Unable to load template resource " + resource); } Template template = TemplateManagerUtil.getTemplate(TemplateConstants.LANG_TYPE_FTL, templateResource, false); for (Map.Entry<String, Object> entry : freeMarkerContext.entrySet()) { template.put(entry.getKey(), entry.getValue()); } TemplateManager templateManager = TemplateManagerUtil.getTemplateManager(TemplateConstants.LANG_TYPE_FTL); templateManager.addTaglibSupport(template, request, response); return processFTL(request, response, template); }
From source file:com.liferay.dynamic.data.mapping.internal.util.DDMTemplateHelperImpl.java
License:Open Source License
protected List<TemplateVariableDefinition> getAutocompleteTemplateVariableDefinitions( HttpServletRequest request, String language) throws Exception { if (!isAutocompleteEnabled(language)) { return Collections.emptyList(); }//from w w w.j ava2s. co m Set<TemplateVariableDefinition> templateVariableDefinitions = new LinkedHashSet<>(); // Declared variables ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY); DDMTemplate ddmTemplate = (DDMTemplate) request.getAttribute(DDMWebKeys.DYNAMIC_DATA_MAPPING_TEMPLATE); long classPK = BeanParamUtil.getLong(ddmTemplate, request, "classPK"); long classNameId = BeanParamUtil.getLong(ddmTemplate, request, "classNameId"); if (classPK > 0) { DDMStructure ddmStructure = _ddmStructureService.getStructure(classPK); classNameId = ddmStructure.getClassNameId(); } else if (ddmTemplate != null) { classNameId = ddmTemplate.getClassNameId(); } Map<String, TemplateVariableGroup> templateVariableGroups = TemplateContextHelper .getTemplateVariableGroups(classNameId, classPK, language, themeDisplay.getLocale()); for (TemplateVariableGroup templateVariableGroup : templateVariableGroups.values()) { if (!templateVariableGroup.isAutocompleteEnabled()) { continue; } templateVariableDefinitions.addAll(templateVariableGroup.getTemplateVariableDefinitions()); } // Other variables TemplateResource templateResource = new StringTemplateResource(_TEMPLATE_ID, _TEMPLATE_CONTENT); Template template = TemplateManagerUtil.getTemplate(language, templateResource, false); for (String key : template.getKeys()) { Object value = template.get(key); if (value == null) { continue; } TemplateVariableDefinition variableDefinition = new TemplateVariableDefinition(key, value.getClass(), key, (String) null); templateVariableDefinitions.add(variableDefinition); } return new ArrayList<>(templateVariableDefinitions); }