package eu.eudat.managers; import java.util.List; import java.util.UUID; import eu.eudat.dao.entities.ProjectDao; import eu.eudat.models.helpers.DataTableData; import eu.eudat.models.project.Project; import eu.eudat.models.project.ProjectTableRequest; import eu.eudat.queryable.QueryableList; import eu.eudat.utilities.builders.DomainModelConverter; public class ProjectManager { public DataTableData getPaged(ProjectDao projectRepository, ProjectTableRequest projectTableRequest) throws IllegalAccessException, InstantiationException{ QueryableList items = projectRepository.getWithCriteria(projectTableRequest.getCriteria()); QueryableList pagedItems = PaginationManager.applyPaging(items,projectTableRequest); List projects = new DomainModelConverter().fromDataModel(pagedItems.toList(), eu.eudat.models.project.Project.class); DataTableData dataTable = new DataTableData(); dataTable.setData(projects); dataTable.setTotalCount(projectRepository.count()); return dataTable; } public eu.eudat.models.project.Project getSingle(ProjectDao projectRepository, String id) throws InstantiationException, IllegalAccessException{ eu.eudat.models.project.Project project = new eu.eudat.models.project.Project(); project.fromDataModel(projectRepository.find(UUID.fromString(id))); return project; } }