From 17192f9eb9b103c0f442450ae643da5c7ea95fb0 Mon Sep 17 00:00:00 2001 From: Andreas Svanberg <andreass@dsv.su.se> Date: Tue, 4 Mar 2025 06:12:15 +0100 Subject: [PATCH] Handle the case with no test data populators (#122) Since there is no populator yet Spring fails when trying to inject since it does not support empty collections. Mark the dependency as optional until we have at least one populator at which point we can simply the code again. Reviewed-on: https://gitea.dsv.su.se/DMC/scipro/pulls/122 Reviewed-by: Nico Athanassiadis <nico@dsv.su.se> Co-authored-by: Andreas Svanberg <andreass@dsv.su.se> Co-committed-by: Andreas Svanberg <andreass@dsv.su.se> --- .../main/java/se/su/dsv/scipro/testdata/DataInitializer.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/test-data/src/main/java/se/su/dsv/scipro/testdata/DataInitializer.java b/test-data/src/main/java/se/su/dsv/scipro/testdata/DataInitializer.java index 8b157598c4..b2fec13a8e 100644 --- a/test-data/src/main/java/se/su/dsv/scipro/testdata/DataInitializer.java +++ b/test-data/src/main/java/se/su/dsv/scipro/testdata/DataInitializer.java @@ -42,7 +42,7 @@ public class DataInitializer implements Lifecycle, BaseData, Factory { public static final long RESEARCH_AREA_ID = 12L; @Inject - private Collection<TestDataPopulator> testDataPopulators = new ArrayList<>(); + private Optional<Collection<TestDataPopulator>> testDataPopulators = Optional.empty(); @Inject private UserService userService; @@ -123,7 +123,8 @@ public class DataInitializer implements Lifecycle, BaseData, Factory { createTarget(); createStudentIdea(); createRoughDraftApproval(); - for (TestDataPopulator testDataPopulator : testDataPopulators) { + Collection<TestDataPopulator> availablePopulators = testDataPopulators.orElseGet(Collections::emptySet); + for (TestDataPopulator testDataPopulator : availablePopulators) { testDataPopulator.populate(this, this); } }