argos/dmp-backend/src/main/java/models/user/composite/DatasetProfile.java

56 lines
1.5 KiB
Java

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<Section> sections;
private List<Rule> rules;
public List<Section> getSections() {
return sections;
}
public void setSections(List<Section> sections) {
this.sections = sections;
}
public List<Rule> getRules() {
return rules;
}
public void setRules(List<Rule> 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<String, Object> properties) {
this.sections.forEach(item->item.fromJsonObject(properties));
}
@Override
public void fromJsonObject(Map<String, Object> properties, int index) {
// TODO Auto-generated method stub
}
}