package eu.eudat.controllers; import eu.eudat.models.helpers.responses.ResponseItem; import eu.eudat.models.security.Principal; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.web.bind.annotation.CrossOrigin; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; import eu.eudat.dao.entities.DMPDao; import eu.eudat.dao.entities.DatasetDao; import eu.eudat.dao.entities.ProjectDao; import eu.eudat.managers.DashBoardManager; import eu.eudat.models.dashboard.DashBoardStatistics; @RestController @CrossOrigin public class DashBoardController { @Autowired private DatasetDao datasetDao; @Autowired private DMPDao dMPDao; @Autowired private ProjectDao projectDao; @RequestMapping(method = RequestMethod.GET, value = { "/dashboard/getStatistics" }, produces="application/json") public ResponseItem getStatistics(Principal principal){ try { DashBoardStatistics statistics = new DashBoardManager().getStatistics(datasetDao, dMPDao, projectDao); return new ResponseItem().status(HttpStatus.OK).payload(statistics); } catch(Exception ex) { ex.printStackTrace(); return new ResponseItem().status(HttpStatus.INTERNAL_SERVER_ERROR).message(ex.getMessage()); } } }