From 2d04b1b43ac89fdd22f41744b78e617c02b8f18f Mon Sep 17 00:00:00 2001 From: Nightblade73 Date: Thu, 4 Apr 2019 17:58:22 +0400 Subject: [PATCH] #55 added findAll method in ConferenceService --- .../controller/ConferenceController.java | 13 +++++--- .../conference/service/ConferenceService.java | 33 +++++++++++++++++++ 2 files changed, 41 insertions(+), 5 deletions(-) diff --git a/src/main/java/ru/ulstu/conference/controller/ConferenceController.java b/src/main/java/ru/ulstu/conference/controller/ConferenceController.java index 3e4c17e..167be2a 100644 --- a/src/main/java/ru/ulstu/conference/controller/ConferenceController.java +++ b/src/main/java/ru/ulstu/conference/controller/ConferenceController.java @@ -2,7 +2,10 @@ package ru.ulstu.conference.controller; import org.springframework.stereotype.Controller; +import org.springframework.ui.ModelMap; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; +import ru.ulstu.conference.model.ConferenceFilterDto; import ru.ulstu.conference.service.ConferenceService; import springfox.documentation.annotations.ApiIgnore; @@ -16,9 +19,9 @@ public class ConferenceController { public ConferenceController(ConferenceService paperService) { this.conferenceService = paperService; } -// -// @GetMapping("/papers") -// public void getPapers(ModelMap modelMap) { -// modelMap.put("filteredPapers", new PaperFilterDto(paperService.findAllDto(), null, null)); -// } + + @GetMapping("/papers") + public void getPapers(ModelMap modelMap) { + modelMap.put("filteredPapers", new ConferenceFilterDto(conferenceService.findAllDto(), null, null)); + } } diff --git a/src/main/java/ru/ulstu/conference/service/ConferenceService.java b/src/main/java/ru/ulstu/conference/service/ConferenceService.java index a8147c9..fd9cc5b 100644 --- a/src/main/java/ru/ulstu/conference/service/ConferenceService.java +++ b/src/main/java/ru/ulstu/conference/service/ConferenceService.java @@ -1,11 +1,20 @@ package ru.ulstu.conference.service; +import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; +import ru.ulstu.conference.model.Conference; +import ru.ulstu.conference.model.ConferenceDto; import ru.ulstu.conference.repository.ConferenceRepository; import ru.ulstu.deadline.service.DeadlineService; +import java.util.List; + +import static ru.ulstu.core.util.StreamApiUtils.convert; + @Service public class ConferenceService { + private final static int MAX_DISPLAY_SIZE = 40; + private final ConferenceRepository conferenceRepository; private final DeadlineService deadlineService; @@ -14,4 +23,28 @@ public class ConferenceService { this.conferenceRepository = conferenceRepository; this.deadlineService = deadlineService; } + + public List findAll() { + return conferenceRepository.findAll(); + } + + public List findAllDto() { + List conferences = convert(findAll(), ConferenceDto::new); + conferences.forEach(conferenceDto -> conferenceDto.setTitle(StringUtils.abbreviate(conferenceDto.getTitle(), MAX_DISPLAY_SIZE))); + return conferences; + } + +// private List sortPapers(List conferences) { +// return conferences.stream().sorted((paper1, paper2) -> { +// int statusCompareResult = +// Integer.valueOf(Arrays.asList(Paper.PaperStatus.values()).indexOf(paper1.getStatus())) +// .compareTo(Arrays.asList(Paper.PaperStatus.values()).indexOf(paper2.getStatus())); +// if (statusCompareResult != 0) { +// return statusCompareResult; +// } +// return paper1.getTitle().compareTo(paper2.getTitle()); +// }).collect(toList()); +// } + + }