package eu.eudat.models.data.user.composite; import eu.eudat.models.data.admin.components.datasetprofile.Page; import eu.eudat.models.data.user.components.commons.Rule; import eu.eudat.models.data.user.components.datasetprofile.Section; import eu.eudat.logic.utilities.builders.ModelBuilder; import eu.eudat.logic.utilities.helpers.ModelBuilderCollector; import java.util.List; import java.util.Map; public class DatasetProfile implements PropertiesModelBuilder { private String description; private String language; private List
sections; private List rules; private List pages; private int status; public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } public String getLanguage() { return language; } public void setLanguage(String language) { this.language = language; } 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 int getStatus() { return status; } public void setStatus(int status) { this.status = status; } public List getPages() { return pages; } public void setPages(List pages) { this.pages = pages; } public void buildProfile(eu.eudat.models.data.entities.xmlmodels.datasetprofiledefinition.ViewStyleModel viewStyle) { this.sections = new ModelBuilder().fromViewStyleDefinition(viewStyle.getSections(), Section.class); this.pages = new ModelBuilder().fromViewStyleDefinition(viewStyle.getPages(), Page.class); this.rules = ModelBuilderCollector.collectRules(viewStyle.getSections()); } @Override public void fromJsonObject(Map properties) { this.sections.forEach(item -> item.fromJsonObject(properties)); } @Override public void fromJsonObject(Map properties, String index) { // TODO Auto-generated method stub } }