2017-12-15 00:01:26 +01:00
|
|
|
package eu.eudat.managers;
|
2017-12-14 18:07:09 +01:00
|
|
|
|
2017-12-15 00:01:26 +01:00
|
|
|
import eu.eudat.dao.entities.DMPDao;
|
|
|
|
import eu.eudat.dao.entities.DatasetDao;
|
|
|
|
import eu.eudat.dao.entities.ProjectDao;
|
2018-02-02 11:33:37 +01:00
|
|
|
import eu.eudat.entities.DMP;
|
|
|
|
import eu.eudat.entities.Dataset;
|
|
|
|
import eu.eudat.entities.Project;
|
|
|
|
import eu.eudat.entities.UserInfo;
|
2017-12-15 00:01:26 +01:00
|
|
|
import eu.eudat.models.dashboard.DashBoardStatistics;
|
2018-02-02 11:33:37 +01:00
|
|
|
import eu.eudat.models.security.Principal;
|
|
|
|
|
|
|
|
import java.lang.reflect.Array;
|
|
|
|
import java.util.Arrays;
|
2017-12-14 18:07:09 +01:00
|
|
|
|
|
|
|
public class DashBoardManager {
|
2018-02-02 11:33:37 +01:00
|
|
|
|
|
|
|
public DashBoardStatistics getStatistics(DatasetDao datasetRepository, DMPDao dataManagementPlanRepository, ProjectDao projectRepository) {
|
|
|
|
DashBoardStatistics statistics = new DashBoardStatistics();
|
|
|
|
statistics.setTotalDataManagementPlanCount(dataManagementPlanRepository.count());
|
|
|
|
statistics.setTotalDataSetCount(datasetRepository.count());
|
|
|
|
statistics.setTotalProjectCount(projectRepository.count());
|
|
|
|
return statistics;
|
|
|
|
}
|
|
|
|
|
|
|
|
public DashBoardStatistics getMeStatistics(DatasetDao datasetRepository, DMPDao dataManagementPlanRepository, ProjectDao projectRepository, Principal principal) {
|
|
|
|
DashBoardStatistics statistics = new DashBoardStatistics();
|
|
|
|
UserInfo user = new UserInfo();
|
|
|
|
user.setId(principal.getId());
|
|
|
|
statistics.setTotalDataManagementPlanCount(dataManagementPlanRepository.asQueryable().where((builder, root) -> builder.equal(root.get("creator").get("id"), principal.getId())).count());
|
|
|
|
statistics.setTotalDataSetCount(datasetRepository.asQueryable().where((builder, root) -> builder.equal(root.get("creator").get("id"), principal.getId())).count());
|
|
|
|
statistics.setTotalProjectCount(projectRepository.asQueryable().where((builder, root) -> builder.equal(root.get("creationUser").get("id"), principal.getId())).count());
|
|
|
|
return statistics;
|
|
|
|
}
|
2017-12-14 18:07:09 +01:00
|
|
|
|
|
|
|
}
|