| src/main/java/de/gedoplan/seminar/sbt/di/exercise/service/AlcFilter.java | ●●●●● Patch | Ansicht | Raw | Blame | Historie | |
| src/main/java/de/gedoplan/seminar/sbt/di/exercise/service/CocktailServiceImpl.java | ●●●●● Patch | Ansicht | Raw | Blame | Historie | |
| src/main/java/de/gedoplan/seminar/sbt/di/exercise/service/SugarFilter.java | ●●●●● Patch | Ansicht | Raw | Blame | Historie |
src/main/java/de/gedoplan/seminar/sbt/di/exercise/service/AlcFilter.java
Neue Datei @@ -0,0 +1,14 @@ package de.gedoplan.seminar.sbt.di.exercise.service; import de.gedoplan.seminar.sbt.di.exercise.domain.Cocktail; import org.springframework.stereotype.Component; import java.util.function.Predicate; @Component public class AlcFilter implements Predicate<Cocktail> { @Override public boolean test(Cocktail cocktail) { return cocktail.isAlcoholic(); } } src/main/java/de/gedoplan/seminar/sbt/di/exercise/service/CocktailServiceImpl.java
@@ -6,19 +6,24 @@ import org.springframework.stereotype.Component; import java.util.List; import java.util.function.Predicate; @ConditionalOnProperty(name = "cocktailService.mock", havingValue = "false", matchIfMissing = true) @Component public class CocktailServiceImpl implements CocktailService { private final CocktailRepository cocktailRepository; private final List<Predicate<Cocktail>> filters; public CocktailServiceImpl(CocktailRepository cocktailRepository) { public CocktailServiceImpl(CocktailRepository cocktailRepository, List<Predicate<Cocktail>> filters) { this.cocktailRepository = cocktailRepository; this.filters = filters; } @Override public List<Cocktail> findAll() { return cocktailRepository.findAll(); return cocktailRepository.findAll().stream() .filter(filters.stream().reduce(Predicate::and).orElse(x -> true)) .toList(); } } src/main/java/de/gedoplan/seminar/sbt/di/exercise/service/SugarFilter.java
Neue Datei @@ -0,0 +1,16 @@ package de.gedoplan.seminar.sbt.di.exercise.service; import de.gedoplan.seminar.sbt.di.exercise.domain.Cocktail; import de.gedoplan.seminar.sbt.di.exercise.domain.CocktailSamples; import org.springframework.stereotype.Component; import java.util.function.Predicate; @Component public class SugarFilter implements Predicate<Cocktail> { @Override public boolean test(Cocktail cocktail) { return !cocktail.getIngredients().containsKey(CocktailSamples.SUGAR); } }