diff --git a/src/main/java/no/ntnu/idatt1002/demo/controller/SuggestRecipesController.java b/src/main/java/no/ntnu/idatt1002/demo/controller/SuggestRecipesController.java index 3cee1a098eff76e9ec9eac897b5a0c6bc6356536..4dd67542860a898600f2ef2974699e0915430e45 100644 --- a/src/main/java/no/ntnu/idatt1002/demo/controller/SuggestRecipesController.java +++ b/src/main/java/no/ntnu/idatt1002/demo/controller/SuggestRecipesController.java @@ -75,11 +75,7 @@ public class SuggestRecipesController implements Initializable { if (clickedButton.isPresent() && clickedButton.get() == ButtonType.APPLY) { // Refresh ingredientsAtHand. - ingredientsAtHand = FileHandler.readIngredientsAtHand("Fridge"); - //TODO: Duplicate code and assertion. - assert ingredientsAtHand != null; - fridge = FXCollections.observableArrayList(ingredientsAtHand.getIngredientsAtHand().stream().map(foodItem -> foodItem.label).toList()); - fridgeList.setItems(fridge.sorted()); + readIngredientsAtHand(); setRecipeTiles(); } } @@ -89,11 +85,7 @@ public class SuggestRecipesController implements Initializable { String toRemove = fridgeList.getSelectionModel().getSelectedItem(); //TODO: If anything selected! ingredientsAtHand.removeIngredient(FoodItem.valueOf(toRemove.replace(" ", "_").toUpperCase())); - FileHandler.writeIngredientsAtHand(ingredientsAtHand, "Fridge"); - //TODO: Remove toUppercase solution above. - //TODO: Consider factoring out to a update method. - fridge = FXCollections.observableArrayList(ingredientsAtHand.getIngredientsAtHand().stream().map(foodItem -> foodItem.label).toList()); - fridgeList.setItems(fridge.sorted()); + storeIngredientsAtHand(); setRecipeTiles(); } @@ -169,16 +161,26 @@ public class SuggestRecipesController implements Initializable { stage.show(); } - - @Override - public void initialize(URL url, ResourceBundle resourceBundle) { - + public void readIngredientsAtHand() { // If no ingredients at hand file exsists, add one and let it be empty. //TODO - ingredientsAtHand = FileHandler.readIngredientsAtHand("Fridge"); + ingredientsAtHand = FileHandler.readIngredientsAtHand("Fridge"); fridge = FXCollections.observableArrayList(ingredientsAtHand.getIngredientsAtHand().stream().map(foodItem -> foodItem.label).toList()); //List<String> fridgeLabels = fridge; - fridgeList.setItems(fridge.sorted()); + fridgeList.setItems(fridge.sorted()); + } + + public void storeIngredientsAtHand() throws IOException { + FileHandler.writeIngredientsAtHand(ingredientsAtHand, "Fridge"); + fridge = FXCollections.observableArrayList(ingredientsAtHand.getIngredientsAtHand().stream().map(foodItem -> foodItem.label).toList()); + fridgeList.setItems(fridge.sorted()); + } + + + + @Override + public void initialize(URL url, ResourceBundle resourceBundle) { + readIngredientsAtHand(); recipeRegister = FileHandler.readRecipeRegister("Recipes"); recipes = FXCollections.observableArrayList(recipeRegister.getRecipes()); diff --git a/src/main/resources/recipes/Fridge.register b/src/main/resources/recipes/Fridge.register index 0e4a95b22b3310d0ce09df8bebd3d056e747f807..73f835371901342b291ebc7dac3960299ccfb407 100644 --- a/src/main/resources/recipes/Fridge.register +++ b/src/main/resources/recipes/Fridge.register @@ -1,5 +1,4 @@ WHEAT_FLOUR -ONION EGG VINEGAR SPAGHETTI @@ -9,14 +8,13 @@ TOMATO_PASTE CHICKPEAS SPRING_ROLL YELLOW_CHEESE -MILK POTATO BELL_PEPPER DRY_THYME DRY_BASIL PARMESAN OLIVE_OIL -OIL BUTTER GARLIC_CLOVE HAM +BROCCOLI