2017-12-01 15:09:46 +01:00
|
|
|
package models.user.composite;
|
2017-11-27 14:40:16 +01:00
|
|
|
|
2017-11-30 11:10:42 +01:00
|
|
|
import utilities.builders.ModelBuilder;
|
|
|
|
import utilities.helpers.ModelBuilderCollector;
|
|
|
|
|
2017-11-27 14:40:16 +01:00
|
|
|
import java.util.List;
|
2017-12-05 17:56:21 +01:00
|
|
|
import java.util.Map;
|
2017-11-27 14:40:16 +01:00
|
|
|
|
2017-12-01 15:09:46 +01:00
|
|
|
import models.user.components.datasetprofile.*;
|
|
|
|
import models.user.components.commons.Rule;
|
|
|
|
|
2017-12-05 17:56:21 +01:00
|
|
|
public class DatasetProfile implements PropertiesModelBuilder{
|
2017-11-27 14:40:16 +01:00
|
|
|
private List<Section> sections;
|
2017-12-01 15:09:46 +01:00
|
|
|
private List<Rule> rules;
|
2017-11-27 14:40:16 +01:00
|
|
|
public List<Section> getSections() {
|
|
|
|
return sections;
|
|
|
|
}
|
|
|
|
|
|
|
|
public void setSections(List<Section> sections) {
|
|
|
|
this.sections = sections;
|
2017-11-30 11:10:42 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
2017-12-01 15:09:46 +01:00
|
|
|
public List<Rule> getRules() {
|
|
|
|
return rules;
|
|
|
|
}
|
|
|
|
|
|
|
|
public void setRules(List<Rule> rules) {
|
|
|
|
this.rules = rules;
|
|
|
|
}
|
|
|
|
|
2017-11-30 11:10:42 +01:00
|
|
|
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){
|
2017-12-01 15:09:46 +01:00
|
|
|
ModelBuilderCollector.mapUserSections(sections, fieldGroup.getFieldSets());
|
|
|
|
this.rules = ModelBuilderCollector.collectRules(viewStyle.getSections());
|
|
|
|
|
2017-11-30 11:10:42 +01:00
|
|
|
}
|
2017-12-05 17:56:21 +01:00
|
|
|
|
|
|
|
@Override
|
|
|
|
public void fromJsonObject(Map<String, Object> properties) {
|
|
|
|
this.sections.forEach(item->item.fromJsonObject(properties));
|
|
|
|
|
|
|
|
}
|
2017-11-27 14:40:16 +01:00
|
|
|
|
|
|
|
}
|