001
014
015 package com.liferay.portlet.dynamicdatamapping.util.test;
016
017 import com.liferay.portal.kernel.util.LocaleUtil;
018 import com.liferay.portlet.dynamicdatamapping.model.DDMForm;
019 import com.liferay.portlet.dynamicdatamapping.model.DDMFormField;
020 import com.liferay.portlet.dynamicdatamapping.model.LocalizedValue;
021
022 import java.util.LinkedHashSet;
023 import java.util.List;
024 import java.util.Locale;
025 import java.util.Set;
026
027
030 public class DDMFormTestUtil {
031
032 public static void addTextDDMFormFields(
033 DDMForm ddmForm, String... fieldNames) {
034
035 List<DDMFormField> ddmFormFields = ddmForm.getDDMFormFields();
036
037 for (String fieldName : fieldNames) {
038 ddmFormFields.add(createLocalizableTextDDMFormField(fieldName));
039 }
040 }
041
042 public static Set<Locale> createAvailableLocales(Locale... locales) {
043 Set<Locale> availableLocales = new LinkedHashSet<>();
044
045 for (Locale locale : locales) {
046 availableLocales.add(locale);
047 }
048
049 return availableLocales;
050 }
051
052 public static DDMForm createDDMForm(
053 Set<Locale> availableLocales, Locale defaultLocale) {
054
055 DDMForm ddmForm = new DDMForm();
056
057 ddmForm.setAvailableLocales(availableLocales);
058 ddmForm.setDefaultLocale(defaultLocale);
059
060 return ddmForm;
061 }
062
063 public static DDMForm createDDMForm(String... fieldNames) {
064 DDMForm ddmForm = createDDMForm(
065 createAvailableLocales(LocaleUtil.US), LocaleUtil.US);
066
067 addTextDDMFormFields(ddmForm, fieldNames);
068
069 return ddmForm;
070 }
071
072 public static DDMFormField createDDMFormField(
073 String name, String label, String type, String dataType,
074 boolean localizable, boolean repeatable, boolean required) {
075
076 DDMFormField ddmFormField = new DDMFormField(name, type);
077
078 ddmFormField.setDataType(dataType);
079 ddmFormField.setLocalizable(localizable);
080 ddmFormField.setRepeatable(repeatable);
081 ddmFormField.setRequired(required);
082
083 LocalizedValue localizedValue = ddmFormField.getLabel();
084
085 localizedValue.addString(LocaleUtil.US, label);
086
087 return ddmFormField;
088 }
089
090 public static DDMFormField createLocalizableTextDDMFormField(String name) {
091 return createTextDDMFormField(name, true, false, false);
092 }
093
094 public static DDMFormField createTextDDMFormField(
095 String name, boolean localizable, boolean repeatable,
096 boolean required) {
097
098 return createDDMFormField(
099 name, name, "text", "string", localizable, repeatable, required);
100 }
101
102 }