package org.synyx.urlaubsverwaltung.dev; import org.joda.time.DateTime; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.stereotype.Component; import org.synyx.urlaubsverwaltung.core.department.Department; import org.synyx.urlaubsverwaltung.core.department.DepartmentService; import org.synyx.urlaubsverwaltung.core.person.Person; import java.util.List; /** * Provides department test data. * * @author Aljona Murygina - murygina@synyx.de */ @Component @ConditionalOnProperty("testdata.create") class DepartmentDataProvider { private final DepartmentService departmentService; @Autowired DepartmentDataProvider(DepartmentService departmentService) { this.departmentService = departmentService; } void createTestDepartment(String name, String description, List<Person> members, List<Person> departmentHeads, List<Person> secondStageAuthorities) { Department department = new Department(); department.setName(name); department.setDescription(description); department.setLastModification(DateTime.now()); department.setMembers(members); department.setDepartmentHeads(departmentHeads); department.setSecondStageAuthorities(secondStageAuthorities); if (!secondStageAuthorities.isEmpty()) { department.setTwoStageApproval(true); } departmentService.create(department); } }