From 12ca344cfc7cd30cdcd8d30e71d48f54e0d6387b Mon Sep 17 00:00:00 2001
From: Andreas Svanberg <andreass@dsv.su.se>
Date: Mon, 3 Mar 2025 13:50:27 +0100
Subject: [PATCH] Handle the case with no test data populators

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.
---
 .../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);
             }
         }