protected void setNestedDDMFormFieldValues( Map<String, DDMFormFieldValue> ddmFormFieldValuesMap, List<DDMFormField> nestedDDMFormFields, DDMFormFieldValue parentDDMFormFieldValue, String parentEntryKey) { int i = 0; for (DDMFormField nestedDDMFormField : nestedDDMFormFields) { Set<String> entryKeys = getEntryKeys(ddmFormFieldValuesMap, parentEntryKey, nestedDDMFormField.getName()); for (String entryKey : entryKeys) { DDMFormFieldValue ddmFormFieldValue = ddmFormFieldValuesMap.get(entryKey); int index = i + getDDMFormFieldValueIndex(entryKey); setNestedDDMFormFieldValues( ddmFormFieldValuesMap, nestedDDMFormField.getNestedDDMFormFields(), ddmFormFieldValue, entryKey); setDDMFormFieldValueAtIndex( parentDDMFormFieldValue.getNestedDDMFormFieldValues(), ddmFormFieldValue, index); } List<DDMFormFieldValue> parentNestedDDMFormFieldValues = parentDDMFormFieldValue.getNestedDDMFormFieldValues(); i = parentNestedDDMFormFieldValues.size(); } }
protected List<DDMFormFieldValue> getDDMFormFieldValues( Map<String, DDMFormFieldValue> ddmFormFieldValuesMap, List<DDMFormField> ddmFormFields) { List<DDMFormFieldValue> ddmFormFieldValues = new ArrayList<>(); int i = 0; for (DDMFormField ddmFormField : ddmFormFields) { Set<String> entryKeys = getEntryKeys(ddmFormFieldValuesMap, StringPool.BLANK, ddmFormField.getName()); for (String entryKey : entryKeys) { DDMFormFieldValue ddmFormFieldValue = ddmFormFieldValuesMap.get(entryKey); int index = i + getDDMFormFieldValueIndex(entryKey); setNestedDDMFormFieldValues( ddmFormFieldValuesMap, ddmFormField.getNestedDDMFormFields(), ddmFormFieldValue, entryKey); setDDMFormFieldValueAtIndex(ddmFormFieldValues, ddmFormFieldValue, index); } i = ddmFormFieldValues.size(); } return ddmFormFieldValues; }
protected void validateDDMFormFields( List<DDMFormField> ddmFormFields, Set<String> ddmFormFieldNames, Set<Locale> ddmFormAvailableLocales, Locale ddmFormDefaultLocale) throws DDMFormValidationException { for (DDMFormField ddmFormField : ddmFormFields) { validateDDMFormFieldName(ddmFormField, ddmFormFieldNames); validateDDMFormFieldType(ddmFormField); validateDDMFormFieldIndexType(ddmFormField); validateDDMFormFieldOptions(ddmFormField, ddmFormAvailableLocales, ddmFormDefaultLocale); validateOptionalDDMFormFieldLocalizedProperty( ddmFormField, "label", ddmFormAvailableLocales, ddmFormDefaultLocale); validateOptionalDDMFormFieldLocalizedProperty( ddmFormField, "predefinedValue", ddmFormAvailableLocales, ddmFormDefaultLocale); validateOptionalDDMFormFieldLocalizedProperty( ddmFormField, "tip", ddmFormAvailableLocales, ddmFormDefaultLocale); validateDDMFormFieldVisibilityExpression(ddmFormField); validateDDMFormFields( ddmFormField.getNestedDDMFormFields(), ddmFormFieldNames, ddmFormAvailableLocales, ddmFormDefaultLocale); } }
protected JSONArray getDDMFormFieldsJSONArray( List<DDMFormField> ddmFormFields, Set<Locale> availableLocales, Locale defaultLocale) { JSONArray ddmFormFieldsJSONArray = JSONFactoryUtil.createJSONArray(); for (DDMFormField ddmFormField : ddmFormFields) { JSONObject jsonObject = JSONFactoryUtil.createJSONObject(); jsonObject.put("dataType", ddmFormField.getDataType()); jsonObject.put("id", ddmFormField.getName()); jsonObject.put("indexType", ddmFormField.getIndexType()); jsonObject.put("localizable", ddmFormField.isLocalizable()); jsonObject.put("multiple", ddmFormField.isMultiple()); jsonObject.put("name", ddmFormField.getName()); jsonObject.put("repeatable", ddmFormField.isRepeatable()); jsonObject.put("required", ddmFormField.isRequired()); jsonObject.put("showLabel", ddmFormField.isShowLabel()); jsonObject.put("type", ddmFormField.getType()); addDDMFormFieldLocalizedProperties(jsonObject, ddmFormField, defaultLocale, defaultLocale); addDDMFormFieldOptions(jsonObject, ddmFormField, availableLocales, defaultLocale); JSONObject localizationMapJSONObject = JSONFactoryUtil.createJSONObject(); for (Locale availableLocale : availableLocales) { JSONObject localeMap = JSONFactoryUtil.createJSONObject(); addDDMFormFieldLocalizedProperties(localeMap, ddmFormField, availableLocale, defaultLocale); localizationMapJSONObject.put(LocaleUtil.toLanguageId(availableLocale), localeMap); } jsonObject.put("localizationMap", localizationMapJSONObject); jsonObject.put( "fields", getDDMFormFieldsJSONArray( ddmFormField.getNestedDDMFormFields(), availableLocales, defaultLocale)); ddmFormFieldsJSONArray.put(jsonObject); } return ddmFormFieldsJSONArray; }
protected void poupulateDefaultDDMFormFieldParameterNames( List<DDMFormField> ddmFormFields, String parentDefaultDDMFormFieldParameterName, Set<String> defaultDDMFormFieldParameterNames) { for (DDMFormField ddmFormField : ddmFormFields) { String defaultDDMFormFieldParameterName = createDefaultDDMFormFieldParameterName( ddmFormField, parentDefaultDDMFormFieldParameterName); defaultDDMFormFieldParameterNames.add(defaultDDMFormFieldParameterName); poupulateDefaultDDMFormFieldParameterNames( ddmFormField.getNestedDDMFormFields(), defaultDDMFormFieldParameterName, defaultDDMFormFieldParameterNames); } }