package mi.hdm.controllers; import javafx.fxml.FXML; import javafx.scene.control.TextField; import mi.hdm.recipes.Recipe; import mi.hdm.recipes.RecipeManager; import mi.hdm.recipes.RecipeSearch; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import java.util.List; public class HeaderController extends BaseController { private final static Logger log = LogManager.getLogger(HeaderController.class); @FXML private TextField searchBox; private final RecipeManager recipeManager; private List<Recipe> lastSearchResults; public HeaderController(RecipeManager recipeManager) { this.recipeManager = recipeManager; lastSearchResults = recipeManager.getRecipes(); } @FXML public void changeSceneToHome() { changeScene(View.MAIN); } @FXML public void changeSceneToShoppingList() { changeScene(View.SHOPPINGLIST_VIEW); } @FXML public void changeSceneToMealPlan() { changeScene(View.MEALPLAN_VIEW); } @FXML public void searchByQuery() { String query = searchBox.getText(); log.debug("User submitted search box"); //RecipeSearch recipeSearch = new RecipeSearch(recipeManager.getRecipes()); //not needed when methods are static lastSearchResults = RecipeSearch.searchByQuery(recipeManager.getRecipes(), query); System.out.println("Results: "); lastSearchResults.forEach(result -> System.out.println(" " + result.getName())); } }