com.liferay.wiki.web.internal.display.context.logic.MailTemplatesHelper.java Source code

Java tutorial

Introduction

Here is the source code for com.liferay.wiki.web.internal.display.context.logic.MailTemplatesHelper.java

Source

/**
 * Copyright (c) 2000-present Liferay, Inc. All rights reserved.
 *
 * This library is free software; you can redistribute it and/or modify it under
 * the terms of the GNU Lesser General Public License as published by the Free
 * Software Foundation; either version 2.1 of the License, or (at your option)
 * any later version.
 *
 * This library is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
 * details.
 */

package com.liferay.wiki.web.internal.display.context.logic;

import com.liferay.portal.kernel.language.LanguageUtil;
import com.liferay.portal.kernel.model.Company;
import com.liferay.portal.kernel.util.AggregateResourceBundle;
import com.liferay.portal.kernel.util.HtmlUtil;
import com.liferay.portal.kernel.util.ResourceBundleUtil;
import com.liferay.portal.language.LanguageResources;
import com.liferay.wiki.configuration.WikiGroupServiceOverriddenConfiguration;
import com.liferay.wiki.web.internal.display.context.util.WikiRequestHelper;

import java.util.LinkedHashMap;
import java.util.Map;
import java.util.ResourceBundle;

/**
 * @author Ivn Zaera
 */
public class MailTemplatesHelper {

    public MailTemplatesHelper(WikiRequestHelper wikiRequestHelper) {
        _wikiRequestHelper = wikiRequestHelper;

        _wikiGroupServiceOverriddenConfiguration = wikiRequestHelper.getWikiGroupServiceOverriddenConfiguration();
    }

    public Map<String, String> getEmailFromDefinitionTerms() {
        Map<String, String> definitionTerms = new LinkedHashMap<>();

        ResourceBundle resourceBundle = getResourceBundle();

        definitionTerms.put("[$COMPANY_ID$]",
                LanguageUtil.get(resourceBundle, "the-company-id-associated-with-the-wiki"));
        definitionTerms.put("[$COMPANY_MX$]",
                LanguageUtil.get(resourceBundle, "the-company-mx-associated-with-the-wiki"));
        definitionTerms.put("[$COMPANY_NAME$]",
                LanguageUtil.get(resourceBundle, "the-company-name-associated-with-the-wiki"));
        definitionTerms.put("[$PAGE_USER_ADDRESS$]",
                LanguageUtil.get(resourceBundle, "the-email-address-of-the-user-who-added-the-page"));
        definitionTerms.put("[$PAGE_USER_NAME$]", LanguageUtil.get(resourceBundle, "the-user-who-added-the-page"));

        definitionTerms.put("[$PORTLET_NAME$]", HtmlUtil.escape(_wikiRequestHelper.getPortletTitle()));

        definitionTerms.put("[$SITE_NAME$]",
                LanguageUtil.get(resourceBundle, "the-site-name-associated-with-the-wiki"));

        return definitionTerms;
    }

    public Map<String, String> getEmailNotificationDefinitionTerms() {
        Map<String, String> definitionTerms = new LinkedHashMap<>();

        ResourceBundle resourceBundle = getResourceBundle();

        definitionTerms.put("[$COMPANY_ID$]",
                LanguageUtil.get(resourceBundle, "the-company-id-associated-with-the-wiki"));
        definitionTerms.put("[$COMPANY_MX$]",
                LanguageUtil.get(resourceBundle, "the-company-mx-associated-with-the-wiki"));
        definitionTerms.put("[$COMPANY_NAME$]",
                LanguageUtil.get(resourceBundle, "the-company-name-associated-with-the-wiki"));
        definitionTerms.put("[$DIFFS_URL$]", LanguageUtil.get(resourceBundle,
                "the-url-of-the-page-comparing-this-page-content-with-the-" + "previous-version"));
        definitionTerms.put("[$FROM_ADDRESS$]",
                HtmlUtil.escape(_wikiGroupServiceOverriddenConfiguration.emailFromAddress()));
        definitionTerms.put("[$FROM_NAME$]",
                HtmlUtil.escape(_wikiGroupServiceOverriddenConfiguration.emailFromName()));
        definitionTerms.put("[$NODE_NAME$]",
                LanguageUtil.get(resourceBundle, "the-node-in-which-the-page-was-added"));
        definitionTerms.put("[$PAGE_CONTENT$]", LanguageUtil.get(resourceBundle, "the-page-content"));
        definitionTerms.put("[$PAGE_DATE_UPDATE$]",
                LanguageUtil.get(resourceBundle, "the-date-of-the-modifications"));
        definitionTerms.put("[$PAGE_DIFFS$]", LanguageUtil.get(resourceBundle,
                "the-page-content-compared-with-the-previous-version-page-" + "content"));
        definitionTerms.put("[$PAGE_ID$]", LanguageUtil.get(resourceBundle, "the-page-id"));
        definitionTerms.put("[$PAGE_SUMMARY$]",
                LanguageUtil.get(resourceBundle, "the-summary-of-the-page-or-the-modifications"));
        definitionTerms.put("[$PAGE_TITLE$]", LanguageUtil.get(resourceBundle, "the-page-title"));
        definitionTerms.put("[$PAGE_URL$]", LanguageUtil.get(resourceBundle, "the-page-url"));
        definitionTerms.put("[$PAGE_USER_ADDRESS$]",
                LanguageUtil.get(resourceBundle, "the-email-address-of-the-user-who-added-the-page"));
        definitionTerms.put("[$PAGE_USER_NAME$]", LanguageUtil.get(resourceBundle, "the-user-who-added-the-page"));

        Company company = _wikiRequestHelper.getCompany();

        definitionTerms.put("[$PORTAL_URL$]", company.getVirtualHostname());

        definitionTerms.put("[$PORTLET_NAME$]", _wikiRequestHelper.getPortletTitle());
        definitionTerms.put("[$SITE_NAME$]",
                LanguageUtil.get(resourceBundle, "the-site-name-associated-with-the-wiki"));
        definitionTerms.put("[$TO_ADDRESS$]",
                LanguageUtil.get(resourceBundle, "the-address-of-the-email-recipient"));
        definitionTerms.put("[$TO_NAME$]", LanguageUtil.get(resourceBundle, "the-name-of-the-email-recipient"));

        return definitionTerms;
    }

    protected ResourceBundle getResourceBundle() {
        ResourceBundle bundleResourceBundle = ResourceBundleUtil.getBundle("content.Language",
                _wikiRequestHelper.getLocale(), getClass());
        ResourceBundle portalResourceBundle = LanguageResources.getResourceBundle(_wikiRequestHelper.getLocale());

        return new AggregateResourceBundle(bundleResourceBundle, portalResourceBundle);
    }

    private final WikiGroupServiceOverriddenConfiguration _wikiGroupServiceOverriddenConfiguration;
    private final WikiRequestHelper _wikiRequestHelper;

}