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

70 lines
1.7 KiB
Java

package eu.eudat.models.user.composite;
import eu.eudat.models.admin.components.datasetprofile.Page;
import eu.eudat.utilities.builders.ModelBuilder;
import eu.eudat.utilities.helpers.ModelBuilderCollector;
import java.util.List;
import java.util.Map;
import eu.eudat.models.user.components.datasetprofile.*;
import eu.eudat.models.user.components.commons.Rule;
public class DatasetProfile implements PropertiesModelBuilder{
private List<Section> sections;
private List<Rule> rules;
private List<Page> pages;
private int status;
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 int getStatus() {
return status;
}
public void setStatus(int status) {
this.status = status;
}
public List<Page> getPages() {
return pages;
}
public void setPages(List<Page> pages) {
this.pages = pages;
}
public void buildProfile(eu.eudat.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<String, Object> properties) {
this.sections.forEach(item->item.fromJsonObject(properties));
}
@Override
public void fromJsonObject(Map<String, Object> properties, String index) {
// TODO Auto-generated method stub
}
}