/**
* 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.content.targeting.service.test.util;
import com.liferay.portal.kernel.template.TemplateConstants;
import com.liferay.portal.kernel.util.LocaleUtil;
import com.liferay.portal.kernel.xml.Document;
import com.liferay.portal.kernel.xml.Element;
import com.liferay.portal.kernel.xml.SAXReaderUtil;
import com.liferay.portal.service.ServiceContext;
import com.liferay.portal.util.PortalUtil;
import com.liferay.portlet.dynamicdatamapping.model.DDMStructure;
import com.liferay.portlet.dynamicdatamapping.model.DDMTemplate;
import com.liferay.portlet.dynamicdatamapping.model.DDMTemplateConstants;
import com.liferay.portlet.dynamicdatamapping.service.DDMTemplateLocalServiceUtil;
import java.util.HashMap;
import java.util.Locale;
import java.util.Map;
/**
* @author Eudaldo Alonso
*/
public class DDMTemplateTestUtil {
public static void addDynamicContentElement(
Element dynamicElementElement, String languageId, String value) {
Element dynamicContentElement = dynamicElementElement.addElement(
"dynamic-content");
dynamicContentElement.addAttribute("language-id", languageId);
dynamicContentElement.setText(value);
}
public static Element addDynamicElementElement(
Element element, String type, String name) {
Element dynamicElementElement = element.addElement("dynamic-element");
dynamicElementElement.addAttribute("name", name);
dynamicElementElement.addAttribute("type", type);
return dynamicElementElement;
}
public static DDMTemplate addTemplate(long structureId) throws Exception {
return addTemplate(
structureId, TemplateConstants.LANG_TYPE_VM, getSampleTemplateXSL(),
LocaleUtil.getSiteDefault());
}
public static DDMTemplate addTemplate(
long structureId, Locale defaultLocale)
throws Exception {
return addTemplate(
structureId, TemplateConstants.LANG_TYPE_VM, getSampleTemplateXSL(),
defaultLocale);
}
public static DDMTemplate addTemplate(long groupId, long structureId)
throws Exception {
return addTemplate(
groupId, structureId, TemplateConstants.LANG_TYPE_VM,
getSampleTemplateXSL(), LocaleUtil.getSiteDefault());
}
public static DDMTemplate addTemplate(
long groupId, long structureId, Locale defaultLocale)
throws Exception {
return addTemplate(
groupId, structureId, TemplateConstants.LANG_TYPE_VM,
getSampleTemplateXSL(), defaultLocale);
}
public static DDMTemplate addTemplate(
long groupId, long classNameId, long classPK)
throws Exception {
return addTemplate(
groupId, classNameId, classPK, TemplateConstants.LANG_TYPE_VM,
getSampleTemplateXSL(), LocaleUtil.getSiteDefault());
}
public static DDMTemplate addTemplate(
long groupId, long classNameId, long classPK, String language,
String script, Locale defaultLocale)
throws Exception {
Map<Locale, String> nameMap = new HashMap<Locale, String>();
nameMap.put(defaultLocale, "Test Template");
ServiceContext serviceContext = new ServiceContext();
serviceContext.setAddGroupPermissions(true);
serviceContext.setAddGuestPermissions(true);
return DDMTemplateLocalServiceUtil.addTemplate(
TestPropsValues.getUserId(), groupId, classNameId, classPK, nameMap,
null, DDMTemplateConstants.TEMPLATE_TYPE_DISPLAY, null, language,
script, serviceContext);
}
public static DDMTemplate addTemplate(
long groupId, long structureId, String language, String script,
Locale defaultLocale)
throws Exception {
return addTemplate(
groupId, PortalUtil.getClassNameId(DDMStructure.class), structureId,
language, script, defaultLocale);
}
public static DDMTemplate addTemplate(
long structureId, String language, String script)
throws Exception {
return addTemplate(
TestPropsValues.getGroupId(), structureId, language, script,
LocaleUtil.getSiteDefault());
}
public static DDMTemplate addTemplate(
long structureId, String language, String script,
Locale defaultLocale)
throws Exception {
return addTemplate(
TestPropsValues.getGroupId(), structureId, language, script,
defaultLocale);
}
public static Document createDocument(
String availableLocales, String defaultLocale) {
Document document = SAXReaderUtil.createDocument();
Element rootElement = document.addElement("root");
rootElement.addAttribute("available-locales", availableLocales);
rootElement.addAttribute("default-locale", defaultLocale);
rootElement.addElement("request");
return document;
}
public static String getSampleTemplateXSL() {
return "$name.getData()";
}
}