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; public ConferenceService(ConferenceRepository conferenceRepository, DeadlineService deadlineService) { 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()); // } }