Advertisement
Guest User

Untitled

a guest
Aug 25th, 2019
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.39 KB | None | 0 0
  1. package com.blocki.springrestonlinestore.core.services;
  2.  
  3. import com.blocki.springrestonlinestore.api.v1.controllers.CategoryController;
  4. import com.blocki.springrestonlinestore.api.v1.mappers.CategoryMapper;
  5. import com.blocki.springrestonlinestore.api.v1.models.CategoryDTO;
  6.  
  7. import com.blocki.springrestonlinestore.core.config.resourceAssemblers.CategoryResourceAssembler;
  8. import com.blocki.springrestonlinestore.core.exceptions.NotFoundException;
  9. import com.blocki.springrestonlinestore.core.repositories.CategoryRepository;
  10. import org.mapstruct.factory.Mappers;
  11. import org.springframework.beans.factory.annotation.Autowired;
  12. import org.springframework.hateoas.Resource;
  13.  
  14. import org.springframework.hateoas.Resources;
  15. import org.springframework.stereotype.Service;
  16.  
  17. import java.util.List;
  18. import java.util.stream.Collectors;
  19.  
  20. import static org.springframework.hateoas.mvc.ControllerLinkBuilder.*;
  21.  
  22. @Service
  23. public class CategoryServiceImpl implements CategoryService {
  24.  
  25.     private final CategoryRepository categoryRepository;
  26.     private final CategoryResourceAssembler categoryResourceAssembler;
  27.     private final CategoryMapper categoryConverter = Mappers.getMapper(CategoryMapper.class);
  28.  
  29.     @Autowired
  30.     public CategoryServiceImpl(CategoryRepository categoryRepository, CategoryResourceAssembler categoryResourceAssembler) {
  31.         this.categoryRepository = categoryRepository;
  32.         this.categoryResourceAssembler = categoryResourceAssembler;
  33.     }
  34.  
  35.     @Override
  36.     public Resources<Resource<CategoryDTO>> getAllCategories() {
  37.  
  38.         List<Resource<CategoryDTO>> categories = categoryRepository
  39.                 .findAll()
  40.                 .stream()
  41.                 .map(categoryConverter::categoryToCategoryDTO)
  42.                 .map(categoryResourceAssembler::toResource)
  43.                 .collect(Collectors.toList());
  44.  
  45.         return new Resources<>(categories,
  46.                 linkTo(methodOn(CategoryController.class).getAllCategories()).withSelfRel());
  47.     }
  48.  
  49.     @Override
  50.     public Resource<CategoryDTO> getCategoryById(Long id) {
  51.  
  52.         CategoryDTO categoryDTO =  categoryRepository
  53.                                     .findById(id)
  54.                                     .map(categoryConverter::categoryToCategoryDTO)
  55.                                     .orElseThrow(NotFoundException::new);
  56.  
  57.         return categoryResourceAssembler.toResource(categoryDTO);
  58.     }
  59. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement