package eu.eudat.models.user.composite; import eu.eudat.models.admin.components.datasetprofile.Page; import eu.eudat.models.user.components.commons.Rule; import java.util.LinkedList; import java.util.List; import java.util.stream.Collectors; /** * Created by ikalyvas on 1/19/2018. */ public class PagedDatasetProfile { private List pages; private List rules; private int status; public List getPages() { return pages; } public void setPages(List pages) { this.pages = pages; } 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 PagedDatasetProfile buildPagedDatasetProfile(DatasetProfile profile) { this.status = profile.getStatus(); this.rules = profile.getRules(); this.pages = new LinkedList<>(); List 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())); this.pages.add(datasetProfilePage); } return this; } }