2018-06-27 12:29:21 +02:00
|
|
|
package eu.eudat.models.data.user.composite;
|
2018-01-19 10:31:05 +01:00
|
|
|
|
2018-06-27 12:29:21 +02:00
|
|
|
import eu.eudat.models.data.admin.components.datasetprofile.Page;
|
|
|
|
import eu.eudat.models.data.properties.PropertiesGenerator;
|
|
|
|
import eu.eudat.models.data.user.components.commons.Rule;
|
2018-01-19 10:31:05 +01:00
|
|
|
|
|
|
|
import java.util.LinkedList;
|
|
|
|
import java.util.List;
|
2018-01-30 12:07:51 +01:00
|
|
|
import java.util.Map;
|
2018-01-19 10:31:05 +01:00
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
2018-02-01 10:08:06 +01:00
|
|
|
|
2018-01-30 12:07:51 +01:00
|
|
|
public class PagedDatasetProfile implements PropertiesGenerator {
|
2018-01-19 10:31:05 +01:00
|
|
|
private List<DatasetProfilePage> pages;
|
|
|
|
private List<Rule> rules;
|
|
|
|
private int status;
|
|
|
|
|
|
|
|
public List<DatasetProfilePage> getPages() {
|
|
|
|
return pages;
|
|
|
|
}
|
|
|
|
|
|
|
|
public void setPages(List<DatasetProfilePage> pages) {
|
|
|
|
this.pages = pages;
|
|
|
|
}
|
|
|
|
|
|
|
|
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 PagedDatasetProfile buildPagedDatasetProfile(DatasetProfile profile) {
|
|
|
|
this.status = profile.getStatus();
|
|
|
|
this.rules = profile.getRules();
|
|
|
|
this.pages = new LinkedList<>();
|
|
|
|
List<Page> pages = profile.getPages();
|
|
|
|
for (Page page : pages) {
|
|
|
|
DatasetProfilePage datasetProfilePage = new DatasetProfilePage();
|
|
|
|
datasetProfilePage.setOrdinal(page.getOrdinal());
|
|
|
|
datasetProfilePage.setTitle(page.getTitle());
|
|
|
|
datasetProfilePage.setSections(profile.getSections().stream().filter(item -> item.getPage().equals(page.getId())).collect(Collectors.toList()));
|
2018-01-19 12:11:22 +01:00
|
|
|
this.pages.add(datasetProfilePage);
|
2018-01-19 10:31:05 +01:00
|
|
|
}
|
|
|
|
return this;
|
|
|
|
}
|
|
|
|
|
2018-01-30 12:07:51 +01:00
|
|
|
@Override
|
|
|
|
public void toMap(Map<String, Object> fieldValues) {
|
2018-02-16 11:34:02 +01:00
|
|
|
this.pages.forEach(item -> item.getSections().forEach(sectionItem -> sectionItem.toMap(fieldValues)));
|
2018-01-30 12:07:51 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void toMap(Map<String, Object> fieldValues, int index) {
|
|
|
|
|
|
|
|
}
|
2018-01-19 10:31:05 +01:00
|
|
|
}
|