87: Add SplitProjectPopulator

This commit is contained in:
Tom Zhao 2025-04-14 16:41:16 +02:00
parent ae3755af5b
commit 299c67e8dd

@ -0,0 +1,45 @@
package se.su.dsv.scipro.testdata.populators;
import jakarta.inject.Inject;
import java.time.LocalDate;
import java.util.Set;
import org.springframework.stereotype.Service;
import se.su.dsv.scipro.project.Project;
import se.su.dsv.scipro.project.ProjectService;
import se.su.dsv.scipro.system.User;
import se.su.dsv.scipro.testdata.BaseData;
import se.su.dsv.scipro.testdata.Factory;
import se.su.dsv.scipro.testdata.TestDataPopulator;
@Service
public class SplitProjectPopulator implements TestDataPopulator {
private final ProjectService projectService;
@Inject
public SplitProjectPopulator(ProjectService projectService) {
this.projectService = projectService;
}
@Override
public void populate(BaseData baseData, Factory factory) {
System.out.println("How do I do?");
User supervisor = factory.createSupervisor("Emil");
User author1 = factory.createAuthor("Scott");
User author2 = factory.createAuthor("Scarlett");
User reviewer = factory.createReviewer("Elias");
Project project = Project.builder()
.title("Operating System Boot Time Security")
.projectType(baseData.bachelor())
.startDate(LocalDate.now())
.headSupervisor(supervisor)
.reviewers(Set.of(reviewer))
.projectParticipants(Set.of(author1, author2))
.build();
projectService.save(project);
}
}