package eu.eudat.managers; import java.util.List; import java.util.UUID; import eu.eudat.dao.entities.DMPDao; import eu.eudat.entities.DMP; import eu.eudat.models.criteria.DataManagementPlanCriteria; import eu.eudat.models.dmp.DataManagementPlan; import eu.eudat.models.dmp.DataManagementPlanCriteriaRequest; import eu.eudat.models.dmp.DataManagementPlanTableRequest; import eu.eudat.models.helpers.DataTableData; import eu.eudat.models.listingmodels.DataManagementPlanListingModel; import eu.eudat.queryable.QueryableList; import eu.eudat.utilities.builders.DomainModelConverter; public class DataManagementPlanManager { public DataTableData getPaged(DMPDao dmpsRepository, DataManagementPlanTableRequest dataManagementPlanTableRequest) throws IllegalAccessException, InstantiationException{ QueryableList items = dmpsRepository.getWithCriteria(dataManagementPlanTableRequest.getCriteria()); QueryableList pagedItems = PaginationManager.applyPaging(items,dataManagementPlanTableRequest); List datamanagementPlans = new DomainModelConverter().fromDataModel( pagedItems.toList(), DataManagementPlanListingModel.class); DataTableData dataTable = new DataTableData(); dataTable.setData(datamanagementPlans); dataTable.setTotalCount(items.count()); return dataTable; } public eu.eudat.models.dmp.DataManagementPlan getSingle(DMPDao dmpsRepository, String id) throws InstantiationException, IllegalAccessException{ eu.eudat.models.dmp.DataManagementPlan datamanagementPlan = new eu.eudat.models.dmp.DataManagementPlan(); datamanagementPlan.fromDataModel(dmpsRepository.find(UUID.fromString(id))); return datamanagementPlan; } public List getWithCriteria(DMPDao dmpsRepository, DataManagementPlanCriteriaRequest dataManagementPlanCriteria) throws IllegalAccessException, InstantiationException{ QueryableList items = dmpsRepository.getWithCriteria(dataManagementPlanCriteria.getCriteria()); List datamanagementPlans = new DomainModelConverter().fromDataModel( items.toList(), eu.eudat.models.dmp.DataManagementPlan.class); return datamanagementPlans; } }