package models.user.composite; import utilities.builders.ModelBuilder; import utilities.helpers.ModelBuilderCollector; import java.util.List; import java.util.Map; import models.user.components.datasetprofile.*; import models.user.components.commons.Rule; public class DatasetProfile implements PropertiesModelBuilder{ private List
sections; private List rules; public List
getSections() { return sections; } public void setSections(List
sections) { this.sections = sections; } public List getRules() { return rules; } public void setRules(List rules) { this.rules = rules; } public void buildProfile(entities.xmlmodels.modeldefinition.FieldGroup fieldGroup,entities.xmlmodels.viewstyledefinition.ViewStyleModel viewStyle){ this.sections = new ModelBuilder().fromViewStyleDefinition(viewStyle.getSections(), Section.class); updateProfile(fieldGroup,viewStyle); } private void updateProfile(entities.xmlmodels.modeldefinition.FieldGroup fieldGroup,entities.xmlmodels.viewstyledefinition.ViewStyleModel viewStyle){ ModelBuilderCollector.mapUserSections(sections, fieldGroup.getFieldSets()); this.rules = ModelBuilderCollector.collectRules(viewStyle.getSections()); } @Override public void fromJsonObject(Map properties) { this.sections.forEach(item->item.fromJsonObject(properties)); } }