From ad4a006cd0f6d7306c1d3b5b9d7c28dd73b7ebee Mon Sep 17 00:00:00 2001
From: Hendrik Jungnitsch <hendrik.jungnitsch@gedoplan.de>
Date: Mo, 14 Nov 2022 11:41:51 +0100
Subject: [PATCH] exercise07

---
 src/main/java/de/gedoplan/seminar/sbt/di/exercise/service/CocktailServiceImpl.java |    9 +++++++--
 1 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/src/main/java/de/gedoplan/seminar/sbt/di/exercise/service/CocktailServiceImpl.java b/src/main/java/de/gedoplan/seminar/sbt/di/exercise/service/CocktailServiceImpl.java
index 9e49f94..ff9a7e1 100644
--- a/src/main/java/de/gedoplan/seminar/sbt/di/exercise/service/CocktailServiceImpl.java
+++ b/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();
     }
 }

--
Gitblit v1.7.1