refactor: annotation-based dependency-injection
This commit is contained in:
@@ -1,5 +1,8 @@
|
||||
package ch.zhaw.gartenverwaltung;
|
||||
|
||||
import ch.zhaw.gartenverwaltung.bootstrap.AfterInject;
|
||||
import ch.zhaw.gartenverwaltung.bootstrap.AppLoader;
|
||||
import ch.zhaw.gartenverwaltung.bootstrap.Inject;
|
||||
import ch.zhaw.gartenverwaltung.io.PlantList;
|
||||
import ch.zhaw.gartenverwaltung.models.Garden;
|
||||
import ch.zhaw.gartenverwaltung.io.HardinessZoneNotSetException;
|
||||
@@ -28,19 +31,21 @@ import java.util.logging.Logger;
|
||||
public class MyGardenController {
|
||||
private static final Logger LOG = Logger.getLogger(MyGardenController.class.getName());
|
||||
|
||||
@Inject
|
||||
AppLoader appLoader;
|
||||
@Inject
|
||||
MainFXMLController mainController;
|
||||
@Inject
|
||||
private Garden garden;
|
||||
@Inject
|
||||
private PlantList plantList;
|
||||
|
||||
@FXML
|
||||
private VBox myPlants_vbox;
|
||||
|
||||
@AfterInject
|
||||
@SuppressWarnings("unused")
|
||||
public void injectDependencies(Garden garden, PlantList plantList, MainFXMLController mainController) {
|
||||
this.garden = garden;
|
||||
this.plantList = plantList;
|
||||
this.mainController = mainController;
|
||||
|
||||
public void init() {
|
||||
garden.getPlantedCrops().addListener((observable, oldValue, newValue) -> {
|
||||
try {
|
||||
createPlantView(newValue);
|
||||
@@ -96,7 +101,7 @@ public class MyGardenController {
|
||||
return (event) -> {
|
||||
try {
|
||||
Stage stage = new Stage();
|
||||
if (mainController.loadSceneToStage("CropDetail.fxml", stage) instanceof CropDetailController controller) {
|
||||
if (appLoader.loadSceneToStage("CropDetail.fxml", stage) instanceof CropDetailController controller) {
|
||||
controller.setPlantFromCrop(crop);
|
||||
}
|
||||
stage.initModality(Modality.APPLICATION_MODAL);
|
||||
|
||||
Reference in New Issue
Block a user