From cb5bf851940303f285563d0d6eed359575c9fa74 Mon Sep 17 00:00:00 2001 From: HSoreide <sofie.scisly@gmail.com> Date: Wed, 19 Apr 2023 12:43:28 +0200 Subject: [PATCH] Refactor our read and write actions of SuggestRecipesController --- .../controller/SuggestRecipesController.java | 34 ++++++++++--------- src/main/resources/recipes/Fridge.register | 4 +-- 2 files changed, 19 insertions(+), 19 deletions(-) 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 3cee1a09..4dd67542 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 0e4a95b2..73f83537 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 -- GitLab