refactor: annotation-based dependency-injection

This commit is contained in:
David Guler
2022-11-14 21:15:27 +01:00
parent 15279838b7
commit 5ef3f6c587
9 changed files with 188 additions and 139 deletions
@@ -1,5 +1,7 @@
package ch.zhaw.gartenverwaltung;
import ch.zhaw.gartenverwaltung.bootstrap.AfterInject;
import ch.zhaw.gartenverwaltung.bootstrap.Inject;
import ch.zhaw.gartenverwaltung.io.PlantList;
import ch.zhaw.gartenverwaltung.models.Garden;
import ch.zhaw.gartenverwaltung.io.HardinessZoneNotSetException;
@@ -27,20 +29,16 @@ public class MyScheduleController {
private static final Logger LOG = Logger.getLogger(MyScheduleController.class.getName());
private Crop selectedCrop = null;
@Inject
private GardenSchedule gardenSchedule;
@Inject
private Garden garden;
@Inject
private PlantList plantList;
private final ListProperty<Crop> cropListProperty = new SimpleListProperty<>(FXCollections.observableArrayList());
@SuppressWarnings("unused")
public void injectDependencies(Garden garden, GardenSchedule gardenSchedule, PlantList plantList) {
this.garden = garden;
this.gardenSchedule = gardenSchedule;
this.plantList = plantList;
init();
}
@FXML
private Label day1_label;
@@ -89,6 +87,8 @@ public class MyScheduleController {
@FXML
private ListView<Crop> scheduledPlants_listview;
@AfterInject
@SuppressWarnings("unused")
public void init() {
List<Crop> cropList;
try {