001
014
015 package com.liferay.portlet.asset.model;
016
017 import com.liferay.portal.kernel.exception.PortalException;
018 import com.liferay.portlet.dynamicdatamapping.DDMFormFieldValue;
019 import com.liferay.portlet.dynamicdatamapping.DDMFormValues;
020
021 import java.util.ArrayList;
022 import java.util.List;
023
024
027 public abstract class BaseDDMFormValuesReader implements DDMFormValuesReader {
028
029 @Override
030 public List<DDMFormFieldValue> getDDMFormFieldValues(
031 String ddmFormFieldType)
032 throws PortalException {
033
034 List<DDMFormFieldValue> filteredDDMFormFieldValues = new ArrayList<>();
035
036 DDMFormValues ddmFormValues = getDDMFormValues();
037
038 addDDMFormFieldValuesByType(
039 ddmFormValues.getDDMFormFieldValues(), filteredDDMFormFieldValues,
040 ddmFormFieldType);
041
042 return filteredDDMFormFieldValues;
043 }
044
045 protected void addDDMFormFieldValuesByType(
046 List<DDMFormFieldValue> ddmFormFieldValues,
047 List<DDMFormFieldValue> filteredDDMFormFieldValues,
048 String ddmFormFieldType) {
049
050 for (DDMFormFieldValue ddmFormFieldValue : ddmFormFieldValues) {
051 if (ddmFormFieldType.equals(ddmFormFieldValue.getType())) {
052 filteredDDMFormFieldValues.add(ddmFormFieldValue);
053 }
054
055 addDDMFormFieldValuesByType(
056 ddmFormFieldValue.getNestedDDMFormFieldValues(),
057 filteredDDMFormFieldValues, ddmFormFieldType);
058 }
059 }
060
061 }