Refactor DatasetService and CategoryService for better code organization and encapsulation

This commit is contained in:
Erik Foris 2024-07-06 21:11:27 +02:00
parent 1adf56b08e
commit ba6257059d
2 changed files with 12 additions and 12 deletions

View File

@ -17,44 +17,44 @@ public class DatasetService {
private dataRepository datasetRepository; private dataRepository datasetRepository;
private CategoryRepository categoryRepository; private CategoryRepository categoryRepository;
public DatasetService(dataRepository datasetRepository, CategoryRepository categoryRepository) { DatasetService(dataRepository datasetRepository, CategoryRepository categoryRepository) {
this.datasetRepository = datasetRepository; this.datasetRepository = datasetRepository;
this.categoryRepository = categoryRepository; this.categoryRepository = categoryRepository;
} }
public Dataset getDatasetById(UUID id) { Dataset getDatasetById(UUID id) {
return datasetRepository.getDatasetById(id); return datasetRepository.getDatasetById(id);
} }
public Dataset addDataset(Dataset dataset) { Dataset addDataset(Dataset dataset) {
dataset.setDate(LocalDate.now()); dataset.setDate(LocalDate.now());
return datasetRepository.save(dataset); return datasetRepository.save(dataset);
} }
public void voteDataset(UUID id, int vote) { void voteDataset(UUID id, int vote) {
Dataset dataset = datasetRepository.getDatasetById(id); Dataset dataset = datasetRepository.getDatasetById(id);
dataset.vote(vote); dataset.vote(vote);
datasetRepository.save(dataset); datasetRepository.save(dataset);
} }
public void deleteDataset(UUID id) { void deleteDataset(UUID id) {
Dataset dataset = datasetRepository.getDatasetById(id); Dataset dataset = datasetRepository.getDatasetById(id);
datasetRepository.delete(dataset); datasetRepository.delete(dataset);
} }
public void upvoteDataset(UUID id) { void upvoteDataset(UUID id) {
Dataset dataset = datasetRepository.getDatasetById(id); Dataset dataset = datasetRepository.getDatasetById(id);
dataset.upvote(); dataset.upvote();
datasetRepository.save(dataset); datasetRepository.save(dataset);
} }
public void downvoteDataset(UUID id) { void downvoteDataset(UUID id) {
Dataset dataset = datasetRepository.getDatasetById(id); Dataset dataset = datasetRepository.getDatasetById(id);
dataset.downvote(); dataset.downvote();
datasetRepository.save(dataset); datasetRepository.save(dataset);
} }
public Page<Dataset> searchByOptionalCriteria(String search, String categories, String type, Pageable pageable) { Page<Dataset> searchByOptionalCriteria(String search, String categories, String type, Pageable pageable) {
Category category = categories.equals("%") ? null Category category = categories.equals("%") ? null
: categoryRepository.getCategoryById(UUID.fromString(categories)); : categoryRepository.getCategoryById(UUID.fromString(categories));
Type t = type.equals("%") ? null : Type.valueOf(type); Type t = type.equals("%") ? null : Type.valueOf(type);

View File

@ -8,22 +8,22 @@ import java.util.UUID;
public class CategoryService { public class CategoryService {
private CategoryRepository categoryRepository; private CategoryRepository categoryRepository;
public CategoryService(CategoryRepository categoryRepository) { CategoryService(CategoryRepository categoryRepository) {
this.categoryRepository = categoryRepository; this.categoryRepository = categoryRepository;
} }
public void addCategory(CategoryDto category) { void addCategory(CategoryDto category) {
Category cat = new Category(category.getName()); Category cat = new Category(category.getName());
categoryRepository.save(cat); categoryRepository.save(cat);
} }
public List<CategoryDto> getAllCategories() { List<CategoryDto> getAllCategories() {
List<Category> tmp = categoryRepository.findAll(); List<Category> tmp = categoryRepository.findAll();
List<CategoryDto> s = tmp.stream().map(CategoryDtoMapper::toDto).toList(); List<CategoryDto> s = tmp.stream().map(CategoryDtoMapper::toDto).toList();
return s; return s;
} }
public CategoryDto getCategoryById(UUID id) { CategoryDto getCategoryById(UUID id) {
Category c = categoryRepository.getCategoryById(id); Category c = categoryRepository.getCategoryById(id);
if (c == null) { if (c == null) {
return null; return null;