protected DDMFieldsCounter getFieldsCounter( HttpServletRequest request, HttpServletResponse response, Fields fields, String portletNamespace, String namespace) { String fieldsCounterKey = portletNamespace + namespace + "fieldsCount"; DDMFieldsCounter ddmFieldsCounter = (DDMFieldsCounter)request.getAttribute(fieldsCounterKey); if (ddmFieldsCounter == null) { ddmFieldsCounter = new DDMFieldsCounter(); request.setAttribute(fieldsCounterKey, ddmFieldsCounter); } return ddmFieldsCounter; }
@Override public DDMFormValues convert(DDMStructure ddmStructure, Fields fields) throws PortalException { DDMForm ddmForm = ddmStructure.getFullHierarchyDDMForm(); Map<String, DDMFormField> ddmFormFieldsMap = ddmForm.getDDMFormFieldsMap(true); DDMFormValues ddmFormValues = createDDMFormValues( ddmForm, fields.getAvailableLocales(), fields.getDefaultLocale()); DDMFieldsCounter ddmFieldsCounter = new DDMFieldsCounter(); for (String fieldName : getDDMFormFieldNames(ddmForm.getDDMFormFields())) { int repetitions = countDDMFieldRepetitions( ddmFormFieldsMap, fields, fieldName, null, -1); for (int i = 0; i < repetitions; i++) { DDMFormFieldValue ddmFormFieldValue = createDDMFormFieldValue( fieldName); setDDMFormFieldValueProperties( ddmFormFieldValue, ddmFormFieldsMap, fields, ddmFieldsCounter); ddmFormValues.addDDMFormFieldValue(ddmFormFieldValue); } } return ddmFormValues; }
public DDMFormValues deserialize(DDMForm ddmForm, String xml) throws PortalException { try { DDMFormValues ddmFormValues = new DDMFormValues(ddmForm); Document document = SAXReaderUtil.read(xml); Element rootElement = document.getRootElement(); setDDMFormValuesAvailableLocales(ddmFormValues, rootElement); setDDMFormValuesDefaultLocale(ddmFormValues, rootElement); DDMFieldsCounter ddmFieldsCounter = new DDMFieldsCounter(); for (DDMFormField ddmFormField : ddmForm.getDDMFormFields()) { String fieldName = ddmFormField.getName(); int repetitions = countDDMFieldRepetitions( rootElement, fieldName, null, -1); for (int i = 0; i < repetitions; i++) { DDMFormFieldValue ddmFormFieldValue = createDDMFormFieldValue(fieldName); setDDMFormFieldValueProperties( ddmFormFieldValue, ddmFormField, rootElement, ddmFieldsCounter); ddmFormValues.addDDMFormFieldValue(ddmFormFieldValue); } } return ddmFormValues; } catch (DocumentException de) { throw new UpgradeException(de); } }
"default-locale", LocaleUtil.toLanguageId(defaultLocale)); DDMFieldsCounter ddmFieldsCounter = new DDMFieldsCounter();