Example usage for com.liferay.portal.kernel.template TemplateConstants LANG_TYPE_XSL

List of usage examples for com.liferay.portal.kernel.template TemplateConstants LANG_TYPE_XSL

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.template TemplateConstants LANG_TYPE_XSL.

Prototype

String LANG_TYPE_XSL

To view the source code for com.liferay.portal.kernel.template TemplateConstants LANG_TYPE_XSL.

Click Source Link

Usage

From source file:com.liferay.dynamic.data.mapping.service.impl.DDMTemplateLocalServiceImpl.java

License:Open Source License

protected String formatScript(String type, String language, String script) throws PortalException {

    if (language.equals(TemplateConstants.LANG_TYPE_XSL)) {
        try {/*  www. j a v  a  2 s .c om*/
            script = ddmXML.validateXML(script);
        } catch (PortalException pe) {
            throw new TemplateScriptException(pe);
        }

        script = XMLUtil.formatXML(script);
    }

    return script;
}

From source file:com.liferay.dynamic.data.mapping.web.internal.portlet.action.GetTemplateMVCResourceCommand.java

License:Open Source License

@Override
protected void doServeResource(ResourceRequest resourceRequest, ResourceResponse resourceResponse)
        throws Exception {

    long templateId = ParamUtil.getLong(resourceRequest, "templateId");

    DDMTemplate template = _ddmTemplateService.getTemplate(templateId);

    String script = template.getScript();

    String contentType = null;//from   w  w  w. j a  va  2s  . c  o  m

    String type = template.getType();

    String language = GetterUtil.getString(template.getLanguage(), TemplateConstants.LANG_TYPE_VM);

    if (type.equals(DDMTemplateConstants.TEMPLATE_TYPE_FORM)) {
        contentType = ContentTypes.APPLICATION_JSON;
    } else if (language.equals(TemplateConstants.LANG_TYPE_XSL)) {
        contentType = ContentTypes.TEXT_XML_UTF8;
    } else {
        contentType = ContentTypes.TEXT_PLAIN_UTF8;
    }

    PortletResponseUtil.sendFile(resourceRequest, resourceResponse, null, script.getBytes(), contentType);
}

From source file:com.liferay.exportimport.resources.importer.internal.util.FileSystemImporter.java

License:Open Source License

protected String getDDMTemplateLanguage(String fileName) {
    String extension = FileUtil.getExtension(fileName);

    if (extension.equals(TemplateConstants.LANG_TYPE_CSS) || extension.equals(TemplateConstants.LANG_TYPE_FTL)
            || extension.equals(TemplateConstants.LANG_TYPE_VM)
            || extension.equals(TemplateConstants.LANG_TYPE_XSL)) {

        return extension;
    }//from w  w  w .  j av a 2 s  . c o  m

    return TemplateConstants.LANG_TYPE_VM;
}

From source file:com.liferay.journal.transformer.JournalTransformer.java

License:Open Source License

protected String doTransform(ThemeDisplay themeDisplay, Map<String, Object> contextObjects,
        Map<String, String> tokens, String viewMode, String languageId, Document document,
        PortletRequestModel portletRequestModel, String script, String langType, boolean propagateException)
        throws Exception {

    // Setup listeners

    if (_log.isDebugEnabled()) {
        _log.debug("Language " + languageId);
    }//from www .jav a2  s.  c  o m

    if (Validator.isNull(viewMode)) {
        viewMode = Constants.VIEW;
    }

    if (_logTokens.isDebugEnabled()) {
        String tokensString = PropertiesUtil.list(tokens);

        _logTokens.debug(tokensString);
    }

    if (_logTransformBefore.isDebugEnabled()) {
        _logTransformBefore.debug(document);
    }

    List<TransformerListener> transformerListeners = JournalTransformerListenerRegistryUtil
            .getTransformerListeners();

    for (TransformerListener transformerListener : transformerListeners) {

        // Modify XML

        if (_logXmlBeforeListener.isDebugEnabled()) {
            _logXmlBeforeListener.debug(document);
        }

        if (transformerListener != null) {
            document = transformerListener.onXml(document, languageId, tokens);

            if (_logXmlAfterListener.isDebugEnabled()) {
                _logXmlAfterListener.debug(document);
            }
        }

        // Modify script

        if (_logScriptBeforeListener.isDebugEnabled()) {
            _logScriptBeforeListener.debug(script);
        }

        if (transformerListener != null) {
            script = transformerListener.onScript(script, document, languageId, tokens);

            if (_logScriptAfterListener.isDebugEnabled()) {
                _logScriptAfterListener.debug(script);
            }
        }
    }

    // Transform

    String output = null;

    if (Validator.isNull(langType)) {
        output = LocalizationUtil.getLocalization(document.asXML(), languageId);
    } else {
        long companyId = 0;
        long companyGroupId = 0;
        long articleGroupId = 0;
        long classNameId = 0;

        if (tokens != null) {
            companyId = GetterUtil.getLong(tokens.get("company_id"));
            companyGroupId = GetterUtil.getLong(tokens.get("company_group_id"));
            articleGroupId = GetterUtil.getLong(tokens.get("article_group_id"));
            classNameId = GetterUtil.getLong(tokens.get(TemplateConstants.CLASS_NAME_ID));
        }

        long scopeGroupId = 0;
        long siteGroupId = 0;

        if (themeDisplay != null) {
            companyId = themeDisplay.getCompanyId();
            companyGroupId = themeDisplay.getCompanyGroupId();
            scopeGroupId = themeDisplay.getScopeGroupId();
            siteGroupId = themeDisplay.getSiteGroupId();
        }

        String templateId = tokens.get("template_id");

        templateId = getTemplateId(templateId, companyId, companyGroupId, articleGroupId);

        Template template = getTemplate(templateId, tokens, languageId, document, script, langType);

        if (contextObjects != null) {
            template.putAll(contextObjects);
        }

        UnsyncStringWriter unsyncStringWriter = new UnsyncStringWriter();

        try {
            if (document != null) {
                Element rootElement = document.getRootElement();

                List<TemplateNode> templateNodes = getTemplateNodes(themeDisplay, rootElement,
                        Long.valueOf(tokens.get("ddm_structure_id")));

                if (templateNodes != null) {
                    for (TemplateNode templateNode : templateNodes) {
                        template.put(templateNode.getName(), templateNode);
                    }
                }

                if (portletRequestModel != null) {
                    template.put("request", portletRequestModel.toMap());

                    if (langType.equals(TemplateConstants.LANG_TYPE_XSL)) {
                        Document requestDocument = SAXReaderUtil.read(portletRequestModel.toXML());

                        Element requestElement = requestDocument.getRootElement();

                        template.put("xmlRequest", requestElement.asXML());
                    }
                } else {
                    Element requestElement = rootElement.element("request");

                    template.put("request", insertRequestVariables(requestElement));

                    if (langType.equals(TemplateConstants.LANG_TYPE_XSL)) {
                        template.put("xmlRequest", requestElement.asXML());
                    }
                }
            }

            template.put("articleGroupId", articleGroupId);
            template.put("company", getCompany(themeDisplay, companyId));
            template.put("companyId", companyId);
            template.put("device", getDevice(themeDisplay));

            String templatesPath = getTemplatesPath(companyId, articleGroupId, classNameId);

            Locale locale = LocaleUtil.fromLanguageId(languageId);

            template.put("locale", locale);

            template.put("permissionChecker", PermissionThreadLocal.getPermissionChecker());
            template.put("randomNamespace", StringUtil.randomId() + StringPool.UNDERLINE);
            template.put("scopeGroupId", scopeGroupId);
            template.put("siteGroupId", siteGroupId);
            template.put("templatesPath", templatesPath);
            template.put("viewMode", viewMode);

            if (themeDisplay != null) {
                TemplateManager templateManager = TemplateManagerUtil.getTemplateManager(langType);

                HttpServletRequest request = themeDisplay.getRequest();

                templateManager.addTaglibSupport(template, request, themeDisplay.getResponse());
                templateManager.addTaglibTheme(template, "taglibLiferay", request,
                        new PipingServletResponse(themeDisplay.getResponse(), unsyncStringWriter));
            }

            // Deprecated variables

            template.put("groupId", articleGroupId);
            template.put("journalTemplatesPath", templatesPath);

            mergeTemplate(template, unsyncStringWriter, propagateException);
        } catch (Exception e) {
            if (e instanceof DocumentException) {
                throw new TransformException("Unable to read XML document", e);
            } else if (e instanceof IOException) {
                throw new TransformException("Error reading template", e);
            } else if (e instanceof TransformException) {
                throw (TransformException) e;
            } else {
                throw new TransformException("Unhandled exception", e);
            }
        }

        output = unsyncStringWriter.toString();
    }

    // Postprocess output

    for (TransformerListener transformerListener : transformerListeners) {

        // Modify output

        if (_logOutputBeforeListener.isDebugEnabled()) {
            _logOutputBeforeListener.debug(output);
        }

        output = transformerListener.onOutput(output, languageId, tokens);

        if (_logOutputAfterListener.isDebugEnabled()) {
            _logOutputAfterListener.debug(output);
        }
    }

    if (_logTransfromAfter.isDebugEnabled()) {
        _logTransfromAfter.debug(output);
    }

    return output;
}

From source file:com.liferay.journal.transformer.JournalTransformer.java

License:Open Source License

protected TemplateResource getErrorTemplateResource(String langType) {
    try {/*from  www.ja va 2 s .  co m*/
        long companyId = CompanyThreadLocal.getCompanyId();

        JournalServiceConfiguration journalServiceConfiguration = ConfigurationProviderUtil
                .getCompanyConfiguration(JournalServiceConfiguration.class, companyId);

        String template = StringPool.BLANK;

        if (langType.equals(TemplateConstants.LANG_TYPE_FTL)) {
            template = journalServiceConfiguration.errorTemplateFTL();
        } else if (langType.equals(TemplateConstants.LANG_TYPE_VM)) {
            template = journalServiceConfiguration.errorTemplateVM();
        } else if (langType.equals(TemplateConstants.LANG_TYPE_XSL)) {
            template = journalServiceConfiguration.errorTemplateXSL();
        } else {
            return null;
        }

        return new StringTemplateResource(langType, template);
    } catch (Exception e) {
    }

    return null;
}

From source file:com.liferay.journal.transformer.JournalTransformer.java

License:Open Source License

protected Template getTemplate(String templateId, Map<String, String> tokens, String languageId,
        Document document, String script, String langType) throws Exception {

    TemplateResource templateResource = null;

    if (langType.equals(TemplateConstants.LANG_TYPE_XSL)) {
        XSLURIResolver xslURIResolver = new JournalXSLURIResolver(tokens, languageId);

        templateResource = new XSLTemplateResource(templateId, script, xslURIResolver, document.asXML());
    } else {//  ww w .  j  ava  2  s. com
        templateResource = new StringTemplateResource(templateId, script);
    }

    TemplateResource errorTemplateResource = getErrorTemplateResource(langType);

    return TemplateManagerUtil.getTemplate(langType, templateResource, errorTemplateResource, _restricted);
}