From 408f8a5b5ed17bff02b4bc2783dc47cb170ace46 Mon Sep 17 00:00:00 2001
From: Hendrik Jungnitsch <hendrik.jungnitsch@gedoplan.de>
Date: Mo, 14 Nov 2022 11:31:51 +0100
Subject: [PATCH] exercise
---
src/main/java/de/gedoplan/seminar/sbt/di/exercise/service/IngredientService.java | 19 +++++++++++++++++--
1 files changed, 17 insertions(+), 2 deletions(-)
diff --git a/src/main/java/de/gedoplan/seminar/sbt/di/exercise/service/IngredientService.java b/src/main/java/de/gedoplan/seminar/sbt/di/exercise/service/IngredientService.java
index 7163535..6b343c7 100644
--- a/src/main/java/de/gedoplan/seminar/sbt/di/exercise/service/IngredientService.java
+++ b/src/main/java/de/gedoplan/seminar/sbt/di/exercise/service/IngredientService.java
@@ -1,12 +1,27 @@
package de.gedoplan.seminar.sbt.di.exercise.service;
+import de.gedoplan.seminar.sbt.di.exercise.domain.Beverage;
+import de.gedoplan.seminar.sbt.di.exercise.domain.Cocktail;
+import de.gedoplan.seminar.sbt.di.exercise.exception.OutOfStockException;
import org.springframework.stereotype.Component;
+
+import java.util.List;
+import java.util.Map;
+
+import static java.util.function.Predicate.not;
@Component
public class IngredientService {
- public boolean isAvailable(String id, double amount) {
+ private List<Beverage> beveragesNotAvailable(Cocktail cocktail) {
+ return cocktail.getIngredients().entrySet().stream()
+ .filter(not(e -> isAvailable(e.getKey(), e.getValue())))
+ .map(Map.Entry::getKey)
+ .toList();
+ }
+
+ public boolean isAvailable(Beverage beverage, double amount) {
// Dummy check: Anything but rum is available
- return !"RUM".equals(id);
+ return !"RUM".equals(beverage.getId());
}
}
--
Gitblit v1.7.1