argos/dmp-backend/src/main/java/eu/eudat/managers/ProjectManager.java

46 lines
2.4 KiB
Java
Raw Normal View History

2017-12-15 00:01:26 +01:00
package eu.eudat.managers;
import java.util.List;
import java.util.UUID;
import eu.eudat.dao.entities.ProjectDao;
2017-12-19 09:38:47 +01:00
import eu.eudat.models.criteria.ProjectCriteria;
2017-12-15 00:01:26 +01:00
import eu.eudat.models.helpers.DataTableData;
import eu.eudat.models.project.Project;
2017-12-19 09:38:47 +01:00
import eu.eudat.models.project.ProjectCriteriaRequest;
2017-12-15 00:01:26 +01:00
import eu.eudat.models.project.ProjectTableRequest;
import eu.eudat.queryable.QueryableList;
2017-12-15 00:01:26 +01:00
import eu.eudat.utilities.builders.DomainModelConverter;
public class ProjectManager {
public DataTableData<eu.eudat.models.project.Project> getPaged(ProjectDao projectRepository, ProjectTableRequest projectTableRequest) throws IllegalAccessException, InstantiationException{
QueryableList<eu.eudat.entities.Project> items = projectRepository.getWithCriteria(projectTableRequest.getCriteria());
QueryableList<eu.eudat.entities.Project> pagedItems = PaginationManager.applyPaging(items,projectTableRequest);
List<eu.eudat.models.project.Project> projects = new DomainModelConverter<eu.eudat.entities.Project, Project>().fromDataModel(pagedItems.toList(), eu.eudat.models.project.Project.class);
2017-12-15 00:01:26 +01:00
DataTableData<eu.eudat.models.project.Project> dataTable = new DataTableData<eu.eudat.models.project.Project>();
dataTable.setData(projects);
2017-12-19 15:09:49 +01:00
dataTable.setTotalCount(items.count());
2017-12-15 00:01:26 +01:00
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)));
2017-12-15 00:01:26 +01:00
return project;
}
2017-12-19 09:38:47 +01:00
public eu.eudat.entities.Project inactivate(ProjectDao projectRepository,String id) throws InstantiationException, IllegalAccessException{
eu.eudat.entities.Project project = projectRepository.find(UUID.fromString(id));
project.setStatus(Project.Status.DELETED.getValue());
project = projectRepository.createOrUpdate(project);
return project;
}
public List<eu.eudat.models.project.Project> getCriteria(ProjectDao projectRepository, ProjectCriteriaRequest projectCriteria) throws IllegalAccessException, InstantiationException{
QueryableList<eu.eudat.entities.Project> items = projectRepository.getWithCriteria(projectCriteria.getCriteria());
List<eu.eudat.models.project.Project> projects = new DomainModelConverter<eu.eudat.entities.Project, Project>().fromDataModel(items.toList(), eu.eudat.models.project.Project.class);
return projects;
}
2017-12-15 00:01:26 +01:00
}