package org.kalipo.service; import org.kalipo.aop.KalipoExceptionHandler; import org.kalipo.config.Constants; import org.kalipo.domain.Achievement; import org.kalipo.repository.AchievementRepository; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Sort; import org.springframework.scheduling.annotation.Async; import org.springframework.scheduling.annotation.AsyncResult; import org.springframework.stereotype.Service; import javax.inject.Inject; import java.util.concurrent.Future; @SuppressWarnings("unused") @Service @KalipoExceptionHandler public class AchievementService { private final Logger log = LoggerFactory.getLogger(AchievementService.class); @Inject private AchievementRepository achievementRepository; @Async public Future<Page<Achievement>> getRevisionsWithPages(String userId, int pageNumber) { PageRequest pageable = new PageRequest(pageNumber, 10, Sort.Direction.DESC, Constants.PARAM_CREATED_DATE); return new AsyncResult<>(achievementRepository.findByUserId(userId, pageable)); } }