protected List<com.liferay.dynamic.data.mapping.model.DDMFormField> getDDMFormFields() { List<com.liferay.dynamic.data.mapping.model.DDMFormField> ddmFormFields = new ArrayList<>(); for (Method method : getDDMFormFieldMethods()) { DDMFormFieldFactoryHelper ddmFormFieldFactoryHelper = new DDMFormFieldFactoryHelper(this, method); ddmFormFieldFactoryHelper.setAvailableLocales(_availableLocales); ddmFormFieldFactoryHelper.setDefaultLocale(_defaultLocale); ddmFormFields.add(ddmFormFieldFactoryHelper.createDDMFormField()); } return ddmFormFields; }
private com.liferay.dynamic.data.mapping.model.DDMForm _getNestedDDMForm() { Class<?> returnType = _getReturnType(); return DDMFormFactory.create(returnType); }
protected LocalizedValue getDDMFormFieldLabel() { return createLocalizedValue(_ddmFormField.label()); }
protected void setDDMFormFieldNameMethodMap(Class<?> clazz) { DDMFormFactoryHelper ddmFormFactoryHelper = new DDMFormFactoryHelper( clazz); for (Method method : ddmFormFactoryHelper.getDDMFormFieldMethods()) { DDMFormFieldFactoryHelper ddmFormFieldFactoryHelper = new DDMFormFieldFactoryHelper(ddmFormFactoryHelper, method); _ddmFormFieldMethodNameMap.put( ddmFormFieldFactoryHelper.getDDMFormFieldName(), method.getName()); } }
@Override public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { if (!method.isAnnotationPresent(DDMFormField.class)) { return null; } DDMFormFieldFactoryHelper ddmFormFieldFactoryHelper = new DDMFormFieldFactoryHelper(_ddmFormFactoryHelper, method); List<DDMFormFieldValue> ddmFormFieldValues = _ddmFormFieldValuesMap.get( ddmFormFieldFactoryHelper.getDDMFormFieldName()); if (ListUtil.isEmpty(ddmFormFieldValues)) { LocalizedValue predefinedValue = ddmFormFieldFactoryHelper.getDDMFormFieldPredefinedValue(); return convert( method.getReturnType(), ddmFormFieldFactoryHelper.getDDMFormFieldType(), predefinedValue.getString(_locale)); } return convert( method.getReturnType(), ddmFormFieldFactoryHelper.getDDMFormFieldType(), ddmFormFieldValues); }
public com.liferay.dynamic.data.mapping.model.DDMFormField createDDMFormField() { String name = getDDMFormFieldName(); String type = getDDMFormFieldType(); Map<String, Object> properties = getProperties(); if (isLocalizableValue((String)value)) { value = getPropertyValue(value); ddmFormField.setDataType(getDDMFormFieldDataType()); ddmFormField.setDDMFormFieldOptions(getDDMFormFieldOptions()); ddmFormField.setDDMFormFieldValidation(getDDMFormFieldValidation()); ddmFormField.setLabel(getDDMFormFieldLabel()); ddmFormField.setLocalizable(isDDMFormFieldLocalizable()); ddmFormField.setPredefinedValue(getDDMFormFieldPredefinedValue()); ddmFormField.setRepeatable(isDDMFormFieldRepeatable()); ddmFormField.setRequired(isDDMFormFieldRequired()); ddmFormField.setTip(getDDMFormFieldTip()); ddmFormField.setVisibilityExpression( getDDMFormFieldVisibilityExpression()); _getNestedDDMForm();
protected LocalizedValue getPropertyValue(Object value) { LocalizedValue localizedValue = new LocalizedValue(_defaultLocale); if (Validator.isNull(value)) { return localizedValue; } String valueString = (String)value; if (isLocalizableValue(valueString)) { String languageKey = extractLanguageKey(valueString); localizedValue.addString( _defaultLocale, getLocalizedValue(_defaultLocale, languageKey)); } else { localizedValue.addString(_defaultLocale, valueString); } return localizedValue; }
protected LocalizedValue createLocalizedValue(String property) { LocalizedValue localizedValue = new LocalizedValue(_defaultLocale); if (Validator.isNull(property)) { return localizedValue; } if (isLocalizableValue(property)) { String languageKey = extractLanguageKey(property); for (Locale availableLocale : _availableLocales) { localizedValue.addString( availableLocale, getLocalizedValue(availableLocale, languageKey)); } } else { localizedValue.addString(_defaultLocale, property); } return localizedValue; }
protected DDMFormFieldOptions getDDMFormFieldOptions() { DDMFormFieldOptions ddmFormFieldOptions = new DDMFormFieldOptions(); ddmFormFieldOptions.setDefaultLocale(_defaultLocale); String[] optionLabels = _ddmFormField.optionLabels(); String[] optionValues = _ddmFormField.optionValues(); if (ArrayUtil.isEmpty(optionLabels) || ArrayUtil.isEmpty(optionValues)) { return ddmFormFieldOptions; } for (int i = 0; i < optionLabels.length; i++) { String optionLabel = optionLabels[i]; if (isLocalizableValue(optionLabel)) { String languageKey = extractLanguageKey(optionLabel); ddmFormFieldOptions.addOptionLabel( optionValues[i], _defaultLocale, getLocalizedValue(_defaultLocale, languageKey)); } else { ddmFormFieldOptions.addOptionLabel( optionValues[i], _defaultLocale, optionLabel); } } return ddmFormFieldOptions; }
protected String getDDMFormFieldType() { if (Validator.isNotNull(_ddmFormField.type())) { return _ddmFormField.type(); } Class<?> returnType = _getReturnType(); if (returnType.isAnnotationPresent(DDMForm.class)) { return "fieldset"; } if (returnType.isAssignableFrom(boolean.class) || returnType.isAssignableFrom(Boolean.class)) { return "checkbox"; } return "text"; }
protected LocalizedValue getDDMFormFieldTip() { return createLocalizedValue(_ddmFormField.tip()); }
protected DDMFormFieldValidation getDDMFormFieldValidation() { DDMFormFieldValidation ddmFormFieldValidation = new DDMFormFieldValidation(); if (Validator.isNotNull(_ddmFormField.validationExpression())) { ddmFormFieldValidation.setExpression( _ddmFormField.validationExpression()); } if (Validator.isNotNull(_ddmFormField.validationErrorMessage())) { String validationErrorMessage = _ddmFormField.validationErrorMessage(); if (isLocalizableValue(validationErrorMessage)) { String languageKey = extractLanguageKey(validationErrorMessage); validationErrorMessage = getLocalizedValue( _defaultLocale, languageKey); } ddmFormFieldValidation.setErrorMessage(validationErrorMessage); } return ddmFormFieldValidation; }
Class<?> returnType = _getReturnType();